/* MyProID 2.4.0 - public Availability, mobile first */
.booking-page{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}.booking-shell{width:min(100% - 24px,760px);margin:0 auto;padding:16px 0 48px;display:grid;gap:16px}.booking-mini-nav{display:flex;justify-content:space-between;align-items:center;min-height:44px}.booking-mini-nav a{color:var(--muted);text-decoration:none;font-weight:750;font-size:.78rem}.booking-owner,.booking-types,.booking-slots,.booking-manage-card,.booking-manage-actions{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:18px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.booking-owner{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:center}.booking-owner>img{width:72px;height:72px;border-radius:18px;object-fit:cover}.booking-owner h1{margin:3px 0 6px;font-size:clamp(1.35rem,6vw,2rem);line-height:1.08}.booking-owner p{margin:0 0 7px;color:var(--muted);line-height:1.5}.booking-owner small{color:var(--muted)}.booking-types h2,.booking-slots h2{margin:0 0 12px;font-size:1rem}.booking-type-cards{display:grid;gap:9px}.booking-type-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:13px;border:1px solid var(--line);border-radius:15px;text-decoration:none;color:var(--ink);background:var(--surface-2)}.booking-type-card.is-selected{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 13%,transparent)}.booking-type-card p{grid-column:1/-1;margin:4px 0 0;color:var(--muted);font-size:.78rem}.booking-public-form{display:grid;gap:14px}.booking-slot-grid{display:grid;grid-template-columns:1fr;gap:8px;border:0;padding:0;margin:0}.booking-slot-grid label{cursor:pointer}.booking-slot-grid input{position:absolute;opacity:0;pointer-events:none}.booking-slot-grid span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:9px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);font-weight:800}.booking-slot-grid input:checked+span{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--surface));color:var(--brand)}.booking-slot-grid input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.booking-guest-grid{display:grid;gap:10px}.booking-guest-grid label,.booking-manage-form label{display:grid;gap:5px;font-size:.78rem;font-weight:750}.booking-guest-grid input,.booking-guest-grid textarea,.booking-manage-form input{font-size:16px;min-height:46px}.booking-guest-grid textarea{min-height:94px}.booking-submit{min-height:48px}.booking-privacy-note{margin:0;color:var(--muted);font-size:.72rem;line-height:1.5}.booking-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.booking-empty{padding:18px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}.booking-manage{max-width:680px}.booking-manage-card{display:grid;gap:12px}.booking-manage-card h1{margin:0}.booking-manage-when{font-weight:800}.booking-manage-card dl{display:grid;gap:7px;margin:0}.booking-manage-card dl>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.booking-manage-card dt{color:var(--muted)}.booking-manage-card dd{margin:0;text-align:right;font-weight:750}.booking-manage-actions{display:grid;gap:8px}.booking-manage-actions details{border:1px solid var(--line);border-radius:14px;padding:0 12px}.booking-manage-actions summary{display:flex;align-items:center;min-height:48px;font-weight:800;cursor:pointer}.booking-manage-form{display:grid;gap:10px;padding:0 0 12px}.booking-page button,.booking-page .btn-primary,.booking-page .btn-outline,.booking-page .btn-danger{min-height:44px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:640px){.booking-shell{padding-top:24px}.booking-owner,.booking-types,.booking-slots,.booking-manage-card,.booking-manage-actions{padding:24px}.booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-guest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-guest-grid .is-wide{grid-column:1/-1}.booking-type-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 2.4.5 owner confirmation */
.booking-owner-message{margin:14px 0;padding:13px 14px;border:1px solid var(--line,#d9dfeb);border-radius:14px;background:rgba(109,66,246,.055)}.booking-owner-message strong{display:block;margin-bottom:4px;font-size:.78rem}.booking-owner-message p{margin:0;font-size:.76rem;line-height:1.55}
@media(max-width:520px){.booking-owner-message{padding:12px}.booking-owner-message p{font-size:.74rem}}

/* 2.4.12 RDV refresh: MyProID branded, duration-aware, mobile first */
.booking-page{--booking-purple:#7445f6;--booking-purple-soft:rgba(116,69,246,.10);--booking-teal:#0f9b91;--booking-teal-soft:rgba(15,155,145,.10);background:radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--brand) 7%,transparent),transparent 34%),radial-gradient(circle at 90% 8%,rgba(15,155,145,.07),transparent 28%),var(--bg)}
.booking-shell{width:min(100% - 24px,820px);gap:18px;padding-bottom:max(48px,env(safe-area-inset-bottom))}
.booking-mini-nav{padding:0 2px}.booking-brand{display:inline-flex;align-items:center;gap:8px;color:var(--ink)!important;font-weight:900!important;letter-spacing:-.02em}.booking-brand img{width:26px;height:26px;display:block;border-radius:7px}.booking-brand span{font-size:.92rem}
.booking-owner,.booking-types,.booking-slots,.booking-manage-card,.booking-manage-actions{background:color-mix(in srgb,var(--surface) 92%,transparent);border-color:color-mix(in srgb,var(--line) 84%,var(--brand) 16%);box-shadow:0 20px 55px rgba(15,23,42,.08)}
@supports(backdrop-filter:blur(10px)){.booking-owner,.booking-types,.booking-slots,.booking-manage-card,.booking-manage-actions{backdrop-filter:blur(14px) saturate(115%)}}
.booking-owner{position:relative;overflow:hidden}.booking-owner:after{content:"";position:absolute;right:-80px;top:-100px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 12%,transparent),transparent 68%);pointer-events:none}.booking-owner>img{position:relative;z-index:1;box-shadow:0 8px 22px rgba(15,23,42,.14)}.booking-owner>div{position:relative;z-index:1}
.booking-brand-lockup{display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.065em}.booking-brand-lockup img{width:17px;height:17px;border-radius:5px}.booking-brand-lockup b{color:var(--ink);letter-spacing:-.01em;text-transform:none}.booking-brand-lockup>span{color:var(--brand)}
.booking-owner h1{font-size:clamp(1.55rem,7vw,2.35rem);letter-spacing:-.04em}.booking-owner p{max-width:640px}
.booking-section-heading{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:14px}.booking-section-heading>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--ink);color:var(--surface);font-size:.72rem;font-weight:950}.booking-section-heading h2{margin:1px 0 3px}.booking-section-heading p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.45}
.booking-type-cards{gap:10px}.booking-type-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px 11px;align-items:center;min-height:98px;padding:14px 15px;background:linear-gradient(145deg,var(--surface-2),var(--surface));transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.booking-type-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,23,42,.07)}.booking-type-card.is-selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 12%,transparent),0 14px 30px rgba(15,23,42,.07)}.booking-type-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;font-size:.78rem;font-weight:950}.booking-type-copy{display:grid;gap:4px;min-width:0}.booking-type-copy strong{font-size:.92rem;line-height:1.2}.booking-type-card p{grid-column:auto;margin:0;font-size:.72rem;line-height:1.45}.booking-type-duration{align-self:start;justify-self:end;padding:5px 8px;border-radius:999px;font-size:.66rem;font-weight:900;white-space:nowrap}
.booking-type-card[data-duration="15"]{border-color:color-mix(in srgb,var(--booking-teal) 35%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,var(--booking-teal) 6%),var(--surface))}.booking-type-card[data-duration="15"] .booking-type-icon,.booking-type-card[data-duration="15"] .booking-type-duration{background:var(--booking-teal-soft);color:var(--booking-teal)}.booking-type-card[data-duration="15"].is-selected{border-color:var(--booking-teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--booking-teal) 13%,transparent),0 14px 30px rgba(15,155,145,.10)}
.booking-type-card[data-duration="30"]{border-color:color-mix(in srgb,var(--booking-purple) 35%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,var(--booking-purple) 6%),var(--surface))}.booking-type-card[data-duration="30"] .booking-type-icon,.booking-type-card[data-duration="30"] .booking-type-duration{background:var(--booking-purple-soft);color:var(--booking-purple)}.booking-type-card[data-duration="30"].is-selected{border-color:var(--booking-purple);box-shadow:0 0 0 2px color-mix(in srgb,var(--booking-purple) 13%,transparent),0 14px 30px rgba(116,69,246,.12)}
.booking-slot-grid span{transition:transform .15s ease,border-color .15s ease,background .15s ease}.booking-slot-grid label:hover span{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}.booking-slot-grid input:checked+span{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 12%,var(--surface)),color-mix(in srgb,var(--brand) 5%,var(--surface)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 20%,transparent)}
.booking-guest-grid .inp{border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,var(--brand) 2%)}.booking-submit{border-radius:13px;background:linear-gradient(90deg,var(--brand),color-mix(in srgb,var(--brand) 72%,#9b65ff));font-weight:900;box-shadow:0 10px 24px color-mix(in srgb,var(--brand) 20%,transparent)}
.booking-privacy-note{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;padding:11px 12px;border:1px solid color-mix(in srgb,var(--brand) 15%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--surface-2) 94%,var(--brand) 3%)}.booking-privacy-note img{width:26px;height:26px;border-radius:7px}.booking-privacy-note p{display:grid;gap:1px;margin:0}.booking-privacy-note strong{color:var(--ink);font-size:.72rem}.booking-privacy-note span{color:var(--muted);font-size:.68rem;line-height:1.4}
.booking-manage-hero{text-align:left;position:relative}.booking-confirmation-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;margin:10px 0 4px;background:color-mix(in srgb,#18a56f 12%,var(--surface));color:#16895f;border:1px solid color-mix(in srgb,#18a56f 30%,var(--line));font-size:1.35rem;font-weight:950}.booking-manage-hero h1{letter-spacing:-.035em}.booking-manage-actions details{background:color-mix(in srgb,var(--surface) 94%,transparent)}
@media(max-width:639px){.booking-shell{width:min(100% - 16px,820px);padding-top:8px;gap:12px}.booking-owner,.booking-types,.booking-slots,.booking-manage-card,.booking-manage-actions{border-radius:18px;padding:16px}.booking-owner{grid-template-columns:62px minmax(0,1fr);gap:12px}.booking-owner>img{width:62px;height:62px;border-radius:16px}.booking-brand-lockup{font-size:.59rem}.booking-section-heading{grid-template-columns:30px minmax(0,1fr)}.booking-section-heading>span{width:28px;height:28px}.booking-type-card{grid-template-columns:40px minmax(0,1fr) auto;min-height:92px;padding:13px 12px}.booking-type-icon{width:38px;height:38px}.booking-type-copy strong{font-size:.88rem}.booking-type-card p{font-size:.69rem}.booking-type-duration{font-size:.61rem;padding:4px 6px}.booking-submit{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:3;box-shadow:0 12px 28px color-mix(in srgb,var(--brand) 28%,transparent)}}
@media(min-width:640px){.booking-type-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-type-card{min-height:112px}}

/* 2.4.12 RDV bis: compact brand, clearer booking journey, multi-day discovery */
.booking-page{--booking-purple:#7445f6;--booking-purple-soft:color-mix(in srgb,#7445f6 11%,transparent);--booking-teal:#0f8f87;--booking-teal-soft:color-mix(in srgb,#0f8f87 10%,transparent)}
.booking-shell{width:min(100% - 20px,820px);gap:16px}
.booking-mini-nav{min-height:46px}.booking-brand{gap:7px}.booking-brand img{width:24px;height:24px;max-width:24px;max-height:24px;object-fit:contain;border-radius:7px}.booking-brand span{font-size:.86rem}
.booking-owner{grid-template-columns:76px minmax(0,1fr);gap:16px;padding:22px}.booking-owner-photo,.booking-owner>img{width:76px;height:76px;max-width:76px;max-height:76px;object-fit:cover;border-radius:18px}.booking-brand-lockup img{width:18px;height:18px;max-width:18px;max-height:18px;object-fit:contain}.booking-owner h1{margin:5px 0 7px;font-size:clamp(1.55rem,5vw,2.25rem);line-height:1.04}.booking-owner p{font-size:.9rem;line-height:1.55}.booking-owner small{font-size:.72rem}
.booking-types,.booking-slots{padding:22px}.booking-section-heading{grid-template-columns:38px minmax(0,1fr);gap:12px;margin-bottom:16px}.booking-section-heading>span{width:36px;height:36px;border-radius:12px;background:linear-gradient(145deg,var(--ink),color-mix(in srgb,var(--ink) 82%,var(--brand)));font-size:.72rem}.booking-section-heading h2{margin:0 0 4px;font-size:1.05rem}.booking-section-heading p{font-size:.78rem}
.booking-type-cards{display:grid;grid-template-columns:1fr;gap:10px}.booking-type-card{grid-template-columns:42px minmax(0,1fr) auto;gap:8px 12px;min-height:104px;padding:14px 15px;border-radius:16px;overflow:hidden}.booking-type-icon{width:40px;height:40px}.booking-type-icon svg{width:18px;height:18px}.booking-type-copy strong{font-size:.94rem}.booking-type-copy p{font-size:.73rem;line-height:1.46}.booking-type-duration{align-self:center;font-size:.67rem;padding:6px 9px}.booking-type-card[data-duration="15"]{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 96%,var(--booking-teal) 4%),var(--surface))}.booking-type-card[data-duration="30"]{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 95%,var(--booking-purple) 5%),var(--surface))}
.booking-slot-grid{grid-template-columns:1fr;gap:8px}.booking-slot-grid span{min-height:46px;border-radius:13px;font-size:.78rem}.booking-slot-grid label[hidden]{display:none!important}.booking-slot-more-toggle{width:100%;min-height:42px;border-radius:12px;font-weight:850;background:color-mix(in srgb,var(--surface) 97%,var(--brand) 3%);border-color:color-mix(in srgb,var(--brand) 25%,var(--line));color:var(--ink)}.booking-slot-more-toggle:hover,.booking-slot-more-toggle:focus-visible{border-color:var(--brand);color:var(--brand)}
.booking-guest-grid{gap:11px}.booking-guest-grid label{font-size:.72rem}.booking-guest-grid .inp{width:100%;border-radius:12px}.booking-guest-grid textarea{resize:vertical}.booking-submit{min-height:50px;border-radius:13px;font-size:.91rem}
.booking-privacy-note{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px 13px}.booking-privacy-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--brand) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--brand) 20%,var(--line));color:var(--brand)}.booking-privacy-mark svg{width:16px;height:16px}.booking-privacy-note strong{font-size:.75rem}.booking-privacy-note span{font-size:.69rem;line-height:1.45}
.booking-acquisition{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;border:1px solid color-mix(in srgb,var(--brand) 22%,var(--line));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 94%,var(--brand) 6%),color-mix(in srgb,var(--surface) 98%,var(--booking-teal) 2%));box-shadow:0 14px 36px rgba(15,23,42,.06)}.booking-acquisition-brand{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center}.booking-acquisition-brand>img{width:36px;height:36px;max-width:36px;max-height:36px;border-radius:10px;object-fit:contain}.booking-acquisition-brand>div{display:grid;gap:2px}.booking-acquisition-brand span{font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--brand)}.booking-acquisition-brand strong{font-size:.87rem}.booking-acquisition-brand p{margin:1px 0 0;color:var(--muted);font-size:.7rem;line-height:1.4}.booking-acquisition>.btn-outline{white-space:nowrap;min-height:42px;padding-inline:14px}
html[data-theme="dark"] .booking-acquisition{background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 92%,var(--brand) 8%),var(--surface))}
@media(min-width:640px){.booking-type-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-type-card{min-height:118px}.booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-guest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-guest-grid .is-wide{grid-column:1/-1}}
@media(max-width:639px){.booking-shell{width:min(100% - 14px,820px);gap:11px}.booking-owner,.booking-types,.booking-slots{padding:15px;border-radius:17px}.booking-owner{grid-template-columns:58px minmax(0,1fr);gap:11px}.booking-owner-photo,.booking-owner>img{width:58px;height:58px;max-width:58px;max-height:58px;border-radius:15px}.booking-owner h1{font-size:1.48rem}.booking-owner p{font-size:.78rem}.booking-brand-lockup img{width:16px;height:16px;max-width:16px;max-height:16px}.booking-section-heading{grid-template-columns:32px minmax(0,1fr);gap:9px}.booking-section-heading>span{width:30px;height:30px}.booking-type-card{grid-template-columns:38px minmax(0,1fr) auto;min-height:94px;padding:12px}.booking-type-icon{width:36px;height:36px}.booking-type-duration{font-size:.62rem;padding:5px 7px}.booking-acquisition{grid-template-columns:1fr;padding:14px}.booking-acquisition>.btn-outline{width:100%;text-align:center}.booking-submit{position:static}.booking-privacy-note{grid-template-columns:32px minmax(0,1fr)}}

