/*
Theme Name:        Allen Sportswear
Theme URI:         https://allensportswear.com/
Description:       Custom child theme of Twenty Twenty-Five for Allen Sportswear. Brand styling, layout customizations, and store-specific tweaks live here.
Author:            Tina Marinshaw / Seistm
Author URI:        https://seistm.com
Template:          twentytwentyfive
Version:           0.5.0
Requires at least: 6.7
Tested up to:      6.9.4
Requires PHP:      7.4
License:           Proprietary
Text Domain:       allensportswear
Tags:              e-commerce, block-theme, full-site-editing
*/

/* Child theme styles go below. Most design changes should happen in theme.json instead — only put rules here that can't be expressed as block theme tokens. */

/* ──────────────────────────────────────────────────────────────
   Contact Form 7 — Allen Sportswear form styling
   Used by the /design/ quote form and the /contact/ form. Block
   theme tokens cannot reach plugin-rendered markup, so it lives here.
   ────────────────────────────────────────────────────────────── */
.asw-form-row { margin-bottom: 1.25rem; }

.asw-form-row label {
	display: block;
	font-family: 'Inter', system-ui, sans-serif;
	font-weight: 600;
	font-size: 0.875rem;
	color: #111111;
	margin-bottom: 0.4rem;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.7rem 0.85rem;
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 1rem;
	color: #111111;
	background: #ffffff;
	border: 1px solid #E0E0E0;
	border-radius: 2px;
	margin-top: 0.25rem;
}

.wpcf7 textarea { min-height: 130px; resize: vertical; }

.wpcf7 input:focus-visible,
.wpcf7 select:focus-visible,
.wpcf7 textarea:focus-visible {
	outline: 2px solid #D71C24;
	outline-offset: 2px;
	border-color: #D71C24;
}
.wpcf7 input:focus:not(:focus-visible),
.wpcf7 select:focus:not(:focus-visible),
.wpcf7 textarea:focus:not(:focus-visible) {
	outline: none;
	border-color: #D71C24;
}

