.cs-page .cs-river-occupancy{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start;gap:18px 24px;padding:20px;background:#f2f7fa;border:1px solid #e0e9ef}
.cs-occupancy-fallback{display:grid;gap:14px}
.cs-page .cs-travellers{border:0;padding:0;margin:0;min-width:0}
.cs-travellers legend{padding:0;margin-bottom:12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#3b5264}
.cs-traveller-counter{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;min-height:44px;background:#e4edf1;border-radius:24px;margin:0 0 10px}
.cs-traveller-counter output{margin:0;padding:0 8px;color:#213c50;text-align:center;font-size:14px;line-height:1.4}
.cs-page .cs-traveller-counter button,.cs-page .cs-child-remove{display:grid;place-items:center;width:46px;min-height:44px;margin:0;padding:0;border:0;border-radius:24px;background:#536979;color:#fff;font-size:24px;line-height:1;cursor:pointer}
.cs-page .cs-traveller-counter button:hover,.cs-page .cs-child-remove:hover{background:#235065}
.cs-page .cs-traveller-counter button:disabled{background:#b6c6ce;opacity:.6;cursor:default}
.cs-traveller-child{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;background:#e8eff3;border-radius:24px;margin-bottom:10px}
.cs-page .cs-child-age{min-height:44px;border:0;border-radius:24px;padding:8px 12px;margin:0;background:transparent;color:#26465a;font-size:14px;line-height:1.4;cursor:pointer;text-align:center;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}
.cs-page .cs-child-age:hover{color:#117981;background:#dfedf0}
.cs-page .cs-add-child{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:44px;padding:10px 12px;margin:0;border:1px dashed #a8c2ce;border-radius:24px;background:#fff;color:#406678;font-size:14px;line-height:1.4;cursor:pointer}
.cs-add-child span{font-size:20px;line-height:1}
.cs-add-child:disabled{opacity:.45;cursor:default}
.cs-page .cs-occupancy-actions p{margin:0 0 12px;font-size:13px;line-height:1.6;color:#3d5a6e}
.cs-page .cs-occupancy-actions .cs-occupancy-status{font-size:12px;color:#61798c}
.cs-page .cs-river-occupancy small{grid-column:1/-1;margin:0}
.cs-page .cs-age-dialog{box-sizing:border-box;width:min(370px,calc(100% - 32px));max-width:370px;max-height:calc(100dvh - 32px);border:1px solid #d8e4eb;border-radius:18px;padding:20px;margin:auto;overflow-y:auto;background:#fff;color:#213c50;box-shadow:0 16px 54px #12334b30}
.cs-age-dialog::backdrop{background:#102c4555}
.cs-age-heading{display:flex;align-items:start;justify-content:space-between;gap:10px}
.cs-page .cs-age-heading h3{margin:0;font-size:17px;line-height:1.4;font-weight:600;color:#213c50}
.cs-page .cs-age-heading button{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;margin:-5px -7px 0 0;padding:0;border:0;border-radius:50%;background:#edf3f6;color:#3e5c70;font-size:24px;line-height:1;cursor:pointer}
.cs-page .cs-age-dialog p{font-size:12px;line-height:1.6;margin:8px 0 16px;color:#61798c}
.cs-age-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cs-page .cs-age-options button{min-height:44px;margin:0;padding:10px 5px;border:1px solid transparent;border-radius:14px;background:linear-gradient(110deg,#244861,#4ebabb);color:#fff;font-size:13px;font-weight:600;line-height:1.4;cursor:pointer}
.cs-page .cs-age-options button:hover{background:linear-gradient(110deg,#176176,#299795)}
.cs-page .cs-age-options button[aria-pressed=true]{border-color:#f15b26;box-shadow:0 0 0 2px #f15b26}
.cs-page .cs-age-dialog .cs-age-infant{margin:16px 0 0}
.cs-age-infant a{color:#127783;text-decoration:underline}
.cs-page [data-passenger-fallback][hidden],.cs-page [data-passenger-controls][hidden]{display:none}
@media(max-width:600px){.cs-page .cs-river-occupancy{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}.cs-page .cs-river-occupancy small{grid-column:1}.cs-occupancy-actions .cs-button{width:100%}}
