/*
Theme Name:  NewSportsWears Child
Theme URI:   https://newsportswears.com
Description: Nike-style editorial child theme for New Sports Wears. Based on Woodmart parent theme.
Author:      New Sports Wears
Author URI:  https://newsportswears.com
Template:    woodmart
Version:     1.0.0
License:     GNU General Public License v2 or later
Text Domain: newsportswears-child
*/

/* ============================================================
   DESIGN SYSTEM TOKENS
   Extracted from logo: crystalline blue lightning bolt
   Primary: #1a7fe8  |  Ice: #5eb8ff  |  Deep: #071f5c
   ============================================================ */

:root {
  /* Brand colours */
  --nsw-bolt:      #1a7fe8;
  --nsw-bolt-ice:  #5eb8ff;
  --nsw-bolt-mid:  #0d5fc0;
  --nsw-bolt-deep: #071f5c;
  --nsw-bolt-dark: #050c1a;

  /* Neutral surface */
  --nsw-ink:       #0d0d0d;
  --nsw-canvas:    #ffffff;
  --nsw-cloud:     #f3f5f8;
  --nsw-hairline:  #dde3ed;
  --nsw-mute:      #6b7a96;

  /* Semantic */
  --nsw-sale:      #d30005;
  --nsw-success:   #007d48;

  /* Typography */
  --nsw-font-display: 'Bebas Neue', 'Arial Black', sans-serif;
  --nsw-font-ui:      'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Spacing (8px base) */
  --nsw-xs:      4px;
  --nsw-sm:      8px;
  --nsw-md:      16px;
  --nsw-lg:      24px;
  --nsw-xl:      32px;
  --nsw-section: 52px;

  /* Shapes */
  --nsw-pill:    30px;
  --nsw-pill-sm: 20px;
}

/* ============================================================
   GOOGLE FONTS IMPORT
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');


/* ============================================================
   GLOBAL BASE OVERRIDES
   ============================================================ */

body,
.wd-page-content,
.wd-page-wrapper {
  font-family: var(--nsw-font-ui) !important;
  background-color: var(--nsw-canvas) !important;
  color: var(--nsw-ink);
}

/* Remove default WoodMart border radius from buttons */
:root {
  --wd-brd-radius: 0px;
}

/* ============================================================
   ACCENT LINE (top of page)
   ============================================================ */
.nsw-accent-line {
  height: 3px;
  background: linear-gradient(90deg, var(--nsw-bolt-deep), var(--nsw-bolt), var(--nsw-bolt-ice), var(--nsw-bolt));
  width: 100%;
}

/* ============================================================
   UTILITY BAR
   ============================================================ */
.whb-top-bar .wd-header-text,
.whb-top-bar,
.whb-top-bar .whb-row {
  background-color: var(--nsw-bolt-deep) !important;
}

.whb-top-bar .wd-header-text,
.whb-top-bar a,
.whb-top-bar span,
.whb-top-bar p {
  color: var(--nsw-bolt-ice) !important;
  font-size: 11px !important;
  font-family: var(--nsw-font-ui) !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
}

/* ============================================================
   PRIMARY NAVIGATION
   ============================================================ */
.whb-general-header,
.whb-general-header .whb-row,
.whb-main-header .whb-flex-row {
  background-color: var(--nsw-canvas) !important;
}

.whb-main-header {
  border-bottom: 1px solid var(--nsw-hairline) !important;
  box-shadow: none !important;
}

/* Nav links */
.wd-nav-header > li > a {
  font-family: var(--nsw-font-ui) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--nsw-ink) !important;
  padding-bottom: 3px !important;
  border-bottom: 2px solid transparent !important;
  transition: border-color 0.15s, color 0.15s !important;
}

.wd-nav-header > li > a:hover,
.wd-nav-header > li.current-menu-item > a,
.wd-nav-header > li.current-menu-ancestor > a {
  color: var(--nsw-bolt) !important;
  border-bottom-color: var(--nsw-bolt) !important;
}

/* Nav dropdowns */
.wd-dropdown-menu {
  border-radius: 0 !important;
  border-top: 2px solid var(--nsw-bolt) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important;
}

.wd-sub-menu li > a {
  font-family: var(--nsw-font-ui) !important;
  font-size: 13px !important;
}