/* 2.4.12 RDV ter: duration worlds, denser confirmation and acquisition */
.booking-duration-15 .booking-slots{border-color:color-mix(in srgb,var(--booking-teal) 34%,var(--line));box-shadow:0 14px 36px rgba(15,143,135,.08)}
.booking-duration-15 .booking-section-heading>span{background:var(--booking-teal);color:#fff}
.booking-duration-15 .booking-slot-grid input:checked+span{border-color:var(--booking-teal);background:linear-gradient(135deg,color-mix(in srgb,var(--booking-teal) 13%,var(--surface)),color-mix(in srgb,var(--booking-teal) 5%,var(--surface)));color:var(--booking-teal);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--booking-teal) 24%,transparent)}
.booking-duration-15 .booking-slot-grid label:hover span{border-color:color-mix(in srgb,var(--booking-teal) 48%,var(--line))}
.booking-duration-15 .booking-slot-more-toggle{border-color:color-mix(in srgb,var(--booking-teal) 38%,var(--line));background:color-mix(in srgb,var(--surface) 96%,var(--booking-teal) 4%)}
.booking-duration-15 .booking-submit{background:linear-gradient(135deg,#0f8f87,#17a89e);border-color:#0f8f87}
.booking-duration-15 .booking-confirm-panel{border-color:color-mix(in srgb,var(--booking-teal) 32%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 95%,var(--booking-teal) 5%),var(--surface))}
.booking-duration-15 .booking-confirm-icon{background:var(--booking-teal-soft);color:var(--booking-teal)}
.booking-duration-30 .booking-slots{border-color:color-mix(in srgb,var(--booking-purple) 34%,var(--line));box-shadow:0 14px 36px rgba(116,69,246,.09)}
.booking-duration-30 .booking-section-heading>span{background:var(--booking-purple);color:#fff}
.booking-duration-30 .booking-slot-grid input:checked+span{border-color:var(--booking-purple);background:linear-gradient(135deg,color-mix(in srgb,var(--booking-purple) 13%,var(--surface)),color-mix(in srgb,var(--booking-purple) 5%,var(--surface)));color:var(--booking-purple);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--booking-purple) 24%,transparent)}
.booking-duration-30 .booking-slot-grid label:hover span{border-color:color-mix(in srgb,var(--booking-purple) 48%,var(--line))}
.booking-duration-30 .booking-slot-more-toggle{border-color:color-mix(in srgb,var(--booking-purple) 38%,var(--line));background:color-mix(in srgb,var(--surface) 96%,var(--booking-purple) 4%)}
.booking-duration-30 .booking-submit{background:linear-gradient(135deg,#6540e8,#7b4df8);border-color:#6540e8}
.booking-duration-30 .booking-confirm-panel{border-color:color-mix(in srgb,var(--booking-purple) 32%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 95%,var(--booking-purple) 5%),var(--surface))}
.booking-duration-30 .booking-confirm-icon{background:var(--booking-purple-soft);color:var(--booking-purple)}
.booking-confirm-panel{display:grid;gap:13px;padding:14px;border:1px solid var(--line);border-radius:17px}
.booking-confirm-head{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center}
.booking-confirm-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center}
.booking-confirm-icon svg{width:18px;height:18px}.booking-confirm-head strong{display:block;font-size:.86rem}.booking-confirm-head p{margin:3px 0 0;color:var(--muted);font-size:.7rem;line-height:1.45}
.booking-acquisition{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--brand) 24%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 97%,var(--brand) 3%),var(--surface));box-shadow:0 12px 30px rgba(15,23,42,.05)}
.booking-acquisition::after{content:"";position:absolute;width:120px;height:120px;right:-50px;top:-60px;border-radius:999px;background:color-mix(in srgb,var(--brand) 8%,transparent);pointer-events:none}
.booking-acquisition-brand>img{box-shadow:0 8px 20px color-mix(in srgb,var(--brand) 16%,transparent)}
.booking-acquisition>.btn-outline{position:relative;z-index:1;font-weight:900}
@media(min-width:640px){.booking-confirm-panel{padding:16px}.booking-confirm-head{grid-template-columns:42px minmax(0,1fr)}.booking-confirm-icon{width:42px;height:42px}}

