:root{--primary: #f0b323;--primary-dark: #d89c1c;--dark: #161616;--light: #ffffff;--bg: #f8f3ea;--text: #333333;--muted: #777777;--border: #e5e0d8;--cream: #faf6ea;--ink: #161616;--ink-soft: #2f2f2f;--ink-mute: #6f6f6f;--ink-faint: #9a9387;--line: #d9d1c4;--paper-warm: #efe6d7;--jungle: #1f2937;--moss: #475569;--sand: #f0b323;--serif: "Poppins", Arial, sans-serif;--sans: "Poppins", Arial, sans-serif;--mono: "Poppins", Arial, sans-serif}.booking-page{background:var(--bg);min-height:100vh}.booking-shell{width:min(1320px,94%);margin:0 auto;padding:120px 0 70px;display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:start}.book-left{background:transparent;min-width:0}.book-right{background:#111;color:#fff;padding:36px;border-radius:24px;position:sticky;top:110px;min-width:0;box-shadow:0 18px 40px #0000002e}.stepper{display:flex;align-items:center;gap:14px;margin-bottom:48px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;overflow-x:auto}.step{display:flex;align-items:center;gap:10px;color:var(--ink-faint);cursor:pointer;white-space:nowrap}.step .sn{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:11px}.step.active{color:var(--dark)}.step.active .sn{background:var(--primary);color:var(--dark);border-color:var(--primary)}.step.done{color:var(--moss)}.step.done .sn{background:var(--moss);border-color:var(--moss);color:#fff}.step-line{flex:1;min-width:28px;height:1px;background:var(--border)}.step-title{font-family:var(--sans);font-size:clamp(2.7rem,5vw,4.7rem);line-height:.98;letter-spacing:-.04em;font-weight:800;margin:0 0 10px;color:var(--dark)}.step-title em{font-style:italic;font-weight:700}.step-sub{color:var(--text);font-size:1rem;line-height:1.75;margin:0 0 42px;max-width:56ch}.form-block{margin-bottom:34px}.form-block h3{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}.date-options{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.date-opt{padding:20px;border:1px solid var(--border);border-radius:14px;background:transparent;text-align:left;display:flex;flex-direction:column;gap:8px;transition:.22s ease}.date-opt:hover{border-color:var(--primary)}.date-opt.selected{border-color:var(--primary);background:#fffdf8;box-shadow:0 0 0 3px #f0b3231f}.date-opt .month,.date-opt .year,.date-opt .note{font-size:11px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.date-opt .day{font-size:2.75rem;line-height:1;font-weight:700;color:var(--dark)}.duration-row{display:flex;flex-wrap:wrap;gap:10px}.dur{padding:14px 22px;border:1px solid var(--border);border-radius:999px;background:transparent;font-size:14px;transition:.22s ease}.dur:hover{border-color:var(--primary)}.dur.selected{background:var(--dark);border-color:var(--dark);color:#fff}.traveller-list{display:flex;flex-direction:column}.trav-row{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:22px 0;border-top:1px solid var(--border)}.trav-row:last-child{border-bottom:1px solid var(--border)}.t-label{font-size:1.45rem;font-weight:700;color:var(--dark)}.t-sub,.meta-inline{color:var(--muted);font-size:13px;margin-top:4px}.stepper-ctl{display:flex;align-items:center;gap:14px}.stepper-ctl button{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:#fff;font-size:18px;transition:.2s ease}.stepper-ctl button:hover{border-color:var(--primary)}.count{font-size:18px;font-weight:700;min-width:28px;text-align:center}.extras{display:grid;gap:14px}.extra{display:grid;grid-template-columns:56px 1fr auto auto;gap:18px;align-items:center;padding:20px 22px;border:1px solid var(--border);border-radius:14px;background:#fffaf2;text-align:left;transition:.22s ease}.extra:hover{border-color:var(--primary)}.extra.selected{border-color:var(--primary);background:#fff7e5;box-shadow:0 0 0 3px #f0b3231a}.extra-icon{width:56px;height:56px;border-radius:12px;background:#f7eed7;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:var(--dark)}.extra-name{font-size:1.18rem;font-weight:700;color:var(--dark)}.extra-desc{font-size:13px;color:var(--muted);margin-top:3px;line-height:1.6}.extra-price{font-size:13px;font-weight:600;color:var(--dark);white-space:nowrap}.check{width:22px;height:22px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:transparent}.extra.selected .check{background:var(--primary);border-color:var(--primary);color:var(--dark)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.span-2{grid-column:span 2}.field-box{padding:14px 18px;border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:6px;background:#fffdf8}.field-box label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.field-box input,.field-box textarea{border:0;background:transparent;font-family:inherit;font-size:15px;color:var(--dark);outline:none;resize:vertical;padding:2px 0}.review-block,.success-details{background:#fffaf2;border:1px solid var(--border);border-radius:18px;padding:28px}.review-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px dashed var(--border);font-size:14px}.review-row:first-child{border-top:0;padding-top:0}.review-row .k{color:var(--muted)}.nav-btns{display:flex;justify-content:space-between;gap:14px;margin-top:48px;padding-top:28px;border-top:1px solid var(--border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border-radius:999px;font-size:14px;font-weight:700;transition:.22s ease;border:1px solid transparent;white-space:nowrap}.btn-primary{background:var(--primary);color:var(--dark)}.btn-primary:hover{background:var(--primary-dark)}.btn-ghost{background:transparent;color:var(--dark);border-color:var(--border)}.btn-ghost:hover{border-color:var(--primary)}.btn-arrow{width:24px;height:24px;border-radius:50%;background:#00000014;display:inline-flex;align-items:center;justify-content:center}.sum-eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c;margin-bottom:18px}.sum-img{aspect-ratio:4 / 3;border-radius:16px;overflow:hidden;margin-bottom:28px;background:#222}.sum-img img{width:100%;height:100%;object-fit:cover}.sum-title{font-size:2.2rem;line-height:1.02;font-weight:800;letter-spacing:-.03em;margin:0 0 8px}.sum-title em{color:var(--primary);font-style:italic}.sum-sub{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#ffffff9e;margin-bottom:28px}.sum-lines{display:flex;flex-direction:column}.sum-line{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid rgba(255,255,255,.12);font-size:14px}.sum-line .k{color:#ffffff8c;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.sum-line.total{padding-top:20px;margin-top:14px;border-top:1px solid rgba(255,255,255,.28)}.sum-line.total .k{font-size:18px;text-transform:none;letter-spacing:0;color:#ffffffd9}.sum-line.total .v{font-size:2.1rem;font-weight:800;color:var(--primary)}.sum-assurance{margin-top:36px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#ffffff8c;line-height:2}.sum-assurance div:before{content:"✦  ";color:var(--primary)}.success-screen{padding:100px 0;text-align:center;max-width:760px;margin:0 auto}.success-mark{width:88px;height:88px;border-radius:50%;background:var(--primary);color:var(--dark);display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 34px}.success-h{font-size:clamp(3rem,6vw,5rem);line-height:.98;font-weight:800;letter-spacing:-.04em;margin:0 0 18px}.success-h em{font-style:italic}.success-p{font-size:17px;color:var(--muted);line-height:1.7;max-width:52ch;margin:0 auto 40px}[data-step]{display:none}[data-step].active{display:block}@media(max-width:1100px){.booking-shell{grid-template-columns:1fr;padding-top:110px}.book-right{position:static;top:auto}}@media(max-width:768px){.booking-shell{width:min(94%,100%);padding:100px 0 50px;gap:24px}.date-options,.grid-2{grid-template-columns:1fr}.span-2{grid-column:auto}.extra{grid-template-columns:50px 1fr}.extra-price,.check{grid-column:2}.nav-btns{flex-direction:column}.stepper{gap:8px}.step-line{min-width:24px}.trav-row{gap:18px}.book-right,.review-block,.success-details{padding:20px}.sum-title{font-size:1.8rem}}
