.booking-extras{margin:clamp(3rem,7vw,7rem) 0 2.5rem;padding-top:2.5rem;border-top:1px solid rgba(57,70,48,.25)}
.booking-extras>h3{margin:.35rem 0 .65rem;font-family:Italiana,serif;font-size:clamp(2rem,4vw,4rem);font-weight:400;color:#394630}
.booking-extras>p:not(.eyebrow){max-width:42rem;color:#625f56}
.extras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}
.extra-card{min-height:9rem;background:#f4f1e9;border:1px solid rgba(57,70,48,.22);transition:transform .25s ease,border-color .25s ease,background .25s ease;overflow:hidden}
.extra-card:has(.extra-schedule){grid-column:1/-1}
.extra-card-choice{display:grid;grid-template-columns:1fr 9rem;height:100%;min-height:9rem;cursor:pointer}
.extra-card:has(.extra-schedule) .extra-card-choice{grid-template-columns:minmax(0,1fr) clamp(9rem,16vw,13rem);cursor:default}
.extra-card:hover{transform:translateY(-2px);border-color:#617154}
.extra-card:has(.extra-select:checked){background:#4c6043;color:#fff;border-color:#4c6043}
.extra-card-copy{display:grid;grid-template-columns:1.65rem 1fr;align-content:center;gap:.25rem .75rem;padding:1.25rem}
.extra-card-copy .extra-select{appearance:none;width:1.45rem;height:1.45rem;margin:.1rem 0 0;border:1px solid currentColor;display:grid;place-items:center}
.extra-card-copy .extra-select:checked::after{content:"✓";font-size:1rem;line-height:1}
.extra-card-copy strong{font-family:Italiana,serif;font-size:1.3rem;font-weight:400}
.extra-card-copy small,.extra-card-price{grid-column:2}
.extra-card-copy small{line-height:1.4;opacity:.8}
.extra-card-price{margin-top:.5rem;font-family:Georgia,serif;font-size:.84rem;font-style:italic;letter-spacing:.015em;text-transform:none;opacity:.88}
.extra-card-media{position:relative;display:block;align-self:stretch;min-height:9rem;overflow:hidden;background:#ded8cd}
.extra-card-media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.extra-quantity{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.65rem;padding:.45rem .55rem;border:1px solid currentColor;border-radius:2px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;cursor:default}
.extra-quantity select{min-width:3.2rem;padding:.3rem;border:1px solid currentColor;border-radius:2px;background:#fff;color:#394630;font:inherit;text-align:center;cursor:pointer}
.extra-quantity select:disabled{opacity:.55;cursor:not-allowed}
.extra-schedule{grid-column:1/-1;display:grid;gap:1rem;margin:0;padding:1.25rem;border-top:1px solid currentColor;cursor:default;min-width:0}
.extra-schedule-note{display:block;grid-column:1/-1;line-height:1.45;opacity:.9}
.extra-fixed-day{align-self:center;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}
.extra-use{display:grid;grid-template-columns:2.25rem minmax(6.5rem,.65fr) minmax(11rem,1.15fr) minmax(12rem,1.25fr) minmax(5.5rem,.55fr);align-items:end;gap:.75rem;padding:1rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);min-width:0}
.extra-use>b{align-self:center;font-size:.76rem;line-height:1.35;letter-spacing:.06em;text-transform:uppercase}
.extra-use label{display:grid;gap:.2rem;font-size:.64rem;letter-spacing:.05em;text-transform:uppercase}
.extra-use select{min-width:0;width:100%;height:2.65rem;padding:.45rem .55rem;border:1px solid rgba(57,70,48,.35);background:#fff;color:#394630;font:inherit}
.extra-use .extra-treatment{grid-column:2/-1}.extra-use .extra-treatment select{font-size:.72rem}
.extra-card-spa-massage .extra-use{grid-template-columns:2.25rem minmax(12rem,1fr) minmax(12rem,1fr)}
.extra-card-spa-massage .extra-use>b,.extra-card-spa-massage .extra-use .extra-treatment,.extra-card-spa-massage .extra-use label:nth-of-type(2){grid-column:2/-1}
.extra-card-spa-massage .extra-use label:nth-of-type(3){grid-column:2}.extra-card-spa-massage .extra-use label:nth-of-type(4){grid-column:3}
.extra-use button,.extra-add-use{min-height:2.65rem;padding:.55rem .75rem;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;cursor:pointer}
.extra-use .extra-remove-use{align-self:center;width:2.25rem;height:2.25rem;min-height:0;padding:0;border-radius:50%;font-size:1.35rem;line-height:1}
.extra-remove-placeholder{width:2.25rem}
.extra-add-use{justify-self:start;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.extra-add-use:disabled{opacity:.65;cursor:not-allowed}
.quote-summary .quote-extra span,
.quote-summary .quote-extra small,
.quote-summary .quote-extra strong{color:#fff}
@media(max-width:1180px){.extra-card:has(.extra-schedule) .extra-card-choice{grid-template-columns:minmax(0,1fr) 10rem}.extra-use{grid-template-columns:2.25rem minmax(11rem,1fr) minmax(11rem,1fr)}.extra-use>b{grid-column:2/-1}.extra-use .extra-treatment{grid-column:2/-1}.extra-use label{grid-column:auto}.extra-use label:last-of-type{grid-column:2}.extra-card-spa-massage .extra-use label:nth-of-type(2){grid-column:2/-1}.extra-card-spa-massage .extra-use label:nth-of-type(3){grid-column:2}.extra-card-spa-massage .extra-use label:nth-of-type(4){grid-column:3}.extra-remove-placeholder,.extra-remove-use{grid-row:1}.extra-add-use{justify-self:start}}
@media(max-width:760px){.extras-grid{grid-template-columns:1fr}.extra-card-choice,.extra-card:has(.extra-schedule) .extra-card-choice{grid-template-columns:1fr}.extra-card-copy{padding:1rem}.extra-card-copy strong{font-size:1.1rem}.extra-card:has(.extra-schedule) .extra-card-media{height:11rem;min-height:0;grid-row:1}.extra-card:has(.extra-schedule) .extra-card-copy{grid-row:2}.extra-schedule{grid-row:3;padding:1rem}.extra-use,.extra-card-spa-massage .extra-use{grid-template-columns:2.25rem 1fr;padding:.85rem}.extra-use>b{grid-column:2}.extra-use label,.extra-use label:last-of-type,.extra-card-spa-massage .extra-use label:nth-of-type(2),.extra-card-spa-massage .extra-use label:nth-of-type(3),.extra-card-spa-massage .extra-use label:nth-of-type(4){grid-column:1/-1}.extra-add-use{justify-self:start}}