/* 2.4.12 RDV quater: mobile-first Date -> Period -> Time funnel */
.booking-date-picker{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 8px;scroll-snap-type:x proximity;scrollbar-width:thin}.booking-date-option{flex:0 0 auto;min-width:132px;min-height:62px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);display:grid;gap:3px;text-align:left;scroll-snap-align:start;cursor:pointer}.booking-date-option span{font-weight:900;font-size:.78rem}.booking-date-option small{font-size:.63rem;color:var(--muted)}.booking-date-option.is-selected{border-color:var(--brand);background:color-mix(in srgb,var(--surface) 92%,var(--brand) 8%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 18%,transparent)}.booking-date-option[hidden]{display:none!important}.booking-date-more-toggle{width:100%;min-height:40px;margin-top:2px;border-radius:12px;font-weight:850}.booking-period-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.booking-period-picker button{min-height:50px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:7px;font:inherit;cursor:pointer}.booking-period-picker button span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 8%,var(--surface));color:var(--brand)}.booking-period-picker button svg{width:15px;height:15px}.booking-period-picker button strong{font-size:.78rem}.booking-period-picker button.is-selected{border-color:var(--brand);background:color-mix(in srgb,var(--surface) 93%,var(--brand) 7%)}.booking-period-picker button[hidden]{display:none!important}.booking-time-picker{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.booking-time-picker label{cursor:pointer}.booking-time-picker label[hidden]{display:none!important}.booking-time-picker input{position:absolute;opacity:0;pointer-events:none}.booking-time-picker span{min-height:44px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:grid;place-items:center;font-size:.79rem;font-weight:900}.booking-time-picker input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--brand) 30%,transparent);outline-offset:2px}.booking-time-picker input:checked+span{border-color:var(--brand);background:color-mix(in srgb,var(--surface) 90%,var(--brand) 10%);color:var(--brand)}
.booking-duration-15 .booking-date-option.is-selected,.booking-duration-15 .booking-period-picker button.is-selected,.booking-duration-15 .booking-time-picker input:checked+span{border-color:var(--booking-teal);background:color-mix(in srgb,var(--surface) 91%,var(--booking-teal) 9%);color:var(--booking-teal)}.booking-duration-15 .booking-period-picker button.is-selected span{background:var(--booking-teal-soft);color:var(--booking-teal)}.booking-duration-30 .booking-date-option.is-selected,.booking-duration-30 .booking-period-picker button.is-selected,.booking-duration-30 .booking-time-picker input:checked+span{border-color:var(--booking-purple);background:color-mix(in srgb,var(--surface) 91%,var(--booking-purple) 9%);color:var(--booking-purple)}.booking-duration-30 .booking-period-picker button.is-selected span{background:var(--booking-purple-soft);color:var(--booking-purple)}
.booking-confirm-step{margin:0;padding:0 0 2px}.booking-confirm-step>span{background:linear-gradient(145deg,var(--ink),color-mix(in srgb,var(--ink) 76%,var(--brand)))}.booking-confirm-step h2{font-size:1rem}.booking-channel-picker{border:0;padding:0;margin:0;display:grid;gap:8px}.booking-channel-picker>legend{font-weight:900;font-size:.82rem;padding:0}.booking-channel-picker>p{margin:0;color:var(--muted);font-size:.7rem;line-height:1.45}.booking-channel-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.booking-channel-picker label{cursor:pointer}.booking-channel-picker input{position:absolute;opacity:0;pointer-events:none}.booking-channel-picker label span{min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:flex;align-items:center;justify-content:center;gap:6px;padding:7px;font-size:.72rem;font-weight:850;text-align:center}.booking-channel-picker label svg{width:15px;height:15px;flex:0 0 auto}.booking-channel-picker input:checked+span{border-color:var(--brand);background:color-mix(in srgb,var(--surface) 91%,var(--brand) 9%);color:var(--brand)}.booking-channel-picker input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--brand) 30%,transparent);outline-offset:2px}.booking-guest-grid label small{display:block;margin-top:5px;color:var(--muted);font-size:.64rem;line-height:1.4;font-weight:500}.booking-phone-field{padding:10px;border:1px dashed color-mix(in srgb,var(--booking-teal) 40%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--surface) 96%,var(--booking-teal) 4%)}.booking-phone-field[hidden]{display:none!important}.booking-phone-field a{color:var(--brand);font-weight:800}.booking-confirm-panel{margin-top:14px}.booking-submit{box-shadow:0 10px 24px color-mix(in srgb,var(--brand) 18%,transparent)}
@media(min-width:640px){.booking-date-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}.booking-date-option{min-width:0}.booking-time-picker{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:420px){.booking-time-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-channel-picker label span{font-size:.66rem;padding:6px 4px}.booking-date-option{min-width:124px}}

