:root{color-scheme:light;--ink:#18323a;--muted:#61747b;--teal:#0c8190;--teal-dark:#086b78;--line:#dbe7e9;--pale:#f2fafb;--orange:#f39723}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f4fafb;color:var(--ink);font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.embed{max-width:760px;margin:0 auto;padding:18px 16px 24px}
.masthead{display:flex;align-items:center;gap:11px;margin-bottom:20px}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;color:white;background:linear-gradient(145deg,#18a3b0,#075665);font-weight:900;font-size:25px;box-shadow:0 5px 12px #0b83902b}
.brand-name{font-weight:850;font-size:13px;letter-spacing:.09em;line-height:1.2}
.brand-sub{font-size:12px;color:var(--muted)}
.brand-badge{margin-left:auto;border-radius:20px;border:1px solid #cce2e3;background:white;padding:5px 10px;color:#337882;font-size:11px;font-weight:700;white-space:nowrap}
.intro{padding:20px 23px;border-radius:22px;background:linear-gradient(105deg,#0d4556,#0d8793);color:white;margin-bottom:16px;box-shadow:0 9px 22px #0a56661c}
.intro .eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:750;opacity:.78;margin:0 0 7px}
.intro h1{font-size:clamp(23px,5vw,31px);letter-spacing:-.035em;line-height:1.15;margin:0 0 8px}
.intro p:last-child{margin:0;color:#e0f4f5;font-size:13px}
.panel{background:white;border:1px solid var(--line);border-radius:22px;padding:21px 22px;margin-bottom:15px;box-shadow:0 7px 22px #1c5b6b0c}
.panel-heading{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.panel h2{font-size:18px;letter-spacing:-.02em;line-height:1.2;margin:0}
.step-number{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#e2f6f6;color:#0a7a88;font-weight:800;font-size:13px}
.segmented{padding:0;margin:0 0 19px;display:grid;grid-template-columns:1fr 1fr;gap:5px;border:1px solid var(--line);background:#f5f9fa;border-radius:12px;padding:4px}
.segmented legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.segmented label{position:relative;text-align:center}
.segmented input{position:absolute;opacity:0;width:100%;height:100%;left:0;top:0;cursor:pointer}
.segmented span{display:block;padding:9px;border-radius:9px;color:var(--muted);font-weight:700;font-size:13px}
.segmented input:checked+span{background:white;color:var(--teal-dark);box-shadow:0 2px 7px #18323a16}
.segmented input:focus-visible+span{outline:2px solid var(--teal)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}
.field{min-width:0}
.field label{display:block;font-size:12px;font-weight:750;color:#445a61;margin-bottom:5px}
.field label small{font-weight:500;color:var(--muted)}
.field input,.field select{display:block;width:100%;height:44px;border:1px solid #d6e2e5;border-radius:10px;background:#fff;color:var(--ink);padding:0 11px;outline:none}
.field input:focus,.field select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0c81901b}
.passenger-counts{border:0;border-top:1px solid #e8eff0;margin:4px 0 16px;padding:12px 0 0}
.passenger-counts legend{font-weight:800;font-size:14px;padding-right:10px}
.pax-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;border-bottom:1px solid #f0f3f4}
.pax-row:last-child{border:0}
.pax-row>label{font-size:13px;color:#354850}
.pax-row small{font-size:11px;color:var(--muted)}
.stepper{display:flex;align-items:center;gap:2px}
.stepper button{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #bcd0d5;background:white;color:var(--teal-dark);font-weight:800;font-size:18px;line-height:1}
.stepper button:hover{background:#e4f7f8}
.stepper input{width:39px;border:0;background:transparent;text-align:center;color:var(--ink);font-weight:800;appearance:textfield;-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.primary-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:47px;border:0;border-radius:12px;background:var(--orange);color:#fff;font-weight:800;font-size:14px;box-shadow:0 5px 12px #ee912326}
.primary-button:hover:not(:disabled){background:#e9830c}
.primary-button:focus-visible,.stepper button:focus-visible{outline:3px solid #4cc8d0;outline-offset:2px}
.primary-button:disabled{opacity:.53;cursor:not-allowed;box-shadow:none}
.quiet{font-size:11px;text-align:center;color:var(--muted);margin:10px 0 0}
.message{padding:11px 13px;margin:0 0 14px;border-radius:11px;background:#e6f6ef;border:1px solid #b9dec8;color:#236449;font-size:13px}
.message.error{background:#fff3ef;border-color:#f5cbbb;color:#a83e2d}
.leg-title{margin:16px 0 9px;font-size:13px;color:#51666d;text-transform:uppercase;letter-spacing:.07em}
.sailing-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:12px 13px;margin-bottom:8px;cursor:pointer}
.sailing-card:has(input:checked){border-color:var(--teal);background:#edf9fa;box-shadow:0 0 0 2px #0c819014}
.sailing-card.sold-out{opacity:.52;cursor:default}
.sailing-card input{accent-color:var(--teal);width:18px;height:18px;flex:none}
.sailing-main{min-width:0;display:flex;flex-direction:column;flex:1}
.sailing-main strong{font-size:15px;white-space:nowrap}
.sailing-main small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sailing-price{font-size:14px;color:var(--teal-dark);font-weight:800;white-space:nowrap}
.empty-state{background:#f5f8f9;border-radius:12px;padding:16px;color:var(--muted);font-size:13px;margin:0 0 12px}
.total-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-top:1px solid #e8eff0;padding:15px 0 14px;margin-top:12px;font-weight:650}
.total-line strong{font-size:20px;color:var(--teal-dark)}
.section-note{color:var(--muted);font-size:13px;margin:-6px 0 18px}
#details-form h3{font-size:14px;margin:22px 0 12px}
.passenger-card{border:1px solid #e2eaec;background:#fcfefe;border-radius:14px;padding:14px 15px;margin-bottom:11px}
.passenger-card h4{font-size:13px;margin:0 0 13px;color:var(--teal-dark)}
.passenger-card .form-grid{margin-bottom:0}
.consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:#50636a;margin:15px 0}
.consent input{accent-color:var(--teal);margin-top:3px;flex:none}
.consent a{color:var(--teal-dark);font-weight:700}
.embed-footer{text-align:center;color:#70858b;font-size:11px;padding:4px 0 12px}
.embed-footer strong{color:var(--teal-dark)}
@media(max-width:540px){.embed{padding:10px 10px 18px}.masthead{padding:4px 6px;margin-bottom:13px}.brand-badge{display:none}.intro{padding:19px 18px;border-radius:18px}.panel{padding:18px 16px;border-radius:18px}.form-grid{gap:12px;grid-template-columns:1fr}.passenger-card .form-grid{grid-template-columns:1fr 1fr}.passenger-card .form-grid .field:first-child,.passenger-card .form-grid .field:nth-child(3){grid-column:span 2}.sailing-card{gap:8px;padding:10px}.sailing-main strong{font-size:13px}.sailing-price{font-size:12px}}
@media(max-width:355px){.passenger-card .form-grid{grid-template-columns:1fr}.passenger-card .form-grid .field:first-child,.passenger-card .form-grid .field:nth-child(3){grid-column:span 1}}
