/* Charter cost calculator (shared EN/ES/PT) */
.cx-lede{color:var(--slate);max-width:62ch;margin:-4px 0 22px}
.cx{display:grid;gap:20px;align-items:start;margin:8px 0 28px}
@media (min-width:900px){.cx{grid-template-columns:minmax(0,1fr) 380px;gap:28px}.cx-res{position:sticky;top:88px}}
.cx-form{display:grid;gap:20px}
.cx-g{margin:0;border:0;padding:22px 18px;background:#fff;border-radius:24px;box-shadow:var(--sh);min-width:0}
@media (min-width:640px){.cx-g{padding:26px 26px}}
.cx-g legend{float:left;width:100%;padding:0;margin:0 0 18px;display:flex;align-items:center;gap:10px;font:500 22px/1.15 var(--serif);color:var(--ink)}
.cx-g legend .ic{color:var(--lagoon)}
.cx-g legend+*{clear:both}
.cx-grid{display:grid;gap:18px}
@media (min-width:640px){.cx-grid{grid-template-columns:1fr 1fr;gap:20px 22px}.cx-grid .cx-wide{grid-column:1/-1}}
.cx-f{min-width:0}
.cx-f>label,.cx-lab{display:block;margin:0 0 8px;font:600 14px/1.3 var(--sans);color:var(--ink)}
.cx-help{margin:8px 0 0;font-size:13px;line-height:1.45;color:var(--slate)}
.cx-af{position:relative;display:flex;align-items:center}
.cx-af input{min-height:52px;font:500 18px/1.2 var(--sans);font-variant-numeric:tabular-nums}
.cx-af .cx-pre,.cx-af .cx-suf{position:absolute;top:0;bottom:0;display:flex;align-items:center;font:600 16px/1 var(--sans);color:var(--slate);pointer-events:none}
.cx-af .cx-pre{left:16px}.cx-af.pre input{padding-left:34px}
.cx-af .cx-suf{right:16px}.cx-af.suf input{padding-right:52px}
.cx-af input::placeholder{color:#9AABB2}
.cx-af input[aria-invalid=true]{border-color:var(--coral);box-shadow:0 0 0 3px rgba(200,50,74,.12)}
/* segmented toggle */
.cx-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-top:10px;background:var(--mist);border-radius:999px}
.cx-seg label{position:relative;margin:0;display:block;cursor:pointer}
.cx-seg input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.cx-seg span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;border-radius:999px;font:600 14px/1 var(--sans);color:var(--slate);transition:background .15s,color .15s,box-shadow .15s}
.cx-seg input:checked+span{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(10,39,51,.08),0 4px 12px rgba(10,39,51,.08)}
.cx-seg input:focus-visible+span{outline:2px solid var(--lagoon);outline-offset:2px}
/* chips */
.cx-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.cx-chips button{min-height:44px;min-width:56px;padding:0 16px;font:600 14px/1 var(--sans);background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--hair)}
.cx-chips button:hover{background:var(--mist)}
.cx-chips button[aria-pressed=true]{background:var(--ink);color:#fff;box-shadow:none}
/* stepper */
.cx-step{display:flex;align-items:center;gap:8px}
.cx-step button{flex:none;width:52px;min-height:52px;padding:0;border-radius:var(--rs);background:#fff;color:var(--lagoon);box-shadow:inset 0 0 0 1px var(--hair)}
.cx-step button:hover{background:var(--mist)}
.cx-step .cx-af{flex:1}
.cx-step input{text-align:center}
.cx-step.suf input{padding-right:52px;padding-left:52px}
.cx-hidden{display:none!important}
/* results */
.cx-res{background:var(--ink);color:#fff;border-radius:24px;box-shadow:var(--sh2);padding:24px 20px;background-image:radial-gradient(120% 80% at 100% 0,rgba(0,102,112,.55),transparent 60%),radial-gradient(90% 60% at 0 100%,rgba(191,237,232,.12),transparent 70%)}
@media (min-width:640px){.cx-res{padding:28px 26px}}
.cx-res .eyebrow{color:var(--shallows);margin-bottom:6px}
.cx-total{font:500 52px/1.02 var(--serif);letter-spacing:-.02em;margin:0 0 6px;font-variant-numeric:tabular-nums;word-break:break-word}
.cx-note{margin:0 0 18px;font-size:13px;color:rgba(255,255,255,.72)}
.cx-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}
.cx-tile{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:14px 14px 12px;min-width:0}
.cx-tile span{display:block;font:600 11px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--shallows);margin-bottom:6px}
.cx-tile b{display:block;font:500 24px/1.1 var(--serif);color:#fff;font-variant-numeric:tabular-nums;word-break:break-word}
.cx-bd{margin:0 0 18px;padding:0;border-top:1px solid rgba(255,255,255,.14)}
.cx-bd div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:14px}
.cx-bd dt{color:rgba(255,255,255,.75)}.cx-bd dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.cx-res .err{color:#FFB4C0;margin:0 0 14px}
.cx-res .btn{width:100%;margin:0;background:var(--coral);color:#fff;box-shadow:0 6px 16px rgba(200,50,74,.35)}
.cx-res .btn:hover{background:var(--coral-d);color:#fff}
.cx-res :focus-visible{outline-color:var(--gold)}
/* mobile mini total */
.cx-mini{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:27;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:10px 18px;border-radius:999px;background:var(--ink);color:#fff;box-shadow:var(--sh2);text-decoration:none;transition:transform .25s var(--ease),opacity .25s}
.cx-mini:hover{color:#fff}
.cx-mini span{font-size:13px;color:var(--shallows)}
.cx-mini b{font:500 22px/1 var(--serif);font-variant-numeric:tabular-nums}
.cx-mini.is-off{transform:translateY(140%);opacity:0;pointer-events:none}
@media (min-width:900px){.cx-mini{display:none}}
@media (prefers-reduced-motion:reduce){.cx-mini,.cx-seg span{transition:none}}
.cx-af.pre2 input{padding-left:50px}
.cx-res{align-self:start}
body.has-bar .cx-mini{bottom:calc(var(--barh) + env(safe-area-inset-bottom) + 10px)}
@media (max-width:899px){body.has-bar .cx-res .btn{display:none}}
