/* GolfPrice AI: Society HQ pages (Awards Night Kit, Prize Picker). */
.soc-wrap { max-width: 1232px; margin: 0 auto; padding: 16px var(--gp-gutter, 16px) 56px; box-sizing: border-box; display: flex; flex-direction: column; gap: 16px; }
.soc-hero, .pz-hero { background: #1b1508; color: #fff; border-radius: 18px; padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.soc-hero h1, .pz-hero h1 { margin: 0; font: 800 32px/1.1 Poppins, sans-serif; color: #fff; }
.soc-hero p, .pz-hero p { margin: 0; color: #e7dcc3; line-height: 1.55; max-width: 60ch; }
.soc-kick { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #d9b45a; }
.soc-card { background: #fff; border: 1px solid var(--gp-line); border-radius: 16px; padding: 18px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.soc-card h2 { margin: 0; font: 700 20px Poppins, sans-serif; }
.soc-h2b { margin-top: 6px !important; }
.soc-help, .soc-small { margin: 0; font-size: 14px; color: var(--gp-text-2); line-height: 1.5; }
.soc-small { font-size: 13px; color: var(--gp-text-3); }
.soc-loading { color: var(--gp-text-3); }
.soc-two { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 12px; }
.soc-card label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 700; color: var(--gp-ink); min-width: 0; }
.soc-card input { min-height: 46px; padding: 0 12px; border: 1px solid #cfd5cc; border-radius: 10px; font: 600 16px Inter, sans-serif; color: var(--gp-ink); background: #fff; box-sizing: border-box; width: 100%; min-width: 0; }
.soc-card input:focus-visible { outline: 3px solid var(--gp-green); outline-offset: 1px; }
.soc-aw { border: 1px solid var(--gp-line); border-radius: 12px; padding: 12px; margin: 0 0 10px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; background: #fafbf9; }
.soc-aw-d { grid-column: 1 / -1; }
.soc-pound { display: flex; align-items: center; gap: 6px; font-weight: 700; }
.soc-pound input { max-width: 110px; }
.soc-x { align-self: end; justify-self: end; min-height: 44px; padding: 0 12px; border: 0; background: none; color: var(--gp-text-3); font: 600 13px Inter, sans-serif; text-decoration: underline; cursor: pointer; }
.soc-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.soc-btn, .soc-btn2 { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 18px; border-radius: 10px; font: 700 15px Inter, sans-serif; cursor: pointer; text-decoration: none; box-sizing: border-box; }
.soc-btn { border: 0; background: var(--gp-green); color: #fff; }
.soc-btn:hover { background: var(--gp-green-dark); color: #fff; }
.soc-btn2 { border: 1px solid #cfd5cc; background: #fff; color: var(--gp-ink); }
.soc-btn2:hover { border-color: var(--gp-green); color: var(--gp-ink); }
.soc-btn[disabled], .soc-btn2[disabled] { opacity: .5; cursor: default; }
.soc-btn:focus-visible, .soc-btn2:focus-visible { outline: 3px solid var(--gp-green); outline-offset: 2px; }
.soc-link { margin-left: 12px; font-weight: 700; color: var(--gp-green-dark); }
.soc-msg { margin: 0; font-size: 14px; font-weight: 600; color: var(--gp-ink); }
.soc-msg:empty { display: none; }
.soc-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.soc-mine { margin: 0; padding-left: 18px; display: grid; gap: 6px; }
.soc-mine a { font-weight: 700; color: var(--gp-green-dark); }
.soc-kit { background: #1b1508; border-color: #4a3c1a; color: #fff; }
.soc-kit .soc-kit-h { color: #fff; font-size: 26px; }
.soc-kit .soc-small { color: #c9bd9f; }
.soc-cards { display: grid; grid-auto-flow: column; grid-auto-columns: min(78%, 300px); gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
.soc-cards:focus-visible { outline: 3px solid #d9b45a; outline-offset: 2px; }
.soc-cardimg { margin: 0; scroll-snap-align: start; display: flex; flex-direction: column; gap: 6px; }
.soc-cardimg figcaption { font-size: 13px; color: #e7dcc3; }
.soc-ph { aspect-ratio: 4 / 5; border-radius: 12px; border: 2px solid #4a3c1a; display: flex; align-items: center; justify-content: center; color: #c9bd9f; font-size: 14px; }
.soc-cardbtn { padding: 0; border: 0; background: none; cursor: pointer; border-radius: 12px; }
.soc-cardbtn img { width: 100%; height: auto; display: block; border-radius: 12px; }
.soc-cardbtn:focus-visible { outline: 3px solid #d9b45a; outline-offset: 2px; }
.soc-kit .soc-btn2 { background: transparent; color: #fff; border-color: #6b5a2c; }
.soc-plist { display: flex; flex-direction: column; gap: 10px; }
.soc-prow { border: 1px solid var(--gp-line); border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.soc-prow-h { width: 100%; display: flex; justify-content: space-between; gap: 8px; font-size: 13px; font-weight: 700; color: var(--gp-text-3); }
.soc-st { font-size: 12px; white-space: nowrap; }
.soc-st-chosen { color: var(--gp-green-dark); }
.soc-st-waiting, .soc-st-surprise-me { color: #8a5a00; }
.soc-prow-n { font-size: 15px; }
.soc-prow-b { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.soc-prow-p { font: 700 16px Poppins, sans-serif; }
.soc-buy { font-weight: 700; color: var(--gp-green-dark); padding: 6px 0; }
.soc-next { background: #f3faf0; border-color: #cfe8c6; }
.soc-next p { margin: 0; color: var(--gp-text-2); line-height: 1.5; }
.soc-next .soc-kick { color: var(--gp-green-dark); }
.soc-next .soc-btn { align-self: flex-start; }
.soc-faq h2 { margin: 8px 0 12px; font: 700 20px Poppins, sans-serif; }
.soc-faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.soc-faq-grid div { background: #fff; border: 1px solid var(--gp-line); border-radius: 14px; padding: 14px; }
.soc-faq-grid h3 { margin: 0 0 6px; font: 700 16px Poppins, sans-serif; }
.soc-faq-grid p { margin: 0; font-size: 14px; color: var(--gp-text-2); line-height: 1.5; }

/* the slideshow */
.soc-show { position: fixed; inset: 0; z-index: 9999; background: #0d0a04; color: #fff; display: flex; flex-direction: column; padding: 20px; box-sizing: border-box; font-family: Inter, sans-serif; }
.soc-show-stage { flex: 1; border: 3px solid #d9b45a; border-radius: 18px; background: #1b1508; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; text-align: center; padding: 24px; cursor: pointer; }
.soc-show-k { font-size: clamp(12px, 1.8vw, 18px); font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: #d9b45a; }
.soc-show-t { font: 700 clamp(24px, 4vw, 48px)/1.2 Poppins, sans-serif; color: #e7dcc3; }
.soc-show-big { display: inline-block; font: 800 clamp(36px, 9vw, 120px)/1.05 Poppins, sans-serif; color: #d9b45a; white-space: nowrap; }
.soc-show-stage { overflow: hidden; min-width: 0; }
.soc-show-win { animation: soc-pop .5s cubic-bezier(.2, 1.4, .4, 1); }
.soc-show-d { font-size: clamp(18px, 2.6vw, 30px); }
.soc-show-q, .soc-show-sub { font-size: clamp(16px, 2.2vw, 26px); font-style: italic; color: #e7dcc3; }
.soc-show-reveal { min-height: 80px; min-width: min(420px, 80vw); border: 2px dashed #d9b45a; border-radius: 16px; background: transparent; color: #d9b45a; font: 800 clamp(20px, 3vw, 30px) Poppins, sans-serif; cursor: pointer; }
.soc-show-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 14px; color: #b8ab8c; font-size: 14px; }
.soc-show-nav, .soc-show-x { min-height: 44px; padding: 0 16px; border: 1px solid #4a3c1a; border-radius: 10px; background: transparent; color: #fff; font: 700 14px Inter, sans-serif; cursor: pointer; }
.soc-show-nav[data-d="1"] { background: #d9b45a; color: #1b1508; border-color: #d9b45a; }
@keyframes soc-pop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .soc-show-win { animation: none; } }

/* Prize Picker */
.pz-budget { font: 800 52px/1 Poppins, sans-serif; color: #f3d36b; }
.pz-note { font-size: 13px !important; color: #c9bd9f !important; }
.pz-done { margin: 0; background: #f3faf0; border-radius: 12px; padding: 12px 14px; font-size: 14px; }
.pz-tabs { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; }
.pz-tab { flex: none; min-height: 40px; padding: 0 14px; border: 1px solid #cfd5cc; border-radius: 999px; background: #fff; font: 700 14px Inter, sans-serif; color: var(--gp-ink); cursor: pointer; }
.pz-tab[aria-selected="true"] { background: var(--gp-ink); color: #fff; border-color: var(--gp-ink); }
.pz-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
.pz-item { position: relative; text-align: left; border: 1px solid var(--gp-line); border-radius: 14px; background: #fff; padding: 10px; display: flex; flex-direction: column; gap: 6px; cursor: pointer; font: inherit; color: var(--gp-ink); min-width: 0; }
.pz-item img { width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; border-radius: 10px; }
.pz-item b { font-size: 14px; line-height: 1.3; }
.pz-item small { font-weight: 500; color: var(--gp-text-3); }
.pz-item.on { border: 2px solid var(--gp-green); background: #f3faf0; padding: 9px; }
.pz-item:focus-visible { outline: 3px solid var(--gp-green); outline-offset: 2px; }
.pz-noimg { aspect-ratio: 1; border-radius: 10px; background: #eef0ec; display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--gp-text-3); }
.pz-tag { position: absolute; top: 14px; left: 14px; background: var(--gp-green); color: #fff; border-radius: 999px; padding: 2px 8px; font-size: 11px; font-weight: 800; }
.pz-price { font: 700 17px Poppins, sans-serif; }
.pz-surprise .pz-q { aspect-ratio: 1; border-radius: 10px; background: #1b1508; color: #f3d36b; display: flex; align-items: center; justify-content: center; font: 800 48px Poppins, sans-serif; }
.pz-surprise .pz-price { font: 500 13px Inter, sans-serif; color: var(--gp-text-2); }
.pz-bar { position: sticky; bottom: 12px; background: #fff; border: 1px solid var(--gp-line); border-radius: 16px; padding: 14px; display: flex; flex-direction: column; gap: 10px; box-shadow: 0 -8px 24px rgba(0, 0, 0, .08); }
.pz-bar-h { display: flex; justify-content: space-between; gap: 10px; font-size: 15px; }
.pz-meter { height: 8px; border-radius: 99px; background: #eef0ec; overflow: hidden; }
.pz-meter i { display: block; height: 100%; background: var(--gp-green); border-radius: 99px; }
.pz-hero .soc-btn2 { align-self: flex-start; background: transparent; color: #fff; border-color: #6b5a2c; }
@media (max-width: 560px) {
  .soc-two, .soc-aw, .soc-faq-grid { grid-template-columns: 1fr; }
  .soc-hero h1, .pz-hero h1 { font-size: 26px; }
  .pz-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Society HQ */
.soc-check { flex-direction: row !important; align-items: flex-start; gap: 10px !important; font-weight: 600 !important; line-height: 1.45; }
.soc-card .soc-check input { width: 22px; height: 22px; min-height: 0; flex: none; margin: 0; accent-color: var(--gp-green); }
button.soc-link { margin: 0; padding: 8px 0; border: 0; background: none; font: 700 14px Inter, sans-serif; text-decoration: underline; cursor: pointer; align-self: flex-start; }
.soc-x { align-self: flex-start; padding: 0; }
.hq-ev { border: 1px solid var(--gp-line); border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 10px; background: #fafbf9; }
.hq-ev.is-past { opacity: .8; }
.hq-ev-h b, .hq-ev-t { display: block; font: 700 18px/1.25 Poppins, sans-serif; color: var(--gp-ink); }
.hq-ev-m { display: block; font-size: 14px; color: var(--gp-text-2); line-height: 1.5; }
.hq-counts { display: grid; grid-template-columns: repeat(auto-fit, minmax(64px, 1fr)); gap: 6px; }
.hq-counts span { background: #fff; border: 1px solid var(--gp-line); border-radius: 10px; padding: 6px 4px; text-align: center; font-size: 12px; font-weight: 700; color: var(--gp-text-3); text-transform: uppercase; letter-spacing: .05em; }
.hq-counts b { display: block; font: 800 22px Poppins, sans-serif; color: var(--gp-ink); letter-spacing: 0; }
.hq-counts .is-in b { color: var(--gp-green-dark); }
.hq-counts .is-wait b { color: #8a5a00; }
.hq-rsvp { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.hq-rsvp button { min-height: 48px; border: 1px solid #cfd5cc; border-radius: 10px; background: #fff; font: 700 14px Inter, sans-serif; color: var(--gp-ink); cursor: pointer; padding: 0 6px; }
.hq-rsvp button[aria-pressed="true"] { background: var(--gp-green); border-color: var(--gp-green); color: #fff; }
.hq-rsvp button[data-st="out"][aria-pressed="true"] { background: #4a554e; border-color: #4a554e; }
.hq-rsvp button:focus-visible, .hq-more:focus-visible, .hq-paid:focus-visible, .hq-rm:focus-visible { outline: 3px solid var(--gp-green); outline-offset: 2px; }
.hq-note { margin: 0; font-size: 14px; line-height: 1.5; background: #fff4e8; color: #5c3d00; border-radius: 10px; padding: 8px 12px; }
.hq-note.is-good { background: #eaf6e5; color: #1f5c14; }
.hq-pay { align-self: flex-start; }
.hq-more { align-self: flex-start; border: 0; background: none; padding: 6px 0; font: 700 14px Inter, sans-serif; color: var(--gp-green-dark); text-decoration: underline; cursor: pointer; }
.hq-who { display: flex; flex-direction: column; gap: 6px; }
.hq-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--gp-line); border-radius: 10px; padding: 8px 10px; min-height: 48px; box-sizing: border-box; }
.hq-nick { font-weight: 700; display: flex; flex-direction: column; min-width: 0; overflow-wrap: anywhere; }
.hq-nick small { font-weight: 600; font-size: 12px; color: var(--gp-text-3); }
.hq-paid { min-height: 40px; min-width: 92px; border: 1px solid #cfd5cc; border-radius: 999px; background: #fff; font: 700 13px Inter, sans-serif; cursor: pointer; color: var(--gp-text-2); }
.hq-paid.is-paid { background: #eaf6e5; border-color: #9fd28f; color: #1f5c14; }
.hq-tag { font-size: 12px; font-weight: 700; color: #1f5c14; background: #eaf6e5; border-radius: 999px; padding: 4px 10px; }
.hq-org { display: flex; flex-wrap: wrap; gap: 8px; }
.hq-org .soc-btn2 { min-height: 44px; font-size: 14px; }
.hq-fund { background: #1b1508; color: #fff; border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.hq-fund-g { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; font-size: 14px; color: #e7dcc3; }
.hq-fund-g b { font: 800 18px Poppins, sans-serif; color: #fff; }
.hq-fund label { display: block !important; font-weight: 600; font-size: 14px; color: #e7dcc3; }
.hq-pct { width: 100%; accent-color: #d9b45a; min-height: 32px; }
.hq-split { display: flex; flex-wrap: wrap; gap: 6px; }
.hq-split span { background: #2d2412; border-radius: 999px; padding: 5px 10px; font-size: 13px; font-weight: 700; }
.hq-fund .soc-small { color: #c9bd9f; }
.hq-fund a { color: #d9b45a; }
.hq-members { display: flex; flex-wrap: wrap; gap: 6px; }
.hq-mem { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--gp-line); border-radius: 999px; padding: 4px 6px 4px 12px; min-height: 36px; font-weight: 600; font-size: 14px; }
.hq-mem small { color: var(--gp-text-3); font-weight: 600; }
.hq-rm { border: 0; background: none; color: var(--gp-text-3); min-width: 32px; min-height: 32px; cursor: pointer; font-size: 13px; border-radius: 50%; }
.fd-list { display: flex; flex-direction: column; gap: 10px; }
.fd-card { gap: 6px; }
.fd-card h2 { font-size: 18px; }
.fd-meta { font-size: 13px; font-weight: 700; color: var(--gp-text-3); }
.fd-card p { margin: 0; color: var(--gp-text-2); line-height: 1.5; }
.fd-card .soc-btn { align-self: flex-start; margin-top: 4px; }
@media (max-width: 520px) { .soc-two { grid-template-columns: minmax(0, 1fr); } }
.soc-photo { display: block; margin: -24px -24px 8px; }
.soc-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 1; max-height: 300px; object-fit: cover; border-radius: 18px 18px 0 0; }
@media (max-width: 700px) { .soc-photo img { aspect-ratio: 3 / 2; } }
.fd-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 4px; }
.fd-foot .soc-btn { margin-top: 0; }
.fd-report { font-size: 13px; color: var(--gp-text-3); text-decoration: underline; padding: 8px 0; }
/* Society HQ hub */
.sh-wrap { max-width: 1232px; }
.sh-hero .soc-btns { margin-top: 6px; }
.sh-btn-dark { background: transparent; color: #fff; border-color: #6b5a2c; }
.sh-btn-dark:hover { color: #fff; border-color: #d9b45a; }
.sh-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.sh-facts div { background: #fff; border: 1px solid var(--gp-line); border-radius: 12px; padding: 12px 8px; text-align: center; display: flex; flex-direction: column; gap: 2px; }
.sh-facts b { font: 700 15px Poppins, sans-serif; }
.sh-facts span { font-size: 13px; color: var(--gp-text-2); }
.sh-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sh-card { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 18px; overflow: hidden; color: #fff; text-decoration: none; background: #2b3a30; box-shadow: 0 10px 28px rgba(22, 36, 28, .16); transition: transform .18s ease; }
.sh-card:hover { transform: translateY(-3px); color: #fff; }
.sh-card:focus-visible { outline: 3px solid var(--gp-green); outline-offset: 3px; }
.sh-card picture, .sh-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
.sh-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(22, 36, 28, 0) 30%, rgba(22, 36, 28, .82) 60%, rgba(22, 36, 28, .96) 100%); }
.sh-body { position: absolute; z-index: 1; left: 20px; right: 20px; bottom: 20px; display: flex; flex-direction: column; gap: 6px; }
.sh-kick { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #8fd77e; }
.sh-body b { font: 800 22px/1.15 Poppins, sans-serif; }
.sh-line { font-size: 14px; line-height: 1.45; color: #e3e7e4; }
.sh-cta { align-self: flex-start; margin-top: 6px; background: var(--gp-green); border-radius: 10px; padding: 11px 15px; font: 700 14px Inter, sans-serif; }
.sh-gold { background: #1b1508; }
.sh-gold::after { display: none; }
.sh-frame { position: absolute; inset: 14px; border: 2px solid #d9b45a; border-radius: 10px; box-shadow: inset 0 0 0 6px #1b1508, inset 0 0 0 7px rgba(217, 180, 90, .45); }
.sh-gold .sh-body { left: 34px; right: 34px; bottom: 34px; }
.sh-gold .sh-kick { color: #d9b45a; }
.sh-gold b { color: #d9b45a; font-size: 26px; }
.sh-gold .sh-line { color: #e7dcc3; }
.sh-soon h2, .sh-faq h2 { font-size: 20px; }
.sh-q { border-top: 1px solid var(--gp-line); padding: 4px 0; }
.sh-q summary { cursor: pointer; font-weight: 700; padding: 12px 28px 12px 0; min-height: 24px; list-style: none; position: relative; }
.sh-q summary::-webkit-details-marker { display: none; }
.sh-q summary::after { content: "+"; position: absolute; right: 2px; top: 9px; font: 700 20px Inter, sans-serif; color: var(--gp-green-dark); }
.sh-q[open] summary::after { content: "\2212"; }
.sh-q p { margin: 0 0 12px; color: var(--gp-text-2); line-height: 1.55; }
@media (max-width: 900px) { .sh-cards { grid-template-columns: 1fr; } .sh-card { aspect-ratio: 4 / 3; } .sh-card img { object-position: 50% 20%; } }
@media (max-width: 520px) { .sh-card { aspect-ratio: 1 / 1; } .sh-gold { aspect-ratio: auto; min-height: 280px; } .sh-gold .sh-body { position: relative; left: auto; right: auto; bottom: auto; padding: 44px 34px 34px; } .sh-facts span { font-size: 12px; } }
.fd-h { margin: 4px 0 0; font: 700 20px Poppins, sans-serif; }
.sh-feat ul { margin: 0; padding-left: 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 28px; color: var(--gp-text-2); line-height: 1.5; }
@media (max-width: 700px) { .sh-feat ul { grid-template-columns: 1fr; } }
.soc-found { align-self: flex-start; display: inline-flex; align-items: center; border: 1.5px solid #d9b45a; color: #d9b45a; border-radius: 999px; padding: 4px 11px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.fd-found { color: #8a6a1a; }
/* Founding + guides */
.sh-founding { background: #1b1508; border-color: #4a3c1a; color: #fff; }
.sh-founding h2 { color: #d9b45a; }
.sh-founding .soc-help { color: #e7dcc3; }
.sh-glinks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.sh-glinks a { display: flex; flex-direction: column; gap: 4px; border: 1px solid var(--gp-line); border-radius: 12px; padding: 14px; color: var(--gp-ink); text-decoration: none; }
.sh-glinks a:hover { border-color: var(--gp-green); }
.sh-glinks b { font: 700 16px Poppins, sans-serif; color: var(--gp-green-dark); }
.sh-glinks span { font-size: 14px; color: var(--gp-text-2); line-height: 1.45; }
.soc-link-a { font-weight: 700; color: var(--gp-green-dark); align-self: flex-start; padding: 6px 0; }
.gd-wrap { max-width: 1232px; }
.gd-answer { font-size: 16px !important; }
.gd-toc { font-size: 14px; line-height: 2; display: block; }
.gd-toc b { display: block; font: 700 16px Poppins, sans-serif; line-height: 1.4; margin-bottom: 4px; }
.gd-toc a { color: var(--gp-green-dark); font-weight: 600; }
.gd-group h2 { font-size: 20px; }
.gd-list { list-style: none; margin: 0; padding: 0; }
.gd-aw { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid var(--gp-line); padding: 11px 0; }
.gd-aw > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.gd-aw b { font-size: 16px; }
.gd-aw > span > span { font-size: 14px; color: var(--gp-text-2); line-height: 1.45; }
.gd-make { white-space: nowrap; font-size: 13px; font-weight: 700; color: var(--gp-green-dark); padding: 10px 0; }
.gd-maker { background: #1b1508; border-color: #4a3c1a; color: #fff; }
.gd-maker h2 { color: #d9b45a; }
.gd-maker .soc-kick { color: #d9b45a; }
.gd-maker label { color: #e7dcc3 !important; }
.gd-maker select { min-height: 46px; padding: 0 10px; border: 1px solid #6b5a2c; border-radius: 10px; font: 600 16px Inter, sans-serif; background: #2d2412; color: #fff; width: 100%; }
.gd-maker input { background: #2d2412 !important; border-color: #6b5a2c !important; color: #fff !important; }
.gd-maker-g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 300px); gap: 20px; align-items: start; }
.gd-maker-f { display: flex; flex-direction: column; gap: 12px; }
.gd-cv { width: 100%; height: auto; border-radius: 12px; box-shadow: 0 10px 28px rgba(0, 0, 0, .35); }
.gd-small { margin: 0; font-size: 13px; color: #c9bd9f; line-height: 1.5; }
.gd-spend { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 16px; font-size: 15px; }
.gd-bands { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.gd-band { border: 1px solid var(--gp-line); border-radius: 12px; padding: 12px; }
.gd-band > b { font: 700 16px Poppins, sans-serif; }
.gd-band ul { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.gd-band li { display: flex; justify-content: space-between; gap: 10px; }
.gd-band a { color: var(--gp-green-dark); font-weight: 600; }
.gd-steps { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; line-height: 1.55; color: var(--gp-text-2); }
.gd-steps b { color: var(--gp-ink); }
.gd-more { font-size: 14px; line-height: 1.8; color: var(--gp-text-2); }
.gd-more a { color: var(--gp-green-dark); font-weight: 600; }
.gd-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.gd-card { text-decoration: none; color: var(--gp-ink); }
.gd-card:hover { border-color: var(--gp-green); }
.gd-card h2 { font-size: 18px; }
.pc-side { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; }
.pc-side legend { font-size: 13px; font-weight: 700; margin-bottom: 8px; padding: 0; }
.pc-range { accent-color: var(--gp-green); }
.pc-out { min-height: 160px; }
@media (max-width: 700px) {
  .gd-maker-g, .sh-glinks, .gd-bands, .gd-cards { grid-template-columns: minmax(0, 1fr); }
  .gd-cv { max-width: 300px; justify-self: center; }
  .gd-aw { flex-direction: column; align-items: flex-start; gap: 0; }
  .gd-make { padding: 6px 0 0; }
}
.pc-form label[for="pc-p"] { display: block; }
/* Guides, part two */
.gd-sec h2 { font-size: 20px; }
.gd-sec p { margin: 0; color: var(--gp-text-2); line-height: 1.6; }
.gd-sec a, .gd-steps a, .gd-ul a { color: var(--gp-green-dark); font-weight: 600; }
.gd-ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; line-height: 1.55; color: var(--gp-text-2); }
.gd-ul b { color: var(--gp-ink); }
.gd-tw { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--gp-line); border-radius: 12px; }
.gd-table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.45; }
.gd-table th, .gd-table td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--gp-line); }
.gd-table thead th { background: #f3f5f1; font-size: 13px; }
.gd-table tbody th { font-weight: 700; }
.gd-table tr:last-child th, .gd-table tr:last-child td { border-bottom: 0; }
.gd-apps { min-width: 760px; }
.gd-pre { margin: 0; white-space: pre-wrap; font: 500 14px/1.55 Inter, sans-serif; background: #f7f8f6; border: 1px solid var(--gp-line); border-radius: 12px; padding: 14px; color: var(--gp-ink); }
.gd-src { font-size: 14px; }
.dc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dc-form label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 700; }
.dc-form { display: flex; flex-direction: column; gap: 12px; }
.dc-out { margin-top: 4px; }
.dc-out a { color: #d9b45a; }
@media (max-width: 520px) { .dc-grid { grid-template-columns: minmax(0, 1fr); } }
.gd-swipe { display: none; margin: 0; font-size: 12px; color: var(--gp-text-3); }
@media (max-width: 800px) { .gd-swipe { display: block; } }
.fd-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.fd-chip { border: 1px solid var(--gp-line); border-radius: 999px; padding: 6px 12px; font-size: 13px; font-weight: 600; color: var(--gp-text-2); text-decoration: none; }
a.fd-chip { color: var(--gp-green-dark); border-color: #cfe8c6; background: #f3faf0; }
.fd-chip.is-on { background: var(--gp-ink); color: #fff; border-color: var(--gp-ink); }
/* County directory (Find a Society and county pages) */
.cty-dir { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px 32px; margin-top: 4px; }
.cty-grp h3 { margin: 0 0 6px; padding-bottom: 8px; border-bottom: 2px solid var(--gp-ink); font: 700 12px/1.2 var(--gp-font-body, Inter, sans-serif); letter-spacing: .12em; text-transform: uppercase; color: var(--gp-green-dark); }
.cty-grp ul { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 20px; }
.cty-grp li { break-inside: avoid; border-bottom: 1px solid var(--gp-line); }
.cty-a { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; min-height: 44px; box-sizing: border-box; padding: 11px 6px; text-decoration: none; color: var(--gp-ink); border-radius: 8px; }
.cty-n { font-weight: 600; font-size: 14.5px; line-height: 1.3; }
.cty-m { display: flex; gap: 8px; align-items: baseline; flex: none; }
.cty-m small { font-size: 12.5px; color: var(--gp-text-2); font-variant-numeric: tabular-nums; }
.cty-m b { font-size: 11.5px; font-weight: 700; color: var(--gp-green-dark); background: #eaf6e4; border-radius: 999px; padding: 2px 8px; }
a.cty-a:hover, a.cty-a:focus-visible { background: #f3faf0; color: var(--gp-green-dark); }
a.cty-a:hover .cty-n { text-decoration: underline; text-underline-offset: 3px; }
.cty-a.is-on { background: var(--gp-ink); color: #fff; }
.cty-a.is-on small { color: #c4d0c8; }
@media (max-width: 600px) { .cty-grp ul { column-gap: 12px; } .cty-m small { display: none; } .cty-a { padding: 10px 4px; } .cty-n { font-size: 14px; } }
@media (min-width: 900px) {
  .cty-dir { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cty-wide { grid-column: 1 / -1; }
  .cty-wide ul { columns: 4; }
}
.soc-card select { min-height: 46px; padding: 0 10px; border: 1px solid #cfd5cc; border-radius: 10px; font: 600 16px Inter, sans-serif; color: var(--gp-ink); background: #fff; width: 100%; min-width: 0; }
/* For golf clubs */
.cl-g { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.cl-imgs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cl-imgs img, .cl-imgs canvas { width: 100%; height: auto; border-radius: 6px; box-shadow: 0 6px 18px rgba(22, 36, 28, .18); border: 1px solid var(--gp-line); }
.cl-f { display: flex; flex-direction: column; gap: 10px; }
.cl-f .soc-btn2, .cl-f .soc-btn { width: 100%; text-align: center; }
@media (max-width: 760px) { .cl-g { grid-template-columns: minmax(0, 1fr); } }

/* The Form Guide inside Society HQ (Nov 2026) */
.hq-fg { border-top: 1px dashed #d5d9d1; padding-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.hq-fg-k { font-size: 11px; font-weight: 700; letter-spacing: .14em; color: var(--gp-green-dark); }
.hq-fg-row { display: flex; flex-wrap: wrap; gap: 8px; }
.hq-fg-row .soc-btn, .hq-fg-row .soc-btn2 { min-height: 44px; font-size: 14px; }
.hq-fg-done { background: #14211a; color: #fff; border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.hq-fg-done span { font-size: 14px; color: #c4d0c8; }
.hq-fg-done .soc-btn2 { background: transparent; color: #fff; border-color: #4d6156; }
.hq-res-form { background: #f6f7f4; border-radius: 14px; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.hq-res-form h3 { margin: 0; font: 700 18px 'Poppins', sans-serif; }
.hq-res-head, .hq-res-row { display: grid; grid-template-columns: minmax(0, 1fr) 84px 84px; gap: 8px; align-items: center; }
.hq-res-head { font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #5b665f; }
.hq-res-row label { font-weight: 600; font-size: 15px; overflow-wrap: anywhere; }
.hq-res-row input, .hq-res-extras input, .hq-res-extras select, .hq-res-extras textarea { box-sizing: border-box; width: 100%; min-height: 44px; border: 1px solid #cfd5cc; border-radius: 10px; padding: 0 10px; font: 600 16px Inter, sans-serif; background: #fff; color: var(--gp-ink); }
.hq-res-extras textarea { padding: 10px; min-height: 64px; font-weight: 500; resize: vertical; }
.hq-res-row input:focus, .hq-res-extras input:focus, .hq-res-extras select:focus, .hq-res-extras textarea:focus { outline: 2px solid var(--gp-green); outline-offset: 1px; }
.hq-res-sub { margin: 6px 0 0; font-size: 13px; font-weight: 700; color: #5b665f; }
.hq-res-extras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 6px; }
.hq-res-extras label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; }
.hq-res-extras small { font-weight: 400; color: #5b665f; }
.hq-res-wide { grid-column: 1 / -1; }
.hq-res-check { flex-direction: row !important; align-items: center; grid-column: 1 / -1; }
.hq-res-check input { width: 22px; min-height: 22px; height: 22px; }
@media (max-width: 600px) { .hq-res-extras { grid-template-columns: minmax(0, 1fr); } .hq-res-head, .hq-res-row { grid-template-columns: minmax(0, 1fr) 70px 70px; } }
/* The National Society League card in Society HQ */
.hq-lg-form { display: flex; flex-direction: column; gap: 12px; }
.hq-lg-form label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 14px; }
.hq-lg-form select { min-height: 46px; border: 1px solid #cfd5cc; border-radius: 10px; padding: 0 10px; font: 500 16px Inter, sans-serif; background: #fff; }
.hq-lg-allow { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; }
.hq-lg-allow legend { font-weight: 600; font-size: 14px; margin-bottom: 6px; padding: 0; }
.hq-lg-allow label { flex-direction: row; align-items: center; gap: 8px; min-height: 44px; }
.hq-lg-allow input { width: 20px; height: 20px; }
.hq-lg-allow small { flex-basis: 100%; font-weight: 400; color: #5b665f; font-size: 12.5px; }
.hq-lg-rules { background: #f6f7f4; border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 4px; font-size: 13.5px; line-height: 1.45; }
.hq-lg-check { flex-direction: row !important; align-items: flex-start; gap: 10px !important; font-weight: 500 !important; line-height: 1.45; }
.hq-lg-check input { width: 20px; height: 20px; margin: 2px 0 0; flex: none; }

/* Clubhouse key strip and co-organiser (Nov 2026) */
.hq-key { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: #fdf0e3; border-color: #f3cfa6; flex-wrap: wrap; }
.hq-key div { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 240px; }
.hq-key b { font: 700 17px 'Poppins', sans-serif; color: #5c3109; }
.hq-key span { font-size: 14px; line-height: 1.5; color: #5c3109; }
.hq-co select { min-height: 44px; }
.hq-co-form { display: flex; flex-direction: column; gap: 10px; }
/* Start a golf society guide (Nov 2026) */
.gd-quote { margin: 0; background: #f3faf0; border: 1px dashed #3fae29; border-radius: 14px; padding: 14px 16px; font-size: 15px; line-height: 1.55; color: #14211a; }
/* Find a Society, upgraded (Nov 2026) */
.fd-search { background: #14211a; color: #fff; border-radius: 24px; padding: 30px 32px; display: flex; flex-direction: column; gap: 12px; }
.fd-search h1 { margin: 0; font: 800 46px/1.03 Poppins, sans-serif; letter-spacing: -0.03em; color: #fff; }
.fd-kick-l { color: #8fd97c !important; }
.fd-sub { margin: 0; font: italic 600 17px/1.4 Poppins, sans-serif; color: #fff; }
.fd-form { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
.fd-form label { font-size: 13px; font-weight: 600; color: #c4d0c8; }
.fd-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; }
.fd-row input { height: 50px; border: 0; border-radius: 12px; padding: 0 16px; font: 600 17px Inter, sans-serif; color: #14211a; min-width: 0; }
.fd-loc { height: 50px; border: 1px solid #4d6156; border-radius: 12px; background: transparent; color: #fff; font: 700 15px Inter, sans-serif; padding: 0 16px; display: flex; align-items: center; gap: 8px; cursor: pointer; }
.fd-loc svg { color: #8fd97c; }
.fd-go-btn { height: 50px; margin: 0 !important; border: 0; cursor: pointer; }
.fd-filters { display: flex; gap: 8px; flex-wrap: wrap; }
.fd-filters select, .fd-f { min-height: 40px; border: 1px solid #4d6156; border-radius: 999px; background: transparent; color: #fff; font: 600 13.5px Inter, sans-serif; padding: 0 14px; cursor: pointer; }
.fd-filters select option { color: #14211a; }
.fd-f[aria-pressed="true"] { background: #3fae29; border-color: #3fae29; }
.fd-msg { margin: 0; font-size: 14px; color: #c4d0c8; min-height: 1em; }
.fd-msg:empty { display: none; }
.fd-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.fd-main, .fd-side { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
a.fd-card { text-decoration: none; color: var(--gp-ink); }
a.fd-card:hover { border-color: #3fae29; }
.fd-card-top { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.fd-card-top h2 { margin: 0; }
.fd-dist { font-size: 13px; font-weight: 700; color: var(--gp-text-3); white-space: nowrap; }
.fd-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.fd-badge { border-radius: 999px; padding: 3px 9px; font: 700 11.5px Inter, sans-serif; }
.fd-b-found { background: #f3efe2; color: #7a5a12; }
.fd-b-lg { background: #eef7ea; color: #1f6a12; }
.fd-b-beg { background: #eaf1fb; color: #1d4f91; }
.fd-b-open { background: #1f3127; color: #8fd97c; }
.fd-cost { font-size: 13.5px; color: var(--gp-text-2); }
.fd-spare { font-size: 13.5px; font-weight: 700; color: #b05a12; }
.fd-go { font-weight: 700; font-size: 14px; color: var(--gp-green-dark); }
.fd-spare-box { border: 2px solid #f08a24; }
.fd-kick-o { color: #b05a12 !important; }
.fd-sps { display: flex; flex-direction: column; }
.fd-sp { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; border-top: 1px solid #eef0ec; color: var(--gp-ink); text-decoration: none; }
.fd-sp span { display: flex; flex-direction: column; }
.fd-sp small, .fd-sp-row small { color: var(--gp-text-3); font-size: 12.5px; }
.fd-sp-n { color: #b05a12; white-space: nowrap; }
.fd-sp-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; align-items: center; padding: 10px 0; border-top: 1px solid #eef0ec; }
.fd-sp-row span { display: flex; flex-direction: column; }
.fd-sp-row .fd-ask { grid-column: 1 / -1; margin: 0; }
.fd-hero .soc-btns { margin-top: 4px; }
.fd-where { font-weight: 600; }
.fd-status { margin: 4px 0 0; font-weight: 700; }
.fd-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fd-facts div { display: flex; flex-direction: column; gap: 2px; }
.fd-facts small { color: var(--gp-text-3); font-size: 12.5px; }
.fd-near { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.fd-near a { background: #f6f6f3; border-radius: 12px; padding: 10px 12px; display: flex; flex-direction: column; text-decoration: none; color: var(--gp-ink); }
.fd-near span { font-size: 13px; color: var(--gp-text-3); }
.fd-ask-back { position: fixed; inset: 0; background: rgba(20,33,26,.55); z-index: 9999; display: flex; align-items: flex-end; justify-content: center; }
@media (min-width: 600px) { .fd-ask-back { align-items: center; padding: 24px; } }
.fd-ask-panel { background: #f6f6f3; width: 100%; max-width: 440px; border-radius: 22px 22px 0 0; padding: 16px; display: flex; flex-direction: column; gap: 12px; box-sizing: border-box; max-height: 94vh; overflow: auto; }
@media (min-width: 600px) { .fd-ask-panel { border-radius: 22px; } }
.fd-ask-top { background: #14211a; color: #fff; border-radius: 18px; padding: 16px; display: flex; flex-direction: column; gap: 6px; }
.fd-ask-top b { font: 800 22px/1.15 Poppins, sans-serif; }
.fd-ask-top span { font-size: 14px; line-height: 1.5; color: #c4d0c8; }
.fd-ask-panel form { background: #fff; border: 1px solid #e4e6e0; border-radius: 18px; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.fd-ask-panel textarea { border: 1px solid #d5d9d1; border-radius: 10px; padding: 10px 12px; font: 500 15px Inter, sans-serif; resize: vertical; }
.hq-req { display: flex; flex-direction: column; gap: 8px; border-top: 1px solid #eef0ec; padding-top: 10px; }
.hq-req small { color: var(--gp-text-2); font-size: 13.5px; }
.hq-reqs { border: 2px solid #3fae29; }
@media (max-width: 900px) {
  .fd-grid { display: flex; flex-direction: column; }
  .fd-side { display: contents; }
  .fd-grid .fd-spare-box { order: -1; }
  .fd-grid .fd-main { order: 1; }
  .fd-grid .fd-start { order: 2; }
  .fd-row { grid-template-columns: 1fr; }
  .fd-search { padding: 20px 16px; border-radius: 18px; }
  .fd-search h1 { font-size: 32px; }
  .fd-loc { justify-content: center; order: -1; background: #3fae29; border-color: #3fae29; }
  .fd-loc svg { color: #fff; }
}
.hq-course { position: relative; display: flex; flex-direction: column; gap: 6px; }
.hq-cpick { border: 1px solid var(--gp-line); border-radius: 12px; background: #fff; display: flex; flex-direction: column; overflow: hidden; }
.hq-cpick button { border: 0; border-top: 1px solid #eef0ec; background: #fff; text-align: left; padding: 10px 12px; display: flex; flex-direction: column; cursor: pointer; font: 500 14px Inter, sans-serif; color: var(--gp-ink); min-height: 44px; }
.hq-cpick button:first-child { border-top: 0; }
.hq-cpick button:hover { background: #f3faf0; }
.hq-cpick span { font-size: 12.5px; color: var(--gp-text-3); }
/* Live scoring set-up (js/live-setup.js), opened from a society day in Society HQ */
.lvs-wrap { position: fixed; inset: 0; z-index: 9990; background: rgba(20, 33, 26, .55); overflow-y: auto; -webkit-overflow-scrolling: touch; }
.lvs { max-width: 560px; margin: 0 auto; min-height: 100%; box-sizing: border-box; background: #f6f6f3; padding: 16px; display: flex; flex-direction: column; gap: 12px; color: var(--gp-ink, #14211a); }
@media (min-width: 600px) { .lvs { margin: 24px auto; min-height: 0; border-radius: 20px; } }
.lvs h2 { margin: 0; font: 800 24px/1.1 Poppins, sans-serif; }
.lvs-top { display: flex; justify-content: space-between; align-items: center; }
.lvs-top .soc-kick { color: #2f8a1f; }
.lvs-close { width: 44px; height: 44px; border: 1px solid #d5d9d1; border-radius: 12px; background: #fff; font: 700 22px Inter, sans-serif; cursor: pointer; }
.lvs-sec { background: #fff; border: 1px solid #e4e6e0; border-radius: 18px; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.lvs-sec.lvs-dark { background: #14211a; color: #fff; border: 0; }
.lvs-sec.lvs-dark p { margin: 0; font-size: 14px; line-height: 1.5; color: #c4d0c8; }
.lvs-h { font: 700 18px Poppins, sans-serif; }
.lvs-full { display: flex; flex-direction: column; gap: 4px; font-size: 14px; font-weight: 600; }
.lvs-full input, .lvs-full select, .lvs-grp input, .lvs-grp select { min-height: 44px; border: 1px solid #d5d9d1; border-radius: 10px; padding: 0 10px; font: 16px Inter, sans-serif; background: #fff; box-sizing: border-box; width: 100%; }
.lvs-grid { display: grid; grid-template-columns: 34px repeat(9, minmax(0, 1fr)); gap: 3px; align-items: center; font-size: 12px; text-align: center; }
.lvs-grid b { color: #5b665f; }
.lvs-lab { font-size: 10.5px; font-weight: 700; color: #5b665f; text-align: left; }
.lvs-grid select, .lvs-grid input { width: 100%; min-width: 0; height: 36px; box-sizing: border-box; border: 1px solid #d5d9d1; border-radius: 6px; background: #f6f6f3; font: 600 14px Inter, sans-serif; text-align: center; padding: 0; -webkit-appearance: none; appearance: none; }
.lvs-players { display: flex; flex-direction: column; gap: 6px; }
.lvs-pl { display: grid; grid-template-columns: minmax(0, 1fr) 64px 104px; gap: 6px; align-items: center; background: #f6f6f3; border-radius: 10px; padding: 6px 8px; }
.lvs-pl.is-off { grid-template-columns: 1fr; opacity: .7; }
.lvs-on { display: flex; gap: 8px; align-items: center; font-size: 14.5px; font-weight: 600; min-height: 36px; overflow: hidden; }
.lvs-on input { width: 20px; height: 20px; margin: 0; flex: none; }
.lvs-pl > input, .lvs-pl > select { height: 40px; border: 1px solid #d5d9d1; border-radius: 8px; background: #fff; font: 15px Inter, sans-serif; padding: 0 6px; min-width: 0; box-sizing: border-box; }
.lvs-pl > input { text-align: center; }
.lvs-grp { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; background: #f6f6f3; border-radius: 10px; padding: 10px 12px; font-size: 14px; }
.lvs-grp > div { grid-column: 1 / -1; display: flex; flex-direction: column; }
.lvs-grp > div span { color: #4a554e; }
.lvs-grp label { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; font-weight: 700; color: #5b665f; }
/* Polls card in Society HQ */
.hq-polls-h { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.hq-polls-h h2 { margin: 0; }
.hq-poll { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1px solid var(--gp-line); border-radius: 12px; color: var(--gp-ink); text-decoration: none; margin-top: 8px; }
.hq-poll b { font-size: 15.5px; }
.hq-poll span { font-size: 13px; color: var(--gp-text-3); }
.hq-poll.is-new { border: 2px solid #3fae29; background: #f3faf0; padding: 11px 13px; }
.hq-poll.is-new span { color: var(--gp-green-dark); font-weight: 600; }
/* County pages (/societies/find/<county>/), 1 Nov 2026 */
.cp-hero { background: #14211a; color: #fff; border-radius: 22px; padding: 26px 24px; display: flex; flex-direction: column; gap: 8px; }
.cp-hero .soc-kick { color: #8fd97c; }
.cp-hero h1 { margin: 0; font: 800 38px/1.08 Poppins, sans-serif; letter-spacing: -0.01em; }
.cp-hero p { margin: 0; color: #c4d0c8; font-size: 15.5px; line-height: 1.55; max-width: 720px; }
.cp-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
.cp-stats div { background: #1f3127; border-radius: 12px; padding: 10px 12px; display: flex; flex-direction: column; min-width: 0; }
.cp-stats b { font: 800 24px Poppins, sans-serif; color: #8fd97c; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cp-stats small { color: #c4d0c8; font-size: 12px; }
.cp-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; margin-top: 16px; }
.cp-col { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.cp-col .fd-list { display: flex; flex-direction: column; gap: 12px; }
.cp-h h2 { margin: 0; font: 800 22px Poppins, sans-serif; }
.cp-towns { display: flex; flex-wrap: wrap; gap: 6px; }
.cp-town { border: 1px solid var(--gp-line); border-radius: 999px; padding: 6px 12px; font-size: 13.5px; font-weight: 600; }
.cp-town b { color: var(--gp-green-dark); }
.cp-az summary { cursor: pointer; font-weight: 700; color: var(--gp-green-dark); min-height: 44px; display: flex; align-items: center; }
.cp-az ul { list-style: none; padding: 0; margin: 4px 0 0; columns: 2; column-gap: 18px; font-size: 14px; }
.cp-az li { break-inside: avoid; padding: 4px 0; }
.cp-az li a { color: var(--gp-ink); font-weight: 600; }
.cp-az li small { color: var(--gp-text-3); }
.cp-near { font-size: 14px; color: var(--gp-text-2); }
.cp-near a { font-weight: 700; color: var(--gp-green-dark); }
.cp-start, .sh-faq, .cp-wrap > .soc-card { margin-top: 16px; }
@media (max-width: 760px) {
  .cp-grid { grid-template-columns: 1fr; }
  .cp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cp-hero h1 { font-size: 28px; }
  .cp-hero { padding: 20px 16px; }
  .cp-az ul { columns: 1; }
}

/* One width for every Society page (2 Nov 2026): the same frame as the National Society League.
   Text and form fields keep a comfortable width inside the wider cards. */
.soc-wrap .soc-card > p, .soc-wrap .soc-help, .soc-hero > p, .soc-faq p { max-width: 760px; }
.soc-wrap form.soc-card > label, .soc-wrap form.soc-card > .soc-two, .soc-wrap form.soc-card > .hq-course, .soc-wrap form.soc-card > .soc-btns { max-width: 760px; }
.soc-wrap .soc-faq-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
/* Guides: the article on the left, "On this page" alongside it on a wide screen */
@media (min-width: 1000px) {
  .gd-wrap:has(> .gd-toc) { display: grid; grid-template-columns: minmax(0, 1fr) 320px; column-gap: 24px; row-gap: 16px; align-items: start; }
  .gd-wrap:has(> .gd-toc) > * { grid-column: 1; }
  .gd-wrap:has(> .gd-toc) > .pp-crumbs, .gd-wrap:has(> .gd-toc) > .soc-hero, .gd-wrap:has(> .gd-toc) > .gd-more { grid-column: 1 / -1; }
  .gd-wrap:has(> .gd-toc) > .gd-toc { grid-column: 2; grid-row: 3 / span 40; position: sticky; top: 96px; font-size: 0; line-height: 1; display: flex; flex-direction: column; gap: 2px; }
  .gd-wrap > .gd-toc a { font-size: 14.5px; line-height: 1.4; padding: 7px 0; border-top: 1px solid #eef0ec; }
  .gd-wrap > .gd-toc b { font-size: 16px; }
}
@media (min-width: 768px) { .soc-wrap { padding-left: 24px; padding-right: 24px; } }

/* Society badges in Society HQ */
.hq-bopts { display: flex; gap: 8px; flex-wrap: wrap; margin: 4px 0 12px; }
.hq-bopt input { width: 18px; height: 18px; min-height: 0; margin: 0; padding: 0; accent-color: var(--gp-green-dark); flex: none; }
.soc-card .hq-bopt { display: inline-flex; flex-direction: row; margin: 0; color: var(--gp-ink); align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; border: 1px solid var(--gp-line); border-radius: 999px; font-weight: 600; font-size: 14px; cursor: pointer; }
.hq-bopt:has(input:checked) { border-color: var(--gp-green-dark); background: #f3faf0; color: var(--gp-green-dark); }
.hq-bprev { padding: 20px; border-radius: 14px; background: #f6f6f3; margin-bottom: 8px; overflow: hidden; }
.hq-bprev.is-dark { background: #eef0ec; }

/* Par Price league (Society HQ) and Society v Society (/societies/par-price/) */
.hq-pp-table, .spp-table { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.hq-pp-table li, .spp-table li { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #e4e6e0; border-radius: 12px; padding: 10px 14px; font-size: 15px; }
.hq-pp-table li.you, .spp-table li.top { background: #eef8eb; border: 2px solid #3fae29; padding: 9px 13px; }
.hq-pp-pos, .spp-pos { font-weight: 800; min-width: 20px; }
.hq-pp-nick, .spp-name { flex: 1; font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.spp-name small { display: block; font-weight: 400; font-size: 12px; color: var(--gp-text-3); }
.hq-pp-rds, .spp-n { font-size: 13px; color: var(--gp-text-3); white-space: nowrap; }
.hq-pp-table b, .spp-table b { font-weight: 800; color: #2b7a1e; min-width: 40px; text-align: right; }
.hq-pp-nat { display: flex; flex-direction: column; gap: 4px; background: #14211a; color: #fff; border-radius: 14px; padding: 14px 16px; }
.hq-pp-nat .soc-kick { color: #8fd97c; }
.hq-pp-nat span:not(.soc-kick) { color: #c4d0c8; font-size: 14px; }
.hq-pp-nat a { color: #5fd14a; font-weight: 600; font-size: 14px; }
.hq-pp-last { margin: 0; font-size: 14px; }
.hq-pp-set summary { cursor: pointer; font-weight: 600; font-size: 14px; padding: 6px 0; }
.hq-pp-set .hq-lg-check { display: flex; margin-top: 8px; font-size: 14px; }
.hq-pp-table b.over, .spp-table b.over { color: #14211a; }