/* 2.4.13: five-date rolling navigation, mobile first */
.booking-date-nav{display:grid;grid-template-columns:minmax(44px,auto) minmax(0,1fr) minmax(44px,auto);gap:8px;align-items:center;margin:2px 0 12px}.booking-date-nav .btn-outline{min-height:44px;min-width:44px;margin:0;padding:8px 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.booking-date-nav .btn-outline:disabled{opacity:.45;cursor:not-allowed}.booking-date-nav .ui-icon{width:15px;height:15px;flex:0 0 auto}.booking-date-nav [data-booking-date-prev] .ui-icon{transform:rotate(180deg)}.booking-date-status{min-width:0;text-align:center;color:var(--muted);font-size:.68rem;font-weight:800;line-height:1.3}.booking-date-picker{overscroll-behavior-x:contain}
@media(max-width:560px){.booking-date-nav{grid-template-columns:44px minmax(0,1fr) 44px}.booking-date-nav .btn-outline{width:44px;padding:8px}.booking-date-nav .btn-outline span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.booking-date-status{font-size:.64rem}}

/* 2.4.14: refined mobile booking experience */
.booking-page{
  --booking-video:#2563eb;
  --booking-video-soft:color-mix(in srgb,var(--surface) 90%,var(--booking-video) 10%);
  --booking-phone:#0b735f;
  --booking-phone-soft:color-mix(in srgb,var(--surface) 90%,var(--booking-phone) 10%);
  --booking-either:#7445f6;
  --booking-either-soft:color-mix(in srgb,var(--surface) 90%,var(--booking-either) 10%);
}
html[data-theme="dark"] .booking-page{--booking-video:#60a5fa;--booking-phone:#58c8a7;--booking-either:#a991ff}
.booking-shell{scroll-padding-bottom:max(96px,env(safe-area-inset-bottom))}
.booking-types,.booking-slots{overflow:hidden}
.booking-date-picker{scrollbar-width:none;-ms-overflow-style:none;scroll-padding-inline:1px}
.booking-date-picker::-webkit-scrollbar{display:none;width:0;height:0}
.booking-date-option{box-shadow:0 5px 16px rgba(15,23,42,.035);transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
.booking-date-option:hover,.booking-date-option:focus-visible{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.07)}
.booking-date-option:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 24%,transparent);outline-offset:2px}
.booking-date-nav{padding:5px;border:1px solid color-mix(in srgb,var(--line) 88%,var(--brand) 12%);border-radius:999px;background:color-mix(in srgb,var(--surface-2) 92%,var(--brand) 3%);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 85%,transparent)}
.booking-date-nav .btn-outline{width:44px;height:44px;padding:0;border-radius:999px;border-color:transparent;background:var(--surface);box-shadow:0 3px 10px rgba(15,23,42,.07)}
.booking-date-nav .btn-outline:not(:disabled):hover{border-color:color-mix(in srgb,var(--brand) 20%,var(--line));background:color-mix(in srgb,var(--surface) 94%,var(--brand) 6%)}
.booking-date-nav .btn-outline:disabled{background:transparent;box-shadow:none}
.booking-date-status{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 10px;border-radius:999px;color:var(--ink);background:color-mix(in srgb,var(--surface) 82%,transparent);font-weight:850;letter-spacing:-.01em}
.booking-period-picker{padding:5px;border:1px solid color-mix(in srgb,var(--line) 88%,var(--brand) 12%);border-radius:17px;background:color-mix(in srgb,var(--surface-2) 94%,var(--brand) 2%);gap:5px}
.booking-period-picker button{min-height:50px;border-color:transparent;background:transparent;border-radius:13px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.booking-period-picker button:not(.is-selected):hover{background:color-mix(in srgb,var(--surface) 72%,transparent)}
.booking-period-picker button.is-selected{box-shadow:0 5px 14px rgba(15,23,42,.07)}
.booking-time-picker{gap:9px}
.booking-time-picker span{min-height:48px;border-radius:14px;background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface-2) 78%,var(--surface)));box-shadow:0 3px 10px rgba(15,23,42,.025);transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}
.booking-time-picker label:hover span{transform:translateY(-1px);box-shadow:0 6px 15px rgba(15,23,42,.06)}
.booking-duration-15 .booking-time-picker input:checked+span{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 84%,var(--booking-teal) 16%),color-mix(in srgb,var(--surface) 94%,var(--booking-teal) 6%));box-shadow:0 7px 17px rgba(15,155,145,.12)}
.booking-duration-30 .booking-time-picker input:checked+span{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 84%,var(--booking-purple) 16%),color-mix(in srgb,var(--surface) 94%,var(--booking-purple) 6%));box-shadow:0 7px 17px rgba(116,69,246,.12)}
.booking-confirm-panel{padding:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 97%,var(--brand) 3%),var(--surface));border-color:color-mix(in srgb,var(--line) 80%,var(--brand) 20%);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 88%,transparent)}
.booking-channel-picker{gap:9px}
.booking-channel-picker>div{gap:8px}
.booking-channel-picker label span{position:relative;min-height:50px;border-width:1px;border-style:solid;border-radius:14px;background:var(--surface);box-shadow:0 3px 11px rgba(15,23,42,.03);transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease,color .14s ease}
.booking-channel-picker label:hover span{transform:translateY(-1px);box-shadow:0 7px 17px rgba(15,23,42,.07)}
.booking-channel-picker [data-booking-channel="video"] span{border-color:color-mix(in srgb,var(--booking-video) 32%,var(--line));color:color-mix(in srgb,var(--booking-video) 84%,var(--ink))}
.booking-channel-picker [data-booking-channel="phone"] span{border-color:color-mix(in srgb,var(--booking-phone) 34%,var(--line));color:color-mix(in srgb,var(--booking-phone) 86%,var(--ink))}
.booking-channel-picker [data-booking-channel="either"] span{border-color:color-mix(in srgb,var(--booking-either) 32%,var(--line));color:color-mix(in srgb,var(--booking-either) 86%,var(--ink))}
.booking-channel-picker [data-booking-channel="video"] input:checked+span{border-color:var(--booking-video);background:linear-gradient(145deg,var(--booking-video-soft),color-mix(in srgb,var(--surface) 96%,var(--booking-video) 4%));color:var(--booking-video);box-shadow:0 7px 18px color-mix(in srgb,var(--booking-video) 14%,transparent)}
.booking-channel-picker [data-booking-channel="phone"] input:checked+span{border-color:var(--booking-phone);background:linear-gradient(145deg,var(--booking-phone-soft),color-mix(in srgb,var(--surface) 96%,var(--booking-phone) 4%));color:var(--booking-phone);box-shadow:0 7px 18px color-mix(in srgb,var(--booking-phone) 14%,transparent)}
.booking-channel-picker [data-booking-channel="either"] input:checked+span{border-color:var(--booking-either);background:linear-gradient(145deg,var(--booking-either-soft),color-mix(in srgb,var(--surface) 96%,var(--booking-either) 4%));color:var(--booking-either);box-shadow:0 7px 18px color-mix(in srgb,var(--booking-either) 14%,transparent)}
.booking-channel-picker [data-booking-channel="video"] input:focus-visible+span{outline-color:color-mix(in srgb,var(--booking-video) 34%,transparent)}
.booking-channel-picker [data-booking-channel="phone"] input:focus-visible+span{outline-color:color-mix(in srgb,var(--booking-phone) 34%,transparent)}
.booking-channel-picker [data-booking-channel="either"] input:focus-visible+span{outline-color:color-mix(in srgb,var(--booking-either) 34%,transparent)}
.booking-guest-grid{gap:13px}
.booking-guest-grid label{gap:6px;font-weight:800;color:var(--ink)}
.booking-guest-grid .inp{min-height:50px;padding:12px 13px;border:1px solid color-mix(in srgb,var(--line) 92%,var(--brand) 8%);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 88%,var(--surface));color:var(--ink);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 88%,transparent);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.booking-guest-grid textarea.inp{min-height:116px;line-height:1.5}
.booking-guest-grid .inp:focus{outline:0;border-color:color-mix(in srgb,var(--brand) 64%,var(--line));background:var(--surface);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 11%,transparent)}
.booking-phone-field{border-style:solid;border-color:color-mix(in srgb,var(--booking-phone) 28%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 95%,var(--booking-phone) 5%),var(--surface))}
.booking-submit{min-height:54px;border-radius:15px;letter-spacing:-.01em;box-shadow:0 12px 28px color-mix(in srgb,var(--brand) 22%,transparent);transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}
.booking-submit:hover{box-shadow:0 16px 32px color-mix(in srgb,var(--brand) 25%,transparent);filter:saturate(1.06)}
.booking-privacy-note{border-radius:15px;padding:13px 14px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 94%,var(--brand) 3%),var(--surface));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 88%,transparent)}
.booking-acquisition{border-radius:20px;padding:18px 19px;background:linear-gradient(140deg,color-mix(in srgb,var(--surface) 93%,var(--brand) 7%),color-mix(in srgb,var(--surface) 97%,var(--booking-teal) 3%));box-shadow:0 18px 42px rgba(15,23,42,.075)}
.booking-acquisition>.btn-outline{border-radius:13px;min-height:46px;background:var(--surface);box-shadow:0 5px 15px rgba(15,23,42,.055)}

