:root{--navy:#07172f;--blue:#173f72;--gold:#edc85b;--ink:#162238;--muted:#667185;--line:#dfe4eb;--soft:#f5f7fa;--green:#23795a}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,Arial,sans-serif}.booking-header{height:86px;background:var(--navy);border-top:3px solid var(--gold);display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,22px)}.booking-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.booking-brand img{width:54px;height:54px;object-fit:contain}.booking-brand strong{display:block;color:var(--gold);font:700 24px/1 'Playfair Display',serif}.booking-brand small{font-size:9px;letter-spacing:2px}.booking-language{display:flex;border:1px solid #52627b;border-radius:999px;padding:3px}.booking-language a{color:#fff;text-decoration:none;font-size:12px;font-weight:800;padding:9px 11px;border-radius:50%}.booking-language a.active{background:var(--gold);color:var(--navy)}main{max-width:1240px;margin:auto;padding:50px 24px 90px}.catalog-heading{max-width:760px;margin-bottom:30px}.catalog-heading>span,.product-heading>span,.booking-rail header small{font-size:11px;letter-spacing:1.5px;color:#8d6c20;font-weight:800}.catalog-heading h1,.product-heading h1{font:700 clamp(36px,5vw,58px)/1.06 'Playfair Display',serif;color:var(--navy);margin:8px 0 12px}.catalog-heading p,.product-heading p{color:var(--muted);font-size:17px;line-height:1.6}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{padding:0;text-align:left;background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;cursor:pointer;box-shadow:0 12px 35px rgba(10,28,53,.08);transition:.2s;font:inherit;color:inherit}.service-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(10,28,53,.14);border-color:#c4a23f}.service-card>img{display:block;width:100%;height:230px;object-fit:cover}.service-content{display:flex;flex-direction:column;align-items:flex-start;padding:20px;min-height:270px}.service-content small{color:#9a7624;font-size:10px;font-weight:800;letter-spacing:1.2px}.service-content strong{font:700 21px/1.25 'Playfair Display',serif;color:var(--navy);margin:10px 0}.service-content span{color:var(--muted);font-size:13px}.service-content b{font-size:17px;margin-top:18px;color:#8a671d}.service-content em{margin-top:auto;padding-top:22px;font-style:normal;font-weight:800;color:var(--navy)}.service-content i{color:#a77d19;font-style:normal}.is-hidden{display:none!important}.back-button{border:0;background:none;color:var(--blue);font:700 14px Inter;cursor:pointer;padding:0 0 20px}.product-layout{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:30px;align-items:start}.product-heading h1{font-size:clamp(32px,4vw,48px)}.quick-facts{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--navy);margin-top:18px}.photo-gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;height:440px;gap:7px;border-radius:18px;overflow:hidden;margin:28px 0}.photo-gallery img{width:100%;height:100%;object-fit:cover}.photo-main{grid-row:1/3}.info-card{border:1px solid var(--line);border-radius:17px;padding:25px}.info-card h2{font:700 27px 'Playfair Display',serif;color:var(--navy);margin:0}.info-card p{color:var(--muted);line-height:1.6}.included{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid var(--line);padding-top:18px}.included div{display:flex;flex-direction:column;gap:9px}.included span{font-size:13px;color:var(--muted)}.booking-rail{position:sticky;top:18px;border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff;box-shadow:0 18px 55px rgba(7,23,47,.12)}.booking-rail header h2{font:700 27px 'Playfair Display',serif;color:var(--navy);margin:5px 0 18px}.calendar{border:1px solid var(--line);border-radius:13px;padding:14px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-head button{border:0;background:var(--soft);border-radius:8px;width:34px;height:34px;font-size:23px;cursor:pointer;color:var(--navy)}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.weekdays span{font-size:10px;font-weight:800;color:var(--muted);padding:5px}.calendar-days button{aspect-ratio:1;border:0;border-radius:8px;background:transparent;font:600 12px Inter;cursor:pointer;color:var(--ink)}.calendar-days button:hover:not(:disabled){background:#eef3fa}.calendar-days button.selected{background:var(--navy);color:#fff}.calendar-days button:disabled{color:#c7cbd1;cursor:not-allowed}.calendar-days .blank{visibility:hidden}.time-picker,.journey-options{border:0;padding:0;margin:20px 0}.time-picker legend,.journey-options legend{font-weight:800;font-size:14px;color:var(--navy);margin-bottom:10px}.time-picker>div{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;max-height:98px;overflow:auto;padding-right:3px}.time-picker button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 2px;font:600 12px Inter;cursor:pointer}.time-picker button.selected{background:var(--navy);color:#fff;border-color:var(--navy)}.time-picker select{display:none}.journey-options{display:grid;gap:9px}.journey-options label{position:relative;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:7px;border:1px solid var(--line);border-radius:12px;padding:14px;cursor:pointer}.journey-options label:has(input:checked){border:2px solid var(--blue);background:#f4f8fd}.journey-options input{accent-color:var(--blue)}.journey-options span{display:flex;flex-direction:column}.journey-options small{font-size:10px;color:var(--muted);margin-top:3px}.journey-options strong{font-size:14px;color:var(--navy)}.journey-options>label>i{position:absolute;top:-8px;right:10px;background:var(--gold);color:var(--navy);font-style:normal;font-size:8px;font-weight:800;border-radius:999px;padding:4px 7px}.details{border-top:1px solid var(--line);padding-top:19px;margin-top:18px}.details h3,.details summary{font-size:14px;font-weight:800;color:var(--navy);margin:0 0 13px}.details summary{cursor:pointer}.details>label,.form-fields label{display:block;font-size:12px;font-weight:700;margin-top:10px}.details select,.details input{width:100%;border:1px solid #cbd3de;border-radius:9px;padding:11px;background:#fff;font:500 13px Inter;margin-top:6px}.luggage-list{display:grid;gap:9px;margin-top:12px}.luggage-row{display:grid!important;grid-template-columns:42px 1fr auto;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px!important;margin:0!important}.luggage-row svg{width:34px;height:42px;fill:none;stroke:var(--navy);stroke-width:2}.luggage-row svg.carry{height:34px}.luggage-row>span:nth-of-type(1){display:flex;flex-direction:column}.luggage-row small{color:var(--muted);font-weight:500;margin-top:2px}.counter{display:flex;align-items:center;gap:10px}.counter button{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);font-size:19px;cursor:pointer}.counter output{min-width:16px;text-align:center;font-weight:800}.capacity-note{border-radius:10px;background:#eef7f2;color:#245d46;font-size:11px;line-height:1.5;padding:10px 12px;margin-top:10px}.capacity-note.warning{background:#fff4dc;color:#73510b}.capacity-note.blocked{background:#fff0ef;color:#8a2923}.form-fields{display:grid;gap:3px}.form-fields small{display:block;color:var(--muted);font-weight:400;line-height:1.4;margin-top:5px}.ticket{background:var(--navy);color:#fff;border-radius:13px;padding:16px;margin-top:20px}.ticket div{display:flex;justify-content:space-between;align-items:center}.ticket span{font-size:12px}.ticket strong{font-size:22px;color:var(--gold)}.ticket small{display:block;color:#c6cfdb;font-size:10px;line-height:1.45;margin-top:9px}.primary-button{width:100%;border:0;border-radius:11px;background:var(--gold);color:var(--navy);font:800 14px Inter;padding:15px;margin-top:12px;cursor:pointer}.primary-button:disabled{opacity:.5;cursor:not-allowed}.form-status{font-size:11px;color:var(--green);line-height:1.4}.capacity-dialog{max-width:500px;border:0;border-radius:18px;padding:29px;color:var(--ink);box-shadow:0 25px 80px rgba(0,0,0,.3)}.capacity-dialog::backdrop{background:rgba(5,17,36,.7)}.capacity-dialog>span{color:#9a7624;font-size:10px;font-weight:800;letter-spacing:1.3px}.capacity-dialog h2{font:700 29px 'Playfair Display',serif;color:var(--navy);margin:7px 0}.capacity-dialog p{color:var(--muted);line-height:1.5}.dialog-close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:27px;cursor:pointer}.capacity-dialog>div{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.capacity-dialog>div button,.capacity-dialog>div a{padding:12px 14px;border-radius:9px;text-decoration:none;font:800 12px Inter}.capacity-dialog>div button{border:0;background:var(--gold);color:var(--navy)}.capacity-dialog>div a{background:var(--navy);color:#fff}@media(max-width:960px){.product-layout{grid-template-columns:1fr}.booking-rail{position:static}.service-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){main{padding:34px 15px 60px}.booking-header{height:74px}.booking-brand strong{font-size:20px}.booking-brand small{display:none}.service-grid{grid-template-columns:1fr}.service-card>img{height:205px}.service-content{min-height:235px}.photo-gallery{height:280px}.product-layout{gap:20px}.booking-rail{padding:18px}.included{grid-template-columns:1fr}.time-picker>div{grid-template-columns:repeat(3,1fr)}}
