/* Eigenständige Terminseite: gemeinsame Markenfarben und Navigation, keine Hero-Regeln. */
:root { --base:#0A0A0A; --surface:#141414; --line:#2A2A2A; --gold:#B99A7B; --hover:#D4B896; --body:#C7C7C7; --label:#8A8A8A; --serif:'Cormorant Garamond',Georgia,serif; --sans:Manrope,Arial,sans-serif; color-scheme:dark; }
* { box-sizing:border-box; }
body { margin:0; background:var(--base); color:#fff; font:400 16px/1.8 var(--sans); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
a,button { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:2px solid var(--hover); outline-offset:5px; }
[hidden] { display:none!important; }
::selection { background:var(--gold); color:var(--base); }
.skip-link { position:fixed; left:20px; top:-80px; background:#F4EFE8; color:var(--base); padding:16px; z-index:20; }
.skip-link:focus { top:16px; }
.navigation { position:absolute; top:28px; left:50%; transform:translateX(-50%); width:calc(100% - 80px); max-width:1120px; min-height:76px; padding:14px 29px; display:flex; align-items:center; justify-content:space-between; gap:22px; background:linear-gradient(135deg,#1c1c1ce8,#141414e8); border:1px solid #ffffff0c; box-shadow:0 14px 50px #0006; border-radius:50px; backdrop-filter:blur(18px); }
.wordmark { flex-shrink:0; }
.navigation .site-logo { display:block; width:auto; height:32px; }
.back-link { font-size:12px; color:var(--body); padding:9px 0; }
.back-link:hover { color:var(--hover); }
.booking-main { width:calc(100% - 80px); max-width:1060px; margin:auto; padding:168px 0 100px; text-align:center; }
.eyebrow { display:inline-flex; align-items:center; justify-content:center; background:#171717; border:1px solid #ffffff08; border-radius:100px; color:#BCB6B0; padding:10px 18px; font:400 12px/1.5 var(--sans); letter-spacing:.15px; }
h1 { font:500 clamp(46px,5.5vw,76px)/1.03 var(--serif); letter-spacing:-1.5px; margin:28px 0; text-wrap:balance; }
h1 em { color:var(--gold); font-weight:400; }
.booking-intro { max-width:660px; margin:0 auto 48px; color:var(--body); font-size:15px; }
.calendar-box { position:relative; min-width:0; height:850px; border-radius:20px; border:1px solid #ffffff0c; background:var(--surface); overflow:hidden; }
.calendar-status,.calendar-fallback { position:absolute; inset:0; margin:0; padding:32px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; color:var(--body); font-size:14px; z-index:1; }
.calendar-fallback { background:var(--surface); }
.calendar-fallback p { margin:0; }
.calendar-fallback a { color:var(--gold); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; border:1px solid #d4b8964d; border-radius:100px; background:var(--gold); color:#141414; font:600 14px/1.5 var(--sans); min-height:51px; padding:15px 25px; box-shadow:0 0 30px #b99a7b15,inset 0 1px 0 #ffffff80,inset 0 -1px 0 #0000002e; background-image:linear-gradient(to bottom,#ffffff57,#ffffff1f 49.5%,#0000000f 50.5%,#00000024); }
.button:hover:not(:disabled) { background-color:var(--hover); }
.button:disabled { opacity:.65; cursor:default; }
.calendar-privacy { max-width:660px; margin:20px auto 0; font-size:11px; line-height:1.8; color:var(--label); }
.calendar-privacy a { padding:0; background:transparent; border:0; color:var(--body); text-decoration:underline; text-underline-offset:3px; font:inherit; }
.calendly-inline-widget { height:100%; width:100%; min-width:0; }
.calendly-inline-widget iframe { display:block; width:100%; height:100%; border:0; }
.footer { max-width:1200px; margin:auto; padding:45px 40px; border-top:1px solid var(--line); display:flex; align-items:center; gap:35px; }
.footer .site-logo { display:block; width:auto; height:40px; opacity:.8; }
.footer nav { display:flex; flex-wrap:wrap; gap:20px; margin-left:auto; }
.footer nav a,.footer nav button { font:400 10px var(--sans); color:var(--label); border:0; background:transparent; padding:0; }
.footer nav a:hover,.footer nav button:hover { color:var(--gold); }
.footer > p { font-size:9px; white-space:nowrap; color:#666; margin:0; }
@media (max-width:1050px) { .footer { flex-wrap:wrap; } .footer > p { width:100%; margin-top:10px; } }
@media (max-width:760px) {
 .navigation { top:18px; width:calc(100% - 32px); min-height:62px; gap:12px; padding:10px 19px; border-radius:32px; }
 .navigation .site-logo { height:26px; }
 .back-link { font-size:11px; }
 .booking-main { width:calc(100% - 32px); padding:120px 0 60px; }
 .eyebrow { font-size:10px; padding:9px 12px; }
 h1 { font-size:49px; letter-spacing:-1.2px; }
 .booking-intro { font-size:14px; margin-bottom:32px; }
 .calendar-box { height:1050px; }
 .calendar-status,.calendar-fallback { padding:24px 20px; }
 .footer { padding:32px 16px 35px; gap:25px; }
 .footer nav { margin:0; gap:17px; width:100%; }
 .footer > p { margin:0; }
}