@media(max-width:639px){
  .booking-shell{width:min(100% - 12px,820px);gap:10px;padding-top:8px}
  .booking-mini-nav{padding-inline:4px}
  .booking-owner,.booking-types,.booking-slots{padding:14px;border-radius:18px}
  .booking-types,.booking-slots{box-shadow:0 12px 32px rgba(15,23,42,.065)}
  .booking-section-heading{margin-bottom:12px}
  .booking-section-heading h2{font-size:1.03rem;line-height:1.25}
  .booking-section-heading p{font-size:.73rem}
  .booking-date-picker{margin-inline:-2px;padding:2px 2px 7px;scroll-snap-type:x mandatory}
  .booking-date-option{min-width:min(40vw,142px);min-height:68px;padding:10px 11px;scroll-snap-align:start}
  .booking-date-option span{font-size:.8rem}.booking-date-option small{font-size:.64rem}
  .booking-date-nav{margin:1px 0 11px}
  .booking-date-status{font-size:.66rem}
  .booking-period-picker{margin:10px 0;padding:4px;border-radius:15px}
  .booking-period-picker button{min-height:52px}
  .booking-time-picker{gap:8px}
  .booking-time-picker span{min-height:50px;font-size:.81rem}
  .booking-confirm-panel{margin-top:12px;padding:13px;border-radius:17px;gap:14px}
  .booking-channel-picker>legend{font-size:.84rem}
  .booking-channel-picker>p{font-size:.68rem}
  .booking-channel-picker label span{min-height:52px;padding:8px 5px;font-size:.69rem}
  .booking-channel-picker label svg{width:16px;height:16px}
  .booking-guest-grid{gap:12px}
  .booking-guest-grid label{font-size:.76rem}
  .booking-guest-grid label small{font-size:.66rem;line-height:1.45}
  .booking-guest-grid .inp{font-size:16px;min-height:52px;padding:12px 13px}
  .booking-guest-grid textarea.inp{min-height:118px}
  .booking-submit{min-height:56px;font-size:.94rem}
  .booking-privacy-note{grid-template-columns:34px minmax(0,1fr);padding:13px}
  .booking-acquisition{margin-top:1px;padding:15px;border-radius:18px;gap:12px}
  .booking-acquisition>.btn-outline{min-height:48px}
}
@media(max-width:370px){
  .booking-owner{grid-template-columns:52px minmax(0,1fr)}
  .booking-owner-photo,.booking-owner>img{width:52px;height:52px;max-width:52px;max-height:52px}
  .booking-owner h1{font-size:1.34rem}
  .booking-channel-picker>div{gap:5px}
  .booking-channel-picker label span{font-size:.64rem;padding-inline:3px;gap:4px}
  .booking-date-option{min-width:136px}
}
@media(prefers-reduced-motion:reduce){
  .booking-date-option,.booking-period-picker button,.booking-time-picker span,.booking-channel-picker label span,.booking-submit{transition:none!important;transform:none!important}
}
.booking-channel-picker [data-booking-channel="video"] input:checked+span{background-color:var(--booking-video-soft)}
.booking-channel-picker [data-booking-channel="phone"] input:checked+span{background-color:var(--booking-phone-soft)}
.booking-channel-picker [data-booking-channel="either"] input:checked+span{background-color:var(--booking-either-soft)}

