/* Shared approved booking rules; no hero or lower-page layout rules. */
.pizzakursus-course-product .pizzakursus-course-booking .price { margin-top: 1rem; }
.pizzakursus-course-product .pizzakursus-course-booking .pizzakursus-course-price-note { margin-bottom: 1.5rem; }
.pizzakursus-course-product .summary form.cart .variations th.label { display: block; padding: 0 0 .45rem; text-align: left; }
.pizzakursus-course-product .summary form.cart .woocommerce-variation-description { display: block; }
.pizzakursus-course-product .pizzakursus-course-booking .pizzakursus-course-price-note { margin-bottom: .25rem; }
.pizzakursus-course-product .bagekursus-booking-practical { margin: 0 0 .75rem; font-size: .78rem; line-height: 1.4; color: var(--pizzakursus-ink); }
.pizzakursus-course-product .summary form.cart .single_add_to_cart_button.disabled,
.pizzakursus-course-product .summary form.cart .single_add_to_cart_button.disabled:hover { background: var(--pizzakursus-paper); border: 1px solid var(--pizzakursus-rule); color: var(--pizzakursus-ink) !important; opacity: 1; cursor: not-allowed; }
.pizzakursus-course-product .bagekursus-date-select-enhanced { display: none !important; }
.pizzakursus-course-product .bagekursus-date-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); gap: .5rem; width: 100%; }
.pizzakursus-course-product .bagekursus-date-option { min-height: 48px; min-width: 0; width: 100%; padding: .6rem .5rem; border: 1px solid #b6ada0; border-radius: 0; background: #F5F2EC; color: var(--pizzakursus-ink); font: inherit; font-size: .82rem; font-weight: 600; line-height: 1.4; white-space: normal; text-transform: none; letter-spacing: normal; cursor: pointer; }
.pizzakursus-course-product .bagekursus-date-option:hover:not(:disabled) { border-color: #9C3D2A; background: #eee1d9; }
.pizzakursus-course-product .bagekursus-date-option[aria-pressed="true"],
.pizzakursus-course-product .bagekursus-date-option[aria-pressed="true"]:hover { border-color: #9C3D2A; background: #9C3D2A; color: #fff; }
.pizzakursus-course-product .bagekursus-date-option:disabled { background: #eeebe5; border-color: #d5cec4; color: #77716a; cursor: not-allowed; }
.pizzakursus-course-product .bagekursus-date-option:disabled .bagekursus-date-label,
.pizzakursus-course-product .bagekursus-date-option:disabled .bagekursus-date-option-time { text-decoration: line-through; }
.pizzakursus-course-product .pizzakursus-course-booking .bagekursus-date-option-time { display: block; margin-top: .25rem; font-size: .9em; font-weight: 400; }
.pizzakursus-course-product .bagekursus-date-option:focus-visible { outline: 2px solid #9C3D2A; outline-offset: 2px; }
.pizzakursus-course-product .summary form.cart .woocommerce-variation-availability .stock.bagekursus-availability { margin: .75rem 0 0; font-family: inherit; font-size: .85rem; font-weight: 600; line-height: 1.4; }
.pizzakursus-course-product .summary form.cart .woocommerce-variation-availability .stock.bagekursus-availability.in-stock { color: var(--pizzakursus-olive-hover); }
.pizzakursus-course-product .summary form.cart .woocommerce-variation-availability .stock.bagekursus-availability.out-of-stock { color: var(--pizzakursus-terracotta); }
.pizzakursus-course-product .bagekursus-no-dates { margin: .65rem 0 0; color: var(--pizzakursus-ink); font-size: .85rem; line-height: 1.45; }
.pizzakursus-course-product .bagekursus-date-options[hidden] { display: none; }
.pizzakursus-course-product .bagekursus-no-dates { color: var(--pizzakursus-terracotta); font-weight: 600; }
.pizzakursus-course-product .pizzakursus-course-booking .single_add_to_cart_button:disabled,
.pizzakursus-course-product .pizzakursus-course-booking .single_add_to_cart_button:disabled:hover { background: var(--pizzakursus-paper); border: 1px solid var(--pizzakursus-rule); color: var(--pizzakursus-ink) !important; cursor: not-allowed; opacity: 1; }
.pizzakursus-course-product :is(#bagekursus-booking, #pizzakursus-course-booking) .quantity.bagekursus-quantity-stepper { display: inline-flex; align-items: center; align-self: flex-start; border: 1px solid #b6ada0; }
.pizzakursus-course-product :is(#bagekursus-booking, #pizzakursus-course-booking) .bagekursus-quantity-stepper input.qty { width: 36px; height: 46px; min-height: 46px; margin: 0; padding: 0 2px; border: 0; border-radius: 0; background: #fff; color: var(--pizzakursus-ink); text-align: center; font: inherit; appearance: textfield; -moz-appearance: textfield; }
.pizzakursus-course-product :is(#bagekursus-booking, #pizzakursus-course-booking) .bagekursus-quantity-stepper input.qty::-webkit-inner-spin-button,
.pizzakursus-course-product :is(#bagekursus-booking, #pizzakursus-course-booking) .bagekursus-quantity-stepper input.qty::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.pizzakursus-course-product :is(#bagekursus-booking, #pizzakursus-course-booking) .bagekursus-quantity-control { width: 44px; height: 46px; min-width: 44px; padding: 0; border: 0; border-radius: 0; background: #fff; color: var(--pizzakursus-ink); font: inherit; font-size: 20px; line-height: 1; cursor: pointer; }
.pizzakursus-course-product :is(#bagekursus-booking, #pizzakursus-course-booking) .bagekursus-quantity-control:hover:not(:disabled) { background: var(--pizzakursus-paper); }
.pizzakursus-course-product :is(#bagekursus-booking, #pizzakursus-course-booking) .bagekursus-quantity-control:disabled { color: #aaa49b; cursor: not-allowed; }
.pizzakursus-course-product :is(#bagekursus-booking, #pizzakursus-course-booking) .bagekursus-quantity-control:focus-visible { outline: 2px solid var(--pizzakursus-terracotta); outline-offset: -3px; }
.pizzakursus-course-product :is(#bagekursus-booking, #pizzakursus-course-booking) .bagekursus-quantity-control[hidden] { display: none; }

/* Shared no-bookable-dates state for pizza and baking. */
.pizzakursus-course-product .pizzakursus-course-booking .pizzakursus-booking-empty[hidden],
.pizzakursus-course-product .pizzakursus-course-booking .pizzakursus-booking-controls[hidden] { display: none; }
.pizzakursus-course-product .pizzakursus-course-booking .pizzakursus-booking-empty p { margin: 0 0 1rem; color: var(--pizzakursus-copy); font-size: 16px; line-height: 1.6; }
.pizzakursus-course-product .pizzakursus-course-booking .pizzakursus-booking-empty .pizzakursus-course-button { width: 100%; }

/* Stack both course prices and per-person notes with compact spacing above the dates. */
.pizzakursus-course-product .pizzakursus-course-booking .pizzakursus-course-booking-price { display: flex; flex-direction: column; align-items: flex-start; gap: .1rem; margin: 1rem 0 2px; }
.pizzakursus-course-product .pizzakursus-course-booking .pizzakursus-course-booking-price .price,
.pizzakursus-course-product .pizzakursus-course-booking .pizzakursus-course-booking-price .pizzakursus-course-price-note { margin: 0; }

/* Keep compact dates and add 10px of breathing room above participant controls. */
.pizzakursus-course-product :is(#pizzakursus-course-booking, #bagekursus-booking) form.cart .variations { margin-bottom: max(0px, calc(1.25rem - 10px)); }
.pizzakursus-course-product :is(#pizzakursus-course-booking, #bagekursus-booking) form.cart .variations_button { margin-top: 1.25rem; }

/* Both courses share the same date tiles, grid and responsive layout. */
.pizzakursus-course-product .pizzakursus-course-booking .bagekursus-date-options {
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 4px;
}
.pizzakursus-course-product .pizzakursus-course-booking .bagekursus-date-option {
 display: grid;
 grid-template-columns: minmax(0, 1fr);
 align-content: center;
 row-gap: 1px;
 min-height: 52px;
 padding: 2px 5px;
 border: 1px solid var(--pizzakursus-rule);
 background: var(--pizzakursus-paper);
 color: var(--pizzakursus-ink);
 text-align: center;
}
.pizzakursus-course-product .pizzakursus-course-booking .bagekursus-date-label {
 grid-row: 1;
 font-size: 14px;
 font-weight: 700;
 line-height: 1.25;
 white-space: nowrap;
}
.pizzakursus-course-product .pizzakursus-course-booking .bagekursus-date-option-time {
 grid-row: 2;
 margin: 0;
 font-size: 14px;
 font-weight: 400;
 line-height: 1.25;
 white-space: nowrap;
}
.pizzakursus-course-product .pizzakursus-course-booking .bagekursus-date-option:hover:not(:disabled) { border-color: #b6ada0; background: #eeebe5; }
.pizzakursus-course-product .pizzakursus-course-booking .bagekursus-date-option[aria-pressed="true"]:not(:disabled) { color: #fff; box-shadow: none; }
.pizzakursus-course-product:not(.bagekursus-course-product) .pizzakursus-course-booking .bagekursus-date-option[aria-pressed="true"]:not(:disabled) {
 border-color: var(--pizzakursus-terracotta);
 background: var(--pizzakursus-terracotta);
 color: #fff;
 box-shadow: none;
}
.pizzakursus-course-product .pizzakursus-course-booking .bagekursus-date-option:disabled { border-color: #d5cec4; background: #eeebe5; color: #77716a; box-shadow: none; }
.pizzakursus-course-product .pizzakursus-course-booking .bagekursus-date-soldout { grid-row: 3; font-size: 12px; font-weight: 600; line-height: 1.25; }
.pizzakursus-course-product .pizzakursus-course-booking .bagekursus-date-option:focus-visible { outline: 2px solid var(--pizzakursus-terracotta); outline-offset: 2px; }
.bagekursus-course-product .pizzakursus-course-booking .bagekursus-date-option:focus-visible { outline-color: var(--pizzakursus-olive); }
@media (max-width: 767px) {
 .pizzakursus-course-product .pizzakursus-course-booking .bagekursus-date-options { grid-template-columns: minmax(0, 1fr); }
}
