/* ============================================================================
   Theme: default — "Varsity Athletic" (design handoff Landing A).
   The base public-site.css is a plain, centred hero; this scopes a bolder
   athletic treatment under .theme-default so it never leaks into the admin
   shell or another template. The per-club brand colour flows in via
   --public-accent / --accent-text (set on the shell wrapper), so a club that
   isn't Aces-red still gets a coherent hero.

   First pass: the HERO. Other sections follow the base styling until they're
   ported, so the page stays coherent in the meantime.
   ============================================================================ */

/* Theme tokens. Colours come from the shell as --brand-primary/secondary/accent on the wrapper
   (with paper/muted neutrals); the var() fallbacks below are the Aces-classic defaults. --cm-edge
   is the horizontal gutter that centres content within the ~1440 design artboard while letting each
   section's background run full-bleed — the base caps sections at 1000px, which left empty sides. */
.theme-default {
    --cm-inset: clamp(1.25rem, 4vw, 3.5rem);
    --cm-edge: max(var(--cm-inset), calc((100% - 1328px) / 2));
}

.theme-default .public-site-section,
.theme-default .public-site-hero {
    max-width: none;
    /* The base centres sections with margin:0 auto; on the flex-column shell that auto margin
       suppresses stretch and shrinks the section to its content. Zero it so the flex item stretches
       to full width (full-bleed background); --cm-edge padding then centres the content in the 1440
       artboard. (Don't set width:100% — with the section's padding that overflows the viewport.) */
    margin-inline: 0;
    box-sizing: border-box;
}

/* ===== Hero — ink surface, oversized Anton headline with a red accent word ===== */

