/* Dad Shift constituency pages — locked palette from George's Recipe v4:
   navy #062A51, yellow #FFC51B, teal #008E85, warm off-white. Inter throughout. */
@font-face { font-family: "Inter"; font-weight: 400; src: url("fonts/Inter-Regular.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "Inter"; font-weight: 600; src: url("fonts/Inter-SemiBold.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "Inter"; font-weight: 700; src: url("fonts/Inter-Bold.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "Inter"; font-weight: 800; src: url("fonts/Inter-ExtraBold.ttf") format("truetype"); font-display: swap; }
@font-face { font-family: "Inter"; font-weight: 900; src: url("fonts/Inter-Black.ttf") format("truetype"); font-display: swap; }
:root { --navy:#062A51; --yellow:#FFC51B; --teal:#008E85; --cream:#FBF8F1; --ink:#1A1A1A; --muted:#4A5568; --line:#D9DEE6; --soft:#F1F3F5; --tint:#FFF9E6; --red:#C0392B; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: "Inter", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: var(--ink); background: var(--cream); line-height: 1.45; }
a { color: var(--teal); }
.wrap { max-width: 1040px; margin: 0 auto; padding: 0 20px; }
header.top { background: var(--cream); border-bottom: 3px solid var(--yellow); }
header.top .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px; }
.logo { background: var(--yellow); border-radius: 10px; width: 118px; height: 82px; display: flex; align-items: center; justify-content: center; flex: none; }
.logo img { width: 96px; height: auto; display: block; }
header.top nav a { color: var(--navy); font-weight: 700; text-decoration: none; margin-left: 18px; font-size: .95rem; }
.hero { background: var(--navy); color: #fff; padding: 44px 0 40px; }
.hero h1 { font-size: clamp(1.7rem, 4.5vw, 2.7rem); font-weight: 900; line-height: 1.1; margin: 0 0 12px; letter-spacing: -.01em; }
.hero h1 em { color: var(--yellow); font-style: normal; }
.hero p { font-size: 1.1rem; margin: 0 0 22px; max-width: 640px; color: #E5ECF5; }
.finder { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.finder input, .finder select { font: inherit; font-size: 1.05rem; padding: 12px 14px; border-radius: 8px; border: 2px solid #fff; min-width: 200px; background: #fff; color: var(--ink); }
.finder input { text-transform: uppercase; width: 190px; min-width: 0; }
.finder .or { color: #C9D3E0; font-weight: 600; }
.btn { font: inherit; font-weight: 800; padding: 12px 20px; border-radius: 8px; border: 0; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.btn.yellow { background: var(--yellow); color: var(--navy); }
.btn.teal { background: var(--teal); color: #fff; }
.btn.navy { background: var(--navy); color: #fff; }
.btn.ghost { background: #fff; color: var(--navy); border: 2px solid var(--navy); }
.btn:disabled { opacity: .6; cursor: default; }
.status { min-height: 1.4em; margin-top: 10px; color: #FFE49A; font-weight: 600; }
.status.err { color: #FFB3A7; }
main { padding: 36px 0 60px; }
.seat-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; margin: 0 0 6px; }
.seat-title h2 { margin: 0; font-size: clamp(1.6rem, 4vw, 2.4rem); color: var(--navy); font-weight: 900; text-transform: uppercase; letter-spacing: -.01em; }
.mp-line { color: var(--muted); font-weight: 600; margin: 0 0 22px; }
.mp-line .dot { display: inline-block; width: 11px; height: 11px; border-radius: 50%; margin-right: 6px; vertical-align: -1px; }
.hero-card { background: #fff; border: 2px solid var(--navy); border-radius: 14px; padding: 26px 28px; display: grid; grid-template-columns: auto 1fr; gap: 10px 28px; align-items: center; }
.hero-card .num { font-size: clamp(3rem, 9vw, 5.2rem); font-weight: 900; color: var(--navy); line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.hero-card .txt { font-size: clamp(1.1rem, 2.4vw, 1.5rem); font-weight: 700; line-height: 1.25; color: var(--ink); }
.hero-card .txt b { color: var(--teal); }
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; margin-top: 14px; }
.card { background: #fff; border: 2px solid var(--teal); border-radius: 12px; padding: 18px 20px; }
.card .num { font-size: 2.2rem; font-weight: 900; color: var(--teal); line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.card .txt { font-weight: 700; margin-top: 8px; line-height: 1.3; }
.card .note { font-size: .8rem; color: var(--muted); margin-top: 6px; font-weight: 600; }
.card.navy { border-color: var(--navy); } .card.navy .num { color: var(--navy); }
.actions { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.share-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px; }
.share-row .btn { padding: 9px 14px; font-size: .95rem; }
.section-bar { background: var(--navy); color: #fff; font-weight: 800; text-transform: uppercase; padding: 10px 16px; border-radius: 10px 10px 0 0; margin-top: 34px; display: flex; align-items: center; gap: 12px; }
.section-bar.teal { background: var(--teal); }
.section-bar .n { width: 28px; height: 28px; border-radius: 50%; background: var(--yellow); color: var(--navy); display: inline-flex; align-items: center; justify-content: center; font-size: .9rem; }
.section-body { background: #fff; border: 2px solid var(--navy); border-top: 0; border-radius: 0 0 10px 10px; padding: 18px 20px; }
.section-body.teal { border-color: var(--teal); }
.grid3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.tile { background: var(--soft); border-radius: 10px; padding: 14px; text-align: center; }
.tile .num { font-size: 1.7rem; font-weight: 900; color: var(--teal); line-height: 1; }
.tile .txt { font-weight: 700; font-size: .92rem; margin-top: 6px; line-height: 1.3; }
.tile.navy .num { color: var(--navy); }
.lead { font-weight: 700; margin: 0 0 12px; }
details.more { margin-top: 26px; }
details.more summary { cursor: pointer; font-weight: 800; color: var(--navy); font-size: 1.1rem; list-style: none; display: inline-flex; align-items: center; gap: 10px; }
details.more summary::before { content: "+"; width: 30px; height: 30px; border-radius: 50%; background: var(--yellow); color: var(--navy); display: inline-flex; align-items: center; justify-content: center; font-weight: 900; }
details.more[open] summary::before { content: "–"; }
.method { margin-top: 26px; font-size: .85rem; color: var(--muted); line-height: 1.5; }
.strap { background: var(--navy); color: #fff; border-radius: 10px; padding: 18px 22px; margin-top: 30px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; font-weight: 700; }
.strap b { color: var(--yellow); font-weight: 900; text-transform: uppercase; }
footer.bottom { border-top: 3px solid var(--yellow); padding: 22px 0 40px; color: var(--muted); font-size: .85rem; }
footer.bottom a { color: var(--navy); }
.preview { margin-top: 12px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.preview figure { margin: 0; }
.preview svg, .preview img { width: 100%; height: auto; display: block; border-radius: 10px; box-shadow: 0 2px 12px rgba(0,0,0,.12); }
.preview figcaption { font-size: .85rem; color: var(--muted); margin-top: 6px; font-weight: 600; }
.pill { display: inline-block; background: var(--yellow); color: var(--navy); font-size: .75rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; padding: 4px 10px; border-radius: 4px; }
[hidden] { display: none !important; }
@media (max-width: 640px) {
  .hero-card { grid-template-columns: 1fr; }
  header.top nav { display: none; }
}
