/* Cruise tip & gratuity calculator (/cruise-gratuities, cg.js). Reuses pc.css (tool grid, fields, sponsor box) + shows.css
   (panels, chips, tips) + deals.css/ll.css (lead, callouts). Mobile first; space reserved while loading (low CLS); theme tokens
   so dark mode works, explicit dark tweaks at the bottom. */
.cg-load{min-height:1100px}
#cgApp[hidden]{display:none!important}
.cg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}
.cg-grid .pc-f input{min-width:0;max-width:100%}
.cg-grid input[type=date]{-webkit-appearance:none;appearance:none;display:block;font-size:16px;padding:8px 8px}
.cg-grid input[type=date]::-webkit-date-and-time-value{text-align:left}
.cg-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cg-grid .pc-f{margin:0;font-size:14px}
.cg-grid .pc-f small{font-weight:500;color:var(--muted)}
.cg-fs{border:0;margin:14px 0 0;padding:0;min-width:0}
.cg-fs legend{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 6px;padding:0}
.cg-fs legend small{text-transform:none;letter-spacing:0;font-weight:500}
.cg-in .st-chips button{background:var(--card);color:var(--ink)}
.cg-in .st-chips button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.cg-in .st-chips button:focus-visible,.cg-pick:focus-visible{outline:3px solid var(--sun,#ffc629);outline-offset:2px}
#cgTierWho{margin:8px 0 12px;min-height:2.6em}
.cg-card{background:var(--card);border:2px solid var(--ink);border-radius:16px;padding:16px;box-shadow:var(--sh-sm);min-width:0}
.cg-card h3{margin:14px 0 6px;font-size:17px}
.cg-kick{margin:0;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.cg-total{margin:4px 0 2px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.cg-total b{font:700 44px/1.05 var(--display);font-variant-numeric:tabular-nums}
.cg-total span{font-weight:700;color:var(--muted)}
.cg-math{margin:0 0 6px;font-size:15px;overflow-wrap:anywhere}
.cg-warn{color:#8a2a00;font-weight:700}
.cg-svc{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px}
.cg-svc li{display:flex;justify-content:space-between;gap:10px;background:var(--rule-2);border-radius:10px;padding:8px 10px;flex-wrap:wrap}
.cg-grand{margin:12px 0 8px;padding:10px 12px;border-left:4px solid var(--sun,#ffc629);background:var(--rule-2);border-radius:0 10px 10px 0;font-size:16px}
.cg-dl{margin:0 0 6px;font-size:15px}
.cg-dl small{color:var(--muted)}
.cg-dl.late b{color:#8a2a00}
.cg-pp{margin:0 0 8px;font-size:15px}
.cg-cov{margin:0 0 8px;padding-left:18px;font-size:15px}
.cg-split{margin:10px 0;border:1px solid var(--rule);border-radius:12px;padding:8px 12px}
.cg-split summary{font-weight:700;cursor:pointer;min-height:32px;line-height:1.4;padding:4px 0}
.cg-split table,.cg-cmp,.cg-rates{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.cg-split th,.cg-split td,.cg-cmp th,.cg-cmp td,.cg-rates th,.cg-rates td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--rule);vertical-align:top}
.cg-cmp td small,.cg-rates td small{display:block;color:var(--muted);font-size:12px}
.cg-cmp tr.on{background:var(--rule-2)}
.cg-cmp tr.on .cg-pick{text-decoration:none}
.cg-pick{font:inherit;font-weight:700;background:none;border:0;padding:0;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:36px;text-align:left}
.cg-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cg-rates{min-width:520px}
.cg-rates a{font-weight:700}
.cg-spon-row{display:block;margin:0 0 24px}
@media (max-width:420px){.cg-g3{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cg-g3 .pc-f{font-size:13px}.cg-total b{font-size:38px}.cg-cmp{font-size:13px}}
@media (min-width:960px){
 .cg-tool{grid-template-columns:360px minmax(0,1fr)}
 .cg-in{position:sticky;top:12px;grid-row:1/span 2}
 .cg-cmp-wrap{grid-column:2}
}
[data-theme=dark] .cg-warn,[data-theme=dark] .cg-dl.late b{color:#ffb38a}
@media print{.cg-in,.pwd-callout,#cgAct,.cg-spon-row{display:none!important}}
.cg-rates th small{display:block;font:500 12px/1.4 var(--text);color:var(--muted);margin-top:2px}
