/* The dialog body is the only scrolling surface. All catalogue grids paginate. */
#sea-shop-toggle { padding:10px 14px; color:#f1d393; border:1px solid #b59d6b; border-radius:8px; background:#254854; font:600 13px/1.4 'Segoe UI',system-ui,sans-serif; white-space:nowrap; cursor:pointer; }
#sea-shop-toggle:focus-visible { outline:3px solid #9dd9ff; outline-offset:3px; }
.sea-shop { --shop-ink:#f1f4ef; --shop-muted:#bbd0d5; --shop-gold:#f0d296; --shop-line:#45616a; position:fixed; inset:0; width:min(1080px,96vw); height:min(880px,94dvh); max-width:none; max-height:none; margin:auto; padding:0; box-sizing:border-box; overflow:hidden; border:1px solid #6f817e; border-radius:16px; background:#102f3c; color:var(--shop-ink); font:14px/1.5 'Segoe UI',system-ui,sans-serif; box-shadow:0 24px 100px #001b2dcc; pointer-events:auto; }
.sea-shop[open] { display:flex; flex-direction:column; }
.sea-shop::backdrop { background:#001b2dcc; backdrop-filter:blur(5px); }
.sea-shop * { box-sizing:border-box; }
.sea-shop [hidden] { display:none!important; }
.sea-shop h3,.sea-shop h4,.sea-shop h5,.sea-shop p { overflow-wrap:anywhere; }
.sea-shop h4 { margin:0 0 9px; color:var(--shop-gold); font:23px/1.2 Georgia,serif; }
.sea-shop h5 { margin:0 0 10px; font:600 14px/1.4 'Segoe UI',system-ui,sans-serif; }
.sea-shop button { font:600 13px/1.4 'Segoe UI',system-ui,sans-serif; cursor:pointer; }
.sea-shop button:focus-visible,.sea-shop summary:focus-visible { outline:3px solid #9dd9ff; outline-offset:3px; }
.sea-shop button:disabled { cursor:default; opacity:.6; }
.shop-header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:19px 28px 14px; flex:none; }
.shop-wallet { margin-left:auto; display:flex; align-items:center; gap:8px; padding:7px 10px; border:1px solid #6c8790; border-radius:9px; background:#173b47; white-space:nowrap; font-variant-numeric:tabular-nums; }
.shop-wallet strong { color:#ffe1a1; font-size:14px; }
.shop-wallet span { color:#bfe6fd; font-size:11px; }
.shop-character { margin:0; display:flex; align-items:center; gap:8px; color:#bfe6fd; }
.shop-character img { width:52px; height:52px; border-radius:50%; object-fit:cover; object-position:center top; border:1px solid #d9b968; background:#173b47; box-shadow:0 4px 14px #00151d88; }
.shop-character figcaption { max-width:110px; font-size:11px; line-height:1.25; }
.shop-view > .shop-character { float:right; margin:0 0 12px 18px; padding:7px 10px; border:1px solid #496d78; border-radius:12px; background:#163b46; }
.shop-eyebrow { color:var(--shop-muted); font-size:10px; font-weight:700; letter-spacing:2px; }
.shop-header h2 { margin:2px 0 0; font:36px/1.12 Georgia,serif; color:var(--shop-gold); }
.shop-close { flex:none; width:42px; height:42px; padding:0; border:1px solid var(--shop-line); border-radius:50%; color:var(--shop-ink); background:#1b414e; font-size:28px!important; }
.shop-tabs { display:flex; gap:6px; padding:0 28px 14px; border-bottom:1px solid var(--shop-line); flex:none; }
.shop-tab { color:var(--shop-muted); background:transparent; padding:10px 18px; border:1px solid transparent; border-radius:7px; }
.shop-tab[aria-selected=true] { background:#345d6a; border-color:#83b9cf; color:#fff; }
.shop-body { min-height:0; flex:1; overflow-y:auto; overscroll-behavior:contain; scrollbar-color:#799398 #102f3c; padding:22px 28px; }
.shop-footer { display:flex; justify-content:space-between; gap:14px; flex:none; padding:12px 28px; border-top:1px solid var(--shop-line); color:var(--shop-muted); font-size:11px; }
.shop-pack { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); border:1px solid #71877e; border-radius:12px; background:linear-gradient(125deg,#234c58,#163846 70%); }
.shop-pack-copy { padding:25px; }
.shop-pack h3 { font:48px/1.1 Georgia,serif; color:var(--shop-gold); margin:14px 0 7px; }
.shop-note { font-size:12px; line-height:1.6; color:var(--shop-muted); margin:9px 0; }
.shop-pack-copy>.shop-note:first-of-type { font-size:15px; margin:0 0 10px; }
.shop-badge { display:inline-block; color:#c2e8ff; background:#1b4556; border:1px solid #587d8d; border-radius:5px; padding:3px 7px; font:600 10px/1.4 'Segoe UI',system-ui,sans-serif; }
.shop-planned { color:#f7d69b; background:#4a4230; border-color:#907b53; }
.shop-monthly { margin:15px 0 13px; color:var(--shop-muted); font-size:12px; }
.shop-monthly strong { color:#fff4d9; font-size:37px; font-weight:650; letter-spacing:-1px; }
.shop-pack-description { margin:0 0 18px; font-size:14px; }
.shop-button { display:inline-flex; justify-content:center; align-items:center; min-height:42px; padding:10px 15px; color:#092d3e; background:#a8d9f0; border:1px solid #b6e5f7; border-radius:7px; gap:6px; }
.shop-secondary { background:#214957; color:#dbf2ff; border-color:#7293a0; }
.shop-payment { width:100%; color:#f3e4be; background:#526267; border-color:#87989a; opacity:1!important; }
.shop-pack-vessel { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:16px 22px 20px; border-left:1px solid #49666c; min-width:0; }
.shop-vessel-art { display:block; width:100%; height:160px; aspect-ratio:3/2; overflow:hidden; }
.shop-pack-art { max-width:320px; height:200px; margin-bottom:6px; border-radius:7px; }
.shop-pack-vessel h4 { margin-bottom:0; }
.shop-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:12px; padding:12px 0; margin:12px 0; border-block:1px solid var(--shop-line); }
.shop-stats dt { color:var(--shop-muted); font-size:10px; }
.shop-stats dd { margin:3px 0 0; color:#d8effb; font-size:19px; font-weight:650; }
.shop-pack-details,.shop-two-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:17px; }
.shop-card { min-width:0; padding:20px; border:1px solid var(--shop-line); border-radius:10px; background:#193c49; }
.shop-card h4 { font-size:21px; }
.shop-features { padding:0; margin:8px 0; list-style:none; }
.shop-features li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; color:#dfe9e9; font-size:12px; }
.shop-features .shop-badge { flex:none; }
.shop-free { margin-top:18px; padding:0 1px; }
.shop-free>strong { color:#c9eafd; font-size:13px; }
.shop-free .shop-note { margin:4px 0; }
.shop-comparison { margin-top:17px; padding:20px; border:1px solid #90bdd0; border-radius:10px; background:#234d5d; }
.shop-comparison-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; margin-top:15px; }
.shop-comparison-grid .shop-stats { margin:0; }
.shop-section-title { margin:0 0 6px; font:31px/1.2 Georgia,serif; color:var(--shop-gold); }
.shop-boat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:18px; }
.shop-boat { padding:16px; }
.shop-boat .shop-vessel-art { border-radius:6px; margin-bottom:14px; }
.shop-boat .shop-note { min-height:58px; }
.shop-boat-deltas .shop-note { min-height:0; }
.shop-coin-price { display:block; margin:10px 0; color:#d5ecfa; font-size:19px; }
.shop-boat-deltas { font-size:11px; color:var(--shop-muted); }
.shop-boat-deltas summary { cursor:pointer; }
.shop-pagination { display:flex; align-items:center; justify-content:center; gap:20px; margin:17px 0; color:var(--shop-muted); font-size:12px; }
.shop-pagination .shop-button { min-height:36px; padding:8px 11px; font-size:11px; }
.shop-port-action { margin-top:10px; }
.shop-equipment-intro { margin-top:18px; }
.shop-subheading { margin:25px 0 0!important; }
.shop-building h4 { margin-top:17px; }
.shop-building { min-height:210px; }
.shop-delivery-status:empty { display:none; }
.sea-shop-open { overflow:hidden; }
.shop-pack-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:18px 0; }
.shop-pack-grid h4 { margin:10px 0; }
.shop-pack-grid .shop-note { margin:4px 0; }
.shop-pack-grid .shop-button { margin-top:12px; }
.shop-comfort-details { margin-top:22px; border-top:1px solid var(--shop-line); padding-top:14px; }
.shop-comfort-details>summary { color:var(--shop-gold); font-size:14px; cursor:pointer; margin-bottom:14px; }
.shop-family-picker { display:flex; flex-wrap:wrap; gap:7px; margin:16px 0; }
.shop-family { color:#d5eaf1; background:#204452; border:1px solid #486b7a; padding:9px 12px; min-height:42px; border-radius:7px; }
.shop-family.is-selected { color:#102f3c; background:#f0d296; border-color:#f0d296; }
.shop-tool-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:16px; align-items:start; }
.shop-tier-picker { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin:15px 0; }
.shop-tier { border:1px solid #62808b; border-radius:7px; min-height:42px; color:#d3e5eb; background:#18333e; }
.shop-tier.is-owned { border-color:#9ed4ee; }
.shop-tier.is-selected { color:#122f3c; background:#a8d9f0; border-color:#d8f2ff; }
.shop-forecast-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.shop-forecast-grid .shop-button { padding:8px 3px; font-size:11px; }
.shop-forecast-grid .shop-button.is-locked { border-color:#d5ad57; color:#ffe1a1; background:#294750; }
.shop-field { display:flex; flex-direction:column; gap:5px; min-width:0; margin:8px 0 12px; color:var(--shop-muted); font-size:11px; }
.shop-field input,.shop-field select { width:100%; min-width:0; min-height:42px; border:1px solid #73909c; border-radius:6px; padding:9px; background:#0e2c39; color:#eff8ff; font:14px 'Segoe UI',system-ui,sans-serif; }
.shop-field input:focus-visible,.shop-field select:focus-visible { outline:3px solid #9dd9ff; outline-offset:2px; }
.shop-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; }
.shop-result-row { margin-top:15px; padding-top:13px; border-top:1px solid var(--shop-line); }
.shop-result-row>.shop-button,.shop-confirmation .shop-button,.shop-card>.shop-button { margin:5px 6px 5px 0; }
.shop-result-row>strong { display:block; color:#d8efff; font-size:13px; }
.shop-result-row details { font-size:12px; color:var(--shop-muted); }
.shop-confirmation { padding:12px; margin-top:12px; border:1px solid #d8b66d; border-radius:8px; background:#293f40; }
.shop-confirmation>.shop-note:first-child { color:#fff0cc; margin-top:0; }
.shop-vessel-choice { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--shop-line); cursor:pointer; }
.shop-vessel-choice input { width:19px; height:19px; accent-color:#9ed5f0; }
.shop-feedback { flex:1; }
.shop-owned-businesses { margin:16px 0; }
.shop-physical-picker { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }
.shop-physical-picker .shop-family { flex:1 1 120px; }
.shop-sail-pack-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; clear:both; }
.shop-sail-pack { display:flex; flex-direction:column; }
.shop-sail-pack .shop-button { margin-top:auto; }
.shop-compact-list { margin:8px 0 14px; padding-left:20px; color:#c7dce2; font-size:12px; line-height:1.55; }
.shop-compact-list .is-owned { color:#9ce3c6; }
.shop-crew-role-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:12px 0; clear:both; }
.shop-crew-role { display:grid; grid-template-columns:44px 1fr; grid-template-rows:auto auto; align-items:center; gap:2px 9px; padding:8px; text-align:left; color:#e9f3f4; background:#173b47; border:1px solid #52727c; border-radius:10px; cursor:pointer; }
.shop-crew-role img { grid-row:1/3; width:44px; height:44px; object-fit:cover; object-position:center top; border-radius:50%; }
.shop-crew-role span { color:#add0d9; font-size:11px; }
.shop-crew-role.is-selected { border-color:#efc66f; box-shadow:0 0 0 1px #efc66f inset; }
.shop-crew-status { padding:10px 13px; border-left:2px solid #acd7f0; background:#20424f; margin:12px 0; }
.shop-crew-status>strong { color:#d9eef7; font-size:13px; }
.shop-crew-status .shop-note { margin:3px 0; }
.commercial-advice-entry { padding:10px 12px; margin:10px 0; background:#204752; border:1px solid #507984; border-radius:8px; color:#d8eaf0; font:12px/1.5 'Segoe UI',sans-serif; }
.commercial-advice-entry p { margin:0 0 7px; }
.commercial-advice-entry button { border:1px solid #91bfd0; border-radius:6px; background:#254e5e; color:#dff4fd; padding:8px 12px; cursor:pointer; }
.commercial-advice-entry button:focus-visible { outline:3px solid #f0d296; outline-offset:2px; }
.sail-btn.sail-locked { border-style:dashed; opacity:.7; }
.sail-btn.sail-locked::after { content:' +'; color:#f0d296; }
#crew-status { font-size:10px; color:#c2e0ed; margin-top:4px; }
.shop-offer-modes { display:flex; gap:4px; width:fit-content; max-width:100%; padding:4px; margin:0 0 14px; border:1px solid #547785; border-radius:10px; background:#102e3a; }
.shop-offer-mode { min-height:38px; padding:7px 18px; border:0; border-radius:6px; background:transparent; color:#d6e9f1; font:600 13px/1.3 'Segoe UI',system-ui,sans-serif; cursor:pointer; }
.shop-offer-mode.is-selected { background:#efd197; color:#102d3a; }
.shop-offer-mode:focus-visible { outline:2px solid #a5ddff; outline-offset:3px; }
.shop-subscription-tagline { color:#bbddeb; font-size:12px; line-height:1.4; }
.shop-subscription-card .shop-premium-title h4 { margin-bottom:6px; }
.shop-subscription-card .shop-pack-discover { font-size:12px; }
.shop-tool-help { margin:20px 0; padding:18px; border:1px solid #527482; background:#163844; border-radius:10px; }
.shop-tool-help h3 { margin:0 0 12px; font:600 18px/1.35 'Segoe UI',system-ui,sans-serif; color:#f1d39b; }
.shop-help-picker { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
.shop-help-picker .shop-family { font-size:11px; min-height:36px; }
.shop-help-content h4 { color:#eef5f6; font-size:17px; margin:0 0 8px; }
.shop-help-content .shop-button { margin-top:8px; }
.shop-tool-example { border-left:2px solid #a9d8f2; padding:8px 12px; color:#d8edf7; background:#254854; font-size:12px; line-height:1.55; }
.shop-feature-explanation { margin:8px 0; color:#c4dae5; font-size:12px; line-height:1.45; }
.shop-feature-explanation summary { cursor:pointer; color:#e7ca91; padding:5px 0; }
.shop-packs-intro { margin:0 0 17px; }
.shop-packs-intro .shop-section-title { font-size:34px; margin-top:4px; }
.shop-packs-intro .shop-note { font-size:13px; margin:6px 0 0; }
.shop-premium-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; align-items:stretch; }
.shop-premium-card { display:grid; grid-template-rows:auto auto 40px 1fr 69px 28px 42px; min-width:0; padding:20px; border:1px solid #52707c; border-radius:14px; background:linear-gradient(160deg,#214855,#102f3c); box-shadow:0 9px 23px #051e2940; }
.shop-premium-navigator { border-color:#c6ab70; background:linear-gradient(155deg,#355664,#142f3e 85%); }
.shop-premium-company { border-color:#7f9aaf; background:linear-gradient(150deg,#294b63,#102737); }
.shop-pack-letter { display:block; font-size:10px; letter-spacing:1.7px; color:#b7d0dd; margin-bottom:5px; font-weight:700; }
.shop-premium-title h4 { font:28px/1.15 Georgia,serif; color:#fff1d7; margin:0 0 12px; }
.shop-premium-quota { display:flex; align-items:baseline; gap:8px; margin:0 0 13px; }
.shop-premium-quota strong { color:#b6e3fc; font:600 33px/1.1 'Segoe UI',system-ui,sans-serif; letter-spacing:-1px; white-space:nowrap; }
.shop-premium-quota span { color:#c4d7e3; font-size:10px; }
.shop-premium-price { display:flex; flex-direction:column; gap:3px; margin-bottom:14px; }
.shop-premium-price strong { color:#fff5dd; font:600 34px/1.1 'Segoe UI',system-ui,sans-serif; letter-spacing:-1px; white-space:nowrap; }
.shop-premium-price>span { color:#c3d3da; font-size:10px; }
.shop-pack-inheritance { font-size:12px; color:#d4e3e8; line-height:1.45; margin:0; }
.shop-pack-benefits { list-style:none; padding:0; margin:12px 0; color:#f0f7f8; font-size:12px; }
.shop-pack-benefits li { position:relative; padding:0 0 7px 15px; line-height:1.45; }
.shop-pack-benefits li::before { content:'·'; position:absolute; left:2px; top:-3px; font-size:21px; color:#a8d9f0; }
.shop-premium-extra { display:flex; align-items:center; gap:9px; min-width:0; padding:8px 0; border-block:1px solid #4c6470; }
.shop-premium-extra>div { min-width:0; }
.shop-premium-extra strong { display:block; color:#f2d59b; font-size:12px; line-height:1.3; }
.shop-premium-extra span { display:block; color:#bed1dc; font-size:10px; line-height:1.4; margin-top:4px; }
.shop-premium-extra:not(:has(svg)) { display:block; padding-top:12px; }
.shop-premium-vessel { flex:0 0 70px; width:70px; height:52px; border-radius:5px; }
.shop-pack-owned { font-size:10px; color:#bddff5; line-height:1.3; margin:8px 0; align-self:center; }
.shop-pack-discover { width:100%; background:#ead098; border-color:#f2daa5; color:#133544; font-size:12px!important; white-space:nowrap; }
.shop-pricing-disclaimer { color:#b3c8d1; text-align:center; font-size:10px; line-height:1.5; margin:13px 0 10px; }
.shop-compare-packs { display:flex; margin:0 auto; min-height:36px; padding:8px 14px; font-size:11px!important; }
.shop-text-button { display:inline-block; border:0; background:transparent; color:#bfe6fd; text-decoration:underline; text-underline-offset:4px; padding:7px 0; text-align:left; min-height:36px; }
.shop-free-access { display:flex; align-items:center; gap:16px; margin-top:17px; padding:12px 0; border-top:1px solid var(--shop-line); }
.shop-free-access>strong { white-space:nowrap; color:#e6f3fc; font-size:13px; }
.shop-free-access>.shop-note { flex:1; margin:0; font-size:11px; }
.shop-free-access>.shop-text-button { flex:none; font-size:11px; }
.shop-pack-comparison { width:100%; margin:20px 0; border-collapse:collapse; table-layout:fixed; font-size:12px; }
.shop-pack-comparison caption { text-align:left; padding-bottom:12px; color:var(--shop-gold); font-weight:600; }
.shop-pack-comparison th,.shop-pack-comparison td { padding:12px 8px; border-bottom:1px solid #45616a; text-align:center; overflow-wrap:anywhere; }
.shop-pack-comparison th:first-child { text-align:left; color:#d8e9ee; }
.shop-pack-comparison thead th { color:#f0d296; }
.shop-paid-detail-heading { display:flex; justify-content:space-between; gap:20px; align-items:center; margin:14px 0 0; }
.shop-paid-detail-heading .shop-premium-price { margin:0; text-align:right; }
.shop-paid-detail-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:16px; margin:18px 0; align-items:start; }
.shop-paid-feature { padding:11px 0; border-bottom:1px solid #45616a; }
.shop-paid-feature:first-of-type { padding-top:3px; }
.shop-paid-feature:last-of-type { border:0; padding-bottom:0; }
.shop-paid-feature>strong { display:block; color:#d9effa; font-size:13px; }
.shop-paid-feature>.shop-note { margin:3px 0; }
.shop-order-total { color:#f4d49a; font-size:20px; font-weight:600; margin:16px 0; }
.shop-paid-vessel-bonus { display:flex; align-items:center; gap:23px; border:1px solid #71877e; border-radius:12px; padding:18px 22px; background:#224654; }
.shop-paid-vessel-art { flex:0 0 200px; width:200px; height:125px; border-radius:8px; }
.shop-paid-vessel-bonus h4 { font-size:23px; }
/* Laptop-height first screen: show every offer and its CTA, not half a card. */
@media(min-width:721px) and (max-height:800px) {
 .shop-header { padding:12px 24px 8px; }
 .shop-header .shop-eyebrow { display:none; }
 .shop-header h2 { font-size:28px; }
 .shop-close { width:36px; height:36px; }
 .shop-tabs { padding:0 24px 9px; }
 .shop-tab { padding:8px 16px; }
 .shop-body { padding:14px 24px; }
 .shop-packs-intro { margin-bottom:11px; }
 .shop-packs-intro .shop-eyebrow { display:none; }
 .shop-packs-intro .shop-section-title { font-size:27px; margin:0; }
 .shop-packs-intro .shop-note { font-size:12px; margin-top:4px; }
 .shop-premium-grid { gap:12px; }
 .shop-premium-card { grid-template-columns:minmax(0,1fr) 104px; grid-template-rows:76px 28px auto 50px 22px 38px; column-gap:8px; padding:14px; border-radius:11px; }
 .shop-premium-title { grid-column:1; grid-row:1; }
 .shop-pack-letter { font-size:9px; margin-bottom:3px; }
 .shop-premium-title h4 { font-size:24px; margin-bottom:5px; }
 .shop-premium-quota { margin:0; gap:6px; }
 .shop-premium-quota strong { font-size:27px; }
 .shop-premium-quota span { font-size:9px; line-height:1.25; }
 .shop-premium-price { grid-column:2; grid-row:1; align-self:center; width:104px; margin:0; text-align:right; }
 .shop-premium-price strong { font-size:28px; }
 .shop-premium-price>span { font-size:9px; line-height:1.4; }
 .shop-pack-inheritance { grid-column:1/-1; grid-row:2; font-size:11px; line-height:1.3; }
 .shop-pack-benefits { grid-column:1/-1; grid-row:3; font-size:11px; margin:8px 0; }
 .shop-pack-benefits li { padding-bottom:4px; line-height:1.4; }
 .shop-premium-extra { grid-column:1/-1; grid-row:4; padding:5px 0; gap:8px; }
 .shop-premium-extra:not(:has(svg)) { padding-top:6px; }
 .shop-premium-extra strong { font-size:11px; }
 .shop-premium-extra span { font-size:9px; margin-top:2px; }
 .shop-premium-vessel { flex-basis:56px; width:56px; height:40px; }
 .shop-pack-owned { grid-column:1/-1; grid-row:5; font-size:9px; margin:4px 0; }
 .shop-pack-discover { grid-column:1/-1; grid-row:6; min-height:38px; padding:8px; }
 .shop-footer { padding:9px 24px; }
}
@media(max-width:720px) {
 .sea-shop { width:96vw; height:96dvh; border-radius:12px; }
 .shop-header { padding:14px 17px 10px; }
 .shop-header h2 { font-size:29px; }
 .shop-tabs { padding:0 12px 10px; gap:3px; flex-wrap:wrap; }
 .shop-tab { flex:1 1 auto; padding:9px 7px; font-size:11px!important; min-height:38px; }
 .shop-body { padding:16px; }
 .shop-footer { padding:9px 16px; font-size:10px; flex-direction:column; align-items:flex-start; gap:3px; }
 .shop-footer>span { width:100%; min-width:0; flex:none; }
 .shop-pack { grid-template-columns:1fr; }
 .shop-pack-copy { padding:20px; }
 .shop-pack h3 { font-size:40px; }
 .shop-pack-vessel { display:grid; grid-template-columns:100px minmax(0,1fr); gap:0 13px; padding:15px 18px; border-left:0; border-top:1px solid #49666c; }
 .shop-pack-art { width:100px; height:80px; grid-row:1/3; margin:0; }
 .shop-pack-vessel h4 { font-size:19px; }
 .shop-pack-vessel .shop-stats { margin:6px 0; padding:7px 0; gap:5px; }
 .shop-pack-vessel .shop-stats dd { font-size:16px; }
 .shop-pack-vessel>.shop-badge { grid-column:1/-1; margin-top:8px; text-align:center; }
 .shop-pack-details,.shop-two-grid,.shop-boat-grid { grid-template-columns:1fr; gap:12px; }
 .shop-card { padding:17px; }
 .shop-boat { display:grid; grid-template-columns:110px minmax(0,1fr); column-gap:14px; }
 .shop-boat .shop-vessel-art { grid-row:1/4; height:100px; margin:0; }
 .shop-boat .shop-note { min-height:0; margin:5px 0; }
 .shop-boat .shop-coin-price { margin:4px 0; font-size:17px; }
 .shop-boat h4 { font-size:19px; margin:0; }
 .shop-boat .shop-stats,.shop-boat .shop-boat-deltas { grid-column:1/-1; }
 .shop-comparison { padding:16px; }
 .shop-comparison-grid { gap:15px; }
 .shop-comparison-grid .shop-stats { grid-template-columns:1fr; }
 .shop-building { min-height:0; }
 .shop-section-title { font-size:27px; }
 .shop-pack-grid,.shop-tool-layout { grid-template-columns:1fr; gap:12px; }
 .shop-family-picker { gap:5px; }
 .shop-family { flex:1 1 42%; padding:8px; font-size:11px!important; }
 .shop-forecast-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .shop-confirmation { padding:10px; }
 .shop-form-grid { gap:0 8px; }
 .shop-packs-intro .shop-section-title { font-size:29px; }
 .shop-premium-grid { grid-template-columns:1fr; gap:15px; }
 .shop-premium-card { grid-template-columns:1fr auto; grid-template-rows:auto auto auto auto auto; column-gap:16px; padding:20px; }
 .shop-premium-title { grid-column:1; grid-row:1; }
 .shop-premium-title h4 { font-size:27px; }
 .shop-premium-price { grid-column:2; grid-row:1; text-align:right; }
 .shop-premium-price strong { font-size:29px; }
 .shop-pack-inheritance { grid-column:1/-1; grid-row:2; }
 .shop-pack-benefits { grid-column:1/-1; grid-row:3; margin:12px 0; }
 .shop-premium-extra { grid-column:1/-1; grid-row:4; min-height:64px; }
 .shop-premium-vessel { display:block; flex:0 0 76px; width:76px; min-width:76px; height:52px; overflow:hidden; }
 .shop-pack-owned { grid-column:1/-1; grid-row:5; margin:11px 0; }
 .shop-pack-discover { grid-column:1/-1; grid-row:6; min-height:44px; }
 .shop-free-access { flex-wrap:wrap; gap:7px; }
 .shop-free-access>.shop-note { flex:1 1 100%; }
 .shop-pack-comparison { font-size:10px; }
 .shop-pack-comparison th,.shop-pack-comparison td { padding:10px 4px; }
 .shop-paid-detail-layout { grid-template-columns:1fr; }
 .shop-paid-vessel-bonus { flex-direction:column; align-items:stretch; gap:12px; padding:17px; }
 .shop-paid-vessel-art { flex:auto; width:100%; height:150px; }
}
@media(max-height:520px) {
 .shop-header { padding-top:9px; padding-bottom:8px; }
 .shop-eyebrow { display:none; }
 .shop-header h2 { font-size:27px; }
 .shop-tabs { padding-bottom:8px; }
 .shop-footer { padding-block:7px; }
}
