.booking-page{--booking-error:#9b2727;min-height:100vh;color:var(--text);background:var(--bg)}.booking-page a{color:inherit}.booking-skip{position:absolute;left:16px;top:-60px;z-index:201;padding:12px 16px;background:var(--text);color:var(--bg)!important}.booking-skip:focus{top:8px}.booking-header{border-bottom:1px solid var(--border);background:var(--bg)}.booking-header-inner{max-width:1180px;height:72px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--text-2)}.booking-header-inner a{text-decoration:none}.booking-main{max-width:1180px;margin:0 auto;padding:78px 32px 48px}.booking-intro{max-width:780px;margin-bottom:46px}.booking-intro h1,.booking-privacy-page h1{font-size:clamp(42px,5.4vw,74px);line-height:1.02;letter-spacing:-.055em;margin:15px 0 22px}.booking-title-dot{color:var(--accent)}.booking-intro>p{max-width:610px;font-size:18px;line-height:1.6;color:var(--text-2)}.booking-layout{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.65fr);grid-gap:20px;gap:20px;align-items:stretch}.booking-sidebar{min-height:490px;padding:34px;border-radius:22px;color:#fff;background:#111118;display:flex;flex-direction:column;overflow:hidden;position:relative}.booking-sidebar:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(155,92,246,.34),transparent 68%);right:-170px;bottom:-190px;pointer-events:none}.booking-sidebar-top{color:#cbc7d4;font-size:12px;letter-spacing:.04em;display:flex;align-items:center;gap:10px}.booking-pulse{width:8px;height:8px;border-radius:50%;background:#bf90ff;box-shadow:0 0 0 5px rgba(191,144,255,.13)}.booking-sidebar h2{font-size:clamp(27px,3vw,38px);margin:64px 0 16px;line-height:1.08;max-width:270px}.booking-sidebar p{color:#c1bec9;font-size:15px;line-height:1.6}.booking-facts{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:40px}.booking-facts>div{border-top:1px solid rgba(255,255,255,.22);padding-top:16px;display:flex;flex-direction:column;gap:4px}.booking-facts strong{font-size:14px;font-weight:600}.booking-facts span{color:#a6a2b1;font-size:12px}.booking-sidebar-foot{color:#aaa5b3;font-size:12px;margin-top:auto;padding-top:60px}.booking-card{min-width:0;border:1px solid var(--border);border-radius:22px;background:var(--bg-3);box-shadow:var(--shadow-md)}.booking-steps{display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:0;list-style:none;border-bottom:1px solid var(--border)}.booking-steps li{display:flex;align-items:center;gap:9px;padding:21px 24px;color:var(--text-3);font-size:12px;white-space:nowrap}.booking-steps li+li{border-left:1px solid var(--border)}.booking-steps li.current{color:var(--text);font-weight:600}.booking-steps li span{display:inline-grid;place-items:center;flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:1px solid var(--border-strong);font-size:10px}.booking-steps li.current span{background:var(--text);border-color:var(--text);color:var(--bg-3)}.booking-card-content{padding:34px}.booking-message{min-height:0;color:var(--booking-error);font-size:14px;line-height:1.5}.booking-message.visible{margin-bottom:18px;padding:12px 14px;border-radius:8px;background:rgba(200,30,30,.07)}.booking-step-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:30px}.booking-step-heading h2{font-size:clamp(26px,3vw,36px);margin-top:9px}.booking-card-content>h2:focus,.booking-step-heading h2:focus{outline:none}.booking-duration{color:var(--text-3);font-size:13px;white-space:nowrap;padding-bottom:2px}.booking-zone-label{display:block;font-size:13px;font-weight:600;margin-bottom:9px}.booking-zone{width:100%;max-width:310px;height:46px;border-radius:9px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font:inherit;font-size:14px;padding:0 12px}.booking-days{display:flex;overflow-x:auto;gap:8px;padding:25px 0 6px;scrollbar-color:var(--border-strong) transparent}.booking-days button{display:flex;flex-direction:column;align-items:center;gap:3px;flex:0 0 65px;min-height:82px;border:1px solid var(--border);background:var(--bg);color:var(--text-2);border-radius:10px;cursor:pointer;font:inherit;font-size:12px;padding:10px 6px}.booking-days button strong{color:var(--text);font-size:19px;line-height:1.1}.booking-days button.selected,.booking-slots button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.booking-day-title{font-size:14px;font-weight:600;margin:22px 0 12px}.booking-slots{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px}.booking-slots button{min-height:48px;border-radius:9px;border:1px solid var(--border-strong);background:var(--bg-3);color:var(--text);font:inherit;font-size:14px;cursor:pointer}.booking-days button:hover,.booking-slots button:hover{border-color:var(--accent)}.booking-empty{color:var(--text-2);padding:30px 0;min-height:160px;font-size:14px}.booking-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:38px}.booking-actions>.booking-button:only-child{margin-left:auto}.booking-button{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:48px;padding:0 21px;border-radius:999px;border:1px solid var(--text);background:var(--text);color:var(--bg-3)!important;font:inherit;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.booking-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.booking-button:disabled{opacity:.43;cursor:not-allowed;transform:none;box-shadow:none}.booking-back{border:0;background:transparent;color:var(--text-2)!important;font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:10px 0}.booking-selected-summary{border:1px solid var(--border);background:var(--bg-2);border-radius:9px;padding:12px 14px;font-size:13px;color:var(--text-2);margin-bottom:26px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.booking-fields label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.booking-fields label:last-child{grid-column:1/-1}.booking-fields label span{color:var(--accent)}.booking-fields input,.booking-fields textarea{width:100%;min-height:46px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);border-radius:9px;padding:11px 13px;font:inherit;font-weight:400;font-size:15px;resize:vertical}.booking-fields textarea{min-height:105px}.booking-review{margin:0;border-top:1px solid var(--border)}.booking-review>div{display:grid;grid-template-columns:100px 1fr;grid-gap:16px;gap:16px;padding:15px 0;border-bottom:1px solid var(--border);font-size:14px}.booking-review dt{color:var(--text-3)}.booking-review dd{margin:0;overflow-wrap:anywhere}.booking-review small{display:block;color:var(--text-3);font-size:12px;margin-top:3px}.booking-privacy{color:var(--text-2);font-size:13px;line-height:1.6;margin-top:24px}.booking-below a,.booking-privacy a,.booking-privacy-page a{text-decoration:underline;text-underline-offset:3px}.booking-success-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:var(--text);background:var(--accent-soft);font-size:24px;margin-bottom:24px}.booking-card-content>h2{font-size:clamp(27px,3vw,37px)}.booking-success-copy{color:var(--text-2);font-size:16px;line-height:1.6;margin-top:18px}.booking-success-links{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:34px}.booking-below{text-align:center;margin:36px 0 0;color:var(--text-2);font-size:14px}.booking-footer{max-width:1180px;margin:10px auto 0;padding:26px 32px 40px;border-top:1px solid var(--border);display:flex;justify-content:space-between;color:var(--text-3);font-size:12px}.booking-footer a{color:var(--text-2)}.booking-privacy-page{max-width:760px;min-height:calc(100vh - 210px);margin:0 auto;padding:80px 32px}.booking-privacy-page>p{color:var(--text-2);font-size:16px;line-height:1.7;margin:0 0 20px}.booking-privacy-page>.booking-back{display:inline-block;margin-top:12px}.booking-privacy-page>h2{margin:40px 0 14px;font-size:22px;letter-spacing:-.02em}.booking-footer-links{display:flex;gap:16px}.booking-footer .nuno-consent-settings{color:var(--text-2)}.booking-manage{max-width:760px;min-height:calc(100vh - 190px);margin:0 auto;padding:80px 32px}.booking-manage h1{font-size:clamp(42px,5.4vw,70px);letter-spacing:-.05em;margin:14px 0 35px}.booking-manage .booking-card-content>h2{margin-bottom:22px}.booking-manage .booking-selected-summary{margin-bottom:0}.booking-manage .booking-zone-label{margin-top:26px}.booking-page a:focus-visible,.booking-page button:focus-visible,.booking-page input:focus-visible,.booking-page select:focus-visible,.booking-page textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media (max-width:850px){.booking-layout{grid-template-columns:1fr}.booking-sidebar{min-height:0;padding:28px}.booking-sidebar h2{margin-top:26px;max-width:none}.booking-sidebar-foot{display:none}.booking-facts{margin-top:24px}}@media (max-width:540px){.booking-header-inner{height:60px;padding:0 20px}.booking-main{padding:48px 16px 34px}.booking-intro{margin-bottom:31px}.booking-intro>p{font-size:16px}.booking-sidebar{padding:24px}.booking-card,.booking-sidebar{border-radius:18px}.booking-card-content{padding:24px 18px}.booking-steps li{justify-content:center;padding:15px 3px;font-size:0}.booking-steps li span{font-size:10px}.booking-slots{grid-template-columns:repeat(2,1fr)}.booking-fields{grid-template-columns:1fr}.booking-fields label:last-child{grid-column:auto}.booking-actions{align-items:stretch;flex-direction:column-reverse}.booking-actions .booking-back,.booking-actions .booking-button{width:100%}.booking-footer{padding:24px 20px 38px}.booking-manage,.booking-privacy-page{padding:55px 20px}}@media (prefers-reduced-motion:reduce){.booking-button{transition:none}.booking-button:hover{transform:none}}