/* Tip page. Inherits brand tokens from styles.css (--gold, --panel, --line, --muted). */
.tipwrap{max-width:560px;margin:0 auto;padding:40px 5vw 60px}
.tipcard{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:28px 26px;text-align:left}
.tipcard h1{font-weight:500;font-size:clamp(1.5rem,4.5vw,2rem);line-height:1.2;margin:0 0 6px;text-align:center}
.tiphi{color:var(--gold);font-weight:500;text-align:center;margin:0 0 14px}
.sum{display:flex;flex-direction:column;gap:2px;text-align:center;color:var(--muted);font-size:.9rem;line-height:1.5;padding-bottom:18px;border-bottom:1px solid var(--line)}
.tipform{all:unset;display:flex;flex-direction:column;gap:16px;margin-top:18px}
.tipform .lead{margin:0;text-align:center;font-size:.95rem}
.choices{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.choices button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px;padding:10px 4px;margin:0}
.choices button span{font-size:1rem;font-weight:600;letter-spacing:.02em}
.choices button small{font-family:Poppins,sans-serif;text-transform:none;font-size:.78rem;opacity:.85}
.choices button.on{background:var(--gold);color:#000}
.custom label{margin-bottom:6px}
.totals{margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0}
.totals div{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0}
.totals dt{color:var(--muted);font-size:.9rem}
.totals dd{margin:0;font-variant-numeric:tabular-nums;font-weight:500}
.totals .grand{border-top:1px dashed var(--line);margin-top:4px;padding-top:8px}
.totals .grand dt{color:#fff;font-weight:500}.totals .grand dd{color:var(--gold);font-size:1.15rem;font-weight:600}
label.consent{display:flex;gap:10px;align-items:flex-start;margin:0;font-size:.85rem;line-height:1.5;color:#ddd;cursor:pointer}
.consent input[type=checkbox]{width:18px;height:18px;min-width:18px;flex:0 0 18px;padding:0;margin:2px 0 0;accent-color:var(--gold)}
#msg.err{margin:0;min-height:1.2em;font-size:.85rem;text-align:center;color:#ff8a80}
.row{display:flex;gap:10px;justify-content:center}
.row .btn{flex:2;padding:14px 18px}.row .ghost{flex:1;padding:12px 14px}
.done{text-align:center;margin:18px 0 0;line-height:1.7}
@media(max-width:480px){
  .tipwrap{padding:22px 4vw 40px}.tipcard{padding:22px 16px}
  .choices{grid-template-columns:repeat(2,1fr)}
  .row{flex-direction:column}.row .btn,.row .ghost{width:100%;flex:none}
}