/* 2.4.15 booking UX: stable weekday cues + distinct morning/afternoon worlds */
.booking-page{
  --booking-morning:#087d70;
  --booking-morning-soft:rgba(8,125,112,.11);
  --booking-afternoon:#6542c7;
  --booking-afternoon-soft:rgba(101,66,199,.11);
  --booking-day-mon:#087d70;
  --booking-day-tue:#2860b8;
  --booking-day-wed:#6645c9;
  --booking-day-thu:#a05a08;
  --booking-day-fri:#b43a6b;
  --booking-day-sat:#0b7185;
  --booking-day-sun:#a4451e;
}
.booking-date-nav{grid-template-columns:44px minmax(0,1fr) 44px}
.booking-date-nav .btn-outline{width:44px;min-width:44px;max-width:44px;height:44px;overflow:hidden;white-space:nowrap}
.booking-date-nav .btn-outline .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.booking-date-option{--booking-day-accent:var(--booking-teal);--booking-day-soft:var(--booking-teal-soft);border-color:color-mix(in srgb,var(--booking-day-accent) 28%,var(--line));background:linear-gradient(155deg,color-mix(in srgb,var(--surface) 96%,var(--booking-day-accent) 4%),var(--surface))}
.booking-date-option[data-booking-weekday="1"]{--booking-day-accent:var(--booking-day-mon)}
.booking-date-option[data-booking-weekday="2"]{--booking-day-accent:var(--booking-day-tue)}
.booking-date-option[data-booking-weekday="3"]{--booking-day-accent:var(--booking-day-wed)}
.booking-date-option[data-booking-weekday="4"]{--booking-day-accent:var(--booking-day-thu)}
.booking-date-option[data-booking-weekday="5"]{--booking-day-accent:var(--booking-day-fri)}
.booking-date-option[data-booking-weekday="6"]{--booking-day-accent:var(--booking-day-sat)}
.booking-date-option[data-booking-weekday="7"]{--booking-day-accent:var(--booking-day-sun)}
.booking-date-option.is-selected{border-color:var(--booking-day-accent);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 86%,var(--booking-day-accent) 14%),color-mix(in srgb,var(--surface) 96%,var(--booking-day-accent) 4%));box-shadow:0 7px 18px color-mix(in srgb,var(--booking-day-accent) 13%,transparent)}
.booking-date-option.is-selected span{color:var(--booking-day-accent)}
.booking-date-option:hover,.booking-date-option:focus-visible{border-color:color-mix(in srgb,var(--booking-day-accent) 62%,var(--line))}
.booking-period-picker [data-booking-period="morning"]{color:var(--booking-morning)}
.booking-period-picker [data-booking-period="afternoon"]{color:var(--booking-afternoon)}
.booking-period-picker [data-booking-period="morning"].is-selected{border-color:var(--booking-morning);background:linear-gradient(145deg,var(--booking-morning-soft),color-mix(in srgb,var(--surface) 96%,var(--booking-morning) 4%));color:var(--booking-morning);box-shadow:0 6px 16px color-mix(in srgb,var(--booking-morning) 13%,transparent)}
.booking-period-picker [data-booking-period="afternoon"].is-selected{border-color:var(--booking-afternoon);background:linear-gradient(145deg,var(--booking-afternoon-soft),color-mix(in srgb,var(--surface) 96%,var(--booking-afternoon) 4%));color:var(--booking-afternoon);box-shadow:0 6px 16px color-mix(in srgb,var(--booking-afternoon) 13%,transparent)}
.booking-period-picker [data-booking-period="morning"]:focus-visible{outline-color:color-mix(in srgb,var(--booking-morning) 34%,transparent)}
.booking-period-picker [data-booking-period="afternoon"]:focus-visible{outline-color:color-mix(in srgb,var(--booking-afternoon) 34%,transparent)}
.booking-time-picker [data-slot-period="morning"] input:checked+span{border-color:var(--booking-morning);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 84%,var(--booking-morning) 16%),color-mix(in srgb,var(--surface) 95%,var(--booking-morning) 5%));color:var(--booking-morning);box-shadow:0 7px 17px color-mix(in srgb,var(--booking-morning) 14%,transparent)}
.booking-time-picker [data-slot-period="afternoon"] input:checked+span{border-color:var(--booking-afternoon);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 84%,var(--booking-afternoon) 16%),color-mix(in srgb,var(--surface) 95%,var(--booking-afternoon) 5%));color:var(--booking-afternoon);box-shadow:0 7px 17px color-mix(in srgb,var(--booking-afternoon) 14%,transparent)}
.booking-time-picker [data-slot-period="morning"] input:focus-visible+span{outline-color:color-mix(in srgb,var(--booking-morning) 34%,transparent)}
.booking-time-picker [data-slot-period="afternoon"] input:focus-visible+span{outline-color:color-mix(in srgb,var(--booking-afternoon) 34%,transparent)}
html[data-theme="dark"] .booking-page{
  --booking-morning:#69d9c9;
  --booking-afternoon:#b8a5ff;
  --booking-day-mon:#69d9c9;
  --booking-day-tue:#8eb8ff;
  --booking-day-wed:#b8a5ff;
  --booking-day-thu:#f2bd71;
  --booking-day-fri:#f29abd;
  --booking-day-sat:#78cad8;
  --booking-day-sun:#f1a07f;
}
/* 2.4.15 specificity guard: period identity wins over legacy duration coloring */
.booking-page .booking-period-picker [data-booking-period="morning"].is-selected{border-color:var(--booking-morning);background:linear-gradient(145deg,var(--booking-morning-soft),color-mix(in srgb,var(--surface) 96%,var(--booking-morning) 4%));color:var(--booking-morning)}
.booking-page .booking-period-picker [data-booking-period="afternoon"].is-selected{border-color:var(--booking-afternoon);background:linear-gradient(145deg,var(--booking-afternoon-soft),color-mix(in srgb,var(--surface) 96%,var(--booking-afternoon) 4%));color:var(--booking-afternoon)}
.booking-page .booking-period-picker [data-booking-period="morning"].is-selected>span{background:var(--booking-morning-soft);color:var(--booking-morning)}
.booking-page .booking-period-picker [data-booking-period="afternoon"].is-selected>span{background:var(--booking-afternoon-soft);color:var(--booking-afternoon)}
/* 2.4.15 specificity guard: weekday identity wins over legacy duration coloring */
.booking-page .booking-date-option.is-selected{border-color:var(--booking-day-accent);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 86%,var(--booking-day-accent) 14%),color-mix(in srgb,var(--surface) 96%,var(--booking-day-accent) 4%));color:var(--ink);box-shadow:0 7px 18px color-mix(in srgb,var(--booking-day-accent) 13%,transparent)}
.booking-page .booking-date-option.is-selected span{color:var(--booking-day-accent)}
/* 2.4.15 visible weekday cues: color remains informative without dominating the card */
.booking-page .booking-date-option{border-color:color-mix(in srgb,var(--booking-day-accent) 44%,var(--line));box-shadow:inset 0 3px 0 color-mix(in srgb,var(--booking-day-accent) 72%,transparent),0 5px 16px rgba(15,23,42,.03)}
.booking-page .booking-date-option span{color:var(--booking-day-accent)}
.booking-page .booking-date-option:hover,.booking-page .booking-date-option:focus-visible{border-color:color-mix(in srgb,var(--booking-day-accent) 72%,var(--line));box-shadow:inset 0 3px 0 var(--booking-day-accent),0 8px 20px rgba(15,23,42,.07)}
.booking-page .booking-date-option.is-selected{box-shadow:inset 0 3px 0 var(--booking-day-accent),0 7px 18px color-mix(in srgb,var(--booking-day-accent) 13%,transparent)}

