.booking-page{--bk-bg: #191a18;--bk-panel: #22231f;--bk-gold: #d4b77a;--bk-text: #f2eee4;--bk-muted: #b8b7aa;--bk-border: #454639;background:var(--bk-bg);color:var(--bk-text);min-height:100dvh;font-family:Poppins,sans-serif;padding-bottom:150px;color-scheme:dark}.booking-page *{box-sizing:border-box}.booking-shell{width:min(100% - 40px,660px);margin-inline:auto}.booking-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;border-bottom:1px solid var(--bk-border)}.booking-brand{font-family:Playfair Display,serif;letter-spacing:.18em;font-size:23px;text-decoration:none}.booking-brand small{display:block;font:9px Poppins,sans-serif;letter-spacing:.36em;margin-top:3px;color:var(--bk-gold)}.booking-language{min-height:48px;padding:0 15px;border:1px solid var(--bk-border);border-radius:99px;color:var(--bk-gold);background:transparent;font-size:12px}.booking-intro{padding:34px 0 20px}.booking-eyebrow{color:var(--bk-gold);font-size:10px;letter-spacing:.19em;text-transform:uppercase;margin:0 0 12px}.booking-page h1,.booking-page h2,.booking-page h3{font-family:Playfair Display,serif;font-weight:400}.booking-page h1{font-size:clamp(33px,6vw,46px);line-height:1.16;margin:0 0 16px}.booking-page h2{font-size:29px;margin:0 0 14px}.booking-page h3{font-size:23px;margin:0 0 18px}.booking-muted{color:var(--bk-muted);line-height:1.8;font-size:13px}.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:18px 0 28px}.booking-progress span{border-top:3px solid var(--bk-border);padding-top:10px;font-size:10px;color:var(--bk-muted)}.booking-progress span.active{border-color:var(--bk-gold);color:var(--bk-gold)}.booking-panel{padding:24px;border:1px solid var(--bk-border);border-radius:5px;background:var(--bk-panel);margin-bottom:18px}.booking-form{display:grid;gap:22px}.booking-field{display:grid;gap:9px;font-size:12px;color:var(--bk-text)}.booking-field input,.booking-field select,.booking-field textarea,.booking-admin select{width:100%;min-width:0;min-height:52px;border:1px solid #666655;border-radius:4px;background:#1b1c19;color:var(--bk-text);padding:13px 12px;font:inherit;font-size:15px}.booking-field textarea{min-height:100px;resize:vertical}.booking-page input:focus-visible,.booking-page select:focus-visible,.booking-page textarea:focus-visible,.booking-page a:focus-visible,.booking-page button:focus-visible,.booking-page summary:focus-visible{outline:2px solid var(--bk-gold);outline-offset:4px}.booking-field [aria-invalid=true]{border-color:#e6a89b}.booking-error{color:#f0b2a6;font-size:12px;line-height:1.7;margin:0}.booking-counter{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--bk-border);padding:8px;border-radius:4px}.booking-counter strong{font-size:24px;font-weight:400}.booking-counter button{width:52px;min-height:52px;border:1px solid var(--bk-border);background:transparent;color:var(--bk-gold);border-radius:3px;font-size:25px}.booking-quote{padding-top:20px;border-top:1px solid var(--bk-border)}.booking-quote strong{color:var(--bk-gold);display:block;font-family:Playfair Display,serif;font-size:30px;margin:8px 0}.booking-quote p{margin:6px 0}.booking-phone{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px}.booking-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:13px 20px;background:var(--bk-gold);color:#21221c;border:1px solid var(--bk-gold);border-radius:4px;font:500 13px Poppins,sans-serif;text-align:center;text-decoration:none;cursor:pointer}.booking-btn.secondary{background:transparent;color:var(--bk-gold);border-color:var(--bk-border)}.booking-page button:disabled{opacity:.45;cursor:not-allowed}.booking-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.booking-link{display:inline-flex;align-items:center;min-height:48px;color:var(--bk-gold);text-decoration:underline;font-size:12px;background:transparent;border:0;padding:6px 0;cursor:pointer}.booking-sticky{position:fixed;bottom:0;left:0;right:0;z-index:40;border-top:1px solid var(--bk-border);background:#1e1f1bf5;padding:13px 0 calc(13px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.booking-sticky .booking-shell{display:flex;gap:12px;align-items:center}.booking-sticky .booking-btn{flex:1}.booking-check{display:flex;align-items:start;gap:14px;min-height:60px;padding:16px 0;border-bottom:1px solid var(--bk-border);font-size:13px;line-height:1.8}.booking-check input{flex:0 0 24px;width:24px;height:24px;margin-top:3px;accent-color:var(--bk-gold)}.booking-upload{display:block}.booking-upload input{display:block;width:100%;min-height:48px;margin-top:10px;font-size:12px}.booking-upload input::file-selector-button{min-height:48px;background:#34362c;color:var(--bk-text);border:1px solid var(--bk-border);border-radius:4px;margin-right:8px;padding:8px 12px}.booking-thumbnail{display:block;max-width:100%;width:180px;max-height:150px;object-fit:contain;border:1px solid var(--bk-border);margin:16px 0 8px;border-radius:4px}.booking-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}.booking-summary{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:13px;margin:18px 0}.booking-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}.booking-summary dt{color:var(--bk-muted)}.booking-success{padding-top:44px}.booking-reference{font:28px Playfair Display,serif;color:var(--bk-gold);letter-spacing:.04em;padding:22px 0}.booking-skeleton{height:54px;background:#303228;border-radius:4px;margin:18px 0;animation:booking-breathe 1.5s ease-in-out infinite alternate}.booking-admin{max-width:900px}.booking-admin details{scroll-margin-top:24px}.booking-admin summary{cursor:pointer;min-height:64px;line-height:1.8;color:var(--bk-gold)}.booking-admin summary small{display:block;color:var(--bk-muted);font-family:Poppins,sans-serif;font-size:12px}.booking-admin iframe{width:100%;height:380px;border:1px solid var(--bk-border);margin-top:15px}.booking-admin img{max-width:100%;max-height:380px;object-fit:contain}.booking-admin-document{border-top:1px solid var(--bk-border);padding-top:18px;margin-top:20px;overflow-wrap:anywhere}@keyframes booking-breathe{0%{opacity:.5}to{opacity:1}}@media (prefers-reduced-motion: reduce){.booking-skeleton{animation:none}}@media (max-width: 420px){.booking-panel{padding:20px 16px}.booking-shell{width:calc(100% - 32px)}.booking-phone{grid-template-columns:104px minmax(0,1fr)}}
