.booking{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);}
.booking__form{display:grid;gap:1.75rem;}
.booking-grid{display:grid;gap:0.75rem;grid-template-columns:repeat(2,minmax(0,1fr));}
.booking-grid > .field select,
.booking-grid > .field input[type="date"],
.booking-grid > .field input[type="time"]{width:100%;}
.hero21 .booking .btn{position:static;inset:auto;display:inline-flex;width:100%;max-width:100%;}
.hero21 .booking .btn--block{width:100%;}
.hero-product .btn,
.hero21 .btn,
.booking .btn,
.booking__form .btn,
.book026 .btn,
.hero-product .btn--block,
.hero21 .btn--block,
.booking .btn--block,
.booking__form .btn--block,
.book026 .btn--block{position:static;left:auto;right:auto;top:auto;bottom:auto;width:100%;max-width:100%;transform:none;z-index:auto;}
.booking__cta{margin-top:0.375rem;}
.booking .btn{position:static;width:100%;max-width:100%;}
.treat-chip{display:inline-flex;align-items:center;gap:0.25rem;padding:.28rem .5rem .28rem .8rem;border:1px solid var(--line);border-radius:62.4375rem;background:#fff;font-weight:600;font-size:0.75rem;line-height:1;vertical-align:middle;}
.treat-chip button{appearance:none;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:62.4375rem;color:#9aa3af;cursor:pointer;}
.treat-chip button:hover{color:#6b7280;}
.treat-chip svg{display:block;}
.combo{position:relative;display:flex;align-items:center;gap:0;}
.combo-input{flex:1;padding:.65rem .9rem .65rem .9rem;border:1px solid var(--line);border-radius:0.625rem;background:#fff;font:inherit;}
.combo[aria-expanded="true"] .combo-input{border-bottom-left-radius:0;border-bottom-right-radius:0;}
.combo-caret{position:absolute;right:0.5rem;background:transparent;border:0;width:28px;height:28px;color:#9aa3af;cursor:pointer;}
.combo-list{position:absolute;left:0;right:0;top:calc(100% - 0.0625rem);z-index:10;background:#fff;border:1px solid var(--line);border-top:0;border-bottom-left-radius:10px;border-bottom-right-radius:10px;max-height:220px;overflow:auto;box-shadow:var(--shadow);display:none;margin:0;padding:0;list-style:none;}
.combo[aria-expanded="true"] .combo-list{display:block;}
.combo-option{padding:.5rem .7rem;cursor:pointer;display:flex;align-items:center;gap:0.375rem;}
.combo-option[aria-selected="true"], .combo-option:hover{background:#f3f4f6;}
.combo-empty{padding:.7rem .9rem;color:#9aa3af;}
.treat-tools{display:none;gap:0.5rem;margin-top:0.375rem;}
.combo-hint{font-size:0.75rem;color:#b91c1c;margin-top:0.25rem;}
.combo-list, .combo-list *{box-sizing:border-box;}
#treatCombo{margin-bottom:0.25rem;}
.treat-chip button svg{width:18px;height:18px;display:block;}
.treat-chip .label{display:block;line-height:1.1;margin-right:0;}
.booking__meta{flex:1;min-width:0;text-align:left;}
.booking__title-row{display:inline-flex;align-items:center;gap:0.5rem;}
.booking__icon{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:0.75rem;line-height:1;color:#31527E;border:1px solid #cfd6e4;background:#f7f9fc;}
.booking__title{font-weight:700;font-size:1rem;color:#0e1b2b;line-height:1.15;}
.booking__summary{margin-top:0.5rem;font-size:0.8125rem;color:#6b7785;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.booking__toggle{display:inline-flex;align-items:center;gap:0.375rem;border:0;background:transparent;padding:0.375rem;color:#31527E;cursor:pointer;}
.booking__chev{display:inline-block;transition:transform .2s ease;}
.booking.is-collapsed .booking__chev{transform:rotate(-90deg);}
.booking:not(.is-collapsed) .booking__chev{transform:rotate(0deg);}
.booking__body{overflow:hidden;height:auto;transition:height .24s ease;}
.booking__body-inner{padding:0rem 1.5rem 1.5rem;}
.booking .booking__toggle{display:inline-flex;align-items:center;justify-content:space-between;width:auto;background:transparent;border:0;padding:0;/* override older width:100% */
  flex:0 0 auto;}
.booking .booking__toggle .booking__chev{margin-left:0;}
.booking-grid > .field{min-width:0;max-width:100%;}
.booking-grid > .field select{max-width:100%;}
@media (max-width: 1024px){.booking{order:2;}}
@media (max-width: 768px){.booking{margin-top:0.5rem;}.booking{position:static;top:auto;}}
@media (max-width:768px){.booking-grid{grid-template-columns:1fr;}.booking-grid{grid-template-columns:1fr;}.booking.is-collapsed .booking__body{height:0;}.booking .booking__toggle{width:44px;height:44px;}.booking .booking__toggle{width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin-left:auto;}.booking__toggle{position:absolute;inset:0;opacity:0;width:auto;height:auto;pointer-events:auto;}.right21 .booking{position:static;top:auto;}.booking__chev-visual{position:absolute;right:0.75rem;top:50%;transform:translateY(-50%);font-size:clamp(1.25rem, 6.5vw, 1.625rem);color:#31527E;opacity:1;display:block;transition:transform .2s ease;}.booking.is-collapsed .booking__chev-visual{transform:translateY(-50%) rotate(-90deg);}.booking{width:100%;max-width:100%;position:static;}}
@media (max-width: 1200px){.right21 .info20, .right21 .booking{width:100%;}.booking{position:static;}}
@media (max-width:1200px){.right21 .booking{order:3;position:static;}}
@media (min-width:769px) and (max-width:1200px){.right21 .booking{position:sticky;top:0.75rem;}}
@media (min-width:769px){.booking__toggle{pointer-events:none;color:inherit;}.booking__chev-visual{display:none;}}
@media (min-width: 769px){.booking .booking__chev{display:none;}}

/* unify booking inputs height with combos */
.booking .combo-input{ padding:.7rem .9rem; font: inherit; }

/* placeholder tone scoped to booking */
.booking input::placeholder,
.booking textarea::placeholder{ color: var(--muted); opacity:1; }

/* booking button tone & shape */
.booking .btn{ border-radius: .625rem; padding: .875rem 1rem; font-weight:700; }

/* booking scoped textarea style */
.booking .field textarea{
  width:100%; padding:.85rem 1rem; border:1px solid var(--line);
  border-radius:.625rem; background:#fff; min-height:44px; resize:none; overflow:hidden; font:inherit;
}


/* PK 395.1 baseline */
.booking .booking__panel, .booking .booking__body {
  overflow: hidden;
  transition: height 260ms ease;
  box-sizing: border-box;
  display: block;
}
/* open state guarantee */
.booking.is-open > .booking__panel,
.booking.is-open > .booking__body { height: auto; }
/* mobile full head clickable */
@media (max-width: 768px) {
  .booking .booking__head { position: relative; }
  .booking .booking__toggle {
    position: absolute; inset: 0; display: block; width:100%; height:100%;
    background: transparent; border: 0; cursor: pointer; z-index: 2;
  }
  .booking .booking__chev { position:absolute; right:12px; top:50%; transform:translateY(-50%); z-index:1; }
  .booking .booking__head .booking__title, .booking .booking__head .booking__meta { position:relative; z-index:1; }
}


/* v0.466 — Desktop: no accordion, always open */
@media (min-width: 769px){
  .booking .booking__toggle{ display:none !important; }
  .booking .booking__head{ pointer-events:none; cursor:default; }
  .booking .booking__body{ display:block !important; height:auto !important; overflow:visible !important; }
}
/* title/icon layout + safety */
.booking__title-row{ display:flex; align-items:center; gap:.5rem; }
.booking__title-row .booking__icon:not(:first-child){ display:none !important; }
