/* Shared page rhythm. Page-specific CSS handles composition, not type scales. */
/* Accounts reuse the page scale and keep personal controls out of the map. */
.account-nav{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 13px;border-radius:15px;font-size:12px;font-weight:800;white-space:nowrap;background:#ffffff80;border:1px solid #fff}
.account-nav:hover{background:#e8f5d5}
.account-menu{position:relative}.account-menu summary{list-style:none;cursor:pointer}.account-menu summary::-webkit-details-marker{display:none}
.account-menu summary:focus-visible{outline:3px solid #619446;outline-offset:4px}.account-menu[open]>summary{background:#e8f5d5}
.account-menu summary .lucide-chevron-down{width:13px;height:13px;transition:transform .2s}.account-menu[open] summary .lucide-chevron-down{transform:rotate(180deg)}
.account-menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:220px;max-width:calc(100vw - 32px);padding:8px;border:1px solid #fff;border-radius:19px;background:#f8fbf2fa;box-shadow:0 14px 40px #18342e24;backdrop-filter:blur(22px)}
.account-menu-panel>a,.account-menu-panel>button{display:flex;align-items:center;gap:11px;width:100%;min-height:46px;padding:12px;border-radius:12px;font-size:13px;font-weight:700;text-align:left}.account-menu-panel>a:hover,.account-menu-panel>button:hover{background:#e8f5d5}
.account-menu-panel>button{border-top:1px solid #dce6d5;border-radius:0 0 12px 12px;margin-top:4px}
.account-logout{width:100%;margin-bottom:22px}
@media(max-width:1200px){.account-menu summary .lucide-chevron-down{display:none}}

.account-page .account-lead{font-size:18px;color:var(--muted);line-height:1.8}
.signin-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:clamp(40px,6vw,96px);align-items:center}
.account-intro h1{max-width:680px;letter-spacing:-1.8px}
.account-benefits{display:grid;gap:25px;margin-top:36px}
.account-benefits>div{display:flex;gap:17px;align-items:flex-start;font-size:13px;color:var(--muted);line-height:1.65}
.account-benefits>div>svg{width:44px;height:44px;padding:11px;background:#ddedcd;border-radius:15px;color:var(--ink)}
.account-benefits strong{display:block;font-size:15px;color:var(--ink);margin-bottom:3px}
.signin-card,.account-panel{padding:28px;border:1px solid #fff;border-radius:var(--radius-card);background:var(--glass);backdrop-filter:blur(20px);box-shadow:0 12px 35px #18342e06}
.signin-card{padding:32px;display:flex;flex-direction:column;align-items:flex-start}
.signin-card h2{font-size:var(--type-section);line-height:1.25;margin:14px 0}
.signin-card>p{font-size:14px;color:var(--muted)}
.account-court{height:142px;width:100%;background:linear-gradient(90deg,transparent calc(50% - 1px),#e9f2c299 50%,transparent calc(50% + 1px)),linear-gradient(0deg,transparent calc(50% - 1px),#e9f2c299 50%,transparent calc(50% + 1px)),#204a3b;border:8px solid #d8f4a5;border-radius:22px;display:grid;place-items:center;margin-bottom:32px;transform:rotate(-3deg)}
.account-court>span{display:grid;place-items:center;background:var(--lime);border:5px solid #204a3b;border-radius:50%;width:58px;height:58px;transform:rotate(3deg)}
.account-court svg{width:25px;height:25px}
.google-signin{background:#fff;border:1px solid #747775;border-radius:22px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:12px;padding:11px 16px;width:100%;margin:26px 0 16px;font-family:Arial,sans-serif;color:#1f1f1f;font-size:14px;font-weight:600;box-shadow:0 2px 6px #00000005}
.google-signin:hover{background:#f8faff;border-color:#1f1f1f;box-shadow:0 4px 12px #18342e12}
.google-signin img{width:20px;height:20px;object-fit:contain}
.signin-card .signin-fineprint{font-size:11px;line-height:1.8}
.signin-fineprint a{text-decoration:underline;text-underline-offset:3px}
.account-back{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:800;margin:25px auto 0}
.account-loading{padding:70px 20px;text-align:center;color:var(--muted)}
.player-hero{display:flex;align-items:center;gap:25px;margin-bottom:40px}
.player-hero>div{min-width:0}.player-hero h1{overflow-wrap:anywhere}
.player-hero>.button{margin-left:auto;flex-shrink:0}
.player-hero p{color:var(--muted);display:flex;align-items:center;gap:7px}
.player-avatar{width:96px;height:96px;border-radius:31px;display:grid;place-items:center;font-size:34px;font-weight:800;letter-spacing:-1px;flex-shrink:0;border:4px solid #ffffffb0;color:#18342e}
.avatar-lime{background:#ddff83}.avatar-mint{background:#c9e8d9}.avatar-lilac{background:#ddd4ef}.avatar-peach{background:#f6d7bc}
.account-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:32px;align-items:start}
.account-sidebar{display:grid;gap:16px}.account-section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}
.account-section-title h2{margin:0!important;font-size:22px!important}.account-section-title .eyebrow{display:block;margin-bottom:10px}
.account-badge{padding:5px 9px;border-radius:9px;background:#e5eedb;font-size:10px;font-weight:800}
.player-handle{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.account-location{display:flex;align-items:center;gap:6px;margin-top:16px;font-size:14px}
.player-tags{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.player-tags span{padding:6px 10px;border-radius:10px;background:#ecf2e5;font-size:11px;line-height:1.5}
.player-bio{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:18px 0}
.account-muted{font-size:12px!important;color:var(--muted);line-height:1.7}
.player-summary>.button{margin-top:22px;width:100%}
.player-summary>.account-muted:last-child{margin-top:14px}
.account-profile-link{display:flex;align-items:center;gap:6px;font-size:12px;margin-top:20px;font-weight:800}
.player-summary .text-button{margin-top:12px;font-size:12px}
.account-settings summary{font-size:13px;font-weight:800;cursor:pointer}.account-settings details[open] summary{margin-bottom:18px}
.account-setting-link{display:flex;align-items:center;gap:9px;margin-top:18px;padding:0;font-size:12px;min-height:32px;text-align:left}.account-setting-link:hover{text-decoration:underline}
.account-email{overflow-wrap:anywhere}.account-danger{color:#983e35}.account-danger-button{background:#983e35;color:white}
.account-private{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;white-space:nowrap}.account-private svg{width:14px;height:14px}
#account-saved-count{display:inline-block;font-size:13px;vertical-align:middle;padding:5px 9px;border-radius:10px;background:#dff0c9;margin-left:6px}
.account-place-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.account-place-list .place-card{min-width:0}
.account-place-list .card-photo{height:190px}.account-place-list .card-title{font-size:19px}
.account-empty{grid-column:1/-1;text-align:center;border:1px dashed #bcccb3;border-radius:26px;background:#f9fcf466;padding:60px 24px}
.account-empty>span{width:66px;height:66px;display:grid;place-items:center;border-radius:23px;margin:0 auto 24px;background:#ddf2be}
.account-empty h3{font-size:22px;margin-bottom:15px}.account-empty p{font-size:14px;color:var(--muted);margin-bottom:24px}
.account-import{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-radius:18px;background:#e5f2cd;margin-bottom:20px;font-size:12px}
.account-import .button{flex-shrink:0}.account-import p{margin-top:4px;color:var(--muted)}
.account-sync-note{display:flex;align-items:center;gap:7px;margin-top:24px}.account-sync-note svg{width:15px;height:15px}
#account-list-status:not(:empty){font-size:13px;margin:20px 0;color:var(--muted)}
#account-more{margin-top:24px}
.avatar-options{padding:0;border:0;display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.avatar-options legend{font-size:12px;font-weight:800;margin-bottom:10px}
.modal .avatar-options label{display:flex;flex-direction:row;align-items:center;padding:10px;border:2px solid transparent;border-radius:12px;margin:0;gap:6px;font-size:11px}
.avatar-options label:has(input:checked){border-color:var(--ink)}.avatar-options input{accent-color:var(--ink)}
.account-message{padding:16px;background:#f0ead8;border-radius:14px;margin-top:18px!important}
.public-player-info{max-width:760px;margin-bottom:28px}.public-player-info h2{font-size:24px}
@media(max-width:1200px){.site-header{gap:16px}.site-header nav{margin-left:0}.account-nav{padding:10px}.account-nav span{display:none}}
@media(max-width:960px){.signin-layout{gap:32px;grid-template-columns:1fr 1fr}.account-layout{grid-template-columns:260px minmax(0,1fr);gap:22px}.account-place-list{grid-template-columns:1fr}.player-hero>.button{display:none}}
@media(max-width:760px){.account-nav{padding:0;width:38px;min-height:38px;border-radius:12px}.header-actions{gap:6px}.signin-layout{grid-template-columns:1fr}.account-intro h1{letter-spacing:-1px}.account-benefits{display:none}.signin-card{padding:25px;margin-top:0}.account-court{height:105px;margin-bottom:25px}.account-layout{display:flex;flex-direction:column}.account-sidebar,.account-favourites{width:100%}.account-sidebar{display:grid;grid-template-columns:1fr}.account-settings{order:2}.player-hero{gap:16px;align-items:flex-start;margin-bottom:30px}.player-avatar{width:64px;height:64px;font-size:24px;border-radius:22px}.player-hero h1{font-size:30px!important;margin:7px 0 10px!important}.player-hero p{font-size:13px}.account-section-title{align-items:flex-start}.account-private{margin-top:5px}.account-place-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-place-list .card-photo{height:120px}.account-place-list .place-card{padding:7px}.account-place-list .card-content{padding:12px 5px}.account-import{flex-direction:column;align-items:flex-start}.account-panel{padding:22px}.profile-modal .form-row{grid-template-columns:1fr;gap:0}.account-favourites .account-section-title h2{font-size:20px!important}.account-empty{padding:40px 18px}.signin-card>p{font-size:13px}}
@media(max-width:380px){.account-place-list{grid-template-columns:1fr}.account-nav{width:34px}.account-favourites .account-private{display:none}}
:root {
  --page-width: 1280px;
  --page-gutter: clamp(20px, 3.3vw, 48px);
  --page-top: 56px;
  --space-section: 48px;
  --space-heading: 16px;
  --space-grid: 20px;
  --space-card: 24px;
  --radius-card: 24px;
  --radius-control: 14px;
  --type-title: clamp(32px, 3.75vw, 52px);
  --type-section: clamp(24px, 2.25vw, 30px);
  --type-card: 22px;
  --type-lead: 16px;
  --type-body: 15px;
  --type-small: 12px;
  --type-label: 10px;
  --line-body: 1.75;
}

@media screen {
  .editorial-page { padding-bottom: 0; }
  .editorial-page main {
    width: 100%; max-width: var(--page-width); margin-inline: auto;
    padding: var(--page-top) var(--page-gutter) 128px;
    animation: page-enter .25s ease-out;
  }
  .editorial-page main .page-heading { animation: none; }
  @keyframes page-enter { from { opacity: 0; } to { opacity: 1; } }
  .editorial-page main :is(.breadcrumbs, .journal-breadcrumb) {
    min-height: 20px; margin: 0 0 32px; gap: 8px;
    font-size: var(--type-small); line-height: 1.65; color: var(--muted);
  }
  .editorial-page main > :is(.page-heading, .directory-hero, .club-hero, .hub-hero, .journal-heading, .journal-article-header, .club-profile-hero) {
    margin: 0 0 var(--space-section); max-width: none; text-align: left;
  }
  .editorial-page main :is(.club-hero, .hub-hero) {
    grid-template-columns: minmax(0, 1fr) 240px; gap: var(--space-section); align-items: start;
  }
  .editorial-page main .journal-heading { display: block; }
  .editorial-page main :is(.page-heading, .directory-hero, .journal-heading, .journal-article-header) h1 { max-width: 1000px; }
  .editorial-page main h1 {
    font-size: var(--type-title); line-height: 1.12; letter-spacing: -.04em;
    font-weight: 800; margin: var(--space-heading) 0 24px;
    overflow-wrap: break-word; hyphens: manual; text-wrap: balance;
  }
  .editorial-page main :is(.page-heading, .directory-hero, .club-hero > div, .club-profile-hero > div, .journal-heading) > p,
  .editorial-page main :is(.hub-intro, .journal-lead) {
    max-width: 70ch; margin: 0; padding: 0; font-size: var(--type-lead);
    line-height: var(--line-body); color: var(--muted);
  }
  .editorial-page main .hub-promise { font-size: 20px; line-height: 1.4; margin: 0 0 16px; }
  .editorial-page main .eyebrow {
    font-size: var(--type-label); line-height: 1.6; letter-spacing: .12em; font-weight: 800;
  }
  .editorial-page main :is(.journal-article-header > .eyebrow, .journal-byline) { justify-content: flex-start; }
  .editorial-page main .journal-byline { font-size: var(--type-small); margin-top: 24px; }
  .editorial-page main .club-hero-actions { margin-top: 24px; gap: 16px; }
  .editorial-page main :is(.club-hero-note, .hub-stat) { padding: var(--space-card); border-radius: var(--radius-card); }
  .editorial-page main .hub-stat strong { font-size: 40px; letter-spacing: -.04em; }
  .editorial-page main .club-hero-note > strong { font-size: 24px; }

  /* The same heading hierarchy and reading rhythm on guides, lists and legal pages. */
  .editorial-page main h2 {
    font-size: var(--type-section); line-height: 1.25; letter-spacing: -.025em; font-weight: 800;
  }
  .editorial-page main h3 { font-size: var(--type-card); line-height: 1.3; letter-spacing: -.02em; font-weight: 800; }
  .editorial-page main p, .editorial-page main li { font-size: var(--type-body); line-height: var(--line-body); }
  .editorial-page main .page-prose { max-width: 76ch; }
  .editorial-page main .page-prose > :first-child { margin-top: 0; }
  .editorial-page main :is(.page-prose, .journal-prose) h2 { margin: 32px 0 16px; }
  .editorial-page main :is(.page-prose, .journal-prose) p + p { margin-top: 16px; }
  .editorial-page main :is(.directory-section-heading, .hub-results-heading, .journal-section-heading) {
    gap: 20px; margin: 0 0 24px; align-items: end;
  }
  .editorial-page main :is(.directory-section-heading, .hub-results-heading) h2 { margin: 8px 0 0; }
  .editorial-page main > section,
  .editorial-page main :is(.hub-results, .hub-city-directory, .journal-related, .journal-reading-layout) { margin-top: var(--space-section); }
  .editorial-page main :is(.directory-callout, .hub-advice, .journal-city-strip, .club-submit, .faq-section) {
    padding: var(--space-card); border-radius: var(--radius-card);
    margin-block: var(--space-section); max-width: none;
  }
  .editorial-page main .faq-section > h2 { margin: 12px 0 16px; }
  .editorial-page main .faq-items summary { font-size: var(--type-body); line-height: 1.6; padding-block: 16px; }
  .editorial-page main .faq-items details > p { font-size: var(--type-body); line-height: var(--line-body); }
  .editorial-page main :is(.club-info, .journal-prose section) { margin-block: 0 var(--space-section); }
  .editorial-page main .club-info { padding-top: 24px; }
  .editorial-page main .club-info h2 { margin: 0 0 16px; }
  .editorial-page main :is(.directory-main-grid, .directory-guides, .club-grid, .city-grid, .journal-grid, .journal-related-grid, .hub-place-grid) { gap: var(--space-grid); }

  /* Cards retain their purpose but share typography, corners and inner spacing. */
  .editorial-page main :is(.directory-tile, .club-card, .city-card, .club-contact, .planner-form, .journal-toc, .journal-takeaway) {
    padding: var(--space-card); border-radius: var(--radius-card);
  }
  .editorial-page main :is(.journal-card, .gallery-grid > a) { border-radius: var(--radius-card); }
  .editorial-page main :is(.journal-card-copy, .journal-grid > .journal-card:not(.journal-featured) .journal-card-copy) { padding: var(--space-card); }
  .editorial-page main :is(.directory-tile, .club-card, .city-card, .journal-card-copy, .directory-guides, .club-contact, .planner-form, .gallery-grid) :is(h2, h3),
  .editorial-page main .journal-grid > .journal-card:not(.journal-featured) h2 {
    font-size: var(--type-card); line-height: 1.3; letter-spacing: -.02em; margin-block: 12px;
  }
  .editorial-page main .club-card h3 { margin: 4px 0 0; }
  .editorial-page main :is(.directory-tile, .club-card, .city-card, .journal-card-copy, .directory-guides, .club-contact) p { font-size: 14px; line-height: var(--line-body); }
  .editorial-page main .directory-icon { margin-bottom: 24px; }
  .editorial-page main .club-card > p { margin: 20px 0; }
  .editorial-page main :is(.club-card-action, .directory-tile-link, .journal-read) { font-size: 13px; line-height: 1.5; }
  .editorial-page main .city-card h2 { margin-top: 24px; }
  .editorial-page main :is(.hub-data-note, .club-data-note, .journal-editorial-note, .club-source, .journal-sources p, .journal-sources li, .planner-privacy, .planner-estimate) {
    font-size: var(--type-small); line-height: var(--line-body);
  }

  /* Common controls across all content pages, without resizing the map toolbar. */
  .editorial-page main .button { min-height: 48px; padding: 12px 18px; border-radius: var(--radius-control); font-size: 13px; line-height: 1.5; }
  .editorial-page main .text-button { font-size: 13px; line-height: 1.5; }
  .editorial-page main :is(.club-filter, .planner-form, .hub-city-form, .city-filter) label { font-size: var(--type-small); line-height: 1.5; }
  .editorial-page main :is(.club-filter, .planner-form, .hub-city-form, .city-filter) :is(input, select, textarea) {
    min-height: 48px; border-radius: var(--radius-control); padding: 12px; font-size: 14px; line-height: 1.5;
  }
  .editorial-page main .planner-actions .button { min-height: 40px; padding: 8px 12px; font-size: var(--type-small); }
  .editorial-page main .planner-input-row { align-items: end; }
  .editorial-page main .club-filter { padding: var(--space-card); border-radius: var(--radius-card); gap: 16px; }
  .editorial-page main .club-data-note { margin: 0 0 16px; }
  .editorial-page main .journal-cover { max-width: none; margin: 0; }
  .editorial-page main .journal-cover img { border-radius: var(--radius-card); }
  .editorial-page main .club-profile-hero { align-items: flex-start; }
  .editorial-page main .club-profile-hero > div { min-width: 0; }

  /* Compact place cards use one scale both on the map and in filtered lists. */
  .place-card .card-body h2, .editorial-page main .hub-place-grid .card-body h2 { font-size: 16px; line-height: 1.35; letter-spacing: -.02em; }
  .place-card .card-body .address, .editorial-page main .hub-place-grid .card-body .address { font-size: 12px; line-height: 1.65; }
}
@media screen and (prefers-reduced-motion: reduce) {
  .editorial-page main { animation: none; }
}

/* A small control below results; expanding it exposes direct links to every page. */
.page-navigation { display: block; font-size: 12px; }
.pagination-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pagination-controls > span { white-space: nowrap; }
.pagination-controls > a { min-height: 44px; display: inline-flex; align-items: center; }
.pagination-picker { margin-top: 8px; border: 1px solid #cbd7c4; border-radius: 14px; background: #ffffff80; }
.pagination-picker > summary { padding: 12px 16px; cursor: pointer; font-weight: 650; color: var(--ink); }
.pagination-pages { display: grid; grid-template-columns: repeat(auto-fill,minmax(44px,1fr)); gap: 6px; padding: 0 12px 12px; max-height: 260px; overflow-y: auto; }
.pagination-pages > :is(a,span) { display: flex; min-height: 44px; align-items: center; justify-content: center; border-radius: 9px; background: #fff; text-decoration: none; }
.pagination-pages > [aria-current="page"] { background: var(--ink); color: #fff; font-weight: 750; }
.pagination-pages > a:hover { background: var(--lime); color: var(--ink); }
.pagination-picker > summary:focus-visible, .pagination-pages > a:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }

@media screen and (max-width: 1050px) {
  .editorial-page main :is(.club-hero, .hub-hero) { grid-template-columns: minmax(0, 1fr) 200px; gap: 32px; }
}
@media screen and (max-width: 760px) {
  :root {
    --page-top: 32px; --space-section: 32px; --space-grid: 16px;
    --space-card: 20px; --radius-card: 20px; --type-card: 21px; --type-lead: 15px;
  }
  .editorial-page main { padding-bottom: calc(184px + env(safe-area-inset-bottom)); }
  .editorial-page main :is(.breadcrumbs, .journal-breadcrumb) { margin-bottom: 24px; }
  .editorial-page main :is(.club-hero, .hub-hero) { display: block; }
  .editorial-page main h1 { margin-block: 12px 20px; }
  .editorial-page main .hub-stat { margin-top: 24px; }
  .editorial-page main :is(.directory-section-heading, .hub-results-heading, .journal-section-heading) { margin-bottom: 20px; }
  .editorial-page main :is(.club-filter, .planner-form, .hub-city-form, .city-filter) :is(input, select, textarea) { font-size: 16px; }
  .editorial-page main .journal-reading-layout { margin-top: var(--space-section); }
  .editorial-page main .journal-prose section { margin-top: 32px; }
  .editorial-page main .club-profile-hero > .club-monogram { margin-bottom: 24px; }
  .editorial-page main .club-contact .button { max-width: 100%; white-space: normal; }
}

/* City shortcuts wrap instead of squeezing labels on narrow screens. */
.quick-cities{flex-wrap:wrap}.quick-cities a{white-space:nowrap}
.equipment-section{margin-block:var(--space-section);scroll-margin-top:140px}
.equipment-section>p{max-width:75ch;color:var(--muted);line-height:var(--line-body)}
.equipment-reading{max-width:80ch}
.equipment-reading p,.equipment-reading li{line-height:var(--line-body)}
.equipment-reading li+li{margin-top:12px}
.equipment-checklist{padding-left:22px}
.equipment-planner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--space-grid);align-items:start}
.equipment-planner:has(form[hidden]){grid-template-columns:1fr}
.equipment-planner form[hidden]{display:none}
.equipment-planner .planner-form{display:grid;gap:18px}
.equipment-planner label{display:grid;gap:8px}
.equipment-planner :is(select,input){width:100%;min-width:0;background:#fff;border:1px solid #ccd8c1;color:var(--ink);font:inherit}
.equipment-result{padding:var(--space-card);border-radius:var(--radius-card);border:1px solid #d4e0c6;background:#ecf5dcaa}
.equipment-result h3{margin-top:0}
.equipment-result li{margin:10px 0;line-height:var(--line-body)}
.equipment-result p{font-size:14px;line-height:var(--line-body);color:var(--muted)}
.equipment-advice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-grid)}
.equipment-advice-grid article{padding:var(--space-card);background:#ffffff90;border:1px solid #fff;border-radius:var(--radius-card)}
.equipment-advice-grid article h3{margin-top:0}
.equipment-advice-grid article p{font-size:14px;line-height:var(--line-body);color:var(--muted)}
.equipment-guide-links{display:flex;flex-wrap:wrap;gap:12px;margin-block:var(--space-section)}
.equipment-guide-links a{display:inline-flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid #cbd8bf;border-radius:var(--radius-control);text-decoration:none;font-size:14px;background:#ffffff80}
.equipment-guide-links a:hover{background:var(--lime)}
.equipment-table-scroll{overflow:auto;max-width:100%;border:1px solid #d5dfce;border-radius:var(--radius-card);background:#ffffffa0;margin-top:24px}
.equipment-table{border-collapse:collapse;width:100%;min-width:660px;text-align:left;font-size:14px;line-height:1.6}
.equipment-table caption{text-align:left;padding:16px 20px;font-size:var(--type-small);color:var(--muted)}
.equipment-table th,.equipment-table td{padding:18px 20px;border-top:1px solid #dce4d6;vertical-align:top}
.equipment-table thead{background:#eaf1e2}
.equipment-table thead th{font-size:var(--type-small)}
.equipment-table tbody th{width:35%}
.equipment-table th a{font-weight:700;text-underline-offset:3px}
.equipment-table th a svg{display:inline;vertical-align:middle;width:14px;height:14px}
.equipment-table small{display:block;margin-top:8px;color:var(--muted);font-weight:400;font-size:11px}
.equipment-source-note{font-size:var(--type-small);line-height:var(--line-body);color:var(--muted);margin-top:16px}
.equipment-reading a svg{display:inline;width:14px;height:14px;vertical-align:middle}
.equipment-blog-entry{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-block:32px;padding:var(--space-card);border:1px solid #d8e1cf;border-radius:var(--radius-card);background:#ffffff80}
.equipment-blog-entry h2{margin:8px 0!important;font-size:var(--type-card)!important}
.equipment-blog-entry p{margin:0;color:var(--muted);font-size:14px;line-height:var(--line-body)}
.equipment-blog-entry .button{flex-shrink:0}
@media(max-width:760px){.equipment-planner,.equipment-advice-grid{grid-template-columns:1fr}.equipment-blog-entry{align-items:start;flex-direction:column}.equipment-table th,.equipment-table td{padding:14px 16px}}

/* Equipment directory: the shared page type scale, with compact product cards. */
.catalogue-page{overflow-wrap:anywhere}
.catalogue-subnav{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 32px;font-size:13px;font-weight:700}
.catalogue-subnav a{padding:10px 14px;border-radius:999px;background:#ffffff80;border:1px solid #fff}
.catalogue-subnav a:hover{background:#e7f4cf}
.catalogue-hero{display:flex;align-items:center;gap:40px;justify-content:space-between}
.catalogue-hero>div:first-child{min-width:0;flex:1}
.catalogue-hero h1{max-width:900px}
.catalogue-summary{display:flex;flex-direction:column;gap:6px;padding:30px 36px;border:1px solid #fff;border-radius:28px;min-width:245px;background:linear-gradient(135deg,#e1f8b4,#ffffffb0);box-shadow:0 18px 45px #314b2110;transform:rotate(2deg)}
.catalogue-summary strong{font-size:42px;line-height:1.1;letter-spacing:-2px}.catalogue-summary span{font-size:15px;font-weight:700}.catalogue-summary small{color:var(--muted);font-size:12px}
.catalogue-categories{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}
.catalogue-categories a{display:flex;align-items:center;gap:9px;padding:10px 14px;min-height:44px;background:#ffffff80;border:1px solid #dce5d7;border-radius:15px;font-size:13px;font-weight:700;transition:background .16s,transform .16s}
.catalogue-categories a span{font-size:11px;opacity:.7;font-weight:500}.catalogue-categories a[aria-current=page]{background:var(--ink);color:#fff;border-color:var(--ink)}.catalogue-categories a:hover{transform:translateY(-2px)}
.catalogue-filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px;padding:22px;background:#f9fcf1b8;border:1px solid #fff;border-radius:24px;backdrop-filter:blur(14px)}
.catalogue-filters label,.catalogue-direct-compare label{display:flex;flex:1;flex-direction:column;gap:8px;font-size:12px;font-weight:750;min-width:150px}
.catalogue-filters input,.catalogue-filters select,.catalogue-direct-compare select{width:100%;min-width:0;height:48px;border:1px solid #cddcc4;border-radius:13px;background:#fff;padding:10px 12px;color:var(--ink);font:inherit;font-size:14px;font-weight:500}
.catalogue-filters input:focus,.catalogue-filters select:focus,.catalogue-direct-compare select:focus{outline:3px solid #b0d87c;outline-offset:2px}
.catalogue-filters .catalogue-search{flex:2;min-width:245px}.catalogue-search>span{position:relative}.catalogue-search input{padding-left:39px}.catalogue-search svg{position:absolute;left:13px;top:15px;width:18px;height:18px;color:var(--muted)}
.catalogue-filters .button{height:48px;min-height:48px}.catalogue-filters>.text-button{font-size:12px;min-height:48px;padding:6px}
.catalogue-results-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:26px 0 16px;font-size:14px}.catalogue-results-heading p{margin:0}.catalogue-results-heading>span{color:var(--muted);font-size:12px}
.catalogue-page .catalogue-results-heading h2{font-size:20px;line-height:1.4;letter-spacing:-.3px;margin:0}
.catalogue-results-heading .text-button{font-size:12px;flex-shrink:0;min-height:44px}
.catalogue-sort-note,.catalogue-scope{font-size:13px;color:var(--muted);line-height:1.6}
.catalogue-sort-note{margin:-8px 0 20px}.catalogue-scope{margin:12px 0}
.catalogue-scope a,.catalogue-brand-context a{text-decoration:underline;text-underline-offset:3px}
.catalogue-page .catalogue-brand-context{max-width:760px;padding:16px 20px;border-left:3px solid #bfdc97;background:#ffffff60;border-radius:0 15px 15px 0;font-size:14px;line-height:1.7;margin:20px 0}
.catalogue-brand-context small{display:block;font-size:12px;color:var(--muted);margin-top:5px}
.catalogue-brand-context svg{width:14px;height:14px;vertical-align:middle}
#produkte-ergebnisse,#produkte-finden,#hub-results{scroll-margin-top:120px}
#produkte-ergebnisse:focus,#hub-results:focus{outline:none}
@media(max-width:700px){#produkte-ergebnisse,#produkte-finden,#hub-results{scroll-margin-top:92px}.catalogue-results-heading{flex-wrap:wrap;gap:4px}.catalogue-page .catalogue-results-heading h2{font-size:18px}.catalogue-page .catalogue-brand-context{padding:12px 15px;font-size:13px}}
.catalogue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.catalogue-card{display:flex;flex-direction:column;min-width:0;background:#ffffffba;border:1px solid #fff;border-radius:24px;overflow:hidden;transition:transform .18s,box-shadow .18s}
.catalogue-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px #18342e12}.catalogue-card-main{display:flex;flex-direction:column;flex:1;min-width:0}.catalogue-card-main:focus-visible{outline:3px solid #648d3c;outline-offset:-4px;border-radius:24px}
.catalogue-card-visual{display:flex;align-items:center;justify-content:space-between;height:100px;padding:20px;margin:10px 10px 0;border-radius:18px;background:radial-gradient(circle at 90% 0,#dbf7ae,transparent 75%),linear-gradient(140deg,#eef4e9,#f6f8f2);position:relative;overflow:hidden}
.catalogue-card-visual>span{display:grid;place-items:center;width:56px;height:56px;background:#ffffff8a;border:1px solid #fff;border-radius:17px;transform:rotate(-7deg);color:#385b39}.catalogue-card-visual svg{width:28px;height:28px;stroke-width:1.5}.catalogue-card-visual small{font-size:11px;color:#547042;max-width:90px;text-align:right}
.catalogue-card-copy{padding:20px;display:flex;flex-direction:column;flex:1;gap:12px}.catalogue-card .eyebrow{font-size:10px;letter-spacing:1px;margin:0}.catalogue-card h2{font-size:17px;line-height:1.4;letter-spacing:-.3px;margin:0;min-height:48px}.catalogue-card dl{font-size:11px;margin:0;color:var(--muted);display:grid;gap:6px}.catalogue-card dl>div{display:flex;justify-content:space-between;gap:10px}.catalogue-card dd{margin:0;color:var(--ink);text-align:right;max-width:60%}.catalogue-card-link{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:750;margin-top:auto;padding-top:10px}.catalogue-card-link svg{width:16px;height:16px}
.catalogue-compare-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:12px;font-weight:700;border:1px solid #dce5d7;border-radius:12px;margin:0 16px 16px;padding:9px 14px;background:#f6faef}.catalogue-compare-button svg{width:16px;height:16px}.catalogue-compare-button[aria-pressed=true]{background:#d9f79b;border-color:#a4cf58}.catalogue-compare-button:focus-visible{outline:3px solid #648d3c;outline-offset:2px}
.catalogue-missing,.catalogue-note{font-size:12px!important;color:var(--muted);line-height:1.75}.catalogue-note{margin:22px 0}.catalogue-brands{display:flex;flex-wrap:wrap;gap:10px}.catalogue-brands a{font-size:13px;min-height:44px;padding:12px 15px;border:1px solid #dce5d7;border-radius:13px;background:#ffffff60}.catalogue-brands span{margin-left:5px;color:var(--muted);font-size:11px}
.catalogue-empty{padding:40px;border:1px solid #fff;border-radius:24px;background:#ffffff80;margin:20px 0}.catalogue-advice{max-width:820px}
.catalogue-product-hero{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:center;margin:32px 0 50px}.catalogue-product-hero h1{font-size:clamp(30px,3vw,48px);line-height:1.15;letter-spacing:-1.4px;margin:14px 0 20px;max-width:900px}.catalogue-product-summary{font-size:15px;color:var(--muted);line-height:1.8}
.catalogue-product-symbol{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;min-height:260px;border-radius:32px;border:1px solid #fff;background:radial-gradient(circle at 100% 0,#d5f48e,transparent 90%),#eaf3e1;box-shadow:0 20px 50px #32432b0a}.catalogue-product-symbol svg{width:86px;height:86px;stroke-width:1;transform:rotate(-9deg)}.catalogue-product-symbol span{font-size:12px;font-weight:750;letter-spacing:1px;text-transform:uppercase}
.catalogue-product-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}.catalogue-product-actions .catalogue-compare-button{margin:0;min-height:48px}
.catalogue-detail-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px}.catalogue-detail-columns>.equipment-section{margin-top:0}.catalogue-specs{margin:20px 0}.catalogue-specs>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid #dce5d7;font-size:14px}.catalogue-specs dt{color:var(--muted)}.catalogue-specs dd{margin:0;font-weight:650}.catalogue-source-details{font-size:13px;line-height:1.8;margin-top:28px}.catalogue-source-details summary{font-weight:750;cursor:pointer;min-height:44px;padding:12px 0}.catalogue-source-details p{font-size:13px}.catalogue-choice{background:#eff6e4a0;border:1px solid #fff;padding:28px;border-radius:26px;align-self:start}.catalogue-choice .text-button{display:flex;justify-content:space-between;margin-top:14px;font-size:13px;min-height:44px}.catalogue-choice li{margin:12px 0;font-size:14px;line-height:1.75}
.catalogue-direct-compare{display:flex;flex-wrap:wrap;align-items:end;gap:16px;padding:22px;background:#ffffff90;border:1px solid #fff;border-radius:22px;margin:24px 0}.catalogue-direct-compare label{min-width:0;flex:1 1 260px}.catalogue-direct-compare .button{min-height:48px}.catalogue-comparison th:first-child{min-width:155px}.catalogue-comparison th:not(:first-child){min-width:220px;max-width:330px}
.catalogue-compare-tray{position:fixed;bottom:112px;left:50%;transform:translateX(-50%);z-index:45;width:min(740px,calc(100vw - 32px));display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:16px 20px;border:1px solid #fff;border-radius:24px;background:#f7fbedf5;backdrop-filter:blur(24px);box-shadow:0 10px 50px #18342e28}.catalogue-compare-tray>div{flex:1;min-width:150px}.catalogue-compare-tray strong{display:block;font-size:13px}.catalogue-compare-tray span{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;color:var(--muted);margin-top:5px}.catalogue-compare-tray .button{font-size:13px;min-height:44px;padding:12px 16px}.catalogue-compare-tray p{flex-basis:100%;font-size:12px;margin:0}.catalogue-compare-tray p:empty{display:none}.catalogue-selection-status{position:fixed;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}
.catalogue-compare-tray[hidden],.catalogue-compare-button[hidden]{display:none!important}
.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.shop-card{padding:26px;background:#ffffffa8;border:1px solid #fff;border-radius:25px;display:flex;flex-direction:column;gap:12px}.shop-card h2{font-size:21px;line-height:1.3;margin:0}.shop-card p{font-size:14px;line-height:1.75;margin:0;color:var(--muted)}.shop-card .text-button{font-size:13px;margin-top:auto}.shop-card .eyebrow{margin:0}.shop-services{display:flex;gap:7px;flex-wrap:wrap}.shop-services span{font-size:11px;padding:6px 9px;background:#edf6df;border-radius:9px}.shop-address{font-style:normal;font-size:15px;line-height:1.8}.shop-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;padding:0}.shop-service-list li{padding:15px;border:1px solid #fff;border-radius:14px;background:#ffffff80;font-size:14px}
@media(max-width:1150px){.catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalogue-summary{min-width:210px;padding:26px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.catalogue-hero{display:block}.catalogue-summary{display:none}.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.catalogue-product-hero{grid-template-columns:170px minmax(0,1fr);gap:24px}.catalogue-product-symbol{min-height:210px}.catalogue-detail-columns{grid-template-columns:1fr;gap:20px}.catalogue-compare-tray{bottom:155px}.catalogue-filters .catalogue-search{flex-basis:100%}}
@media(max-width:520px){.catalogue-subnav{gap:6px;margin:20px 0}.catalogue-subnav a{font-size:11px;padding:10px}.catalogue-categories{flex-wrap:nowrap;overflow:auto;margin:24px -2px;padding:2px 2px 9px;max-width:100%}.catalogue-categories a{flex-shrink:0;font-size:12px}.catalogue-filters{padding:16px;gap:12px}.catalogue-filters label{min-width:115px}.catalogue-filters .catalogue-search{min-width:0}.catalogue-filters>.button{flex:1}.catalogue-grid{gap:12px}.catalogue-card{border-radius:19px}.catalogue-card-visual{height:75px;padding:12px;margin:7px 7px 0;border-radius:14px}.catalogue-card-visual>span{width:42px;height:42px;border-radius:13px}.catalogue-card-visual small{display:none}.catalogue-card-copy{padding:13px;gap:10px}.catalogue-card h2{font-size:14px;line-height:1.45;min-height:61px}.catalogue-card dl>div{display:block}.catalogue-card dd{text-align:left;max-width:none}.catalogue-card dt{font-size:10px}.catalogue-card-link{font-size:11px}.catalogue-compare-button{margin:0 10px 12px;font-size:11px;padding:8px;gap:6px}.catalogue-product-hero{display:block;margin:26px 0}.catalogue-product-symbol{min-height:135px;flex-direction:row;gap:32px;margin-bottom:28px;border-radius:24px}.catalogue-product-symbol svg{width:65px;height:65px}.catalogue-product-hero h1{font-size:30px;letter-spacing:-.8px}.catalogue-choice{padding:22px}.catalogue-specs>div{font-size:13px;gap:12px}.catalogue-compare-tray{bottom:152px;padding:14px;gap:10px;border-radius:20px}.catalogue-compare-tray>div{flex-basis:100%}.catalogue-compare-tray .button{flex:1}.catalogue-compare-tray .text-button{font-size:12px}.catalogue-brands{gap:7px}.catalogue-brands a{font-size:12px;padding:10px}.shop-grid{grid-template-columns:1fr}.shop-service-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.catalogue-card,.catalogue-categories a{transition:none}.catalogue-card:hover,.catalogue-categories a:hover{transform:none}}

/* Keep discovery controls close to the title and the first results. */
.editorial-page main.catalogue-page>.breadcrumbs{margin-bottom:18px}
.catalogue-page>.catalogue-subnav{margin:0 0 24px}
.editorial-page main.catalogue-page>.catalogue-hero{margin-bottom:20px}
.catalogue-hero h1{margin-top:12px!important;margin-bottom:18px!important}
.catalogue-categories{margin:20px 0;flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 8px}
.catalogue-categories>a{flex-shrink:0}
.catalogue-filters{padding:18px}
.catalogue-subnav [aria-current=page]{background:#e3f2cd}
@media(max-width:520px){
 .catalogue-compare-tray{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;padding:12px;gap:10px}
 .catalogue-compare-tray>div{min-width:0}
 .catalogue-compare-tray strong{font-size:11px;line-height:1.5}
 .catalogue-compare-tray span,.catalogue-compare-tray p{display:none}
 .catalogue-compare-tray .button{padding:10px;font-size:12px}
}
/* Card titles keep the card scale instead of inheriting section-heading size. */
.editorial-page main .catalogue-card h2{font-size:18px;line-height:1.4;letter-spacing:-.3px}
.editorial-page main .shop-card h2{font-size:21px;line-height:1.3}
.editorial-page main .catalogue-note{font-size:12px;line-height:1.7}
.editorial-page main .catalogue-compare-tray p{font-size:12px;line-height:1.5}
@media(max-width:520px){.editorial-page main .catalogue-card h2{font-size:14px;line-height:1.45}}
/* Product photographs reserve space and preserve the full product silhouette. */
.catalogue-card-visual.has-product-photo{display:block;position:relative;height:205px;padding:20px;background:#fff;border:1px solid #f1f3ec;overflow:hidden}
.has-product-photo .product-photo{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.catalogue-card-visual.has-product-photo small{position:absolute;bottom:10px;right:12px;padding:4px 7px;border-radius:7px;background:#f3f7ebeb;font-size:9px}
.catalogue-product-hero:has(.has-product-photo){grid-template-columns:minmax(0,400px) minmax(0,1fr);align-items:start}
.catalogue-product-symbol.has-product-photo{display:block;position:relative;aspect-ratio:1;height:auto;min-height:0;padding:28px;background:#fff;overflow:hidden}
.catalogue-product-symbol.has-product-photo>span{position:absolute;bottom:14px;left:0;width:100%;text-align:center;font-size:10px;color:var(--muted)}
.equipment-table .product-photo{display:block;width:100px;height:100px;object-fit:contain;background:#fff;padding:8px;margin:0 0 14px;border-radius:12px}
@media(max-width:800px){.catalogue-product-hero:has(.has-product-photo){grid-template-columns:280px minmax(0,1fr)}.catalogue-card-visual.has-product-photo{height:190px}}
@media(max-width:520px){.catalogue-product-hero:has(.has-product-photo){display:block}.catalogue-product-symbol.has-product-photo{height:270px;aspect-ratio:auto;padding:24px;margin-bottom:26px}.catalogue-card-visual.has-product-photo{height:145px;padding:12px}.catalogue-card-visual.has-product-photo small{display:none}}

/* Discovery, selection and personal equipment use the same page rhythm and type scale. */
.product-discovery{margin:var(--space-section) 0 48px}.discovery-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.discovery-heading h2{margin:8px 0 0!important}.discovery-heading>.text-button{flex-shrink:0}.discovery-intents,.finder-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-grid)}
.discovery-intent{display:flex;flex-direction:column;padding:24px;background:#ffffffb5;border:1px solid white;border-radius:var(--radius-card);min-width:0;transition:transform .16s,background .16s}.discovery-intent:hover{background:white;transform:translateY(-3px)}.discovery-intent h3{font-size:var(--type-card);line-height:1.3;letter-spacing:-.03em;margin:20px 0 10px}.discovery-intent p{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 20px}.discovery-intent>strong{display:flex;align-items:center;justify-content:space-between;font-size:14px;margin-top:auto}.discovery-intent-photo{position:relative;background:#f2f6ed;border-radius:18px;display:flex;align-items:center;justify-content:center;height:190px;padding:18px}.discovery-intent-photo img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.discovery-intent-photo>span{position:absolute;left:14px;top:12px;background:#fafff4;font-size:12px;font-weight:700;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}
.discovery-finder-banner{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#e4f5ba;border:1px solid #d3e8ab;border-radius:var(--radius-card);padding:32px;margin:32px 0}.discovery-finder-banner h2{font-size:var(--type-card)!important;margin:8px 0 12px!important}.discovery-finder-banner p{font-size:14px;line-height:1.7;margin:0;max-width:60ch}.discovery-finder-banner>.button{flex-shrink:0}.discovery-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.discovery-category-grid>a{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #dce5d4;border-radius:20px;background:#ffffffa8;min-width:0}.discovery-category-grid>a:hover{background:white;border-color:#aac18d}.discovery-category-grid img{width:66px;height:66px;object-fit:contain;flex-shrink:0}.discovery-category-grid span{flex:1;min-width:0}.discovery-category-grid strong{display:block;font-size:15px}.discovery-category-grid small{display:block;margin-top:6px;font-size:12px;color:var(--muted)}.discovery-category-grid svg{width:18px;flex-shrink:0}.catalogue-anchor{scroll-margin-top:130px}
.equipment-save-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid #cad9bf;border-radius:14px;background:#fff;padding:10px 14px;color:var(--ink);font-size:13px;font-weight:650;cursor:pointer}.equipment-save-button[aria-pressed=true]{background:#e3f5b9;border-color:#a3bd77}.equipment-save-button[aria-pressed=true] svg{fill:currentColor}.equipment-save-button:disabled{opacity:.55;cursor:wait}.equipment-save-button svg{width:17px;height:17px}.equipment-save-button[hidden]{display:none}.catalogue-card-buttons{display:flex;gap:8px;padding:0 15px 18px;margin-top:auto;flex-wrap:wrap}.catalogue-card-buttons .catalogue-compare-button{margin:0;flex:1;padding:10px;font-size:12px;min-height:42px}.catalogue-card-buttons .equipment-save-button{flex:1;padding:10px;font-size:12px}.catalogue-product-actions{flex-wrap:wrap}.product-variants{max-width:900px}.product-variants nav{display:flex;flex-wrap:wrap;gap:10px}.product-variants nav a{padding:10px;border:1px solid #cbd9bf;border-radius:12px;font-size:13px}.product-variants nav [aria-current=page]{background:#e4f5ba}
.finder-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:32px;background:#ffffffa8;border:1px solid white;border-radius:var(--radius-card)}.finder-form>label{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px 12px;align-content:start;font-size:15px;font-weight:650;line-height:1.6;min-width:0}.finder-question-number{font-size:12px;background:#e4f5ba;width:30px;height:30px;border-radius:50%;display:grid;place-items:center}.finder-form select{grid-column:1/-1;width:100%;max-width:100%;min-width:0;min-height:50px;padding:12px;border:1px solid #cad9bf;border-radius:12px;background:white;color:var(--ink);font:inherit;font-weight:450;font-size:14px}.finder-submit{display:flex;flex-direction:column;justify-content:flex-end;align-items:start;gap:10px}.finder-submit p{font-size:12px;line-height:1.65;margin:0;color:var(--muted)}.finder-note{padding:16px 20px;border-left:3px solid #a3bc7b;border-radius:0 12px 12px 0;background:#eaf4dc;font-size:14px}.finder-result-card{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid white;border-radius:var(--radius-card);background:#ffffffbb}.finder-result-card>a>img{display:block;width:100%;height:200px;object-fit:contain;margin-bottom:20px}.finder-result-card h3{font-size:var(--type-card);line-height:1.35;letter-spacing:-.025em;margin:8px 0 20px}.finder-result-card h4{font-size:14px;margin:12px 0 6px}.finder-result-card p,.finder-result-card li{font-size:13px;line-height:1.75;color:#53694f}.finder-result-card ul{padding-left:19px;margin:6px 0 16px}.finder-result-card li{margin:6px 0}.finder-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:20px;flex-wrap:wrap}.finder-card-actions .text-button{font-size:13px}.finder-results>.button{margin-top:24px}.finder-results{scroll-margin-top:130px}
.editorial-product-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0}.editorial-product-pair article{background:#ffffffb8;border:1px solid #fff;border-radius:var(--radius-card);padding:28px}.editorial-product-pair img{display:block;width:100%;height:240px;object-fit:contain}.editorial-product-pair h2{font-size:var(--type-card)!important;margin:24px 0!important}.editorial-comparison-link{display:grid;grid-template-columns:1fr auto;gap:10px 20px;padding:24px;background:#ffffffa8;border:1px solid #dce5d4;border-radius:20px;margin:16px 0}.editorial-comparison-link span{grid-column:1;font-size:14px;line-height:1.7;color:var(--muted)}.editorial-comparison-link svg{grid-column:2;grid-row:1/3;align-self:center}
.account-sections{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 32px}.account-sections a{display:inline-flex;align-items:center;gap:8px;border-radius:14px;background:#ffffffa8;border:1px solid #dce5d4;padding:12px 16px;font-size:14px;min-height:44px}.account-sections svg{width:18px;height:18px}.account-sections a[aria-current=page]{background:var(--ink);color:white;border-color:var(--ink)}.setup-kind{display:flex;flex-wrap:wrap;gap:20px;border:0;padding:0;margin:24px 0}.setup-kind legend{font-size:14px;font-weight:650;margin-bottom:12px}.setup-kind label{display:flex;gap:8px;align-items:center;font-size:14px}.setup-kind input{width:auto;accent-color:var(--ink)}.setup-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.setup-fields label{display:flex;flex-direction:column;gap:10px;font-size:14px;font-weight:650;min-width:0}.setup-fields label[hidden]{display:none}.setup-fields select{width:100%;min-width:0;border:1px solid #cad9bf;border-radius:12px;min-height:50px;padding:10px;background:#fff;color:var(--ink);font:inherit;font-weight:450}.setup-fields a{font-size:12px;font-weight:450;text-decoration:underline}.setup-fields a svg{width:12px;height:12px;vertical-align:middle}.setup-consent{margin:28px 0;font-size:14px;line-height:1.7}.setup-consent input{flex-shrink:0;width:18px;height:18px}.setup-consent span{min-width:0}.setup-consent strong{font-weight:650}.saved-equipment-grid,.saved-club-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.saved-equipment-grid article,.saved-club-grid article{padding:22px;border:1px solid #fff;border-radius:var(--radius-card);background:#ffffffbf;min-width:0}.saved-equipment-grid img{width:100%;height:150px;object-fit:contain}.saved-equipment-grid h3,.saved-club-grid h3{font-size:18px;line-height:1.45;margin:16px 0}.saved-equipment-grid .text-button,.saved-club-grid .text-button{font-size:12px;text-decoration:underline;min-height:44px}.public-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.public-setup-grid a{display:flex;gap:16px;align-items:center;padding:14px;background:#f5f8ef;border-radius:18px}.public-setup-grid img{width:80px;height:90px;object-fit:contain}.public-setup-grid span{min-width:0}.public-setup-grid small,.public-setup-grid strong{display:block;line-height:1.5}.public-setup-grid small{margin-bottom:5px;color:var(--muted)}.merchant-offers article{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px;background:white;border:1px solid #dce5d4;border-radius:20px}.merchant-offers article>p{flex-basis:100%}.merchant-offers small{font-size:12px}
@media(max-width:1000px){.discovery-intents,.finder-result-grid{gap:16px}.discovery-intent,.finder-result-card{padding:20px}.discovery-intent-photo{height:150px}.discovery-finder-banner{align-items:start;flex-direction:column}.discovery-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-equipment-grid,.saved-club-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.discovery-heading{align-items:start;flex-direction:column;gap:12px}.discovery-intents,.finder-result-grid{grid-template-columns:1fr}.discovery-intent-photo{height:160px}.discovery-intent h3{font-size:22px}.discovery-finder-banner{padding:24px;margin:24px 0}.discovery-category-grid>a{flex-direction:column;align-items:start;padding:16px;gap:10px}.discovery-category-grid>a>svg{display:none}.discovery-category-grid img{height:76px;width:100%}.discovery-category-grid strong{font-size:14px}.finder-form{padding:22px;grid-template-columns:1fr;gap:24px}.finder-form>label{font-size:14px}.finder-submit>.button{width:100%}.finder-result-card{padding:24px}.finder-result-card>a>img{height:190px}.editorial-product-pair{gap:12px}.editorial-product-pair article{padding:16px;border-radius:20px}.editorial-product-pair img{height:140px}.editorial-product-pair h2{font-size:17px!important}.account-sections{gap:6px}.account-sections a{font-size:12px;padding:10px}.account-sections svg{width:15px;height:15px}.setup-fields{grid-template-columns:1fr}.saved-equipment-grid,.saved-club-grid{grid-template-columns:1fr}.public-setup-grid{grid-template-columns:1fr}.catalogue-card-buttons{padding:0 10px 14px;gap:6px}.catalogue-card-buttons .catalogue-compare-button,.catalogue-card-buttons .equipment-save-button{font-size:11px;padding:8px;min-width:0}.equipment-account-page .directory-hero h1{font-size:36px}.product-variants{margin-top:36px}}
@media(prefers-reduced-motion:reduce){.discovery-intent{transition:none}.discovery-intent:hover{transform:none}}
.setup-consent{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f0f6e7;border-radius:14px}.setup-consent input{margin-top:4px}.club-profile-researched> .equipment-save-button{margin:0 0 20px}
/* Product discovery, continued saves and account adoption. */
.directory-home .directory-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-equipment-tile{background:linear-gradient(135deg,#ecf8d1,#f8fbf3)}.directory-equipment-tile h2 a{color:inherit}.directory-equipment-links{margin-top:auto;display:flex;flex-wrap:wrap;gap:18px;align-items:center}.directory-equipment-links .directory-tile-link{margin:0}.directory-equipment-links .text-button{font-size:14px}
.equipment-save-notice,.signin-save-intent{border:1px solid #b7ce9c;background:#eef8dc;border-radius:20px;padding:20px;margin:16px 0 28px}.equipment-save-notice{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.equipment-save-notice p{flex:1;min-width:190px;margin:0}.signin-save-intent[hidden]{display:none}.signin-save-intent p{font-size:14px;margin:10px 0}.signin-save-intent .text-button{font-size:13px}
.setup-start{padding:28px;border:1px solid #d4e3c6;border-radius:26px;background:#f5faec;margin-bottom:28px}.setup-start h2{font-size:26px;line-height:1.2;margin:12px 0}.setup-start p{color:var(--muted);line-height:1.6}.setup-steps{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.setup-steps li{display:flex;gap:12px}.setup-steps li>span{flex:0 0 30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e1e9d7;font-weight:700}.setup-steps .is-done>span{background:#d6f58d}.setup-steps strong{font-size:14px}.setup-steps p{font-size:13px;margin:7px 0}.setup-product-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.setup-product-actions .button{padding:10px 12px;font-size:12px;min-height:42px}.setup-ready{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px;padding:24px;background:#edf6dd;border-radius:22px}.setup-ready>svg{flex:0 0 24px}.setup-ready p{font-size:14px;color:var(--muted);margin:10px 0 0}.setup-fields select:disabled{opacity:.65}.setup-panel form,#gemerkte-produkte{scroll-margin-top:130px}
.adoption-page{max-width:1320px}.adoption-page #adoption-login{max-width:560px;display:grid;gap:16px}.adoption-page #adoption-login[hidden],.adoption-page #adoption-panel[hidden]{display:none}.adoption-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin-bottom:26px}.adoption-toolbar label{display:grid;gap:8px;font-size:14px;font-weight:650}.adoption-toolbar select{min-height:46px;border-radius:14px;padding:10px;border:1px solid #c9d9bd;background:#fff;color:var(--ink)}.adoption-period{font-size:13px;color:var(--muted)}.adoption-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.adoption-metrics article{background:#fbfdf7;border:1px solid #d5e2cb;padding:24px;border-radius:22px;min-width:0}.adoption-metrics h2{font-size:16px!important;margin:0 0 16px!important}.adoption-metrics strong{font-size:42px;line-height:1.1}.adoption-metrics p{font-size:13px;color:var(--muted);line-height:1.6}.adoption-metrics small{font-size:12px}.adoption-note{background:#edf4e2;border-radius:22px;padding:24px;margin:28px 0}.adoption-note h2{font-size:20px!important;margin:0 0 14px!important}.adoption-note p{font-size:14px;line-height:1.7}.adoption-daily summary{font-weight:700;cursor:pointer;padding:16px 0}.adoption-daily .equipment-table{font-size:13px}.adoption-daily th{white-space:nowrap}.adoption-page .account-panel input{min-width:0;width:100%;min-height:46px;border:1px solid #c9d9bd;border-radius:14px;padding:12px}
@media(max-width:760px){.directory-home .directory-main-grid{grid-template-columns:1fr}.directory-equipment-links{align-items:flex-start;flex-direction:column}.setup-steps{grid-template-columns:1fr}.setup-start{padding:22px}.setup-start h2{font-size:22px}.setup-ready{padding:20px}.adoption-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.adoption-metrics article{padding:18px}.adoption-metrics strong{font-size:32px}.adoption-metrics h2{font-size:14px!important}.adoption-toolbar{gap:12px}.adoption-toolbar .button{padding:12px}.adoption-note{padding:20px}}
@media(max-width:420px){.adoption-metrics{grid-template-columns:1fr}}

.catalogue-match-reason{font-size:.875rem;line-height:1.5;color:var(--muted);padding-top:.75rem;border-top:1px solid var(--line);margin:.75rem 0}
@media(max-width:760px){.catalogue-card-buttons{display:grid;grid-template-columns:1fr}.catalogue-card-buttons .catalogue-compare-button,.catalogue-card-buttons .equipment-save-button{min-height:44px;white-space:nowrap;overflow-wrap:normal;word-break:normal}.catalogue-card-buttons svg{flex-shrink:0}}

/* Contribution controls stay within the form; selected photos remain local until submit. */
.contribution-photo-preview{display:flex;gap:14px;align-items:center;background:#eef4e6;border-radius:16px;padding:14px;margin:12px 0 22px}
.contribution-photo-preview[hidden],[data-observation-details][hidden]{display:none}
.contribution-photo-preview img{width:100px;height:80px;object-fit:cover;border-radius:10px;flex-shrink:0}
.contribution-photo-preview>div{min-width:0}.contribution-photo-preview span{display:block;overflow-wrap:anywhere;font-size:13px;font-weight:700}
.contribution-photo-preview small{display:block;color:var(--muted,#5e7465);font-size:12px;margin:5px 0}.contribution-photo-preview button,.observation-today{min-height:44px}
[data-photo-error]:empty{display:none}

/* Club discovery starts with a working search, with optional filters underneath. */
.editorial-page main.club-directory-page .club-search-hero { margin-bottom: 16px; }
.editorial-page main.club-directory-page .club-search-first { display: block; margin-top: 24px; padding: 20px; }
.club-search-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 12px; }
.club-search-row > .button { min-height: 48px; }
.club-search-options { margin-top: 8px; }
.club-search-options > summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; gap: 12px; cursor: pointer; list-style: none; font-size: 13px; font-weight: 650; }
.club-search-options > summary::-webkit-details-marker { display: none; }
.club-search-options[open] > summary svg { transform: rotate(180deg); }
.club-search-options > summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; border-radius: 6px; }
.club-search-selects { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: 8px 0 12px; }
.club-search-selects > button { grid-column: 1 / -1; justify-self: start; min-height: 44px; }
.editorial-page main .club-search-scope { margin: 0; font-size: var(--type-small); color: var(--muted); }
.club-search-scope a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; font-weight: 650; }
.club-search-help { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-bottom: 24px; }
.club-search-help a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 13px; color: var(--muted); }
.club-search-help a:hover { color: var(--ink); text-decoration: underline; }
@media screen and (max-width:760px) {
 .editorial-page main.club-directory-page .club-search-first { padding: 16px; margin-top: 20px; }
 .club-search-first .club-search-row > label { grid-column: auto; }
 .club-search-first .club-search-row > .button { grid-column: auto; width: auto; padding-inline: 14px; }
 .club-search-selects { grid-template-columns: 1fr; }
 .club-search-help { gap: 0 16px; }
}

#club-results { scroll-margin-top: 120px; }
/* Native search-result anchors focus the region; its links keep their own focus rings. */
#club-results:focus { outline: none; }
.club-data-note a, .club-directory-page .hub-empty > a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 650; text-decoration: underline; }
.journal-comparison { max-width: 100%; overflow-x: auto; margin: 24px 0; border: 1px solid #d5dfce; border-radius: 18px; background: #ffffffa0; }
.journal-comparison:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.journal-comparison table { width: 100%; min-width: 520px; border-collapse: collapse; text-align: left; font-size: 14px; line-height: 1.65; }
.journal-comparison caption { padding: 16px; text-align: left; color: var(--muted); font-size: 13px; }
.journal-comparison th, .journal-comparison td { padding: 16px; vertical-align: top; border-top: 1px solid #d5dfce; }
.journal-comparison thead { background: #eaf1e2; }
.journal-comparison tbody th { width: 24%; }
@media(max-width:600px) {
 .journal-comparison table { min-width: 0; }
 .journal-comparison thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
 .journal-comparison tbody, .journal-comparison tr, .journal-comparison th, .journal-comparison td { display: block; }
 .journal-comparison tbody th { width: auto; background: #eaf1e2; }
 .journal-comparison td { border-top: 0; padding-block: 10px; }
 .journal-comparison td::before { content: attr(data-label); display: block; margin-bottom: 4px; font-weight: 700; }
}
.club-result-actions { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.club-result-actions a { display: inline-flex; align-items: center; min-height: 44px; }
@media(max-width:760px) { #club-results { scroll-margin-top: 92px; } }

/* Local search guides share the editorial type scale and existing place cards. */
.local-search-links { margin: 28px 0; }
.local-search-links>.eyebrow { display: block; margin-bottom: 12px; }
.local-search-links>div { display: flex; flex-wrap: wrap; gap: 10px; }
.local-search-links a { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 16px; border: 1px solid #dce6d5; border-radius: 16px; background: #ffffff90; font-size: 14px; font-weight: 700; }
.local-search-links a:hover { background: #e8f5d5; }
.local-search-links svg { width: 18px; height: 18px; flex-shrink: 0; }
.local-search-guide .hub-hero .button { margin-top: 24px; }
.local-guide-jumps,.local-guide-related { display: flex; flex-wrap: wrap; gap: 10px 22px; padding: 20px 0; border-block: 1px solid #dce6d5; }
.local-guide-jumps a,.local-guide-related a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.local-guide-section { margin: 48px 0; scroll-margin-top: 110px; }
.local-guide-heading { max-width: 780px; margin-bottom: 26px; }
.local-guide-heading h2 { font-size: var(--type-section); line-height: 1.2; margin: 12px 0 16px; }
.local-guide-heading p { color: var(--muted); line-height: 1.8; }
.local-venue-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.local-venue { display: flex; flex-direction: column; padding: clamp(22px,3vw,34px); border: 1px solid #fff; border-radius: var(--radius-card); background: var(--glass); box-shadow: 0 12px 35px #18342e06; min-width: 0; }
.local-venue-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.local-venue-number { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #e5f4cf; font-weight: 800; }
.local-venue h3 { font-size: var(--type-card); line-height: 1.25; margin: 20px 0 12px; overflow-wrap: anywhere; }
.local-venue-type { font-size: 13px; font-weight: 800; color: var(--muted); }
.local-venue-address { display: flex; align-items: flex-start; gap: 8px; margin-top: 16px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.local-venue-address svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; }
.local-venue dl { margin: 22px 0; padding-block: 18px; border-block: 1px solid #dce6d5; display: grid; gap: 16px; }
.local-venue dt { font-size: 12px; font-weight: 800; color: var(--muted); margin-bottom: 4px; }
.local-venue dd { margin: 0; font-size: 15px; font-weight: 600; line-height: 1.6; }
.local-venue>p:last-of-type { line-height: 1.8; font-size: 15px; color: var(--muted); margin-bottom: 24px; }
.local-venue-links { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: auto; }
.local-venue-links a { min-height: 44px; overflow-wrap: anywhere; }
.local-search-guide .hub-place-grid { margin-bottom: 24px; }
.local-search-guide .hub-data-note { margin-top: 28px; }
.local-search-guide #lokale-fragen { scroll-margin-top: 110px; }
.city-guide .local-search-links a { font-size: 12px; padding: 10px 12px; }
@media(min-width:1200px) { .local-venue-grid:has(>.local-venue:nth-child(3)) { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) {
 .local-venue-grid { grid-template-columns: 1fr; gap: 18px; }
 .local-guide-section { margin-block: 34px; scroll-margin-top: 94px; }
 .local-search-links>div { display: grid; grid-template-columns: 1fr; }
 .local-search-links a>span { flex: 1; }
 .local-guide-jumps,.local-guide-related { gap: 4px 18px; }
 .local-search-guide #lokale-fragen { scroll-margin-top: 94px; }
}
/* Playing guides and the private, browser-only singles scorekeeper. */
.playing-page{max-width:1200px}
.playing-page .directory-hero{max-width:980px}
.playing-page .directory-hero .playing-promise{font-weight:750;color:var(--ink)}
.playing-links{display:flex;flex-wrap:wrap;gap:12px 24px;padding:22px 0;margin:20px 0 32px;border-block:1px solid var(--line)}
.playing-links a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:700}
.playing-links svg{width:18px;height:18px;flex-shrink:0}
.playing-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0 48px}
.playing-facts>div{display:flex;flex-direction:column;gap:8px;padding:28px;background:var(--glass);border:1px solid #fff;border-radius:var(--radius-card)}
.playing-facts strong{font-size:var(--type-section);line-height:1.1}
.playing-facts span{color:var(--muted);line-height:1.5}
.playing-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:48px;align-items:start}
.playing-toc{display:grid;gap:8px;position:sticky;top:130px}
.playing-toc a{padding:10px 0;line-height:1.5;color:var(--muted);font-weight:650}
.playing-prose section{margin-bottom:44px;scroll-margin-top:130px}
.playing-prose h2,.score-explanation h2{font-size:var(--type-section);line-height:1.2;margin:0 0 18px}
.playing-prose p,.playing-prose li,.score-explanation p,.score-explanation li{font-size:18px;line-height:1.8}
.playing-prose li,.score-explanation li{margin:10px 0}
.playing-prose ul,.playing-prose ol,.score-explanation ol{padding-left:24px}
.playing-note{background:#eaf2db;border-left:3px solid #81a44b;border-radius:0 18px 18px 0;padding:22px}
.playing-sources{padding-top:26px;border-top:1px solid var(--line)}
.playing-sources a,.score-explanation a{text-decoration:underline;text-underline-offset:3px}
.playing-sources p,.playing-sources li{font-size:15px;overflow-wrap:anywhere}
.playing-sequence{padding:24px;background:var(--glass);border-radius:var(--radius-card);margin:24px 0}
.playing-sequence table{width:100%;border-collapse:collapse;text-align:left}
.playing-sequence caption{text-align:left;font-weight:700;margin-bottom:16px}
.playing-sequence td,.playing-sequence th{padding:12px 8px;border-bottom:1px solid var(--line)}
.playing-sequence p{font-size:15px;margin-bottom:0}
.scorekeeper{max-width:900px;margin:32px auto 48px;padding:32px;border:1px solid #fff;border-radius:var(--radius-card);background:var(--glass);box-shadow:0 14px 45px #183c2510}
#score-board{scroll-margin-top:118px}
body:has(#score-board:not([hidden])) .site-footer,body:has(#score-board:not([hidden])) .mobile-dock,body:has(#score-board:not([hidden])) .editorial-dock{display:none}
.scorekeeper h2{font-size:var(--type-section);line-height:1.25;margin:0 0 20px;overflow-wrap:anywhere}
.score-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}
.score-settings label{display:grid;gap:9px;font-weight:700;min-width:0}
.score-settings input,.score-settings select{width:100%;min-width:0;border:1px solid #cbd8bf;border-radius:14px;padding:14px;background:#fff;font:inherit;color:var(--ink);min-height:52px}
.score-settings input:focus-visible,.score-settings select:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.score-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px}
.score-board-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}
.score-board-top .text-button{min-height:44px}
.score-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.score-point{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:12px;min-height:230px;padding:24px 18px;border-radius:24px;border:2px solid #d8e3ca;background:#f9fcf4;color:var(--ink);font:inherit;cursor:pointer;touch-action:manipulation}
.score-point.is-serving{background:#e3ff92;border-color:#7d9a48}
.score-point:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.score-point:disabled{opacity:1;cursor:default}
.score-person{font-size:22px;font-weight:750;overflow-wrap:anywhere;max-width:100%}
.score-point strong{font-size:clamp(56px,9vw,96px);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.score-point-hint{font-size:14px;font-weight:700}
.score-set-line{margin:0 0 24px;line-height:1.6;overflow-wrap:anywhere}
.score-tip{padding:14px 18px;border-radius:14px;background:#eaf2db;line-height:1.6}
.score-history{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:24px 0 0}
.score-history li{background:#f5f8ef;border-radius:12px;padding:10px 14px}
.score-privacy{font-size:14px;line-height:1.6;color:var(--muted);margin:24px 0 0}
.score-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#score-error{color:#963f35}
.score-explanation{max-width:780px;margin:0 auto 40px}
/* Learning guides reuse the editorial typography and spacing. */
.practice-sheet{padding:28px;border:1px solid #d8e3ca;border-radius:24px;background:#fbfdf7}
.practice-sheet-heading{display:flex;flex-wrap:wrap;align-items:start;gap:20px;justify-content:space-between}
.practice-sheet-heading>div{flex:1;min-width:200px}.practice-sheet-heading h2{margin-top:12px}
.practice-sheet .practice-print{font-size:13px;white-space:normal;text-align:center;max-width:100%}
.practice-sheet .practice-print[hidden]{display:none}
.practice-sheet .practice-print-help{font-size:13px;color:var(--muted)}
.practice-diagram{margin:24px 0;max-width:440px}.practice-diagram svg{display:block;width:100%;height:auto}
.practice-diagram figcaption{font-size:13px;line-height:1.6;margin-top:10px;color:var(--muted)}
.practice-blocks{list-style:none;padding:0!important;margin:32px 0 0!important;display:grid;gap:24px}
.practice-blocks>li{padding:24px;border:1px solid #d8e3ca;border-radius:20px;background:white;margin:0!important}
.practice-time{font-size:13px;letter-spacing:.04em;font-weight:750;color:#536e3e}
.practice-blocks h3{font-size:22px;line-height:1.35;margin:10px 0 16px}
.practice-blocks dl{margin:20px 0 0;display:grid;gap:14px}.practice-blocks dl>div{border-top:1px solid #e3eadb;padding-top:14px}
.practice-blocks dt{font-size:13px;font-weight:750}.practice-blocks dd{margin:4px 0 0;font-size:15px;line-height:1.65;color:var(--muted)}
.practice-notes{margin-top:32px}.practice-notes span{overflow-wrap:anywhere}.practice-sheet .practice-print-source{font-size:12px;color:var(--muted);margin-top:28px;overflow-wrap:anywhere}
@media(max-width:760px){.practice-sheet{padding:20px 16px}.practice-blocks>li{padding:18px 14px}.practice-blocks h3{font-size:20px}.practice-blocks dd{font-size:14px}.practice-sheet-heading>div{min-width:0;flex-basis:100%}.practice-notes p{font-size:14px}.learning-page~.site-footer{position:relative;left:auto;bottom:auto;transform:none;margin:24px auto 130px}.learning-page~.editorial-dock{bottom:calc(18px + env(safe-area-inset-bottom))}}
@media print{
 body:has(.practice-page){background:white!important;color:black!important}
 body:has(.practice-page)>:not(main){display:none!important}
 .practice-page> :not(.playing-layout),.practice-page .playing-toc,.practice-page .playing-prose> :not(.practice-section){display:none!important}
 .practice-page,.practice-page .playing-layout,.practice-page .playing-prose,.practice-page .practice-section,.practice-page .practice-sheet{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:white!important}
 .practice-page .practice-print,.practice-page .practice-print-help,.practice-page .practice-diagram{display:none!important}
 .practice-page .practice-sheet-heading{display:block}.practice-page .practice-sheet-heading h2{font-size:22pt!important;margin:8pt 0!important}
 .practice-page .practice-sheet p,.practice-page .practice-sheet dd{font-size:10pt!important;line-height:1.45!important;color:black!important}
 .practice-page .practice-blocks{display:block;margin-top:18pt!important}
 .practice-page .practice-blocks>li{break-inside:avoid;padding:12pt!important;margin:0 0 12pt!important;border:1px solid #bbb;border-radius:0}
 .practice-page .practice-blocks h3{font-size:14pt;margin:5pt 0}.practice-page .practice-blocks dl{gap:5pt;margin-top:8pt}.practice-page .practice-blocks dl>div{padding-top:5pt}
 .practice-page .practice-time,.practice-page .practice-blocks dt{font-size:9pt;color:black!important}
 .practice-page .practice-notes{break-inside:avoid;margin-top:16pt}.practice-page .practice-print-source{font-size:8pt!important}
}
@media(max-width:760px){
 .playing-layout{display:block}.playing-toc{position:static;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:32px}
 .playing-facts{grid-template-columns:1fr;gap:10px;margin-bottom:32px}.playing-facts>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:16px;padding:16px;border-radius:20px}.playing-facts strong{font-size:20px;overflow-wrap:anywhere}.playing-facts span{font-size:13px}
 .playing-prose p,.playing-prose li,.score-explanation p,.score-explanation li{font-size:16px}
 .playing-prose section{scroll-margin-top:100px}.playing-sequence{padding:18px 12px}
 .scorekeeper{padding:22px 18px}.score-settings{grid-template-columns:1fr}.score-points{gap:12px}
 #score-board{scroll-margin-top:94px}
 .score-point{padding:20px 10px;min-height:200px;border-radius:20px}.score-person{font-size:18px}.score-point-hint{font-size:12px}
 .score-actions .button{min-height:48px}.score-board-top{align-items:start}.score-board-top .eyebrow{line-height:1.6}
}

/* Keep verified training addresses easy to scan without another card action. */
.club-card .club-card-location { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 16px; font-size: 14px; line-height: 1.5; color: var(--muted); }
.club-card-location svg { width: 16px; height: 16px; flex: 0 0 16px; margin-top: 2px; }
.club-card-location span { min-width: 0; overflow-wrap: anywhere; }
@media(max-width:760px){
 .journal-article~.site-footer,.club-profile~.site-footer{position:relative;left:auto;bottom:auto;transform:none;margin:24px auto 130px}
 .journal-article~.editorial-dock,.club-profile~.editorial-dock{bottom:calc(18px + env(safe-area-inset-bottom))}
}