.wd-sub-menu li > a:hover {
  color: var(--nsw-bolt) !important;
}

/* Search pill */
.searchform input[type="text"],
.wd-style-default input[type="text"],
.wd-header-search-form-main input[type="text"] {
  border-radius: var(--nsw-pill) !important;
  background-color: var(--nsw-cloud) !important;
  border-color: transparent !important;
  font-family: var(--nsw-font-ui) !important;
  font-size: 12px !important;
}

.searchform input[type="text"]:focus {
  border-color: var(--nsw-bolt) !important;
  background-color: var(--nsw-canvas) !important;
}

/* Cart / wishlist icons */
.wd-header-cart > a,
.wd-header-wishlist > a,
.wd-tools-element > a {
  color: var(--nsw-ink) !important;
}

.wd-header-cart > a:hover,
.wd-header-wishlist > a:hover {
  color: var(--nsw-bolt) !important;
}

/* ============================================================
   LOGO
   ============================================================ */
.site-logo .wd-logo img {
  max-height: 42px !important;
}

/* ============================================================
   HERO SECTION
   ============================================================ */
.nsw-hero {
  position: relative;
  background: linear-gradient(135deg, var(--nsw-bolt-deep) 0%, #0b1830 55%, var(--nsw-bolt-dark) 100%);
  min-height: 580px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding: 0 40px 56px;
}

.nsw-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 68% 45%, rgba(26,127,232,0.18) 0%, transparent 55%),
    radial-gradient(ellipse at 15% 80%, rgba(94,184,255,0.07) 0%, transparent 45%);
  pointer-events: none;
}

.nsw-hero-bolt-deco {
  position: absolute;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);
  width: 340px;
  height: 340px;
  opacity: 0.07;
  pointer-events: none;
}

.nsw-hero-content {
  position: relative;
  z-index: 2;
  max-width: 560px;
}

.nsw-hero-eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nsw-bolt-ice);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--nsw-font-ui);
}

.nsw-hero-eyebrow::before {
  content: '';
  display: block;
  width: 22px;
  height: 2px;
  background: var(--nsw-bolt);
  flex-shrink: 0;
}

.nsw-hero-h1 {
  font-family: var(--nsw-font-display) !important;
  font-size: clamp(56px, 7vw, 90px) !important;
  line-height: 0.92 !important;
  color: #ffffff !important;
  letter-spacing: 0.01em !important;
  margin-bottom: 18px !important;
  text-transform: uppercase;
}

.nsw-hero-h1 .nsw-accent {
  color: var(--nsw-bolt-ice);
  display: block;
}

.nsw-hero-sub {
  font-size: 15px;
  color: rgba(255,255,255,0.62);
  margin-bottom: 32px;
  line-height: 1.65;
  max-width: 380px;
  font-family: var(--nsw-font-ui);
}

.nsw-hero-stats {
  position: absolute;
  right: 48px;
  bottom: 48px;
  z-index: 2;
  display: flex;
  gap: 36px;
}

.nsw-stat-n {
  font-family: var(--nsw-font-display);
  font-size: 38px;
  color: #fff;
  line-height: 1;
}

.nsw-stat-n em {
  color: var(--nsw-bolt-ice);
  font-style: normal;
}

.nsw-stat-l {
  font-size: 10px;
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 4px;
  font-family: var(--nsw-font-ui);
}

/* ============================================================
   BUTTONS — GLOBAL
   ============================================================ */

/* Primary pill — blue */
.btn.nsw-btn-primary,
.nsw-btn-primary,
a.nsw-btn-primary,
button.nsw-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--nsw-bolt) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: var(--nsw-pill) !important;
  padding: 13px 30px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  font-family: var(--nsw-font-ui) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s;
  min-height: 46px;
  box-shadow: none !important;
}

.nsw-btn-primary:hover {
  background: var(--nsw-bolt-mid) !important;
  color: #fff !important;
}

/* Secondary — outline white (for dark backgrounds) */
.nsw-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  color: #ffffff !important;
  border: 1.5px solid rgba(255,255,255,0.35) !important;
  border-radius: var(--nsw-pill) !important;
  padding: 13px 30px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  font-family: var(--nsw-font-ui) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
  min-height: 46px;
}

