.rsv-hero{background:var(--navy-800);color:#fff;padding:44px 0 34px}.rsv-hero .eyebrow{color:var(--cyan-light);letter-spacing:.12em;font-size:12px;font-weight:700}.rsv-hero h1{color:#fff;font-size:30px;margin:4px 0 8px}.rsv-hero__lead{color:#c5cee0;font-size:15px}.rsv-wrap{max-width:680px}.rsv-steps{display:flex;list-style:none;gap:6px;margin:0 0 22px;padding:0;counter-reset:s}.rsv-steps li{flex:1;text-align:center;font-size:11.5px;font-weight:700;color:var(--muted);padding-top:26px;position:relative;line-height:1.3}.rsv-steps li:before{counter-increment:s;content:counter(s);position:absolute;top:0;left:50%;transform:translate(-50%);width:22px;height:22px;border-radius:50%;background:#e3e8f0;color:#fff;display:grid;place-items:center;font-size:12px}.rsv-steps li.on{color:var(--navy-800)}.rsv-steps li.on:before{background:var(--cyan)}.rsv-alert{background:#fdecec;border:1px solid #f3b6b6;color:#a12626;border-radius:10px;padding:12px 14px;margin-bottom:16px;font-size:14px}.rsv-alert--err{background:#fdecec;border-color:#f3b6b6;color:#a12626}.rsv-h{font-size:20px;color:var(--navy-800);margin-bottom:16px}.rsv-h-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.rsv-h--inline{margin-bottom:0}.rsv-back-link{background:none;border:none;padding:6px 0;color:var(--cyan, #1f7a8c);font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}.rsv-back-link:hover{text-decoration:underline}.rsv-sub{font-size:16px;color:var(--navy-800);margin:22px 0 6px}.rsv-note{font-size:12.5px;color:var(--muted);margin-top:10px;line-height:1.7}.rsv-actions{display:flex;gap:10px;margin-top:24px}.rsv-actions .btn{flex:1;padding:14px}.rsv-actions .btn--ghost{color:var(--navy-800, #16233d);border:1.5px solid var(--navy-800, #16233d);background:#fff;font-weight:700}.rsv-actions .btn--ghost:hover{background:#eef2f8}.plan-cards{display:grid;gap:12px}.plan-card{display:grid;gap:4px;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:20px;cursor:pointer;box-shadow:var(--shadow-card);transition:border-color .15s,transform .15s}.plan-card:hover{border-color:var(--cyan);transform:translateY(-2px)}.plan-card__name{font-family:var(--font-head);font-weight:700;font-size:18px;color:var(--navy-800)}.plan-card__meta{font-size:13px;color:var(--muted)}.plan-card__price{font-weight:700;color:var(--cyan)}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-title{font-family:var(--font-head);font-weight:700;font-size:18px;color:var(--navy-800)}.cal-nav{width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:20px;cursor:pointer;color:var(--navy-800)}.cal-nav:disabled{opacity:.35;cursor:default}.cal-dow{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:12px;color:var(--muted);margin-bottom:4px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-cell{aspect-ratio:1 / 1;border:1px solid var(--line);border-radius:9px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;cursor:pointer;padding:2px}.cal-cell--blank{border:none;background:transparent;cursor:default}.cal-cell .cal-d{font-weight:700;color:var(--navy-800)}.cal-cell .cal-t{font-size:10px;line-height:1.1}.cal-cell--open{border-color:var(--cyan)}.cal-cell--open .cal-t{color:var(--cyan)}.cal-cell--few{border-color:var(--gold);background:#fffdf5}.cal-cell--few .cal-t{color:#b8860b;font-weight:700}.cal-cell--full{background:#f4f5f8;color:#aab;cursor:default}.cal-cell--full .cal-d{color:#99a}.cal-cell--full .cal-t{color:#bbc}.cal-cell--closed{background:#fafbfc;cursor:default}.cal-cell--closed .cal-d{color:#cbd2de}.cal-cell.is-sel{outline:3px solid var(--cyan);outline-offset:-1px}.cal-cell:disabled{cursor:default}.cal-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:12px;color:var(--muted)}.lg{position:relative;padding-left:18px}.lg:before{content:"";position:absolute;left:0;top:2px;width:12px;height:12px;border-radius:3px;border:1px solid var(--line)}.lg--open:before{border-color:var(--cyan)}.lg--few:before{border-color:var(--gold);background:#fffdf5}.lg--full:before{background:#f4f5f8}.lg--closed:before{background:#fafbfc}.pax-rows{display:grid;gap:10px}.pax-row{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow-card)}.pax-label{font-weight:700;color:var(--navy-800);display:flex;flex-direction:column}.pax-label small{font-weight:400;color:var(--muted);font-size:12px}.pax-step{display:flex;align-items:center;gap:14px}.pax-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--cyan);background:#fff;color:var(--cyan);font-size:22px;line-height:1;cursor:pointer}.pax-btn:active{background:var(--cyan);color:#fff}.pax-n{min-width:24px;text-align:center;font-weight:700;font-size:17px;color:var(--navy-800)}.pax-total{margin-top:14px;font-weight:700;color:var(--navy-800);text-align:right}.cruise-gate{margin-top:16px;background:#fffdf5;border:1px solid var(--gold);border-radius:12px;padding:14px}.cruise-gate label{display:flex;gap:10px;font-size:14px;color:var(--navy-800);align-items:flex-start}.cruise-gate input{margin-top:4px;width:18px;height:18px}.stop-cards{display:grid;gap:8px}.stop-card{text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:13px 16px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.stop-card.is-sel{border-color:var(--cyan);background:#f2fbff}.stop-name{font-weight:700;color:var(--navy-800)}.stop-meta{font-size:12.5px;color:var(--muted)}.stop-detail{margin-top:12px;background:#f2fbff;border:1px solid var(--cyan);border-radius:10px;padding:12px 14px;font-size:14px;color:var(--navy-800)}.stop-detail a{color:var(--cyan);text-decoration:underline}.rsv-form label small{font-weight:400;color:var(--muted);font-size:12px}.rsv-form .consent{flex-direction:row!important;align-items:flex-start;gap:10px}.rsv-form .consent input{width:18px;height:18px;margin-top:4px}.rsv-form .consent a{color:var(--cyan);text-decoration:underline}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.turnstile{margin-top:16px}#turnstile:empty{display:none}.pay-method{margin-top:4px;padding:14px 16px;border:1px solid var(--line, #dce3f0);border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:10px}.pay-method__label{font-weight:700;font-size:14px;color:var(--navy-800)}.pay-opt{display:flex;flex-direction:row!important;align-items:center;gap:10px;font-size:15px;cursor:pointer}.pay-opt input{width:18px;height:18px;margin:0}.pay-note{margin:2px 0 0;padding:10px 12px;background:#fff7e6;border:1px solid #f0d48a;border-radius:8px;color:#8a6d1a;font-size:13px;line-height:1.6}.confirm-list{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow-card)}.confirm-list dt{font-weight:700;color:var(--muted);font-size:13px}.confirm-list dd{color:var(--navy-800);font-weight:600}.done-box{text-align:center}.done-badge{display:inline-block;background:#e7f8ee;color:#1a7f46;border:1px solid #a9e0c0;border-radius:999px;padding:8px 20px;font-weight:700}.done-num{font-size:18px;margin:16px 0;color:var(--navy-800)}.done-num strong{font-size:24px;color:var(--cyan);letter-spacing:.04em}.done-box .confirm-list{text-align:left;margin-top:16px}@media(max-width:520px){.rsv-hero h1{font-size:25px}.rsv-steps li{font-size:10.5px}.cal-cell{font-size:13px}.rsv-actions{flex-direction:column-reverse}}
