.cal-booking{background:var(--color-canvas);border-top:1px solid var(--color-hairline);padding-block:clamp(3.5rem,7vw,6rem)}.cal-booking-intro{margin-inline:auto;max-width:44rem;text-align:center}.cal-booking-intro h2{font-size:clamp(1.9rem,4vw,2.7rem);letter-spacing:-.03em}.cal-booking-intro>p:last-child{font-size:1.05rem;line-height:1.65;margin-top:.85rem}.eyebrow{color:var(--color-brand-600);font-size:.74rem;font-weight:750;letter-spacing:.1em;margin-bottom:.7rem;text-transform:uppercase}.cal-slot-panel{background:#fff;border:1px solid var(--color-hairline);border-radius:22px;box-shadow:var(--shadow-ambient);margin:2.25rem auto 0;max-width:62rem;overflow:hidden;padding:clamp(1.25rem,3vw,2rem)}.cal-skeleton{display:flex;flex-direction:column;gap:1.5rem}.cal-skeleton-header{height:28px;width:160px;border-radius:8px;margin:0 auto 1rem}.cal-skeleton-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-skeleton-day{aspect-ratio:1;border-radius:10px}.cal-skeleton-slots{display:grid;gap:.65rem;grid-template-columns:repeat(2,1fr);margin-top:1rem}.cal-skeleton-slot{border-radius:14px;height:52px}.cal-skeleton-day,.cal-skeleton-slot,.cal-skeleton-header{background:linear-gradient(90deg,var(--color-brand-50) 25%,#fff 50%,var(--color-brand-50) 75%);background-size:200% 100%;animation:cal-shimmer 1.4s ease-in-out infinite}@keyframes cal-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.cal-skeleton-day,.cal-skeleton-slot,.cal-skeleton-header{animation:none;background:var(--color-brand-50)}}.cal-error{text-align:center;padding:2rem 1rem}.cal-error-text{color:var(--color-body);font-size:1rem;margin-bottom:1rem}.cal-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}@media(max-width:768px){.cal-main-grid{grid-template-columns:1fr;gap:1.25rem}}.cal-month-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.cal-month-label{font-size:1.1rem;font-weight:700;color:var(--color-ink);letter-spacing:-.01em}.cal-month-nav{background:transparent;border:1px solid var(--color-hairline);border-radius:10px;color:var(--color-body);cursor:pointer;display:flex;align-items:center;justify-content:center;height:36px;width:36px;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.cal-month-nav:hover:not(:disabled){border-color:var(--color-brand-300);color:var(--color-brand-600);background:var(--color-brand-50)}.cal-month-nav:disabled{opacity:.3;cursor:default}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.4rem}.cal-weekdays>span{text-align:center;font-size:.68rem;font-weight:700;color:var(--color-body);text-transform:uppercase;letter-spacing:.05em;padding:.3rem 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-day-blank{aspect-ratio:1}.cal-day-cell{aspect-ratio:1;background:transparent;border:1px solid transparent;border-radius:999px;color:#9aa7b5;cursor:default;display:flex;align-items:center;justify-content:center;font:inherit;font-size:.85rem;font-weight:500;position:relative;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,transform .15s ease}.cal-day-cell.is-past{color:#c7cfd7;border-color:transparent;background:transparent}.cal-day-cell.is-available{color:var(--color-ink);cursor:pointer;font-weight:650}.cal-day-cell.is-available:after{background:var(--color-brand-500);border-radius:999px;bottom:5px;content:"";height:5px;left:50%;position:absolute;transform:translate(-50%);width:5px}.cal-day-cell.is-available:hover{background:var(--color-brand-50);color:var(--color-brand-700);transform:translateY(-1px)}.cal-day-cell.is-selected{background:var(--color-brand-500)!important;border-color:var(--color-brand-500)!important;color:#fff!important;box-shadow:0 3px 12px #1668a647;font-weight:750}.cal-day-cell.is-selected:after{background:#fff}.cal-slots-col{background:var(--color-canvas);border-radius:16px;padding:1.25rem;min-height:200px}@media(max-width:768px){.cal-slots-col{padding:1rem}}.cal-slots-header{margin-bottom:.9rem}.cal-slots-label{color:var(--color-ink);font-size:1rem;font-weight:600}.cal-slots{display:grid;gap:.65rem;grid-template-columns:1fr;max-height:420px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-brand-200) transparent}.cal-slots::-webkit-scrollbar{width:5px}.cal-slots::-webkit-scrollbar-thumb{background:var(--color-brand-200);border-radius:999px}.cal-slots::-webkit-scrollbar-track{background:transparent}.cal-slots-empty{color:var(--color-body);font-size:.9rem;text-align:center;padding:1.5rem 0}.cal-slot{display:grid;gap:.45rem}.cal-slot-time{align-items:center;background:#fff;border:1px solid var(--color-brand-300);border-radius:10px;color:var(--color-brand-700);cursor:pointer;display:grid;font:inherit;gap:.65rem;grid-template-columns:auto 1fr auto;min-height:48px;padding:.6rem .85rem;text-align:left;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,transform .15s ease;width:100%}.cal-slot-time:hover:not(:disabled){background:var(--color-brand-500);border-color:var(--color-brand-500);box-shadow:0 4px 12px #1668a629;color:#fff;transform:translateY(-1px)}.cal-slot-time:focus-visible{outline:2px solid var(--color-brand-700);outline-offset:2px}.cal-slot-time:disabled{cursor:default;opacity:.55}.cal-slot-clock{font-size:1rem;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:.02em}.cal-slot-host,.cal-slot-select{color:var(--color-body);font-size:.76rem;font-weight:600;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.cal-slot-time:hover .cal-slot-host,.cal-slot-time:hover .cal-slot-select{color:#fff}.cal-slot-arrow{font-size:1.05rem;font-weight:700;line-height:1}.cal-checkout{margin-inline:auto;max-width:38rem}.cal-checkout-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:space-between;margin-bottom:1.25rem}.cal-checkout-back{background:transparent;border:0;color:var(--color-brand-600);cursor:pointer;font:inherit;font-size:.88rem;font-weight:700;padding:.35rem 0}.cal-checkout-title{color:var(--color-ink);font-size:1rem;font-weight:700;margin:0}.cal-checkout-form{display:grid;gap:1rem}.cal-field{color:var(--color-ink);display:grid;font-size:.9rem;font-weight:700;gap:.45rem}.cal-field input,.cal-field textarea{background:#fff;border:1px solid var(--color-brand-200);border-radius:11px;color:var(--color-ink);font:inherit;font-weight:400;line-height:1.45;padding:.8rem .9rem;width:100%}.cal-field input:focus,.cal-field textarea:focus{border-color:var(--color-brand-600);box-shadow:0 0 0 3px #1668a621;outline:0}.cal-field textarea{min-height:130px;resize:vertical}.cal-submit{justify-self:start;min-width:190px}.cal-submit:disabled{cursor:wait;opacity:.68}.cal-form-status{color:var(--color-body);font-size:.86rem;margin:0}.cal-form-status:empty{display:none}.cal-form-status.is-error{color:#a2382b}.cal-booking-success{align-items:center;background:#fff;border:1px solid var(--color-brand-200);border-radius:12px;bottom:max(1rem,env(safe-area-inset-bottom));box-shadow:0 12px 35px #00265533;display:grid;gap:.65rem;grid-template-columns:auto minmax(0,1fr);max-width:calc(100vw - 2rem);padding:.7rem .8rem;position:fixed;right:max(1rem,env(safe-area-inset-right));text-align:left;width:18rem;z-index:20}.cal-booking-success[hidden]{display:none}.cal-booking-success>div{grid-column:1 / -1}.cal-booking-success.is-processing>div{grid-column:2;grid-row:1}.cal-booking-success h3{color:var(--color-ink);font-size:.84rem!important;line-height:1.25;margin:0 0 .12rem!important}.cal-booking-success p{color:var(--color-body);font-size:.7rem;line-height:1.35;margin:0!important}.cal-booking-spinner{display:none}.cal-booking-success.is-processing .cal-booking-spinner{animation:cal-spin .8s linear infinite;border:2px solid var(--color-brand-200);border-radius:999px;border-top-color:var(--color-brand-600);display:block;height:1rem;width:1rem}@keyframes cal-spin{to{transform:rotate(360deg)}}.cal-empty{padding:2rem 1rem;text-align:center}.cal-empty-text{color:var(--color-ink);font-size:1.05rem;font-weight:600;margin-bottom:.5rem}.cal-empty-hint{color:var(--color-body);font-size:.9rem;margin-bottom:1.2rem}.cal-empty-links{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.cal-contact-fallback{color:var(--color-body);font-size:.92rem;line-height:1.55;margin:1.25rem auto 0;max-width:62rem;text-align:center}.cal-contact-fallback a{color:var(--color-brand-700);font-weight:700;text-decoration:underline;text-underline-offset:2px}.cal-privacy-note{color:var(--color-body);font-size:.74rem;line-height:1.55;margin:1rem auto 0;max-width:62rem;text-align:center}.cal-privacy-note a{text-decoration:underline;text-underline-offset:2px}.cal-noscript{background:var(--color-brand-50);border-radius:15px;margin:1.5rem auto 0;max-width:62rem;padding:1rem;text-align:center}.cal-noscript>div{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:.75rem}.normal-case{text-transform:none}@media(max-width:640px){.cal-slot-panel{border-radius:16px;margin-inline:-.25rem}.cal-day-cell{font-size:.78rem;border-radius:999px}.cal-day-cell.is-available:after{bottom:3px;height:4px;width:4px}.cal-weekdays>span{font-size:.58rem}.cal-slot-time{gap:.45rem;padding-inline:.7rem}.cal-slot-host,.cal-slot-select{font-size:.68rem}.cal-checkout-header{align-items:flex-start;flex-direction:column}.cal-submit{justify-self:stretch;width:100%}}@media(prefers-reduced-motion:reduce){.cal-day-cell,.cal-slot-time,.cal-month-nav{transition:none}.cal-booking-success.is-processing .cal-booking-spinner{animation:none}}.booking-dialog{background:transparent;border:0;height:min(92dvh,900px);margin:auto;max-height:92dvh;max-width:1120px;overflow:visible;padding:0;width:min(calc(100% - 2rem),1120px)}.booking-dialog::backdrop{background:#00162eb8;backdrop-filter:blur(5px)}.booking-dialog-shell{background:#fff;border:1px solid rgba(188,223,247,.75);border-radius:24px;box-shadow:0 24px 80px #00265547;max-height:92dvh;overflow:auto;overscroll-behavior:contain}.booking-dialog-bar{align-items:center;background:#fffffff5;border-bottom:1px solid var(--color-hairline);display:flex;justify-content:space-between;padding:.9rem 1rem .9rem 1.35rem;position:sticky;top:0;z-index:5}.booking-dialog-bar h2{font-size:clamp(1.05rem,2.5vw,1.35rem);font-weight:700;margin:0}.booking-dialog-close{align-items:center;background:var(--color-brand-50);border:1px solid var(--color-brand-200);border-radius:999px;color:var(--color-ink);cursor:pointer;display:inline-flex;flex:0 0 44px;font:inherit;font-size:1.65rem;height:44px;justify-content:center;line-height:1;width:44px}.booking-dialog-close:hover{background:var(--color-brand-100)}.booking-dialog .cal-booking{background:#fff;border-top:0;padding:clamp(1.2rem,4vw,2.5rem) 0 clamp(1.5rem,4vw,2.75rem)}.booking-dialog .cal-booking>.container-site{padding-inline:clamp(.9rem,3vw,1.75rem)}.booking-dialog .cal-booking-intro{max-width:42rem}.booking-dialog .cal-booking-intro h2{font-size:clamp(1.65rem,4vw,2.35rem)}.booking-dialog .cal-slot-panel{box-shadow:none;margin-top:1.5rem;max-width:100%}html.booking-dialog-open,html.booking-dialog-open body{overflow:hidden}@media(max-width:640px){.booking-dialog{height:96dvh;max-height:96dvh;width:calc(100% - 1rem)}.booking-dialog-shell{border-radius:18px;max-height:96dvh}.booking-dialog-bar{padding-left:1rem}.booking-dialog .cal-slot-panel{margin-inline:0}}
