/* Isolated second hero scene. All calendar capacity and payments are illustrative. */
.estimate-booking-story,.booking-calendar-view{height:100%;width:100%;min-width:0;background:#fff;color:#242424}
.booking-brand{height:23px;background:#242424;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 11px}
.booking-brand b{font-size:7px;letter-spacing:.08em}.booking-brand>span{font-size:5px;letter-spacing:.07em;color:#d3d3cf}
.booking-layout{height:calc(100% - 23px);padding:8px;display:grid;grid-template-columns:1.2fr 1fr;gap:8px;min-width:0}
.booking-calendar{min-width:0;min-height:0;display:flex;flex-direction:column}
.booking-month{display:flex;align-items:center;justify-content:space-between;gap:6px;height:20px;flex-shrink:0;padding:0 2px}
.booking-month b{font:600 10px 'Space Grotesk',sans-serif;letter-spacing:-.025em}.booking-month>span{font-size:5px;color:#7c7c76}
.booking-weekdays{display:grid;grid-template-columns:repeat(7,1fr);height:13px;flex-shrink:0;background:#252525;color:#fff;text-align:center;align-items:center;font-size:5px}
.booking-days{flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:2px;margin-top:2px}
.booking-day{padding:2px 3px 4px;min-height:0;min-width:0;border:1px solid #dedbd7;border-radius:0;background:#eeece8;text-align:left;position:relative;color:#6d6a65;font-size:6px;line-height:1.2;display:flex;flex-direction:column;gap:3px}
.booking-day b{font-size:8px}.booking-day>span{font-size:5px}.booking-day.available{background:#fff;color:#242424}.booking-day.has-savings{background:#fff0e7;color:#663319}
.booking-day[aria-pressed=true]{background:#ffd9bd;border:1px solid #242424;box-shadow:inset 0 0 0 .5px #242424}
.booking-day>i{height:1.5px;position:absolute;bottom:2px;left:3px;right:3px;background:#d2d0cb}
.booking-day>i:before{content:'';display:block;background:currentColor;height:100%;width:var(--crew-load)}
.booking-day:focus-visible{outline-offset:0;outline-width:2px;z-index:2}
.booking-time-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:6px;height:28px;flex-shrink:0}
.booking-time-row>button{min-height:0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:#fff;border:1px solid #ddd;border-radius:3px;color:#363636;font-size:6px;padding:2px}
.booking-time-row b{font-size:7px}.booking-time-row>button[aria-pressed=true]{background:#252525;color:#fff;border-color:#252525}.booking-time-row>button:focus-visible{outline-offset:1px}
.booking-price-card{min-width:0;min-height:0;background:#252525;color:#fff;padding:9px;display:flex;flex-direction:column;justify-content:space-between}
.booking-kicker{font-size:5px;letter-spacing:.12em;font-weight:650;color:#bbb8b2;display:block}
.booking-price-card h3{font-size:12px;letter-spacing:-.04em;line-height:1.1;margin:3px 0 2px}
.booking-price-card .booking-selected-time{font-size:6px;color:#ddd;margin-bottom:4px;line-height:1.1}
.booking-capacity{display:grid;grid-template-columns:1fr auto;gap:4px;font-size:5px;margin:0 0 4px}
.booking-capacity i{grid-column:1/3;background:#999;height:3px;border-radius:3px;overflow:hidden}.booking-capacity i:before{content:'';display:block;width:var(--crew-load);height:100%;background:#f9ba8e}
.booking-savings{background:#ffeadb;color:#73340e;padding:6px;margin-bottom:4px}.booking-savings>span{font-size:5px;letter-spacing:.07em;display:block;margin-bottom:4px}.booking-savings>strong{font:600 20px/1 'Space Grotesk',sans-serif;letter-spacing:-.04em;display:block;white-space:nowrap}
.booking-estimate-totals{display:flex;justify-content:space-between;align-items:start;gap:7px;margin:1px 0 5px}
.booking-estimate-totals>span{font-size:5px;color:#d2cfca;line-height:1.4;min-width:0;white-space:nowrap}.booking-estimate-totals>span:last-child{text-align:right}
.booking-estimate-totals s{display:block;font:550 11px 'Space Grotesk',sans-serif;margin-top:3px;color:#c4c0b9}.booking-estimate-totals strong{display:block;font:650 16px/1.1 'Space Grotesk',sans-serif;letter-spacing:-.035em;color:#fff;margin-top:3px}
.booking-reserve{min-height:28px;font-size:7px;font-weight:650;white-space:nowrap;border:1px solid #ffba85;border-radius:2px;background:#ffcdab;color:#242424;padding:5px 4px;width:100%;display:flex;align-items:center;justify-content:center;gap:4px}
.booking-reserve:focus-visible{outline-color:#fff;outline-offset:2px}.booking-price-card .booking-disclaimer{font-size:5px;line-height:1.4;color:#c6c2bc;margin-top:3px}
.estimate-checkout .checkout-summary{padding-top:6px;padding-bottom:7px}.estimate-checkout .booking-back{align-self:flex-start;min-height:17px;border:0;padding:0;background:none;color:#738496;font-size:6px;margin-bottom:4px}
.estimate-checkout .checkout-brand{font-size:11px;margin-bottom:6px}.estimate-checkout .checkout-price{font-size:19px;margin-bottom:7px}
.booking-date-receipt{width:100%;max-width:145px;background:#fff;border:1px solid #e0e6eb;border-top:3px solid #ffbf90;border-radius:3px;text-align:center;padding:5px 4px;margin-bottom:7px;display:flex;flex-direction:column;align-items:center;gap:3px;color:#193b51}
.booking-date-receipt>span{font-size:5px;letter-spacing:.06em}.booking-date-receipt>strong{font:600 24px/.95 'Space Grotesk',sans-serif}
.booking-checkout-totals{width:100%;display:grid;gap:4px;font-size:5px;color:#718191}.booking-checkout-totals>span{display:flex;justify-content:space-between;gap:5px}.booking-checkout-totals b{color:#263f52;font-weight:550;white-space:nowrap}.booking-checkout-totals>span:last-child{border-top:1px solid #dfe6eb;padding-top:4px}
.booking-payment-note{font-size:4px;color:#8190a0;line-height:1.3;margin-top:5px;text-align:center}
.estimate-checkout .checkout-pay{min-height:24px}.estimate-checkout .checkout-pay:focus-visible{outline-offset:1px}
.booking-confirmation{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px;background:#f8fafb}
.booking-checkmark{width:27px;height:27px;display:grid;place-items:center;background:#ffe6d4;color:#2b332d;border-radius:50%;font-size:16px;margin-bottom:8px}
.booking-confirmation .booking-kicker{color:#7b858b;font-size:5px;margin-bottom:6px}.booking-confirmation h3{font-size:23px;margin-bottom:10px}.booking-confirmation p{font-size:7px;color:#526877;line-height:1.6}
.booking-confirmation .booking-confirmation-note{font-size:5px;color:#82909b;margin-top:5px}.booking-confirmation button{min-height:27px;padding:5px 10px;border:1px solid #d2dce3;border-radius:3px;background:#fff;color:#223c50;font-size:7px;margin-top:9px}
@media(max-width:1050px){.booking-layout{padding:7px;gap:7px}.booking-price-card{padding:8px}.booking-price-card h3{font-size:11px}.booking-savings{padding:7px;margin-bottom:6px}.booking-savings>strong{font-size:18px}.booking-estimate-totals strong{font-size:14px}.booking-reserve{font-size:6px}.booking-month b{font-size:9px}}
@media(max-width:600px){.booking-layout{grid-template-columns:1.13fr 1fr;padding:6px;gap:6px}.booking-brand{padding:0 8px}.booking-brand b{font-size:6px}.booking-brand>span{font-size:4px}.booking-month{height:20px}.booking-month b{font-size:8px}.booking-month>span{font-size:4px;max-width:38px;text-align:right;line-height:1.2}.booking-day{padding:2px 2px 4px;gap:3px}.booking-day b{font-size:7px}.booking-day>span{font-size:4px;letter-spacing:-.04em}.booking-day>i{left:2px;right:2px}.booking-weekdays{font-size:4px}.booking-time-row{gap:3px}.booking-time-row b{font-size:6px}.booking-time-row>button{font-size:5px}.booking-price-card{padding:7px}.booking-price-card h3{font-size:10px}.booking-price-card .booking-selected-time{font-size:5px}.booking-capacity{font-size:4px}.booking-savings{padding:7px 6px}.booking-savings>strong{font-size:17px}.booking-savings>span{font-size:4px}.booking-estimate-totals{gap:3px}.booking-estimate-totals>span{font-size:4px}.booking-estimate-totals s{font-size:9px}.booking-estimate-totals strong{font-size:12px}.booking-reserve{font-size:5.7px;gap:2px;padding:5px 2px}.booking-price-card .booking-disclaimer{font-size:4px}.estimate-checkout .checkout-summary{padding-top:5px;padding-bottom:6px}.estimate-checkout .booking-back{margin-bottom:4px}.estimate-checkout .checkout-brand{font-size:10px;margin-bottom:5px}.estimate-checkout .checkout-price{font-size:18px;margin-bottom:7px}.booking-checkout-totals{font-size:4px}.booking-date-receipt{padding:5px 3px}.booking-date-receipt>strong{font-size:24px}.booking-date-receipt>span{font-size:4px}.booking-payment-note{font-size:4px}}
/* Keep the compact payment page inside the same fixed hero frame. */
.estimate-checkout{grid-template-rows:minmax(0,1fr);min-height:0}
.estimate-checkout .checkout-summary,.estimate-checkout .checkout-details{min-height:0}
.estimate-checkout .checkout-details{padding-top:8px;padding-bottom:8px}
.estimate-checkout .checkout-divider{margin:7px 0}
.estimate-checkout .checkout-field{margin-bottom:4px}
.estimate-checkout .checkout-field>div{padding:4px 5px}
.estimate-checkout .checkout-field>.card-pair{padding:0}
.estimate-checkout .card-pair>span{padding:3px 5px}
.estimate-checkout .booking-payment-note{margin-top:3px}