.theme-default .public-site-hero {
    background: var(--brand-secondary, #0a0a0a);
    color: #f5f1ea;
    text-align: left;
    padding: clamp(2.5rem, 5vw, 4.5rem) var(--cm-edge) clamp(3.5rem, 6vw, 6rem);
    overflow: hidden;
}

/* A giant, faded brand stamp in the corner — the "big varsity number" energy from the mock,
   kept generic (the club's initial) so it isn't a hard-coded year. */
.theme-default .public-site-hero::after {
    content: "";
    position: absolute;
    right: -2%;
    top: -12%;
    width: 42vw;
    max-width: 560px;
    aspect-ratio: 1;
    background:
        repeating-linear-gradient(135deg,
            color-mix(in srgb, var(--brand-primary, #dc2626) 9%, transparent) 0 16px,
            transparent 16px 34px);
    pointer-events: none;
    transform: rotate(8deg);
}

.theme-default .public-site-hero__content {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0;
}

.theme-default .public-site-hero--with-image {
    color: #f5f1ea;
}

.theme-default .public-site-hero__heading {
    font-family: "Anton", system-ui, sans-serif;
    font-weight: 400;
    font-size: clamp(2.75rem, 11vw, 168px);
    line-height: 0.88;
    letter-spacing: -1px;
    text-transform: uppercase;
    color: #f5f1ea;
    margin: 0;
}

.theme-default .public-site-hero__heading-word {
    display: inline-block;
    margin-right: 0.26em;
}

/* Last word carries the accent — the mock's "PLAY TOGETHER." red treatment. */
.theme-default .public-site-hero__heading-word:last-child {
    color: var(--brand-primary, #dc2626);
    margin-right: 0;
}

.theme-default .public-site-hero__subheading {
    max-width: 540px;
    margin-top: 2rem;
    font-size: 1.18rem;
    line-height: 1.5;
    color: rgba(245, 241, 234, 0.78);
    opacity: 1;
}

/* CTA — squared red button, uppercase Archivo/condensed, replacing the base pill. */
.theme-default .public-site-hero__cta,
.theme-default .public-site-hero__cta:link,
.theme-default .public-site-hero__cta:visited {
    margin-top: 2.25rem;
    padding: 1.1rem 1.7rem;
    background: var(--brand-primary, #dc2626);
    color: #f5f1ea;
    border-radius: 0;
    font-family: "Archivo", system-ui, sans-serif;
    font-weight: 800;
    font-size: 0.9rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.theme-default .public-site-hero__cta:hover,
.theme-default .public-site-hero__cta:focus-visible {
    filter: brightness(1.08);
    color: #f5f1ea;
}

/* ===== Values pillars — the "G.R.I.T." motto band (Landing A) =====
   Same markup as every theme; :has() scopes the section-level paper surface to the
   pillars block so other sections aren't affected. Header = oversized Anton motto +
   lede; the pillars become a 4-up grid of alternating ink/paper cards, each with a
   giant ghost letter. */

.theme-default .public-site-section:has(.public-pillars) {
    background: #f5f1ea;
    color: var(--brand-secondary, #0a0a0a);
    padding: clamp(3.5rem, 7vw, 120px) var(--cm-edge);
}

.theme-default .public-pillars-meta {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: clamp(1.5rem, 4vw, 56px);
    align-items: end;
    margin-bottom: clamp(2.5rem, 5vw, 64px);
}

.theme-default .public-pillars-meta .public-site-section__title {
    font-family: "Anton", system-ui, sans-serif;
    font-weight: 400;
    font-size: clamp(3rem, 9vw, 120px);
    line-height: 0.9;
    letter-spacing: -1px;
    text-transform: uppercase;
    color: var(--brand-secondary, #0a0a0a);
    margin: 0;
}

.theme-default .public-pillars-meta .public-site-section__lede {
    align-self: end;
    max-width: 620px;
    font-size: clamp(1.05rem, 1.6vw, 1.3rem);
    line-height: 1.45;
    color: var(--brand-secondary, #0a0a0a);
    margin: 0;
}

.theme-default .public-pillars {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}

/* Each pillar becomes a card — override the base 80px-letter + copy two-column row. */
.theme-default .public-pillars__row {
    display: block;
    position: relative;
    min-height: 320px;
    padding: 40px 32px 36px;
    border: 0;
    overflow: hidden;
}

/* Alternating jersey blocks: odd = ink, even = paper with a hairline. */
.theme-default .public-pillars__row:nth-child(odd) {
    background: var(--brand-secondary, #0a0a0a);
    color: #f5f1ea;
}

.theme-default .public-pillars__row:nth-child(even) {
    background: #f5f1ea;
    color: var(--brand-secondary, #0a0a0a);
    border: 1px solid color-mix(in srgb, var(--brand-secondary, #0a0a0a) 8%, transparent);
}

/* Giant ghost letter pinned top-right — accent on the dark cards, faded ink on the light ones. */
.theme-default .public-pillars__letter {
    position: absolute;
    right: 12px;
    top: -10px;
    font-family: "Anton", system-ui, sans-serif;
    font-weight: 400;
    font-size: clamp(120px, 16vw, 240px);
    line-height: 0.78;
    text-align: right;
}

.theme-default .public-pillars__row:nth-child(odd) .public-pillars__letter {
    color: var(--brand-primary, #dc2626);
}

.theme-default .public-pillars__row:nth-child(even) .public-pillars__letter {
    color: var(--brand-secondary, #0a0a0a);
    opacity: 0.08;
}

.theme-default .public-pillars__copy {
    position: relative;
    margin-top: 80px;
}

.theme-default .public-pillars__name {
    font-family: "Anton", system-ui, sans-serif;
    font-weight: 400;
    font-size: 36px;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0;
}

.theme-default .public-pillars__body {
    font-size: 14.5px;
    line-height: 1.55;
    margin: 14px 0 0;
}

.theme-default .public-pillars__row:nth-child(odd) .public-pillars__body {
    color: rgba(245, 241, 234, 0.78);
}

.theme-default .public-pillars__row:nth-child(even) .public-pillars__body {
    color: #7a7368;
}

/* Collapse the 4-up grid + split header on narrower widths. */
@media (max-width: 900px) {
    .theme-default .public-pillars {
        grid-template-columns: repeat(2, 1fr);
    }
    .theme-default .public-pillars-meta {
        grid-template-columns: 1fr;
        align-items: start;
    }
}

@media (max-width: 540px) {
    .theme-default .public-pillars {
        grid-template-columns: 1fr;
    }
}

/* ===== Weekday schedule — the dark "Clinics" table (Landing A) =====
   Landing A renders clinics as a dark, bordered table. The renderer emits a flat list of
   cards whose fields vary (a card may have no title, etc.), so the row uses EXPLICIT grid
   placement by class — not source order — to stay aligned when fields are missing: an Anton
   accent day on the left, the session info stacked in the middle, the CTA pinned right. */

.theme-default .public-site-section:has(.public-weekday-grid) {
    background: var(--brand-secondary, #0a0a0a);
    color: #f5f1ea;
    padding: clamp(3.5rem, 7vw, 120px) var(--cm-edge);
}

.theme-default .public-site-section:has(.public-weekday-grid) .public-site-section__title {
    font-family: "Anton", system-ui, sans-serif;
    font-weight: 400;
    font-size: clamp(2.5rem, 7vw, 92px);
    line-height: 0.92;
    letter-spacing: -0.5px;
    text-transform: uppercase;
    color: #f5f1ea;
    margin: 0 0 0.75rem;
}

.theme-default .public-site-section:has(.public-weekday-grid) .public-site-section__lede {
    font-size: clamp(1rem, 1.4vw, 1.1rem);
    line-height: 1.55;
    color: rgba(245, 241, 234, 0.78);
    max-width: 560px;
    margin: 0 0 clamp(2rem, 4vw, 56px);
}

/* The card grid becomes a single bordered table. */
.theme-default .public-weekday-grid {
    display: block;
    border: 1px solid rgba(245, 241, 234, 0.16);
    background: rgba(255, 255, 255, 0.02);
}

/* Each card → a table row. Explicit columns/rows so missing fields don't shift the layout. */
.theme-default .public-weekday-card {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) auto;
    column-gap: 28px;
    align-items: center;
    padding: 20px 28px;
    border: 0;
    border-bottom: 1px solid rgba(245, 241, 234, 0.1);
    border-radius: 0;
    background: transparent;
}

.theme-default .public-weekday-card:last-child {
    border-bottom: 0;
}

.theme-default .public-weekday-card__day {
    grid-column: 1;
    grid-row: 1 / -1;
    align-self: center;
    background: none;
    padding: 0;
    text-align: left;
    font-family: "Anton", system-ui, sans-serif;
    font-weight: 400;
    font-size: 42px;
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--brand-primary, #dc2626);
}

/* Day labels alternate primary / tertiary accent — the mock's red/blue clinic rhythm. */
.theme-default .public-weekday-card:nth-child(even) .public-weekday-card__day {
    color: var(--brand-accent, #1aa3d6);
}

.theme-default .public-weekday-card__time {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    padding: 0;
    text-align: left;
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(245, 241, 234, 0.6);
}

.theme-default .public-weekday-card__title {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    padding: 0;
    text-align: left;
    font-size: 17px;
    font-weight: 700;
    color: #f5f1ea;
}

.theme-default .public-weekday-card__details {
    grid-column: 2;
    grid-row: 3;
    margin: 0;
    padding: 0;
    text-align: left;
    font-size: 14px;
    color: rgba(245, 241, 234, 0.62);
}

/* CTA — squared accent button pinned to the right, spanning the row. The :link/:visited
   variants are needed so the base `.public-site a:link` colour (specificity 0,2,1) doesn't
   repaint the label accent-on-accent (invisible). */
.theme-default .public-weekday-card__cta,
.theme-default .public-weekday-card__cta:link,
.theme-default .public-weekday-card__cta:visited {
    grid-column: 3;
    grid-row: 1 / -1;
    align-self: center;
    margin: 0;
    padding: 11px 18px;
    border: 0;
    background: var(--brand-primary, #dc2626);
    color: #f5f1ea;
    font-family: "Archivo", system-ui, sans-serif;
    font-weight: 800;
    font-size: 0.76rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-align: center;
}

.theme-default .public-weekday-card__cta:hover {
    filter: brightness(1.08);
    color: #f5f1ea;
}

/* Narrow: drop the CTA under the stacked middle, keep the day as a left rail. */
@media (max-width: 640px) {
    .theme-default .public-weekday-card {
        grid-template-columns: 84px minmax(0, 1fr);
        row-gap: 4px;
    }
    .theme-default .public-weekday-card__day {
        font-size: 32px;
    }
    .theme-default .public-weekday-card__cta {
        grid-column: 2;
        grid-row: auto;
        justify-self: start;
        margin-top: 10px;
    }
}

/* ===== Facilities — the "Three gyms" location cards (Landing A) =====
   Locations render as numbered rows; here they reflow into a 3-up card grid. Clubs have no
   facility photos, so the big Anton index number stands in as the card's visual anchor. The
   first card is the "primary" ink block, the rest are paper with a hairline. */

.theme-default .public-site-section:has(.public-locations) {
    background: #f5f1ea;
    color: var(--brand-secondary, #0a0a0a);
    padding: clamp(3.5rem, 7vw, 120px) var(--cm-edge);
}

.theme-default .public-locations-meta {
    margin-bottom: clamp(2rem, 4vw, 56px);
    max-width: 900px;
}

.theme-default .public-locations-meta .public-site-section__title {
    font-family: "Anton", system-ui, sans-serif;
    font-weight: 400;
    font-size: clamp(2.5rem, 7vw, 92px);
    line-height: 0.92;
    letter-spacing: -0.5px;
    text-transform: uppercase;
    color: var(--brand-secondary, #0a0a0a);
    margin: 0.5rem 0 0;
}

.theme-default .public-locations-meta .public-site-section__lede {
    font-size: clamp(1rem, 1.4vw, 1.1rem);
    line-height: 1.55;
    color: #7a7368;
    max-width: 560px;
    margin: 1rem 0 0;
}

.theme-default .public-locations {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

/* Each row → a facility card (override the base index|copy|actions row grid). */
.theme-default .public-locations__row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 28px;
    border: 1px solid color-mix(in srgb, var(--brand-secondary, #0a0a0a) 10%, transparent);
    border-radius: 0;
    background: #f5f1ea;
}

/* First facility = the "primary" ink block. */
.theme-default .public-locations__row:first-child {
    background: var(--brand-secondary, #0a0a0a);
    color: #f5f1ea;
    border-color: var(--brand-secondary, #0a0a0a);
}

.theme-default .public-locations__index {
    font-family: "Anton", system-ui, sans-serif;
    font-weight: 400;
    font-size: 64px;
    line-height: 1;
    color: var(--brand-primary, #dc2626);
    margin: 0 0 16px;
}

.theme-default .public-locations__role {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--brand-primary, #dc2626);
    margin: 0 0 10px;
}

.theme-default .public-locations__name {
    font-family: "Anton", system-ui, sans-serif;
    font-weight: 400;
    font-size: 32px;
    line-height: 1;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin: 0;
}

.theme-default .public-locations__row:first-child .public-locations__name {
    color: #f5f1ea;
}

.theme-default .public-locations__address {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 13px;
    margin: 14px 0 0;
    opacity: 0.85;
}

.theme-default .public-locations__notes {
    font-size: 14px;
    line-height: 1.5;
    margin: 16px 0 0;
    color: #7a7368;
}

.theme-default .public-locations__row:first-child .public-locations__notes {
    color: rgba(245, 241, 234, 0.75);
}

.theme-default .public-locations__actions {
    margin-top: 22px;
    display: flex;
    align-items: center;
    gap: 16px;
}

.theme-default .public-locations__directions,
.theme-default .public-locations__directions:link,
.theme-default .public-locations__directions:visited {
    padding: 10px 16px;
    background: var(--brand-primary, #dc2626);
    color: #f5f1ea;
    border: 0;
    border-radius: 0;
    font-family: "Archivo", system-ui, sans-serif;
    font-weight: 800;
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
}

.theme-default .public-locations__map,
.theme-default .public-locations__map:link,
.theme-default .public-locations__map:visited {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 12px;
    color: inherit;
    opacity: 0.7;
    text-decoration: none;
}

@media (max-width: 820px) {
    .theme-default .public-locations {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 540px) {
    .theme-default .public-locations {
        grid-template-columns: 1fr;
    }
}

/* ===== Contact — the accent "Talk to a coach" band (Landing A) =====
   An accent (per-club brand) surface: oversized Anton heading + lede + CTA on the left, an
   ink contact card with mono label / value rows on the right. */

.theme-default .public-contact-section {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: clamp(2rem, 4vw, 56px);
    align-items: start;
    background: var(--brand-primary, #dc2626);
    color: #f5f1ea;
    padding: clamp(3.5rem, 7vw, 120px) var(--cm-edge);
    position: relative;
    overflow: hidden;
}

/* Landing A's contact band has no giant backdrop letter — keep it hidden. */
.theme-default .public-contact-section__bg {
    display: none;
}

.theme-default .public-contact-card-meta .public-site-section__title {
    font-family: "Anton", system-ui, sans-serif;
    font-weight: 400;
    font-size: clamp(2.75rem, 9vw, 120px);
    line-height: 0.9;
    letter-spacing: -1px;
    text-transform: uppercase;
    color: #f5f1ea;
    margin: 0;
}

.theme-default .public-contact-card-meta .public-site-section__lede {
    font-size: clamp(1rem, 1.4vw, 1.15rem);
    line-height: 1.5;
    color: #f5f1ea;
    max-width: 520px;
    margin: 1.5rem 0 0;
    opacity: 0.95;
}

/* CTA lives in the meta column — ink button so it reads on the accent surface. */
.theme-default .public-contact-card__cta,
.theme-default .public-contact-card__cta:link,
.theme-default .public-contact-card__cta:visited {
    margin-top: 2rem;
    padding: 16px 24px;
    background: var(--brand-secondary, #0a0a0a);
    color: #f5f1ea;
    border-radius: 0;
    font-family: "Archivo", system-ui, sans-serif;
    font-weight: 800;
    font-size: 0.82rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

/* The right-hand ink card holding the label/value rows. */
.theme-default .public-contact-card {
    background: var(--brand-secondary, #0a0a0a);
    color: #f5f1ea;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.theme-default .public-contact-card__item {
    display: grid;
    grid-template-columns: 130px 1fr;
    align-items: baseline;
    gap: 14px;
    padding: 16px 0;
    /* Clear the base item's light card surface so the row sits on the ink card. */
    background: transparent;
    border: 0;
    border-top: 1px solid rgba(245, 241, 234, 0.16);
    border-radius: 0;
}

.theme-default .public-contact-card__item:first-child {
    border-top: 0;
    padding-top: 0;
}

.theme-default .public-contact-card__label {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(245, 241, 234, 0.55);
}

.theme-default .public-contact-card__value {
    font-size: 16px;
    color: #f5f1ea;
}

.theme-default .public-contact-card__value a,
.theme-default .public-contact-card__value a:link,
.theme-default .public-contact-card__value a:visited {
    color: #f5f1ea;
    text-decoration: none;
    border-bottom: 2px solid var(--brand-primary, #dc2626);
}

/* Place the CTA in the RIGHT column beneath the ink card (Landing A puts "Send a message"
   on the right with the contact rows, not on the left under the headline). Dissolve the meta
   wrapper so its children become grid items we can position: headline + blurb stay left, the
   ink card spans the two left rows on the right, the CTA sits in a 3rd row beneath it. */
.theme-default .public-contact-card-meta { display: contents; }
.theme-default .public-contact-section .public-site-section__title { grid-column: 1; grid-row: 1; }
.theme-default .public-contact-section .public-site-section__lede { grid-column: 1; grid-row: 2; }
.theme-default .public-contact-section .public-contact-card { grid-column: 2; grid-row: 1 / 3; }
.theme-default .public-contact-section .public-contact-card__cta {
    grid-column: 2;
    grid-row: 3;
    align-self: start;
    margin-top: 20px;
}

@media (max-width: 820px) {
    .theme-default .public-contact-section {
        grid-template-columns: 1fr;
    }
    /* Stack in reading order: headline, blurb, card, CTA. */
    .theme-default .public-contact-section .public-site-section__title { grid-column: 1; grid-row: 1; }
    .theme-default .public-contact-section .public-site-section__lede { grid-column: 1; grid-row: 2; }
    .theme-default .public-contact-section .public-contact-card { grid-column: 1; grid-row: 3; }
    .theme-default .public-contact-section .public-contact-card__cta { grid-column: 1; grid-row: 4; }
}

/* ===== Stats strip — the bordered "By the numbers" ledger (Landing A) =====
   Design AStats is a full-width paper band: an eyebrow + heading, then a 4-column
   ruled grid of big Anton numbers over mono ▢-prefixed labels. The base renders a
   plain accent-red flex row capped at 1000px, so this scopes the full ledger look. */

.theme-default .public-site-section:has(.public-stats-strip) {
    background: #f5f1ea;
    padding-block: clamp(3rem, 6vw, 88px);
    padding-inline: var(--cm-edge);
}

.theme-default .public-stats-meta {
    margin-bottom: clamp(1.5rem, 3vw, 40px);
}

.theme-default .public-stats-meta .public-site-section__title {
    font-family: "Anton", system-ui, sans-serif;
    font-weight: 400;
    font-size: clamp(2.25rem, 6vw, 4.5rem);
    line-height: 0.92;
    letter-spacing: -1px;
    text-transform: uppercase;
    color: var(--brand-secondary, #0a0a0a);
    margin: 0;
}

/* 4-up ruled grid. The grid carries the top + left hairline; each cell the right +
   bottom — so every number sits in its own bordered ledger box. */
.theme-default .public-stats-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-top: 1px solid color-mix(in srgb, var(--brand-secondary, #0a0a0a) 12%, transparent);
    border-left: 1px solid color-mix(in srgb, var(--brand-secondary, #0a0a0a) 12%, transparent);
}

.theme-default .public-stats-strip__item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: clamp(20px, 2.4vw, 36px) clamp(18px, 2vw, 28px);
    border-right: 1px solid color-mix(in srgb, var(--brand-secondary, #0a0a0a) 12%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--brand-secondary, #0a0a0a) 12%, transparent);
}

.theme-default .public-stats-strip__num {
    font-family: "Anton", system-ui, sans-serif;
    font-weight: 400;
    font-size: clamp(2.75rem, 5vw, 4.5rem);
    line-height: 0.9;
    letter-spacing: -1px;
    color: var(--brand-secondary, #0a0a0a);
}

.theme-default .public-stats-strip__label {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #7a7368;
}

/* The design's ▢ glyph prefix on each mono label. */
.theme-default .public-stats-strip__label::before {
    content: "\25A2";
    margin-right: 8px;
    color: var(--brand-primary, #dc2626);
}

@media (max-width: 820px) {
    .theme-default .public-stats-strip {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 460px) {
    .theme-default .public-stats-strip {
        grid-template-columns: 1fr;
    }
}
