:root{--bg:#f6f7f9;--surface:#ffffff;--text:#14171c;--muted:#5d6673;--border:#dde1e7;--accent:#0b7a3e;--accent-text:#ffffff;--accent-soft:#e5f4ea;--danger:#b42318;--danger-soft:#fdecea;--disabled:#eceef1;--radius:10px}@media (prefers-color-scheme:dark){:root{--bg:#0f1216;--surface:#181c22;--text:#eef1f5;--muted:#9aa4b2;--border:#2b313a;--accent:#3ccf7a;--accent-text:#08130c;--accent-soft:#15301f;--danger:#ff8a7f;--danger-soft:#3a1a17;--disabled:#22272e}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:640px;margin:0 auto;padding:24px 16px 64px}h1{font-size:1.5rem;margin:0 0 4px}h2{font-size:1rem;margin:0 0 12px}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:16px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}button{font:inherit;cursor:pointer}a.button,button{border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 14px;min-height:44px}a.button{display:inline-flex;align-items:center;text-decoration:none}button:disabled{cursor:not-allowed;background:var(--disabled);color:var(--muted)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}a.button:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.stepper{display:flex;align-items:center;gap:12px}.stepper output{min-width:2ch;text-align:center;font-size:1.25rem;font-weight:600}.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.days button{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;min-width:64px;line-height:1.2}.days button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.days small{color:var(--muted);font-size:.75rem}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:8px;gap:8px}.slots button{display:flex;flex-direction:column;align-items:center;line-height:1.2}.slots small{font-size:.75rem;color:var(--muted)}.slots button:disabled small{color:inherit}label{display:block;margin-bottom:12px}label span{display:block;font-size:.875rem;color:var(--muted);margin-bottom:4px}input[type=email],input[type=tel],input[type=text]{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}label.check{display:flex;gap:10px;align-items:flex-start}label.check input{margin-top:4px;width:20px;height:20px}.countdown{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--accent-soft)}.alert,.countdown.low{background:var(--danger-soft);color:var(--danger)}.alert{padding:12px 14px;border-radius:8px;margin-top:16px}.code{font-size:1.75rem;font-weight:700;letter-spacing:.08em}.total{display:flex;justify-content:space-between;font-weight:600}.products,.total{margin:8px 0 16px}.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:8px;gap:8px;align-items:start}.products button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;line-height:1.3}.products button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.products small{color:var(--muted)}.itinerary{list-style:none;padding:0;margin:0 0 16px;border:1px dashed var(--border);border-radius:8px}.itinerary:before{content:attr(data-label);display:block;padding:6px 12px 0;font-size:.75rem;color:var(--muted)}.itinerary li{display:flex;gap:12px;padding:8px 12px}.itinerary li+li{border-top:1px solid var(--border)}.itinerary span{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:7.5em}h2.category{font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:16px 0 0}a{color:inherit}.product-card{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);text-decoration:none;min-height:44px}.product-card:focus-visible,.product-card:hover{border-color:var(--accent);background:var(--accent-soft)}.product-card small{color:var(--muted)}.top-bar{justify-content:space-between;align-items:center;gap:8px}.languages,.top-bar{display:flex;flex-wrap:wrap}.languages{gap:4px}.languages a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:999px;text-decoration:none;font-size:.875rem}.languages a[aria-current=true]{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.product-cover{width:calc(100% + 28px);height:auto;aspect-ratio:4/3;object-fit:cover;margin:-12px -14px 8px;border-radius:8px 8px 0 0;background:var(--disabled)}.product-card{overflow:hidden}.gallery{margin:8px 0 16px}.gallery-main{display:block;width:100%;height:auto;max-height:420px;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);background:var(--disabled)}.gallery-thumbs{display:flex;gap:8px;margin-top:8px;overflow-x:auto}.gallery-thumbs button{flex:0 0 auto;width:72px;height:54px;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;background:none;cursor:pointer}.gallery-thumbs button[aria-pressed=true]{border-color:var(--accent)}.gallery-thumbs img{width:100%;height:100%;object-fit:cover;display:block}.account-link{margin-left:auto;font-size:.9375rem}.member-notice{background:var(--accent-soft);border-radius:var(--radius);padding:10px 14px 10px 30px;margin:16px 0 0}p.member-notice{padding-left:14px}.price-lines{display:grid;grid-template-columns:1fr auto;grid-gap:4px 12px;gap:4px 12px;margin:16px 0 0;color:var(--muted)}.price-lines dd{margin:0;text-align:right}.badge{display:inline-block;font-size:.8125rem;padding:2px 8px;border-radius:999px;background:var(--accent-soft)}.badge.warn{background:var(--danger-soft);color:var(--danger)}.membership+.membership{border-top:1px solid var(--border);margin-top:12px;padding-top:4px}.membership ul{padding-left:20px}.my-bookings{list-style:none;padding:0;margin:0}.my-bookings li{padding:8px 0;border-bottom:1px solid var(--border)}.my-bookings li:last-child{border-bottom:0}.my-bookings li.cancelled strong{text-decoration:line-through}.promo{margin-top:16px}.promo .row input{flex:1 1;min-width:0}.ticket-qr{margin:16px 0;text-align:center}.ticket-qr img{background:#ffffff;padding:8px;border-radius:8px}.ticket-qr figcaption{margin-top:4px;font-size:.875rem}.notice{background:var(--accent-soft);border-radius:var(--radius);padding:10px 14px;margin:16px 0 0}button.danger{color:var(--danger);border-color:var(--danger)}.legal p{line-height:1.6}.legal p,.pre-line{white-space:pre-line}.what-to-bring h2,.what-to-bring h3{font-size:1rem;margin:16px 0 4px}