.wpcf7 input[type="submit"] {
	background: #D71C24;
	color: #EFEFEF;
	border: 0;
	border-radius: 2px;
	font-family: 'Inter', system-ui, sans-serif;
	font-weight: 700;
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 0.85rem 2rem;
	cursor: pointer;
	transition: background 0.15s ease;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="submit"]:focus { background: #B51A1C; }

.wpcf7-response-output {
	margin: 1rem 0 0 !important;
	padding: 0.85rem 1rem !important;
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 0.9rem;
	border-radius: 2px;
}

.wpcf7 .wpcf7-not-valid-tip {
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 0.8rem;
	color: #B51A1C;
}

/* ──────────────────────────────────────────────────────────────
   Allen product cards — brand restyle (2026-06-02)
   Targets the WooCommerce loop (shop + category grids).
   ────────────────────────────────────────────────────────────── */
.woocommerce ul.products{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin:0; }
@media(max-width:1000px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); } }
.woocommerce ul.products li.product{
  width:auto!important; margin:0!important; float:none!important;
  border:1px solid #E5E5E5; border-radius:12px; overflow:hidden; background:#fff;
  display:flex; flex-direction:column; transition:.15s; padding:0;
}
.woocommerce ul.products li.product:hover{ box-shadow:0 8px 24px rgba(0,0,0,.09); transform:translateY(-3px); }
.woocommerce ul.products li.product a img{
  margin:0; width:100%; aspect-ratio:1/1; object-fit:contain; background:#F6F6F6; padding:10px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding:14px 14px 4px; font-size:15px; font-weight:700; color:#111; line-height:1.25;
}
.woocommerce ul.products li.product .price{
  padding:0 14px; color:#4C4C4C; font-size:15px; font-weight:700;
}
.woocommerce ul.products li.product .price del{ display:none; }
.woocommerce ul.products li.product .button{
  margin:12px 14px 16px; background:#D71C24; color:#fff; border-radius:8px; padding:11px;
  font-weight:700; font-size:14px; text-align:center; border:0; margin-top:auto;
}
.woocommerce ul.products li.product .button:hover{ background:#B51A1C; }
.woocommerce ul.products li.product .onsale{ display:none; }

/* ===== Shop-by-Sport landing (/shop) — added 2026-06-02 ===== */
.allen-shop{max-width:1180px;margin:0 auto;padding:8px 0 40px}
.allen-shop-hero{text-align:center;padding:24px 0 8px}
.allen-shop-hero h1{font-size:34px;line-height:1.15;color:#111;margin:0 0 12px;font-weight:800;letter-spacing:-.01em}
.allen-shop-hero p{max-width:720px;margin:0 auto;color:#4C4C4C;font-size:16px;line-height:1.55}
.allen-shop-eyebrow{text-align:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#D71C24;font-weight:700;margin:34px 0 14px}
.allen-shop .sports{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;background:#1B1611;padding:24px;border-radius:14px}
.allen-shop .sport{border:1px solid #E5E5E5;border-radius:12px;overflow:hidden;text-decoration:none;background:#F6F6F6;transition:.15s;display:block}
.allen-shop .sport:hover{box-shadow:0 6px 20px rgba(0,0,0,.08);transform:translateY(-2px)}
.allen-shop .sport img{width:100%;aspect-ratio:1/1;height:auto;object-fit:contain;background:#fff;padding:16px;display:block}
.allen-shop .sport .cap{padding:12px 14px;border-top:1px solid #E5E5E5}
.allen-shop .sport .cap b{color:#111;font-size:16px;display:block}
.allen-shop .sport .cap span{color:#4C4C4C;font-size:13px}
.allen-shop-footnote{text-align:center;color:#4C4C4C;font-size:13px;margin:30px 0 0}
@media(max-width:900px){.allen-shop .sports{grid-template-columns:repeat(2,1fr)}.allen-shop-hero h1{font-size:26px}}

/* white products no longer vanish on white cards */
.woocommerce ul.products li.product img{background:#F6F6F6}

/* WC clearfix pseudo-elements steal grid cells -> first product jumped to col 2. Kill them. */
.woocommerce ul.products::before,
.woocommerce ul.products::after{content:none !important;display:none !important}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{float:none}

/* /shop landing hero must match the approved mockup (clean Inter, sentence case) not the Bebas display font */
.allen-shop-hero h1{font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif !important;text-transform:none !important;font-weight:800;font-size:32px;line-height:1.15;letter-spacing:-.01em}
.allen-shop-eyebrow{font-family:"Inter",system-ui,sans-serif}
.allen-shop .sport .cap b{font-family:"Inter",system-ui,sans-serif !important;text-transform:none !important;font-weight:700;letter-spacing:0}
@media(max-width:900px){.allen-shop-hero h1{font-size:26px}}

/* garment filter chips (category pages) */
.allen-chips{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:14px 0;border-top:1px solid #E5E5E5;border-bottom:1px solid #E5E5E5;margin:0 0 22px;clear:both}
.allen-chips .chip{border:1.5px solid #E5E5E5;border-radius:100px;padding:7px 16px;font-size:14px;background:#fff;color:#4C4C4C;text-decoration:none;transition:.12s}
.allen-chips .chip:hover{border-color:#D71C24;color:#D71C24}
.allen-chips .chip.on{border-color:#D71C24;color:#D71C24;font-weight:700;background:#FFF4F4}
.allen-per{font-size:12px;color:#4C4C4C}

/* category page header (eyebrow + title + description) — matches mockup screen 2 */
.allen-cat-head{margin:0 0 6px}
.allen-eyebrow{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#D71C24;font-weight:700;margin:0 0 6px}
.allen-cat-title{font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif !important;text-transform:none !important;font-size:30px;font-weight:800;color:#111;letter-spacing:-.01em;line-height:1.12;margin:0 0 10px}
.allen-cat-desc{max-width:760px;color:#4C4C4C;font-size:15px;line-height:1.55;margin:0 0 20px}
.allen-chips-lbl{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#111;font-weight:700;margin-right:4px}

/* /shop per-sport uniform sampling rows */
.allen-shop + .allen-sport-row, .allen-sport-row{max-width:1180px;margin:44px auto 0;padding:0}
.allen-sport-row-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid #111;padding-bottom:8px;margin-bottom:16px}
.allen-sport-row-head h2{font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif !important;text-transform:none !important;font-size:22px;font-weight:800;color:#111;margin:0;letter-spacing:-.01em}
.allen-sport-row-head a{color:#D71C24;font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap}
.allen-sport-row-head a:hover{color:#B51A1C}
.allen-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.allen-mini{display:block;text-decoration:none;border:1px solid #E5E5E5;border-radius:12px;overflow:hidden;background:#fff;transition:.15s}
.allen-mini:hover{box-shadow:0 8px 24px rgba(0,0,0,.09);transform:translateY(-3px)}
.allen-mini-img{background:#F6F6F6}
.allen-mini-img img{width:100%;aspect-ratio:1/1;object-fit:contain;display:block;padding:10px;margin:0}
.allen-mini-nm{padding:12px 12px 2px;color:#111;font-weight:700;font-size:14px;line-height:1.25}
.allen-mini-pr{padding:0 12px 14px;color:#4C4C4C;font-size:13px}
@media(max-width:900px){.allen-mini-grid{grid-template-columns:repeat(2,1fr)}}

/* SPORT TILES use athlete doorway portraits (4:5) framed on a dark Field band,
   so they read as sport doorways, not product thumbnails. 4:5 tile = the 4:5
   doorway fits with no crop (fixes the soccer figure getting chopped). */
.allen-shop .sport img{aspect-ratio:4 / 5 !important;object-fit:cover !important;object-position:center !important;padding:0 !important;background:#F6F6F6 !important}

/* /shop CTA hierarchy (2026-06-13): a sport TILE is a doorway (category), a
   sample CARD is a product. They must never share a CTA treatment, or people
   can't tell whether they're clicking a sport or a uniform.
   - Tile  -> "View designs →" text + arrow (navigation affordance, no button)
   - Card  -> "Design this →" solid red button (matches category-page product cards) */
.allen-shop .sport .cap{padding-bottom:14px}
.allen-shop .sport .cap .go{display:block;margin-top:8px;color:#D71C24;font-weight:700;font-size:13px;font-family:"Inter",system-ui,sans-serif;letter-spacing:0}
.allen-shop .sport:hover .cap .go{color:#A50E16}
.allen-sport-row .allen-mini{display:flex;flex-direction:column}
.allen-sport-row .allen-mini-pr{padding-bottom:8px}
.allen-sport-row .allen-mini .mini-cta{display:block;margin:auto 12px 14px;padding:11px;border-radius:3px;background:#D71C24;color:#fff;text-align:center;font-weight:700;font-size:14px;font-family:"Archivo",system-ui,sans-serif}
.allen-sport-row .allen-mini:hover .mini-cta{background:#A50E16}

/* ============================================================
   CLAUDE DESIGN — locked-brand round (2026-06-05)
   Category-page restyle to the design system (brand.css tokens).
   Overrides the 2026-06-02 mockup styling above. Product loop only
   renders on category pages, so these are category-scoped in effect.
   3D recolorable thumbnails PARKED: keeps real product images.
   ============================================================ */
:root{
  --aw-ink:#16130F; --aw-ink2:#3A332B; --aw-ink3:#6B6157;
  --aw-line:rgba(22,19,15,.14); --aw-paper2:#F5F4F1; --aw-red:#D71C24;
  --aw-shout:"Archivo Black","Archivo",system-ui,sans-serif;
  --aw-sans:"Archivo",system-ui,-apple-system,sans-serif;
}
/* header: copy left, CTA right */
.allen-cat-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin:0 0 4px}
.allen-cat-headcopy{flex:1 1 440px}
.allen-eyebrow{font-family:var(--aw-sans)!important;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--aw-red)!important;font-weight:700;margin:0 0 8px}
.allen-cat-title{font-family:var(--aw-shout)!important;font-weight:900!important;text-transform:uppercase!important;font-size:clamp(40px,5vw,64px)!important;line-height:.92!important;letter-spacing:-.02em!important;color:var(--aw-ink)!important;margin:0 0 14px!important}
.allen-cat-desc{font-family:var(--aw-sans)!important;max-width:62ch;color:var(--aw-ink2)!important;font-size:19px!important;line-height:1.5!important;margin:0!important}
.allen-cat-cta{display:flex;gap:12px;flex-wrap:wrap;flex:0 0 auto}
/* buttons */
.allen-btn{display:inline-flex;align-items:center;gap:9px;padding:15px 22px;font-family:var(--aw-sans);font-weight:700;font-size:15px;border-radius:3px;text-decoration:none;line-height:1;transition:.14s;cursor:pointer;white-space:nowrap}
.allen-btn .arr{transition:transform .14s}
.allen-btn:hover .arr{transform:translateX(3px)}
.allen-btn--primary{background:var(--aw-ink);color:#fff}
.allen-btn--primary:hover{background:#000;color:#fff}
.allen-btn--secondary{background:transparent;color:var(--aw-ink);box-shadow:inset 0 0 0 1.5px var(--aw-ink)}
.allen-btn--secondary:hover{background:var(--aw-ink);color:#fff}
.allen-btn--onfield{background:#fff;color:var(--aw-ink)}
.allen-btn--ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(245,240,232,.3)}
.allen-btn--ghost:hover{background:rgba(245,240,232,.1)}
/* chips -> black pills */
.allen-chips{border:0!important;border-bottom:1px solid var(--aw-line)!important;padding:0 0 16px!important;margin:18px 0 26px!important;gap:8px!important}
.allen-chips .chip{font-family:var(--aw-sans);border:0!important;border-radius:999px!important;padding:8px 16px!important;font-size:13.5px!important;font-weight:700!important;background:#fff!important;color:var(--aw-ink2)!important;box-shadow:inset 0 0 0 1px var(--aw-line)}
.allen-chips .chip:hover{color:var(--aw-ink)!important;box-shadow:inset 0 0 0 1px var(--aw-ink)}
.allen-chips .chip.on{background:var(--aw-ink)!important;color:#fff!important;box-shadow:none!important}
/* product cards -> design card */
.woocommerce ul.products li.product{border:1px solid var(--aw-line)!important;border-radius:12px!important}
.woocommerce ul.products li.product:hover{border-color:var(--aw-ink)!important;box-shadow:0 2px 4px rgba(22,19,15,.06),0 10px 26px rgba(22,19,15,.08)!important;transform:none!important}
.woocommerce ul.products li.product a img{background:var(--aw-paper2)!important;padding:18px!important;aspect-ratio:1/1!important;object-fit:contain!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--aw-shout)!important;font-weight:900!important;font-size:19px!important;color:var(--aw-ink)!important;padding:16px 18px 0!important;line-height:1!important;text-transform:none!important}
.allen-card-sub{font-family:var(--aw-sans);font-size:12px;font-weight:700;color:var(--aw-ink3);padding:6px 18px 0}
.woocommerce ul.products li.product .price{font-family:var(--aw-sans)!important;padding:8px 18px 0!important;color:var(--aw-ink)!important;font-size:14px!important;font-weight:700!important}
.woocommerce ul.products li.product .price .allen-per{color:var(--aw-ink3);font-weight:600}
.woocommerce ul.products li.product .button{background:none!important;color:var(--aw-ink3)!important;padding:10px 18px 16px!important;margin:auto 0 0!important;border-radius:0!important;font-family:var(--aw-sans)!important;font-size:13px!important;font-weight:700!important;text-align:left!important;width:auto!important;display:inline-block!important}
.woocommerce ul.products li.product .button::after{content:" →"}
.woocommerce ul.products li.product:hover .button{color:var(--aw-red)!important}
/* start-from-scratch rail */
.allen-scratch-rail{background:var(--aw-ink);color:#fff;border-radius:14px;padding:44px 52px;margin:48px 0 0;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.allen-scratch-copy{flex:1 1 380px}
.allen-scratch-rail h3{font-family:var(--aw-shout);font-weight:900;text-transform:uppercase;font-size:40px;line-height:.95;color:#fff;margin:0}
.allen-scratch-rail p{font-family:var(--aw-sans);color:rgba(245,240,232,.72);font-size:17px;line-height:1.5;margin:10px 0 0;max-width:52ch}
.allen-scratch-cta{display:flex;gap:12px;flex-wrap:wrap;flex:0 0 auto}
@media(max-width:1000px){
  .allen-cat-head{flex-direction:column;align-items:stretch}
  .allen-scratch-rail{flex-direction:column;align-items:stretch}
  .allen-scratch-rail h3{font-size:30px}
}

/* Tighten the catalogue card — less wasted vertical space + constrain image
   height so mixed-framing source images read more consistent (Tina 2026-06-05) */
.woocommerce ul.products li.product a img{height:200px!important;aspect-ratio:auto!important;padding:12px!important;object-fit:contain!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:14px 16px 0!important;font-size:17px!important;line-height:1.02!important}
.allen-card-sub{padding:4px 16px 0!important;font-size:11.5px!important}
.woocommerce ul.products li.product .price{padding:5px 16px 0!important}
.woocommerce ul.products li.product .button{margin:0!important;padding:9px 16px 14px!important}

/* L3e 2026-06-11: warm tint + multiply blend so baked-white product images lose
   the hard white-box edge on tinted cards (white px × tint = tint; transparent PNGs
   render identically). Synced with live Kinsta consolidated rule + blend-mode added. */
.woocommerce ul.products li.product a{
  display:block!important;
  width:100%!important;
}
.woocommerce ul.products li.product a img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  padding:14px!important;
  background:#F7F6F4!important;
  mix-blend-mode:multiply!important;
  box-sizing:border-box!important;
}
@media(max-width:600px){
  .woocommerce ul.products li.product a img{padding:10px!important;}
}
.woocommerce ul.products{gap:18px!important}

/* ══════════════════════════════════════════════════════════════════════════════
   DESIGN POLISH — quick-wins batch (2026-06-13)
   W1: product cards float (soft shadow, no hard border resting state)
   W2: .section-label utility for clearly-secondary labels (sentence case, 800)
   W3: section padding variants — compact 48px / accent 32px
   W4: Newsreader italic warmth on price-relief tagline
   W5: WC result-count + ordering select restyled to Archivo
   W6: product-page title mixed-case + clamped smaller
   W7: Reveal section background token swap (in template, not here)
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── W1: product cards — soft shadow, no hard border at rest ── */
.woocommerce ul.products li.product{
  border:1px solid transparent!important;
  box-shadow:0 1px 3px rgba(22,19,15,.06),0 4px 14px rgba(22,19,15,.06)!important;
}
.woocommerce ul.products li.product:hover{
  border-color:transparent!important;
  box-shadow:0 4px 10px rgba(22,19,15,.08),0 14px 36px rgba(22,19,15,.11)!important;
  transform:translateY(-3px)!important;
}
/* Related-product cards — same treatment */
.allen-related-card{
  border:1px solid transparent!important;
  box-shadow:0 1px 3px rgba(22,19,15,.06),0 4px 14px rgba(22,19,15,.06)!important;
}
.allen-related-card:hover{
  border-color:transparent!important;
  box-shadow:0 4px 10px rgba(22,19,15,.08),0 14px 36px rgba(22,19,15,.11)!important;
}
/* Sport nav cards and /shop sport tiles — same float */
.aw-sport-card{
  border:1px solid transparent!important;
  box-shadow:0 1px 3px rgba(22,19,15,.05),0 4px 12px rgba(22,19,15,.05)!important;
}
.aw-sport-card:hover{
  box-shadow:0 4px 10px rgba(22,19,15,.08),0 12px 30px rgba(22,19,15,.10)!important;
  border-color:transparent!important;
}

/* ── W2: secondary section labels — sentence-case Archivo 800 utility ── */
/* Apply .section-label to eyebrow-level h3/h4 that are support text,
   not hero headlines. Words stay unchanged; no transform, weight 800. */
.section-label{
  font-family:"Archivo",system-ui,sans-serif!important;
  font-weight:800!important;
  text-transform:none!important;
  letter-spacing:-.01em!important;
}

/* ── W3: section padding variants ── */
/* .section (full) = 96px per brand.css --s-9. These add compact + accent. */
.aw .section--compact{ padding-top:48px; padding-bottom:48px; }
.aw .section--accent{  padding-top:32px; padding-bottom:32px; }
/* Narrow the low-importance strips on homepage: reassure (section--snow),
   breadth/scoreboard (in section--paper2 price strip). */
.aw-home .section--snow{ padding-top:56px!important; padding-bottom:56px!important; }
.aw-home .section--paper2{ padding-top:56px!important; padding-bottom:56px!important; }

/* ── W4: Newsreader italic warmth — price-relief tagline ── */
/* Applied via .serif-it inline on the "costs less" copy */
.aw-price-serif{ font-family:"Newsreader",Georgia,serif!important; font-style:italic!important; font-weight:400!important; }

/* ── W5: WooCommerce result-count + ordering select ── */
.woocommerce .woocommerce-result-count{
  font-family:"Archivo",system-ui,sans-serif!important;
  font-size:13px!important;
  color:var(--aw-ink3,#6B6157)!important;
  font-weight:600!important;
  float:none!important;
  display:inline-block!important;
}
.woocommerce .woocommerce-ordering{
  float:none!important;
  display:inline-block!important;
}
.woocommerce .woocommerce-ordering select,
.woocommerce-ordering select{
  font-family:"Archivo",system-ui,sans-serif!important;
  font-size:13px!important;
  color:var(--aw-ink,#16130F)!important;
  font-weight:600!important;
  background:#fff!important;
  border:1px solid rgba(22,19,15,.18)!important;
  border-radius:4px!important;
  padding:6px 28px 6px 10px!important;
  appearance:auto!important;
  cursor:pointer!important;
}

/* ── W6: product-page title — mixed-case + clamped smaller ── */
/* .allen-pp-title already sets Archivo Black + uppercase; add override class */
.allen-pp-title--mixed{
  text-transform:none!important;
  font-size:clamp(28px,3vw,42px)!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
}

/* ── Catalogue thumbnail normalization (2026-06-11) ──────────────────────────
   Problem: jersey-only renders and full-uniform renders differ in internal
   whitespace, making the grid look inconsistent (white uniforms disappear on
   white bg, portrait renders look smaller than landscape sets).
   Fix: force a square image *box* at a fixed height, use the paper-2 tint as
   background so ALL garments (including white) read clearly, uniform 12px inner
   padding, and object-fit:contain so nothing is cropped.
   Applies to WC product loop: shop + all category pages.
   ─────────────────────────────────────────────────────────────────────────── */
.woocommerce ul.products li.product a{
  display:block!important;
  width:100%!important;
}
.woocommerce ul.products li.product a img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  padding:14px!important;
  background:#F7F6F4!important; /* paper-2: neutral tint — white uniforms now visible */
  box-sizing:border-box!important;
}
@media(max-width:600px){
  .woocommerce ul.products li.product a img{padding:10px!important;}
}

/* Card CTA = red "Design this →" button (matches the current Claude Design round,
   replaces the View-design text link + its hover-only red). Tina 2026-06-06. */
.woocommerce ul.products li.product .button{
  display:block!important;width:auto!important;margin:14px 16px 16px!important;
  padding:12px!important;border-radius:3px!important;
  background:var(--aw-red)!important;color:#fff!important;
  font-family:var(--aw-sans)!important;font-weight:700!important;font-size:14px!important;
  text-align:center!important;
}
.woocommerce ul.products li.product .button:hover{background:#A50E16!important;color:#fff!important}
.woocommerce ul.products li.product:hover .button{color:#fff!important}
.woocommerce ul.products li.product .button::after{content:" →"}

/* ===== Primary CTA = Allen red everywhere (Tina pick 2026-06-06) ===== */
.allen-btn--primary{background:var(--aw-red)!important;color:#fff!important}
.allen-btn--primary:hover{background:#A50E16!important;color:#fff!important}

/* ===== Product page (single product) — design round 2026-06-06 ===== */
.allen-pp-eyebrow{font-family:var(--aw-sans);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--aw-red);margin:0 0 10px}
.allen-pp-title{font-family:var(--aw-shout)!important;font-weight:900;text-transform:uppercase;font-size:clamp(36px,4vw,56px);line-height:.92;letter-spacing:-.02em;color:var(--aw-ink);margin:0 0 16px}
.allen-pp-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.allen-pp-price b{font-family:var(--aw-shout);font-size:28px;color:var(--aw-ink)}
.allen-pp-price span{color:var(--aw-ink3);font-size:14px}
.allen-pp-lead{font-family:var(--aw-sans);font-size:16px;color:var(--aw-ink2);line-height:1.5;max-width:54ch;margin:0 0 24px}
.allen-pp-cta{display:flex;flex-direction:column;gap:12px;max-width:520px;margin:0 0 18px}
.allen-btn--lg{padding:17px 26px!important;font-size:16px!important}
.allen-pp-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.allen-pp-chip{display:flex;align-items:center;gap:6px;font-family:var(--aw-sans);font-size:12.5px;font-weight:700;padding:6px 11px;border-radius:999px;background:var(--aw-paper2);color:var(--aw-ink2)}
.allen-pp-ship{display:flex;gap:12px;align-items:flex-start;background:var(--aw-paper2);border-radius:10px;padding:14px 16px;max-width:520px;margin:0 0 16px}
.allen-pp-ship .ic{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--aw-ink);display:grid;place-items:center}
.allen-pp-ship b{font-family:var(--aw-sans);font-size:14.5px}
.allen-pp-ship p{margin:3px 0 0;font-size:13px;color:var(--aw-ink3)}
.allen-pp-review{margin:0 0 8px;font-family:var(--aw-sans);font-size:14px}
.allen-stars{color:#E0A526;letter-spacing:1px}
.allen-acc{margin-top:18px;border-top:1px solid var(--aw-line)}
.allen-acc-item{border-bottom:1px solid var(--aw-line)}
.allen-acc-item button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 0;background:none;border:0;cursor:pointer;font-family:var(--aw-sans);font-weight:800;font-size:16px;color:var(--aw-ink);text-align:left}
.allen-acc-item button span{font-size:20px;color:var(--aw-ink3);transition:transform .15s}
.allen-acc-item.open button span{transform:rotate(45deg)}
.allen-acc-body{display:none;font-family:var(--aw-sans);font-size:15px;color:var(--aw-ink2);line-height:1.6;padding-bottom:18px;max-width:70ch}
.allen-acc-item.open .allen-acc-body{display:block}

/* ===== Product page polish (2026-06-06) ===== */
.single-product main{padding-top:14px!important}
.single-product .woocommerce-breadcrumb{margin:0 0 14px!important;padding-top:0!important}
.single-product div.product{margin-top:4px!important}
.single-product .woocommerce-product-gallery{border:1px solid var(--aw-line);border-radius:14px;padding:18px;background:#fff}
.single-product .woocommerce-product-gallery__image img{border-radius:8px}
.single-product .flex-control-thumbs{display:flex;gap:8px;margin-top:14px;padding:0;list-style:none}
.single-product .flex-control-thumbs li{width:auto!important;margin:0!important;float:none!important}
.single-product .flex-control-thumbs img{opacity:1!important;border:1.5px solid var(--aw-line);border-radius:8px;width:64px;height:auto;cursor:pointer;transition:.12s}
.single-product .flex-control-thumbs img:hover,.single-product .flex-control-thumbs img.flex-active{border-color:var(--aw-ink)!important;opacity:1!important}
.allen-pp-review{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.allen-pp-review-sub{color:var(--aw-ink3);font-size:13px;font-weight:400}
.allen-pp-chips{gap:10px}
.allen-pp-chip{font-size:13.5px!important;padding:9px 14px!important}
.allen-related{clear:both;float:none;width:100%;max-width:1200px;margin:48px auto 0;padding:0}
.allen-related h2{font-family:var(--aw-sans)!important;font-weight:800!important;text-transform:none!important;font-size:22px!important;letter-spacing:0!important;color:var(--aw-ink);margin:0 0 18px}
.allen-related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.allen-related-card{display:block;text-decoration:none;border:1px solid var(--aw-line);border-radius:12px;overflow:hidden;background:#fff;transition:.14s}
.allen-related-card:hover{border-color:var(--aw-ink);box-shadow:0 8px 24px rgba(22,19,15,.08)}
.allen-related-img img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:12px;margin:0;background:#F7F6F4;mix-blend-mode:multiply}
.allen-related-nm{font-family:var(--aw-shout);font-weight:900;font-size:15px;color:var(--aw-ink);padding:8px 14px 0;line-height:1.05}
.allen-related-pr{font-family:var(--aw-sans);font-size:13px;color:var(--aw-ink2);padding:5px 14px 14px;font-weight:700}
@media(max-width:1000px){.allen-related-grid{grid-template-columns:repeat(2,1fr)}}

/* ===== Mobile spacing fixes (2026-06-06) ===== */
.single-product .woocommerce-product-gallery{box-sizing:border-box;max-width:100%}
/* KAN-gallery-fix: the wildcard max-width:100% must NOT apply to the flexslider wrapper
   or individual slide divs — flexslider sets width:N*100% on the wrapper and width:Xpx
   on each slide. Capping them at 100% collapses the horizontal track and all slides
   stack vertically, so translate3d moves horizontally but slides are below the viewport. */
.single-product .woocommerce-product-gallery *:not(.woocommerce-product-gallery__wrapper):not(.woocommerce-product-gallery__image){max-width:100%}
@media(max-width:782px){
  .single-product main{padding-left:20px!important;padding-right:20px!important}
  .single-product .woocommerce-product-gallery{padding:12px}
  .allen-pp-title{font-size:34px!important}
  .allen-pp-cta{max-width:none}
  .allen-related{margin-top:36px}
  .allen-related h2{font-size:20px!important}
}

/* D0-10: while the uniform builder is mounted, the page's own CTAs compete with
   the builder's Save action. Hide the sticky bar and WP block buttons so only
   the builder's primary CTA survives. Non-builder pages are unaffected. */
body:has(.allen-builder) .aw-sticky-cta{display:none!important}
body:has(.allen-builder) .wp-block-buttons{display:none!important}

/* D0-1c: full-screen takeover — the builder's navy header is the top of the
   viewport. No WP site header, footer, page title, or content container visible.
   NOTE: the "BUILDER PREVIEW" H1 block inside the WP page content must also be
   deleted via WP admin before go-live (CSS alone cannot target it without
   removing it for all pages). */
body:has(.allen-builder){overflow:hidden}
body:has(.allen-builder) header.wp-block-template-part,
body:has(.allen-builder) footer.wp-block-template-part,
body:has(.allen-builder) .site-header,
body:has(.allen-builder) .site-footer,
body:has(.allen-builder) #masthead,
body:has(.allen-builder) #colophon,
body:has(.allen-builder) .wp-block-post-title,
body:has(.allen-builder) .entry-title,
body:has(.allen-builder) .entry-header,
body:has(.allen-builder) .page-title,
body:has(.allen-builder) [data-template-part-slug="header"],
body:has(.allen-builder) [data-template-part-slug="footer"]{display:none!important}

/* =====================================================================
   Mobile sticky CTA — global (displayed on sport hubs + front page).
   JS (sticky-cta.js) swaps #aw-sticky-call / #aw-sticky-quote based on
   Allen's ET business hours. Default (before JS): show quote, hide call.
   ===================================================================== */
.aw-sticky-cta{
  display:none;
  position:sticky;
  bottom:0;
  z-index:30;
  gap:10px;
  padding:12px 16px 16px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-top:1px solid rgba(22,19,15,.14);
}
@media(max-width:900px){
  .aw-sticky-cta{display:flex;}
}
/* Default state before JS runs: show quote, hide call.
   JS sets inline display styles immediately on DOMContentLoaded. */
#aw-sticky-call{display:none}
#aw-sticky-quote{display:block}
/* Ensure children fill equally */
.aw-sticky-cta > *{flex:1;text-align:center}

/* =====================================================================
   .aw-content-page — reusable content-page body container
   Tina's exact spec: max-width 800px, true centering at any viewport
   width, fixed 24px side padding on desktop, 64px top/bottom.
   Apply to the BODY content area (below the hero/header band).
   Hero/gray band stays full-width — this class is for prose only.
   ===================================================================== */
.aw-content-page{
  max-width:800px;
  margin-left:auto;
  margin-right:auto;
  padding-left:24px;
  padding-right:24px;
  padding-top:64px;
  padding-bottom:64px;
}
@media(max-width:600px){
  .aw-content-page{
    padding-left:20px;
    padding-right:20px;
  }
}

/* Size-charts exception: tables may exceed 800px (scrollable) */
.aw-content-page table{
  max-width:none;
}
.aw-content-page .sc-table-wrap{
  max-width:calc(100vw - 48px);
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