.nsw-btn-secondary:hover {
  border-color: rgba(255,255,255,0.7) !important;
  background: rgba(255,255,255,0.08) !important;
}

/* On-image pill — white */
.nsw-btn-onimage {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffffff !important;
  color: var(--nsw-ink) !important;
  border: none !important;
  border-radius: var(--nsw-pill) !important;
  padding: 8px 18px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-family: var(--nsw-font-ui) !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer;
}

/* WooCommerce / shop buttons */
.single_add_to_cart_button,
.button.add_to_cart_button,
.wc-block-components-button,
.checkout-button {
  border-radius: var(--nsw-pill) !important;
  background-color: var(--nsw-bolt) !important;
  color: #fff !important;
  border: none !important;
  font-family: var(--nsw-font-ui) !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  transition: background 0.2s !important;
}

.single_add_to_cart_button:hover,
.button.add_to_cart_button:hover,
.checkout-button:hover {
  background-color: var(--nsw-bolt-mid) !important;
}

/* ============================================================
   TRUST BAR
   ============================================================ */
.nsw-trust-bar {
  background: var(--nsw-bolt);
  padding: 16px 40px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.nsw-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ffffff;
}

.nsw-trust-icon {
  font-size: 17px;
  line-height: 1;
}

.nsw-trust-text {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.03em;
  font-family: var(--nsw-font-ui);
}

/* ============================================================
   SECTION HEADERS
   ============================================================ */
.nsw-section {
  padding: var(--nsw-section) 40px;
}

.nsw-section-hdr {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 28px;
}

.nsw-section-title {
  font-family: var(--nsw-font-display) !important;
  font-size: 34px !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  color: var(--nsw-ink) !important;
  margin-bottom: 0 !important;
  text-transform: uppercase;
}

.nsw-section-title em {
  color: var(--nsw-bolt);
  font-style: normal;
}

.nsw-section-link {
  font-size: 12px;
  font-weight: 500;
  color: var(--nsw-bolt);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-bottom: 1px solid var(--nsw-bolt);
  padding-bottom: 1px;
  font-family: var(--nsw-font-ui);
}

.nsw-section-link:hover {
  opacity: 0.75;
  color: var(--nsw-bolt);
}

/* ============================================================
   COLLECTION TILES (3-up)
   ============================================================ */
.nsw-col-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}

.nsw-col-tile {
  position: relative;
  aspect-ratio: 3/4;
  background: var(--nsw-cloud);
  overflow: hidden;
  cursor: pointer;
  display: flex;
  align-items: flex-end;
  text-decoration: none;
}

.nsw-col-tile::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(7,31,92,0.82) 0%, transparent 55%);
  z-index: 1;
}

.nsw-col-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0, 0, 0.44, 1.18);
}

.nsw-col-tile:hover img {
  transform: scale(1.05);
}

.nsw-col-inner {
  position: relative;
  z-index: 2;
  padding: 20px 22px;
}

.nsw-col-name {
  font-family: var(--nsw-font-display);
  font-size: 26px;
  color: #ffffff;
  letter-spacing: 0.04em;
  margin-bottom: 6px;
  line-height: 1;
  text-transform: uppercase;
}

.nsw-col-count {
  font-size: 11px;
  color: rgba(255,255,255,0.55);
  margin-bottom: 12px;
  letter-spacing: 0.04em;
  font-family: var(--nsw-font-ui);
}

/* ============================================================
   SPORT CATEGORY GRID
   ============================================================ */
.nsw-cat-rail {
  background: var(--nsw-bolt-deep);
  padding: var(--nsw-section) 40px;
}

.nsw-cat-rail .nsw-section-title {
  color: #ffffff !important;
  margin-bottom: 28px;
}

.nsw-cat-rail .nsw-section-title em {
  color: var(--nsw-bolt-ice);
}

.nsw-sport-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}

.nsw-sport-tile {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(94,184,255,0.12);
  border-radius: 4px;
  padding: 20px 10px;
  text-align: center;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
  text-decoration: none;
  display: block;
}

.nsw-sport-tile:hover {
  background: rgba(26,127,232,0.22);
  border-color: rgba(94,184,255,0.3);
}

.nsw-sport-icon {
  font-size: 26px;
  margin-bottom: 8px;
  display: block;
  line-height: 1;
}