/* MyProID 2.4.16: compact language switcher for the complete booking journey */
.booking-nav-actions{display:flex;align-items:center;gap:9px;min-width:0}
.booking-language-menu{position:relative;z-index:12}
.booking-language-menu>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:58px;min-height:44px;padding:7px 9px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,var(--brand) 6%);color:var(--ink);font-size:.72rem;font-weight:900;cursor:pointer;user-select:none}
.booking-language-menu>summary::-webkit-details-marker{display:none}
.booking-language-menu>summary .ui-icon{width:15px;height:15px;flex:0 0 auto}
.booking-language-menu>summary .ui-icon:last-child{width:11px;height:11px;transform:rotate(90deg);opacity:.6}
.booking-language-menu[open]>summary{border-color:color-mix(in srgb,var(--brand) 48%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 10%,transparent)}
.booking-language-menu>summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.booking-language-popover{position:absolute;top:calc(100% + 7px);right:0;width:min(210px,calc(100vw - 24px));padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 16px 36px rgba(15,23,42,.16);display:grid;gap:3px}
.booking-language-popover a{display:grid!important;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:7px;min-height:42px;padding:7px 9px;border-radius:9px;color:var(--ink)!important;font-weight:800!important}
.booking-language-popover a span{color:var(--brand);font-size:.7rem;font-weight:950}
.booking-language-popover a small{font-size:.72rem;color:var(--muted);font-weight:750}
.booking-language-popover a:hover,.booking-language-popover a:focus-visible,.booking-language-popover a[aria-current="page"]{background:color-mix(in srgb,var(--brand) 9%,var(--surface-2));outline:none}
.booking-language-popover a[aria-current="page"] small{color:var(--ink)}
@media(max-width:639px){.booking-nav-actions{gap:6px}.booking-language-menu>summary{min-width:52px;padding-inline:7px}.booking-language-popover{right:0;width:min(196px,calc(100vw - 20px))}.booking-mini-nav>a:first-child{max-width:46vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* MyProID 2.5.2 - manage actions */
.booking-manage-primary-actions{display:grid;gap:10px}.booking-calendar-primary{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px!important;padding:12px 16px!important;border-radius:14px!important;background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 76%,#7c3aed 24%))!important;color:#fff!important;font-weight:900!important;text-decoration:none!important;box-shadow:0 12px 28px color-mix(in srgb,var(--brand) 22%,transparent)}.booking-calendar-primary .ui-icon{width:20px;height:20px}.booking-calendar-primary .ui-icon:last-child{width:15px;height:15px}.booking-manage-link-note{display:grid;grid-template-columns:40px minmax(0,1fr);gap:11px;padding:14px;border:1px solid color-mix(in srgb,var(--brand) 22%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--brand) 5%,var(--surface));text-align:left}.booking-manage-link-note>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--brand) 10%,var(--surface));color:var(--brand)}.booking-manage-link-note>span .ui-icon{width:18px;height:18px}.booking-manage-link-note strong{display:block;font-size:.82rem}.booking-manage-link-note p{margin:4px 0 10px;color:var(--muted);font-size:.75rem;line-height:1.5}.booking-manage-short-link{display:flex;align-items:center;gap:8px;min-width:0}.booking-manage-short-link code{min-width:0;flex:1;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font:750 .67rem/1.3 var(--font,system-ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-manage-short-link .btn-outline{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px}.booking-manage-short-link .ui-icon{width:14px;height:14px}.booking-manage-actions details{overflow:hidden;padding:0!important}.booking-manage-actions summary.booking-reschedule-action,.booking-manage-actions summary.booking-cancel-action{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:0 14px}.booking-manage-actions summary .ui-icon{width:18px;height:18px}.booking-manage-actions summary .ui-icon:last-child{width:14px;height:14px}.booking-reschedule-action{color:var(--brand)}.booking-cancel-action{color:#b42318}.booking-manage-actions details:has(.booking-cancel-action){border-color:color-mix(in srgb,#b42318 24%,var(--line))}.booking-manage-actions details:has(.booking-reschedule-action){border-color:color-mix(in srgb,var(--brand) 26%,var(--line))}
@media(max-width:520px){.booking-calendar-primary{min-height:54px!important}.booking-manage-link-note{grid-template-columns:34px minmax(0,1fr);padding:12px}.booking-manage-link-note>span{width:32px;height:32px}.booking-manage-short-link{display:grid}.booking-manage-short-link .btn-outline{width:100%;justify-content:center}}


/* MyProID 2.5.3 - unified guest action stack */
.booking-manage-action-stack{display:grid;gap:8px}.booking-manage-action-stack details{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 97%,var(--brand) 3%)}.booking-manage-action-stack summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;padding:0 14px;font-weight:900;cursor:pointer;list-style:none}.booking-manage-action-stack summary::-webkit-details-marker{display:none}.booking-manage-action-stack summary .ui-icon{width:18px;height:18px}.booking-manage-action-stack summary .ui-icon:last-child{width:14px;height:14px}.booking-manage-action-stack details:has(.booking-reschedule-action){border-color:color-mix(in srgb,var(--brand) 28%,var(--line))}.booking-manage-action-stack details:has(.booking-cancel-action){border-color:color-mix(in srgb,#b42318 24%,var(--line))}.booking-manage-action-stack .booking-manage-form{padding:0 12px 12px}.booking-manage-card.booking-manage-hero{gap:14px}.booking-manage-link-note{margin-top:2px}
@media(max-width:520px){.booking-manage-action-stack summary{min-height:50px;padding-inline:12px}}


/* MyProID 2.5.5 - booking manage mobile privacy polish */
.booking-manage-hero{gap:16px}
.booking-manage-heading{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;margin-top:4px}
.booking-manage-heading .booking-confirmation-mark{width:48px;height:48px;margin:0;border-radius:15px}
.booking-manage-heading .booking-confirmation-mark .ui-icon{width:22px;height:22px}
.booking-manage-heading-copy{min-width:0;display:grid;gap:7px}
.booking-manage-heading-copy h1{margin:0;font-size:clamp(1.75rem,5vw,2.25rem);line-height:1.04;overflow-wrap:anywhere}
.booking-manage-when{display:flex;align-items:center;gap:7px;margin:0;color:var(--ink);font-size:.82rem;line-height:1.35}
.booking-manage-when>span:first-child{display:grid;place-items:center;color:var(--brand);flex:0 0 auto}
.booking-manage-when .ui-icon{width:15px;height:15px}
.booking-manage-facts{display:grid!important;gap:0!important;margin:3px 0 0!important;border-top:1px solid var(--line)}
.booking-manage-facts>div{display:grid!important;grid-template-columns:30px minmax(0,1fr) minmax(0,52%);align-items:center;gap:9px!important;padding:10px 0!important;border-bottom:1px solid var(--line)!important}
.booking-manage-facts dt{min-width:0;color:var(--muted);font-size:.82rem;line-height:1.25}
.booking-manage-facts dd{min-width:0;margin:0;text-align:right;font-size:.86rem;font-weight:850;line-height:1.25;overflow-wrap:anywhere}
.booking-manage-fact-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line))}
.booking-manage-fact-icon.is-waiting{color:#b96b00;background:#fff8e8;border-color:#f1ddb4}
.booking-manage-fact-icon.is-ready{color:#0b8a67;background:#eefaf6;border-color:#c6e8dc}
.booking-manage-fact-icon .ui-icon{width:15px;height:15px}
.booking-manage-privacy{display:grid;gap:12px;padding:14px;border:1px solid color-mix(in srgb,#0f8f72 22%,var(--line));border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,#0f8f72 5%,var(--surface)),color-mix(in srgb,var(--brand) 3%,var(--surface)));text-align:left}
.booking-manage-privacy-head{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:start}
.booking-manage-privacy-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#0b8a67;background:#eaf8f4;border:1px solid #c8e8de}
.booking-manage-privacy-head>span .ui-icon{width:18px;height:18px}
.booking-manage-privacy-head small{display:block;margin-bottom:3px;color:#0b8a67;font-size:.62rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase}
.booking-manage-privacy-head strong{display:block;font-size:.86rem;line-height:1.25}
.booking-manage-privacy-head p{margin:4px 0 0;color:var(--muted);font-size:.73rem;line-height:1.45}
.booking-manage-privacy-points{display:grid;grid-template-columns:1fr;gap:7px}
.booking-manage-privacy-points p{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:start;gap:8px;margin:0;padding:8px 9px;border-radius:11px;background:color-mix(in srgb,var(--surface) 84%,transparent);color:var(--muted);font-size:.69rem;line-height:1.42}
.booking-manage-privacy-points p>span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;color:#0b8a67;background:#eefaf6}
.booking-manage-privacy-points .ui-icon{width:13px;height:13px}
@media(min-width:640px){.booking-manage-heading{grid-template-columns:50px minmax(0,1fr);gap:15px}.booking-manage-heading .booking-confirmation-mark{width:50px;height:50px}.booking-manage-facts>div{grid-template-columns:32px minmax(0,1fr) auto}.booking-manage-privacy-points{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.booking-shell.booking-manage{width:min(100% - 20px,680px);padding-top:6px;padding-bottom:max(28px,env(safe-area-inset-bottom))}.booking-manage-card.booking-manage-hero{padding:15px;gap:14px;border-radius:18px}.booking-manage-heading{grid-template-columns:44px minmax(0,1fr);gap:11px;margin-top:2px}.booking-manage-heading .booking-confirmation-mark{width:44px;height:44px;border-radius:14px}.booking-manage-heading-copy{gap:5px}.booking-manage-heading-copy h1{font-size:clamp(1.65rem,8.1vw,2rem);line-height:1.02}.booking-manage-when{align-items:flex-start;font-size:.76rem;line-height:1.35}.booking-manage-facts>div{grid-template-columns:28px minmax(0,1fr) minmax(0,54%);gap:7px!important;padding:9px 0!important}.booking-manage-fact-icon{width:26px;height:26px;border-radius:8px}.booking-manage-facts dt{font-size:.76rem}.booking-manage-facts dd{font-size:.79rem}.booking-owner-message{margin-top:1px}.booking-calendar-primary{min-height:54px!important;padding-inline:14px!important}.booking-manage-action-stack{gap:7px}.booking-manage-link-note{margin-top:1px}.booking-manage-privacy{padding:12px;gap:10px}.booking-manage-privacy-head{grid-template-columns:34px minmax(0,1fr);gap:9px}.booking-manage-privacy-head>span{width:34px;height:34px}.booking-manage-privacy-points p{padding:8px;font-size:.68rem}.booking-manage-short-link code{font-size:.64rem}.booking-manage-short-link .btn-outline{min-height:48px}}
@media(max-width:390px){.booking-shell.booking-manage{width:calc(100% - 16px)}.booking-mini-nav{padding-inline:2px}.booking-manage-card.booking-manage-hero{padding:14px}.booking-brand-lockup{gap:4px}.booking-manage-heading{grid-template-columns:40px minmax(0,1fr);gap:10px}.booking-manage-heading .booking-confirmation-mark{width:40px;height:40px;border-radius:13px}.booking-manage-heading .booking-confirmation-mark .ui-icon{width:19px;height:19px}.booking-manage-heading-copy h1{font-size:1.7rem}.booking-manage-when{font-size:.72rem}.booking-manage-facts>div{grid-template-columns:26px minmax(0,1fr) minmax(0,55%);gap:6px!important}.booking-manage-fact-icon{width:24px;height:24px}.booking-manage-facts dt{font-size:.73rem}.booking-manage-facts dd{font-size:.76rem}.booking-manage-link-note{grid-template-columns:30px minmax(0,1fr);gap:9px;padding:11px}.booking-manage-link-note>span{width:30px;height:30px}.booking-manage-privacy{padding:11px}.booking-manage-privacy-head strong{font-size:.82rem}.booking-manage-privacy-head p{font-size:.7rem}}
@media(max-width:360px){.booking-shell.booking-manage{width:calc(100% - 12px)}.booking-manage-card.booking-manage-hero{padding:12px}.booking-manage-heading{grid-template-columns:38px minmax(0,1fr);gap:8px}.booking-manage-heading .booking-confirmation-mark{width:38px;height:38px}.booking-manage-heading-copy h1{font-size:1.55rem}.booking-manage-when{font-size:.68rem}.booking-manage-facts>div{grid-template-columns:24px minmax(0,1fr) minmax(0,56%)}.booking-manage-fact-icon{width:23px;height:23px}.booking-manage-facts dt{font-size:.69rem}.booking-manage-facts dd{font-size:.72rem}.booking-manage-privacy-points p{font-size:.65rem}.booking-manage-short-link code{padding-inline:8px}}
