:root{--black:#10100f;--charcoal:#1b1b19;--gold:#d4ae5a;--goldlight:#f2dc9a;--cream:#f7f4ed;--line:rgba(212,174,90,.25)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -10%,#3a301d 0,#151412 38%,#0e0e0d 75%);color:#fff;font-family:'DM Sans',sans-serif;min-height:100vh}.booking-shell{max-width:1100px;margin:auto;padding:28px 24px 36px}.portal-header{display:flex;align-items:center;justify-content:space-between}.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px;font-family:'Playfair Display',serif;font-size:22px;line-height:19px}.brand em{color:var(--gold);font-style:normal}.brand small{display:block;font:600 7px 'DM Sans';letter-spacing:2px;color:#a49f94}.brand-mark{background:linear-gradient(135deg,var(--goldlight),#957235);color:#18140d;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font:bold 14px 'DM Sans'}.secure{font-size:12px;color:#c2bcae}.secure i{color:var(--gold);margin-right:5px}.intro{text-align:center;padding:56px 0 28px}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold);font-weight:700;margin:0 0 12px}.intro h1{font:700 clamp(32px,5vw,55px) 'Playfair Display';margin:0}.intro h1 i{color:var(--goldlight)}.intro>p:last-child,.muted{color:#b8b4ab;margin-top:12px}.progress-wrap{max-width:720px;margin:0 auto 20px}.progress-label{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#bab3a6;margin-bottom:8px}.progress{height:4px;background:#35332e}.progress-bar{background:linear-gradient(90deg,#a57e35,var(--goldlight));width:12.5%;transition:.35s}.booking-card{min-height:400px;background:rgba(31,30,27,.86);border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 22px 50px rgba(0,0,0,.28);backdrop-filter:blur(12px)}.step{display:none;animation:fade .35s ease}.step.active{display:block}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}h2{font:700 29px 'Playfair Display';margin:0 0 4px}.package-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:25px}.package{background:#252421;border:1px solid #3c3931;padding:19px;border-radius:14px;cursor:pointer;transition:.2s;position:relative;min-height:248px}.package:hover,.package.selected{border-color:var(--gold);transform:translateY(-3px);background:#2a2823}.package.selected:after{content:'✓';position:absolute;right:12px;top:10px;background:var(--gold);color:#1d180d;border-radius:50%;height:19px;width:19px;text-align:center;font-size:12px;font-weight:bold}.package h3{font:700 20px 'Playfair Display';color:var(--goldlight)}.price{font-size:22px;font-weight:700;margin:12px 0 4px}.duration{font-size:12px;color:#aaa399;border-bottom:1px solid #3b3831;padding-bottom:12px}.package ul{padding:12px 0 0;margin:0;list-style:none;font-size:12px;color:#dad6cf;line-height:1.8}.package li:before{content:'✦';color:var(--gold);margin-right:6px}.form-control{background:#262522;border-color:#48443c;color:#fff;padding:12px}.form-control:focus{background:#2b2925;border-color:var(--gold);box-shadow:0 0 0 .2rem rgba(212,174,90,.14);color:#fff}label{font-size:12px;color:#d7d0c1;margin-bottom:6px}.date-control{max-width:420px;margin-top:28px}.form-text{color:#aaa}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;margin-top:24px}.slot{border:1px solid #4a453a;background:#272521;color:#f2eee6;border-radius:9px;padding:12px 8px;font-size:13px;cursor:pointer;text-align:center}.slot:hover,.slot.selected{border-color:var(--gold);background:#42371f}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:13px;margin-top:25px}.choice{padding:17px;border:1px solid #413d35;border-radius:12px;background:#262522;cursor:pointer}.choice.selected{border-color:var(--gold);color:var(--goldlight)}.addon-list{margin-top:22px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.addon{display:flex;justify-content:space-between;align-items:center;background:#252421;border:1px solid #3d3931;border-radius:10px;padding:13px 15px;cursor:pointer}.addon input{accent-color:var(--gold);width:17px;height:17px}.addon span{font-size:13px}.addon b{color:var(--goldlight);font-size:13px}.nav-bar{display:flex;justify-content:space-between;margin:20px 2px}.btn{border-radius:9px;padding:11px 18px;font-size:14px}.btn-gold{background:linear-gradient(135deg,#e6c776,#b1873d);border:0;color:#211a0e;font-weight:700}.btn-gold:hover{color:#211a0e;filter:brightness(1.08)}.review-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:24px;margin-top:24px}.detail-card,.bill-card{background:#25231f;border:1px solid #454034;border-radius:14px;padding:20px}.detail-card p{margin:0 0 10px;color:#c6c0b5}.detail-card strong{color:#fff}.bill-card h3{font:700 21px 'Playfair Display';margin-bottom:17px}.bill-line{display:flex;justify-content:space-between;gap:10px;padding:8px 0;color:#c5c0b7;font-size:13px}.bill-line span:last-child{color:#fff;white-space:nowrap}.bill-total{border-top:1px solid #4c463b;margin-top:8px;padding-top:14px;font-size:17px!important;font-weight:700;color:var(--goldlight)!important}.terms{font-size:11px;color:#918b80;margin-top:15px}.narrow{max-width:420px;margin:25px 0}.payment-note{font-size:12px;color:#b8b2a8}.payment-note i{color:var(--gold)}#confirmationPane{text-align:center;padding:20px 0}.confirmation-icon{font-size:54px;color:var(--gold)}.confirmation-id{font:700 25px 'Playfair Display';color:var(--goldlight);margin:8px}footer{text-align:center;color:#817c73;font-size:11px;padding:25px 0 0}
.brand-logo{display:block;width:155px;height:58px;object-fit:contain;object-position:left center}
.booking-help{position:fixed;z-index:50;right:20px;bottom:22px;display:flex;align-items:center;gap:9px;padding:13px 17px;border-radius:999px;background:#25d366;color:#082d17;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.04em;box-shadow:0 12px 28px rgba(0,0,0,.36);transition:transform .2s,box-shadow .2s}.booking-help i{font-size:21px}.booking-help:hover{transform:translateY(-3px);box-shadow:0 17px 32px rgba(0,0,0,.46)}@media(max-width:575px){.booking-help{right:14px;bottom:14px;padding:12px}.booking-help span{display:none}.booking-help i{font-size:24px}}
.advance-payment{margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.13)}.advance-payment label{font-weight:700}.advance-input{display:flex;align-items:center;gap:8px;margin-top:7px}.advance-input span{font-size:22px;color:#e5bb62;font-family:'Playfair Display',serif}.advance-summary{display:grid;gap:8px;margin-top:15px;padding:14px;background:rgba(255,255,255,.05);font-size:13px}.advance-summary span{display:flex;justify-content:space-between;gap:14px;color:#d8d1c4}.advance-summary b{color:#fff}.advance-summary .remaining-line{padding-top:8px;border-top:1px solid rgba(255,255,255,.13);color:#f2cb74}.advance-note{display:block;margin-top:10px;color:#a9a197;line-height:1.5}