.nsw-sport-name {
  font-size: 10px;
  font-weight: 500;
  color: rgba(255,255,255,0.7);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  font-family: var(--nsw-font-ui);
  line-height: 1.4;
}

/* ============================================================
   PRODUCT CARDS (WooCommerce override)
   ============================================================ */

/* Product grid container */
ul.products,
.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 2px !important;
  background: var(--nsw-hairline) !important;
}

@media (max-width: 1024px) {
  ul.products,
  .products.columns-4 { grid-template-columns: repeat(3,1fr) !important; }
}

@media (max-width: 768px) {
  ul.products,
  .products.columns-4 { grid-template-columns: repeat(2,1fr) !important; }
}

@media (max-width: 480px) {
  ul.products,
  .products.columns-4 { grid-template-columns: 1fr !important; }
}

/* Individual card */
ul.products li.product,
.wd-product {
  background: var(--nsw-canvas) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: none !important;
}

/* Product image area */
.wd-product .product-element-top,
.wd-product .product-image-link,
ul.products li.product a img {
  border-radius: 0 !important;
  background: var(--nsw-cloud) !important;
}

/* Product title */
.wd-entities-title,
.wd-product .product-title,
ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--nsw-font-ui) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--nsw-ink) !important;
  line-height: 1.3 !important;
  margin-bottom: 2px !important;
}

/* Product category */
.wd-product .wd-product-cats,
.wd-product-cats a {
  font-size: 11px !important;
  color: var(--nsw-mute) !important;
  font-family: var(--nsw-font-ui) !important;
}

/* Price */
.wd-product .price,
.price .amount {
  color: var(--nsw-bolt) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  font-family: var(--nsw-font-ui) !important;
}

.wd-product .price del .amount {
  color: var(--nsw-mute) !important;
  font-weight: 400 !important;
}

/* Product card meta padding */
.wd-product .product-element-bottom,
.wd-product .product-wrapper .product-element-bottom {
  padding: 10px 12px 14px !important;
}

/* Sale badge */
.onsale,
.product-label.onsale {
  background: var(--nsw-sale) !important;
  color: #fff !important;
  border-radius: var(--nsw-pill) !important;
  font-family: var(--nsw-font-ui) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
}

/* New / Featured badge */
.product-label.new,
.product-label.featured {
  background: var(--nsw-bolt) !important;
  color: #fff !important;
  border-radius: var(--nsw-pill) !important;
  font-family: var(--nsw-font-ui) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
}

/* ============================================================
   EDITORIAL STRIP (2-up)
   ============================================================ */
.nsw-editorial {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 2px;
}

.nsw-ed-tile {
  position: relative;
  min-height: 400px;
  display: flex;
  align-items: flex-end;
  padding: 36px;
  overflow: hidden;
}

.nsw-ed-tile.dark {
  background: linear-gradient(135deg, var(--nsw-bolt-deep) 0%, #091428 100%);
}

.nsw-ed-tile.light {
  background: var(--nsw-cloud);
}

.nsw-ed-tile::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.nsw-ed-tile.dark::before {
  background: radial-gradient(ellipse at 65% 35%, rgba(26,127,232,0.2) 0%, transparent 65%);
}

.nsw-ed-tile.light::before {
  background: radial-gradient(ellipse at 35% 65%, rgba(26,127,232,0.07) 0%, transparent 65%);
}

.nsw-ed-deco {
  position: absolute;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
  width: 160px;
  height: 160px;
  opacity: 0.06;
  pointer-events: none;
}

.nsw-ed-content {
  position: relative;
  z-index: 1;
}

.nsw-ed-h {
  font-family: var(--nsw-font-display) !important;
  font-size: clamp(36px, 4vw, 48px) !important;
  line-height: 0.95 !important;
  margin-bottom: 14px !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase;
}

.nsw-ed-tile.dark .nsw-ed-h { color: #ffffff !important; }
.nsw-ed-tile.light .nsw-ed-h { color: var(--nsw-ink) !important; }

.nsw-ed-sub {
  font-size: 13px;
  margin-bottom: 20px;
  line-height: 1.65;
  font-family: var(--nsw-font-ui);
  max-width: 340px;
}

.nsw-ed-tile.dark .nsw-ed-sub { color: rgba(255,255,255,0.6); }
.nsw-ed-tile.light .nsw-ed-sub { color: var(--nsw-mute); }

/* ============================================================
   WHY CHOOSE US SECTION
   ============================================================ */
.nsw-why {
  background: var(--nsw-cloud);
  padding: var(--nsw-section) 40px;
}

.nsw-why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 32px;
}

@media (max-width: 768px) {
  .nsw-why-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
  .nsw-why-grid { grid-template-columns: 1fr; }
}

.nsw-why-card {
  background: var(--nsw-canvas);
  padding: 24px 20px;
  border-bottom: 3px solid var(--nsw-bolt);
}

.nsw-why-icon {
  font-size: 26px;
  margin-bottom: 12px;
  display: block;
  line-height: 1;
}

.nsw-why-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--nsw-ink);
  margin-bottom: 6px;
  font-family: var(--nsw-font-ui);
}

