.isb-booking .isb-payment-policy{display:grid;gap:7px;margin:16px 0 22px;padding:17px 20px;border:1px solid rgba(238,207,134,.55);border-left:4px solid #edcc79;border-radius:12px;background:linear-gradient(110deg,#211a10,#11100e);color:#f7ebd2;box-shadow:0 12px 32px rgba(0,0,0,.18)}
.isb-booking .isb-payment-policy strong{color:#f6d887;font-size:13px;letter-spacing:.09em}.isb-booking .isb-payment-policy span{font-size:13px;line-height:1.5}
.isb-booking.isb-last-minute .isb-payment-policy{border-color:#f1c566;background:linear-gradient(110deg,#342511,#19120b);box-shadow:0 0 0 1px rgba(241,197,102,.22),0 15px 35px rgba(0,0,0,.25)}
.isb-booking .isb-event-payment-choice.isb-full-required label:has([value="deposit"]){opacity:.42;pointer-events:none}
.isb-booking .isb-concierge-tools,.isb-booking .isb-slot-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 18px;padding:14px;border:1px solid rgba(232,198,108,.32);border-radius:14px;background:#15120d}
.isb-booking .isb-concierge-tools input,.isb-booking .isb-concierge-tools select,.isb-booking .isb-slot-toolbar select{width:auto;min-width:150px;flex:1 1 180px;padding:11px 14px;border-radius:9px;background:#0d0b09;font-size:14px}
.isb-booking .isb-concierge-tools button,.isb-booking .isb-selected-slot button{padding:11px 15px;border:1px solid #bb9551;border-radius:9px;background:transparent;color:#f1d686;font-weight:800;cursor:pointer}
.isb-booking .isb-service-count,.isb-booking .isb-slot-count,.isb-booking .isb-slot-zone{font-size:12px;color:#e6cf9a;font-weight:800;letter-spacing:.03em}
.isb-booking .isb-concierge-empty{margin:12px 0 20px;padding:18px;border:1px dashed #8e7445;text-align:center;color:#dfd2b9}
.isb-booking .isb-service-category[hidden],.isb-booking .isb-service-category>label[hidden],.isb-booking .isb-slots>label[hidden],.isb-booking .isb-concierge-empty[hidden],.isb-booking .isb-selected-slot[hidden]{display:none!important}
.isb-booking .isb-hourly-insight{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:6px;background:rgba(236,203,125,.13);color:#f2dfb5;font:700 11px Arial,sans-serif;letter-spacing:0}
.isb-booking .isb-slot-toolbar{margin-top:0}.isb-booking .isb-slot-zone{margin-left:auto;color:#cfc4ae}
.isb-booking .isb-urgent-slot{display:block;margin-top:6px;padding:3px 6px;border:1px solid #d6a954;border-radius:5px;color:#f6d385;font-size:10px;font-style:normal;text-align:center}
.isb-booking .isb-selected-slot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:13px 0;padding:16px;border:1px solid #c69e51;border-radius:12px;background:#20190e;color:#f4e4c7}.isb-booking .isb-selected-slot strong{color:#f3d47c}.isb-booking .isb-selected-slot small{color:#c9b995}.isb-booking .isb-selected-slot button{margin-left:auto}
.isb-booking .isb-progress-caption{text-align:center;margin:-31px 0 35px;color:#e6c577;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.isb-booking .isb-progress{position:relative}.isb-booking .isb-progress:after{content:"";position:absolute;bottom:-10px;left:0;width:var(--isb-progress-percent,33%);height:3px;background:linear-gradient(90deg,#ae7f2b,#f6d989);border-radius:3px;transition:width .3s}
.isb-booking .isb-addon-count{display:inline-block;margin-left:10px;padding:5px 9px;border:1px solid #9d7b3f;border-radius:999px;color:#f2d68c;font-size:11px;white-space:nowrap}
.isb-booking .isb-concierge-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.isb-booking .isb-mobile-dock{display:none}
.isb-booking .isb-final-review{margin:30px 0 18px;padding:clamp(20px,3vw,36px);border:1px solid #b69450;border-radius:18px;background:linear-gradient(135deg,#211b12,#0c0b09 65%);box-shadow:0 18px 45px rgba(0,0,0,.27);color:#f7f2e9}
.isb-booking .isb-final-review>header{margin:0 0 24px;padding:0 0 19px;border-bottom:1px solid rgba(224,191,112,.3);background:none;text-align:left}
.isb-booking .isb-final-review>header small{display:block;color:#e9c979;font-weight:900;letter-spacing:.16em}
.isb-booking .isb-final-review h3{margin:8px 0;font-size:clamp(24px,3vw,38px);line-height:1.15;color:#fff}
.isb-booking .isb-final-review h4{margin:0 0 15px;color:#edce84;font-size:18px}.isb-booking .isb-final-review h5{margin:22px 0 9px;color:#edce84;font-size:14px}
.isb-booking .isb-final-review p{color:#e4dbca;line-height:1.55}.isb-booking .isb-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.isb-booking .isb-review-grid article{min-width:0;padding:22px;border:1px solid rgba(227,191,109,.26);border-radius:12px;background:rgba(255,255,255,.035)}
.isb-booking .isb-review-grid dl{display:grid;gap:12px;margin:14px 0 0}.isb-booking .isb-review-grid dl>div{padding:0 0 12px;border-bottom:1px solid rgba(227,191,109,.17)}
.isb-booking .isb-review-grid dt{margin-bottom:5px;color:#cbb689;font-size:11px;font-weight:900;letter-spacing:.06em}.isb-booking .isb-review-grid dd{margin:0;color:#fff;font-size:15px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.isb-booking .isb-review-grid ul{margin:0;padding-left:19px;color:#fff;line-height:1.6}.isb-booking .isb-review-deadline{display:grid;gap:7px;margin-top:20px;padding:20px;border:1px solid #e1bd70;border-radius:12px;background:#322513}
.isb-booking .isb-review-deadline small{color:#f3d585;font-weight:900;letter-spacing:.07em}.isb-booking .isb-review-deadline strong{color:#fff;font-size:clamp(19px,2.4vw,28px)}.isb-booking .isb-review-deadline span{color:#f0e1bf;font-weight:700}
.isb-booking .isb-final-review .isb-review-warning{margin:12px 0 0;padding:15px 18px;border-left:4px solid #e6bd68;background:#241b10;color:#f5e6c7;font-weight:700}
.isb-booking .isb-final-review .isb-review-paid{margin:20px 0 0;padding:14px 18px;border:1px solid #597b5d;border-radius:10px;background:#142016;color:#d8eed9;font-weight:700}
@media(max-width:760px){.isb-booking .isb-review-grid{grid-template-columns:1fr}.isb-booking .isb-final-review{padding:20px}.isb-booking .isb-review-grid article{padding:17px}}
@media(max-width:760px){.isb-booking .isb-concierge-tools,.isb-booking .isb-slot-toolbar{padding:12px}.isb-booking .isb-concierge-tools input,.isb-booking .isb-concierge-tools select,.isb-booking .isb-slot-toolbar select{min-width:0;flex-basis:100%}.isb-booking .isb-slot-zone{margin-left:0}.isb-booking .isb-selected-slot button{width:100%;margin:5px 0 0}.isb-booking .isb-mobile-dock{display:block;position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:999;margin:0;padding:12px 16px;width:max-content;max-width:calc(100vw - 28px);border:1px solid #f0d180;border-radius:999px;background:#1b150c;color:#f7e4ad;font-size:13px;font-weight:900;text-align:center;box-shadow:0 12px 32px rgba(0,0,0,.5);pointer-events:none}}

/* 4.28: a full-width booking calendar with availability visible before a click. */
.isb-booking .isb-date-row{display:flex!important;flex-direction:column;gap:22px;width:100%;max-width:none}
.isb-booking .isb-date-row>.isb-custom-date-only{display:block;width:100%;min-width:0}
.isb-booking .isb-date-picker{padding:clamp(18px,2.2vw,34px);border:1px solid rgba(237,205,132,.46);border-radius:20px;background:radial-gradient(circle at 100% 0,rgba(205,159,63,.13),transparent 40%),linear-gradient(145deg,#18140e,#0c0b09);box-shadow:0 20px 55px rgba(0,0,0,.28)}
.isb-booking .isb-date-head{margin-bottom:24px;padding-bottom:15px;border-bottom:1px solid rgba(238,207,135,.22)}
.isb-booking .isb-date-head strong{font:800 clamp(18px,2vw,26px)/1.2 Arial,Helvetica,sans-serif;color:#f6de9e}
.isb-booking .isb-date-head button{width:48px;height:48px;border:1px solid rgba(230,194,109,.38);border-radius:12px;background:#241c10;color:#f4d68c}
.isb-booking .isb-date-grid{gap:clamp(5px,.75vw,11px)}
.isb-booking .isb-date-grid>small{margin:0 0 7px;color:#cbb995;font:800 clamp(10px,.9vw,13px)/1.2 Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.isb-booking .isb-date-grid button{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:4px;min-height:clamp(69px,6vw,96px);padding:10px 12px;border:1px solid rgba(235,204,139,.24);border-radius:12px;background:#272218;color:#fff8e8;text-align:left;transition:transform .16s,background .16s,border-color .16s,box-shadow .16s}
.isb-booking .isb-date-grid .isb-day-number{font:900 clamp(21px,2vw,29px)/1 Arial,Helvetica,sans-serif;font-variant-numeric:tabular-nums}
.isb-booking .isb-date-grid .isb-day-state{font:800 9px/1.1 Arial,Helvetica,sans-serif;letter-spacing:.12em;color:#c8e7c9}
.isb-booking .isb-date-grid button:not(:disabled):hover,.isb-booking .isb-date-grid button:focus-visible{transform:translateY(-2px);border-color:#f1d181;background:#3b2f1c;box-shadow:0 9px 22px rgba(0,0,0,.2)}
.isb-booking .isb-date-grid button.selected{background:linear-gradient(135deg,#f7df9c,#c8953f);border-color:#f8e4aa;color:#1d1408;box-shadow:0 0 0 2px rgba(244,211,137,.28)}
.isb-booking .isb-date-grid button.selected .isb-day-state{color:#36240c}
.isb-booking .isb-date-grid button.isb-date-unavailable{background:#241b1b;border-color:#704547;color:#e0b2af;cursor:not-allowed;opacity:1}
.isb-booking .isb-date-grid button.isb-date-unavailable .isb-day-state{color:#ed9f9d}
.isb-booking .isb-date-grid button.isb-date-blocked,.isb-booking .isb-date-grid button.muted{background:#141311;border-color:#29251f;color:#756d60;cursor:not-allowed;opacity:.68}
.isb-booking .isb-date-grid button:disabled:hover{transform:none;box-shadow:none}
.isb-booking .isb-calendar-legend{display:flex;flex-wrap:wrap;gap:10px 23px;margin-top:22px;color:#e4d9c3;font:700 12px/1.5 Arial,Helvetica,sans-serif}
.isb-booking .isb-calendar-legend span{display:inline-flex;align-items:center;gap:7px}
.isb-booking .isb-calendar-legend i{width:11px;height:11px;border-radius:3px;background:#86704a}
.isb-booking .isb-calendar-legend i.is-open{background:#e8c477;border:1px solid #e7c77c}.isb-booking .isb-calendar-legend i.is-full{background:#302020;border:1px solid #7f5555}.isb-booking .isb-calendar-legend i.is-selected{background:#fff;border:1px solid #d7ac57}
.isb-booking .isb-month-status{display:block;margin-top:17px;color:#e7d39d;font:700 12px/1.4 Arial,Helvetica,sans-serif}
.isb-booking .isb-calendar-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;margin-top:15px}
.isb-booking .isb-calendar-actions .isb-month-status{margin:0}
.isb-booking .isb-calendar-actions button{padding:10px 14px;border:1px solid #c4a25e;border-radius:9px;background:#2c2112;color:#f5dfa7;font:800 11px/1.25 Arial,Helvetica,sans-serif;cursor:pointer}
.isb-booking .isb-calendar-actions button:hover{background:#443219}
.isb-booking .isb-date-row>.isb-selected-slot{order:1;width:100%;margin:0}
.isb-booking .isb-date-row>.isb-slots{order:2;width:100%;max-height:none;overflow:visible;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.isb-booking .isb-date-row>.isb-slots>p{margin:0;padding:30px;border-radius:13px;background:#17130d}
.isb-booking .isb-date-row>.isb-slots span{min-height:78px;border-radius:12px}
.isb-booking .isb-group-fee-rule{grid-column:1/-1;margin:0;padding:14px 18px;border:1px solid rgba(229,192,111,.38);border-radius:10px;background:#211b10;color:#f3dda7;font:700 13px/1.5 Arial,Helvetica,sans-serif;letter-spacing:0}
.isb-booking .isb-group-fee-warning{grid-column:1/-1;display:grid;gap:8px;margin:0;padding:17px 20px;border:1px solid #db7470;border-left:5px solid #ed827d;border-radius:10px;background:#2d1515;color:#ffe9e4;letter-spacing:0}
.isb-booking .isb-group-fee-warning[hidden]{display:none!important}
.isb-booking .isb-group-fee-warning strong{font:900 13px/1.4 Arial,Helvetica,sans-serif;color:#ffaaa3}
.isb-booking .isb-group-fee-warning span{font:600 13px/1.55 Arial,Helvetica,sans-serif}
.isb-booking .isb-group-fee-detail{padding:9px 12px;border:1px solid #bf8073;border-radius:7px;background:rgba(197,105,92,.14);color:#ffd6c5}
.isb-booking .isb-pricing-block .isb-price-eyebrow{display:block;margin-bottom:14px;color:#f1cf7e;font:900 11px/1.35 Arial,Helvetica,sans-serif;letter-spacing:.16em}
.isb-booking .isb-pricing-block h3{margin:0 0 23px;font:900 clamp(24px,2.5vw,37px)/1.1 Arial,Helvetica,sans-serif;letter-spacing:-.04em}
.isb-booking .isb-pricing-block h3 small{display:block;margin-top:7px;color:#ead9b9;font:600 14px/1.35 Arial,Helvetica,sans-serif;letter-spacing:0}
.isb-booking .isb-price-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}
.isb-booking .isb-price-options>div{display:flex;flex-direction:column;gap:8px;padding:19px;border:1px solid #947748;border-radius:12px;background:#281f12}
.isb-booking .isb-price-options small{color:#edd196;font:900 10px/1.25 Arial,Helvetica,sans-serif;letter-spacing:.08em}
.isb-booking .isb-price-options strong{color:#fff8e6;font:900 clamp(24px,2.4vw,34px)/1.1 Arial,Helvetica,sans-serif}
.isb-booking .isb-price-options span{color:#d5c7b1;font:600 12px/1.4 Arial,Helvetica,sans-serif}
.isb-booking .isb-pricing-block p{padding:0 0 13px;font-size:13px;line-height:1.55}
.isb-booking .isb-pricing-block p.isb-price-example{padding:15px;border-top:1px solid rgba(232,198,108,.25);color:#e5d7bd}
@media(max-width:760px){.isb-booking .isb-date-picker{padding:14px;border-radius:14px}.isb-booking .isb-date-grid{gap:4px}.isb-booking .isb-date-grid button{min-height:68px;padding:7px 6px;border-radius:8px}.isb-booking .isb-date-grid .isb-day-number{font-size:21px}.isb-booking .isb-date-grid .isb-day-state{font-size:7px;letter-spacing:.03em}.isb-booking .isb-date-grid>small{font-size:9px}.isb-booking .isb-price-options{grid-template-columns:1fr}.isb-booking .isb-date-row>.isb-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.isb-booking .isb-cost-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.isb-booking .isb-cost-summary .isb-balance-summary{grid-column:1/-1;padding-top:16px;border-top:1px solid rgba(224,184,91,.24)}.isb-booking .isb-cost-summary strong{font-size:24px}.isb-booking .isb-calendar-actions button{width:100%}}
@media(max-width:380px){.isb-booking .isb-date-grid button{min-height:62px;padding:6px 4px}.isb-booking .isb-date-grid .isb-day-number{font-size:19px}}

/* Clear day states and keep available times immediately beneath the calendar. */
.isb-booking .isb-date-row,.isb-booking .isb-date-row>*,.isb-booking .isb-date-picker,.isb-booking .isb-date-grid,.isb-booking .isb-date-grid button{box-sizing:border-box;min-width:0;max-width:100%}
.isb-booking .isb-date-row>.isb-slots{order:1}
.isb-booking .isb-date-row>.isb-selected-slot{order:2}
.isb-booking .isb-date-grid button:not(:disabled):not(.selected){background:linear-gradient(135deg,#f3d78e,#d3aa5d)!important;background-color:#e8c477!important;border-color:#e7c77c!important;color:#1b140a!important;box-shadow:0 3px 12px rgba(0,0,0,.2)!important}
.isb-booking .isb-date-grid button:not(:disabled):not(.selected) .isb-day-number,.isb-booking .isb-date-grid button:not(:disabled):not(.selected) .isb-day-state{color:#1b140a!important}
.isb-booking .isb-date-grid button.selected{background:#fff!important;background-image:none!important;border-color:#fff!important;color:#111!important;box-shadow:0 0 0 2px #d7ac57!important}
.isb-booking .isb-date-grid button.selected .isb-day-number,.isb-booking .isb-date-grid button.selected .isb-day-state{color:#111!important}
.isb-booking .isb-date-grid button.isb-date-unavailable:disabled{background:#302020!important;background-image:none!important;border-color:#7f5555!important;color:#f0bdbb!important;opacity:1!important}
.isb-booking .isb-date-grid button.isb-date-blocked:disabled,.isb-booking .isb-date-grid button.muted:disabled{background:#171512!important;background-image:none!important;border-color:#383128!important;color:#867c6a!important;opacity:.7!important}
.isb-booking .isb-pricing-block .isb-price-options span.isb-lang-line{display:block;font-size:11px!important;line-height:1.42!important;font-weight:600!important}
.isb-booking .isb-pricing-block .isb-lang-line{display:block;overflow-wrap:anywhere}
.isb-booking .isb-pricing-block .isb-lang-line+.isb-lang-line{margin-top:5px}
.isb-booking .isb-pricing-block .isb-lang-line b{color:#f3d892;font-weight:800}
.isb-booking .isb-pricing-block p.isb-price-copy,.isb-booking .isb-pricing-block p.isb-price-example{font-size:12px!important;line-height:1.48!important}
@media(max-width:760px){.isb-booking .isb-date-row{gap:15px;padding:0!important}.isb-booking .isb-date-row>.isb-custom-date-only,.isb-booking .isb-date-row>.isb-slots,.isb-booking .isb-date-row>.isb-selected-slot{width:100%!important;min-width:0!important;max-width:100%!important}.isb-booking .isb-date-picker{width:100%!important;min-width:0!important;max-width:100%!important;padding:12px!important}.isb-booking .isb-date-grid{width:100%;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:3px!important}.isb-booking .isb-date-grid button{width:100%!important;min-width:0!important;min-height:58px!important;padding:6px 3px!important}.isb-booking .isb-date-grid .isb-day-number{font-size:18px!important}.isb-booking .isb-date-grid .isb-day-state{font-size:6px!important;line-height:1.1!important;letter-spacing:0!important;overflow-wrap:anywhere}.isb-booking .isb-date-head{margin-bottom:14px}.isb-booking .isb-date-row>.isb-slots{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.isb-booking .isb-date-row>.isb-slots label{min-width:0!important}.isb-booking .isb-date-row>.isb-slots span{min-width:0!important;padding:12px 7px!important}}
@media(max-width:390px){.isb-booking .isb-date-grid button{min-height:52px!important}.isb-booking .isb-date-grid .isb-day-number{font-size:16px!important}.isb-booking .isb-date-grid .isb-day-state{font-size:5.5px!important}}
@media(max-width:760px){.isb-booking{padding:16px!important}.isb-booking:has([data-step="2"].is-active) .isb-mobile-dock{display:none!important}}

/* Christmas booking policies stay visible before the customer chooses a package. */
.isb-booking .isb-christmas-important{margin:0 0 28px;padding:clamp(20px,3vw,32px);border:1px solid #bd9951;border-radius:18px;background:linear-gradient(135deg,#261c10 0%,#171718 58%,#111821 100%);box-shadow:inset 0 1px rgba(255,231,171,.15),0 18px 42px rgba(0,0,0,.3);color:#f7f0e3}
.isb-booking .isb-christmas-important-heading{margin-bottom:19px;padding-bottom:18px;border-bottom:1px solid rgba(225,184,100,.28)}
.isb-booking .isb-christmas-important-heading>span{display:block;color:#e2be72;font:800 10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.16em}
.isb-booking .isb-christmas-important-heading h3{margin:8px 0 0;color:#ffe6a4;font:700 clamp(24px,3vw,34px)/1.15 Georgia,serif;letter-spacing:0}
.isb-booking .isb-christmas-important-heading h3 em{display:block;margin-top:4px;color:#f5eee1;font:600 clamp(15px,1.7vw,19px)/1.3 Arial,Helvetica,sans-serif;font-style:normal}
.isb-booking .isb-christmas-important-rules{display:grid;gap:12px}
.isb-booking .isb-christmas-important-rule{display:grid;grid-template-columns:38px minmax(0,1fr);gap:15px;padding:17px 19px;border:1px solid rgba(226,194,132,.22);border-radius:12px;background:rgba(255,255,255,.035)}
.isb-booking .isb-christmas-important-index{color:#e8c578;font:800 13px/1.5 Arial,Helvetica,sans-serif}
.isb-booking .isb-christmas-important-rule strong{display:block;margin-bottom:10px;color:#ffe6ae;font:800 14px/1.35 Arial,Helvetica,sans-serif}
.isb-booking .isb-christmas-important-rule p{margin:0;color:#f8f3e8;font:500 14px/1.55 Arial,Helvetica,sans-serif;letter-spacing:0;overflow-wrap:anywhere}
.isb-booking .isb-christmas-important-rule p[lang="es"]{margin-top:8px;color:#decba8}
@media(max-width:760px){.isb-booking .isb-christmas-important{margin-bottom:22px;padding:19px 15px;border-radius:14px}.isb-booking .isb-christmas-important-rule{grid-template-columns:27px minmax(0,1fr);gap:9px;padding:14px 12px}.isb-booking .isb-christmas-important-rule p{font-size:13px;line-height:1.5}}