.nsw-why-desc {
  font-size: 12px;
  color: var(--nsw-mute);
  line-height: 1.65;
  font-family: var(--nsw-font-ui);
}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.nsw-testi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: var(--nsw-hairline);
  margin-top: 28px;
}

@media (max-width: 768px) {
  .nsw-testi-grid { grid-template-columns: 1fr; }
}

.nsw-testi-card {
  background: var(--nsw-canvas);
  padding: 28px 24px;
}

.nsw-testi-stars {
  color: var(--nsw-bolt);
  font-size: 13px;
  letter-spacing: 2px;
  margin-bottom: 12px;
}

.nsw-testi-q {
  font-size: 13px;
  color: var(--nsw-ink);
  line-height: 1.75;
  margin-bottom: 16px;
  font-style: italic;
  font-family: var(--nsw-font-ui);
}

.nsw-testi-who {
  font-size: 12px;
  font-weight: 600;
  color: var(--nsw-bolt);
  font-family: var(--nsw-font-ui);
}

.nsw-testi-loc {
  font-size: 11px;
  color: var(--nsw-mute);
  margin-top: 2px;
  font-family: var(--nsw-font-ui);
}

/* ============================================================
   FILTER CHIPS (shop archive)
   ============================================================ */
.nsw-chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.nsw-chip {
  border: 1px solid var(--nsw-hairline);
  border-radius: var(--nsw-pill);
  padding: 5px 14px;
  font-size: 11px;
  font-weight: 500;
  color: var(--nsw-ink);
  cursor: pointer;
  background: var(--nsw-canvas);
  font-family: var(--nsw-font-ui);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-block;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.nsw-chip:hover,
.nsw-chip.active {
  background: var(--nsw-ink);
  color: #fff;
  border-color: var(--nsw-ink);
}

.nsw-chip.bolt {
  background: var(--nsw-bolt);
  color: #fff;
  border-color: var(--nsw-bolt);
}

/* ============================================================
   SHOP LOOP / ARCHIVE PAGE
   ============================================================ */
.woocommerce-ordering select,
.woocommerce-ordering .orderby {
  border-radius: var(--nsw-pill) !important;
  border-color: var(--nsw-hairline) !important;
  font-family: var(--nsw-font-ui) !important;
  font-size: 12px !important;
  background-color: var(--nsw-canvas) !important;
}

/* Archive page title */
.woocommerce-products-header__title,
.woocommerce-loop-category__title,
.page-title {
  font-family: var(--nsw-font-display) !important;
  font-size: 36px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--nsw-ink) !important;
}

/* Sidebar filters */
.widget-title,
.widgettitle {
  font-family: var(--nsw-font-ui) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--nsw-ink) !important;
}

/* ============================================================
   SINGLE PRODUCT PAGE
   ============================================================ */
.product_title,
h1.product_title {
  font-family: var(--nsw-font-display) !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  letter-spacing: 0.03em !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  color: var(--nsw-ink) !important;
}

.single-product .price {
  font-size: 22px !important;
  color: var(--nsw-bolt) !important;
}

.single-product .price .amount {
  color: inherit !important;
  font-size: inherit !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
.wd-footer,
.wd-footer .footer-sidebar,
.footer-sidebar {
  background-color: var(--nsw-canvas) !important;
  border-top: 1px solid var(--nsw-hairline) !important;
}

.wd-copyrights {
  background-color: var(--nsw-canvas) !important;
  border-top: 1px solid var(--nsw-hairline) !important;
}

.widgettitle,
.widget-title {
  font-family: var(--nsw-font-ui) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--nsw-ink) !important;
  border-bottom: none !important;
  margin-bottom: 14px !important;
}

.footer-column .widget a,
.wd-footer a {
  font-family: var(--nsw-font-ui) !important;
  font-size: 12px !important;
  color: var(--nsw-mute) !important;
  text-decoration: none !important;
}

.footer-column .widget a:hover,
.wd-footer a:hover {
  color: var(--nsw-bolt) !important;
}

.wd-copyrights p,
.wd-copyrights span,
.wd-copyrights a {
  font-size: 11px !important;
  color: var(--nsw-mute) !important;
  font-family: var(--nsw-font-ui) !important;
}

/* ============================================================
   SOCIAL ICONS
   ============================================================ */
.wd-social-icons > a {
  border-radius: 50% !important;
  background: var(--nsw-cloud) !important;
  color: var(--nsw-ink) !important;
  transition: background 0.2s, color 0.2s !important;
}

.wd-social-icons > a:hover {
  background: var(--nsw-bolt) !important;
  color: #ffffff !important;
}

/* ============================================================
   PAGE TITLE AREA
   ============================================================ */
.wd-page-title {
  background: var(--nsw-bolt-deep) !important;
  padding: 40px 40px !important;
}

.wd-page-title .title,
.wd-page-title h1 {
  font-family: var(--nsw-font-display) !important;
  font-size: clamp(32px, 5vw, 52px) !important;
  letter-spacing: 0.04em !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
}

.wd-breadcrumbs,
.yoast-breadcrumb,
.woocommerce-breadcrumb {
  color: rgba(255,255,255,0.5) !important;
  font-family: var(--nsw-font-ui) !important;
  font-size: 12px !important;
}

.wd-breadcrumbs a,
.yoast-breadcrumb a,
.woocommerce-breadcrumb a {
  color: rgba(255,255,255,0.6) !important;
}

.wd-breadcrumbs a:hover,
.woocommerce-breadcrumb a:hover {
  color: var(--nsw-bolt-ice) !important;
}

/* ============================================================
   NOTICES / MESSAGES
   ============================================================ */
.woocommerce-message,
.wd-notice.wd-success {
  background-color: rgba(0,125,72,0.1) !important;
  color: var(--nsw-success) !important;
  border-radius: 0 !important;
  border-left: 3px solid var(--nsw-success) !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .nsw-sport-grid { grid-template-columns: repeat(4,1fr); }
  .nsw-hero { padding: 0 24px 48px; min-height: 460px; }
  .nsw-hero-stats { right: 24px; bottom: 24px; gap: 24px; }
  .nsw-section { padding: var(--nsw-section) 24px; }
  .nsw-col-grid { grid-template-columns: repeat(3,1fr); }
  .nsw-editorial { grid-template-columns: 1fr; }
  .nsw-cat-rail { padding: var(--nsw-section) 24px; }
  .nsw-why { padding: var(--nsw-section) 24px; }
  .nsw-why-grid { grid-template-columns: repeat(2,1fr); }
  .nsw-trust-bar { padding: 14px 24px; }
}

@media (max-width: 768px) {
  .nsw-hero-h1 { font-size: clamp(44px, 10vw, 66px) !important; }
  .nsw-sport-grid { grid-template-columns: repeat(3,1fr); }
  .nsw-col-grid { grid-template-columns: 1fr; }
  .nsw-hero-stats { display: none; }
  .nsw-section { padding: 36px 20px; }
  .nsw-trust-bar { gap: 10px; flex-direction: column; align-items: flex-start; padding: 16px 20px; }
  .nsw-ed-tile { min-height: 280px; padding: 24px; }
  .nsw-testi-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .nsw-hero { padding: 0 20px 40px; min-height: 360px; }
  .nsw-hero-h1 { font-size: clamp(36px, 12vw, 52px) !important; }
  .nsw-sport-grid { grid-template-columns: repeat(3,1fr); gap: 6px; }
  .nsw-sport-tile { padding: 14px 8px; }
  .nsw-why-grid { grid-template-columns: 1fr; }
}
