/*
Theme Name:   Merch Sport Gear Child
Theme URI:    https://merchsportgear.com
Description:  Child theme của Flatsome cho Merch Sport. Bộ nhận diện Navy/Red + thiết kế theo Rally House. Cập nhật theme cha an toàn.
Author:       Merch Sport
Template:     flatsome
Version:      3.3.0
Text Domain:  flatsome-child
*/

/* 
================================================================================
   FAN GEAR SPORT - BRANDING & MOBILE-FIRST WOOCOMMERCE CUSTOM STYLES
   Colors: Merch Navy (#003263) | Pure White (#FFFFFF) | Light Gray (#F5F5F7) | Sport Red (#EE2531)
   Typography: Roboto family site-wide (Roboto + Roboto Condensed accent)
   Shapes: Sharp, Aggressive Edges (0px to 4px)
================================================================================
*/

/* 1. BRANDING TOKENS & GLOBALS — MERCH SPORT (Navy #003263 / Red #EE2531 / Slate #8A99AD) */
:root {
    /* Merch Sport palette */
    --ms-navy: #003263;        /* Primary — navy logo mới */
    --ms-navy-2: #0A3A70;      /* Navy phụ (hover/section) */
    --ms-red: #EE2531;         /* Accent / CTA */
    --ms-red-dark: #C81622;    /* Red hover */
    --ms-white: #FFFFFF;
    --ms-slate: #8A99AD;       /* Athletic Slate — text phụ/viền */
    --ms-bg-light: #F4F6F9;

    /* Legacy tokens (giữ tên fgs-* để code cũ chạy, nhưng map sang màu Merch) */
    --fgs-bg-primary: #003263;
    --fgs-bg-secondary: #0A3A70;
    --fgs-text-light: #FFFFFF;
    --fgs-text-gray: #8A99AD;
    --fgs-bg-light: #F4F6F9;
    --fgs-accent: #EE2531;
    --fgs-font-heading: 'Roboto', sans-serif;
    --fgs-font-sport: 'Roboto Condensed', 'Roboto', sans-serif;
    --fgs-font-body: 'Roboto', sans-serif;
    --fgs-radius: 0px; /* Sharp corners */
    --fgs-transition: all 0.2s ease-in-out;

    /* Aliases toàn cục — mọi var(--accent)/var(--dark) trong stylesheet dùng màu Merch */
    --accent: #EE2531;
    --dark: #003263;
    --font-heading: 'Roboto', sans-serif;
    --font-sport: 'Roboto Condensed', 'Roboto', sans-serif;
    --font-body: 'Roboto', sans-serif;
    --text-dark: #003263;
    --text-muted: #8A99AD;
    --bg-card: #FFFFFF;

    /* ===== HỆ GUTTER / CONTAINER CHUẨN (đồng bộ mọi trang) ===== */
    --ms-gutter: 16px;          /* lề 2 bên — mobile mặc định */
    --ms-max: 1200px;           /* chiều rộng nội dung tối đa */
}
/* Gutter mở rộng dần theo màn hình để mọi trang căn lề GIỐNG NHAU */
@media (min-width: 600px)  { :root { --ms-gutter: 22px; } }
@media (min-width: 1024px) { :root { --ms-gutter: 28px; } }

/* Force dark theme background & high-contrast typography across store pages */
body.woocommerce-page,
body.woocommerce {
    background-color: #FFFFFF !important;
    color: #003263;
    font-family: var(--fgs-font-body);
    margin: 0;
    padding: 0;
}

/* 2. TYPOGRAPHY OVERRIDES */
.woocommerce h1, .woocommerce h2, .woocommerce h3, 
.woocommerce h4, .woocommerce h5, .woocommerce h6,
.woocommerce-page h1, .woocommerce-page h2, .woocommerce-page h3, 
.woocommerce-page h4, .woocommerce-page h5, .woocommerce-page h6,
.entry-title, .product_title {
    font-family: var(--fgs-font-heading) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #003263 !important;
}

/* 3. SHARP BUTTONS & INTERACTIVE ELEMENTS */
.woocommerce #respond input#submit, 
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
    font-family: var(--fgs-font-heading);
    font-weight: 700;
    text-transform: uppercase;
    background-color: var(--fgs-accent) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: var(--fgs-radius) !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    letter-spacing: 0.5px;
    transition: var(--fgs-transition) !important;
    cursor: pointer;
}

/* Aggressive hover flash effect */
.woocommerce #respond input#submit:hover, 
.woocommerce a.button:hover, 
.woocommerce button.button:hover, 
.woocommerce input.button:hover {
    background-color: #b3000b !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(229, 9, 20, 0.4);
}

.woocommerce #respond input#submit:active, 
.woocommerce a.button:active, 
.woocommerce button.button:active, 
.woocommerce input.button:active {
    transform: translateY(0);
}

/* 4. MOBILE-FIRST 2-COLUMN PRODUCT GRID (< 768px) */
@media (max-width: 767px) {
    /* For standard WooCommerce layouts */
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        padding: 10px !important;
        margin: 0 !important;
    }
    
    .woocommerce ul.products li.product, 
    .woocommerce-page ul.products li.product {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        float: none !important;
    }

    /* Elementor-specific WooCommerce grid override */
    .elementor-products-grid ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* 5. PRODUCT CARD SHARP STYLING */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.product-card-custom {
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    padding: 12px !important;
    transition: var(--fgs-transition);
    position: relative;
    box-sizing: border-box;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
    border-color: var(--fgs-accent) !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important;
    margin: 10px 0 5px 0 !important;
    color: #003263 !important;
    font-family: var(--fgs-font-body) !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce-page ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins {
    color: var(--fgs-accent) !important;
    font-weight: 700;
    font-size: 16px !important;
    text-decoration: none !important;
}

.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
    color: var(--fgs-text-gray) !important;
    font-size: 13px !important;
    margin-right: 6px;
    font-weight: 400;
}

/* 6. SHARP RECTANGULAR BADGES (SALE, HOT) */
.woocommerce span.onsale,
.woocommerce-page span.onsale,
.fgs-badge {
    background-color: var(--fgs-accent) !important;
    color: #ffffff !important;
    font-family: var(--fgs-font-heading) !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    font-size: 11px !important;
    padding: 4px 8px !important;
    border-radius: var(--fgs-radius) !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1.2 !important;
    position: absolute;
    top: 10px !important;
    left: 10px !important;
    right: auto !important;
    margin: 0 !important;
    letter-spacing: 0.5px;
    z-index: 10;
}

/* 7. WOOCOMMERCE SINGLE PRODUCT STYLE ENHANCEMENTS */
.woocommerce div.product .product_title {
    font-size: 26px !important;
    line-height: 1.2;
    margin-bottom: 10px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--fgs-accent) !important;
    font-size: 24px !important;
    font-weight: 800;
}

.woocommerce div.product .quantity input.qty {
    background-color: #FFFFFF !important;
    color: #003263 !important;
    border: 1px solid #D2D2D7 !important;
    border-radius: var(--fgs-radius) !important;
    height: 50px;
    font-family: var(--fgs-font-heading);
    font-weight: 700;
}

/* Attribute selectors */
.variations select {
    background-color: #FFFFFF !important;
    color: #003263 !important;
    border: 1px solid #D2D2D7 !important;
    border-radius: var(--fgs-radius) !important;
    padding: 10px 12px;
    font-family: var(--fgs-font-body);
    min-height: 44px;
}

.woocommerce-product-details__short-description {
    color: #4A4A4A;
    font-size: 13px;
    line-height: 1.6;
}

/* 8. HIDE STICKY BAR ON DESKTOP & DISPLAY ON MOBILE Only */
@media (min-width: 768px) {
    .fgs-sticky-atc-bar {
        display: none !important;
    }
}

/* ===== Hero title: keep "ONE WORLD ONE GAME" on one line (all screens) ===== */
.fgs-heroline, .fgs-heroline strong { white-space: nowrap !important; }
.fgs-heroline { font-weight: 800 !important; line-height: 1.05 !important; font-size: 6.6vw !important; }
@media (min-width:1364px){ .fgs-heroline { font-size: 90px !important; } }
@media (max-width:849px){ .fgs-heroline { font-size: 7.2vw !important; } }

/* ===== Roboto font family site-wide ===== */
body, button, input, select, optgroup, textarea,
h1, h2, h3, h4, h5, h6,
.heading-font, .nav, .button, .entry-title, .widget-title,
.woocommerce-Price-amount, .price, .product-title, .fgs-heroline, .fgs-h2, .fgs-name {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* ===== Top bar badges: white text + icons ===== */
#top-bar, #top-bar a { color:#fff !important; }
.fgs-topbar, .fgs-topbar span, .fgs-topbar i { color:#fff !important; }
.fgs-topbar { display:flex; gap:14px 40px; justify-content:center; align-items:center; flex-wrap:wrap; width:100%; font-weight:600; font-size:12px; letter-spacing:.6px; text-transform:uppercase; }
.fgs-topbar .fgs-tb-item { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.fgs-topbar i { font-style:normal; font-size:15px; line-height:1; }
@media (max-width:600px){ .fgs-topbar{ gap:6px 16px; font-size:10px } .fgs-topbar i{font-size:12px} }

/* Center the top bar badges across the bar */
#top-bar .flex-left ul.nav { justify-content:center !important; width:100% !important; }
#top-bar .flex-left li.html { width:100% !important; text-align:center; }

/* ================================================================
   FGS 99% REBUILD — hide Flatsome chrome, show custom header/footer
   ================================================================ */

/* Hide Flatsome's default header (incl. top-bar) & footer everywhere */
#top-bar,
#masthead,
#header .header-main,
#header .header-bottom,
.header-wrapper,
#header,
#footer {
  display: none !important;
}

/* Keep page content flexible so custom footer sits at the bottom */
#wrapper { flex: 1 1 auto; }

/* Custom header stays on top */
.fgs-shell .main-header { background:#003263; position:sticky; top:0; z-index:1000; width:100%; }

/* League nav MEGA-MENU (full-width white, 4 columns) — matches mockup exactly */
.fgs-shell .header-container-lower { position: relative; }
.fgs-shell .nav-item-wrapper { position: static; display: inline-block; }
.fgs-shell .submenu-dropdown {
  display: none;
  position: absolute; top: 100%; left: 0; right: 0; width: 100%;
  background:#FFFFFF; border:1px solid #E5E7EB; border-top:3px solid var(--accent);
  z-index: 9999; box-shadow: 0 12px 30px rgba(0,0,0,.08); border-radius: 0 0 8px 8px;
  padding: 20px; box-sizing: border-box;
  grid-template-columns: repeat(4, 1fr); gap: 8px 20px;
  opacity: 0; transform: translateY(10px); pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}
.fgs-shell .nav-item-wrapper:hover .submenu-dropdown {
  display: grid !important; opacity: 1; transform: translateY(0); pointer-events: auto;
}
.fgs-shell .submenu-dropdown a.fgs-team-link:hover { background:#F7FAFC; }
@media (max-width: 1100px) { .fgs-shell .submenu-dropdown { grid-template-columns: repeat(3, 1fr); } }

/* WooCommerce price inside our product cards → mockup style */
.fgs-home .product-card .prod-pricing .amount,
.fgs-home .product-card .prod-pricing bdi { color: var(--accent); font-weight:700; font-size:15px; }
.fgs-home .product-card .prod-pricing del .amount { color: var(--text-muted); font-weight:400; font-size:12px; text-decoration:line-through; }
.fgs-home .product-card .prod-pricing ins { text-decoration:none; }
.fgs-home .product-card { text-decoration:none; }
.fgs-home .product-card .prod-name { color: var(--text-dark); }

/* Mobile: single-column newsletter, show hamburger */
@media (max-width: 849px) {
  .fgs-shell #fgs-hamburger { display:flex !important; }
  .fgs-home .fgs-news-split { grid-template-columns: 1fr !important; }
  .fgs-home .blog-grid { grid-template-columns: 1fr !important; }
  .fgs-home .instagram-grid { grid-template-columns: repeat(2,1fr) !important; }
}

/* One-line hero headline responsiveness (kept from prior work) */
.fgs-heroline, .fgs-heroline strong { white-space: nowrap !important; }
.fgs-heroline { font-size: 6.6vw !important; line-height: 1.05 !important; }
@media (min-width: 1364px) { .fgs-heroline { font-size: 68px !important; } }
@media (max-width: 849px)  { .fgs-heroline { font-size: 7.2vw !important; } }

/* ================================================================
   FGS LEAGUE CATEGORY LANDING (mlb/nfl/mls) — hide default Woo chrome
   ================================================================ */
.fgs-league-active .woocommerce-result-count,
.fgs-league-active .woocommerce-ordering,
.fgs-league-active .woocommerce-notice,
.fgs-league-active .woocommerce-info,
.fgs-league-active ul.products,
.fgs-league-active .price-slider-wrapper,
.fgs-league-active .category-filtering,
.fgs-league-active .category-filter-row,
.fgs-league-active nav.woocommerce-pagination { display: none !important; }

.fgs-league .fgs-team-card:hover .fgs-team-imgwrap { transform: scale(1.03); background:#EAEAEA !important; }
.fgs-league .fgs-team-card:hover span { color: var(--accent); }
@media (max-width: 549px){
  .fgs-league .fgs-league-hero h1 { font-size: 24px !important; }
  .fgs-league > div [style*="minmax(160px"] { grid-template-columns: repeat(2,1fr) !important; }
}

/* ================================================================
   FGS TEAM COLLECTION PAGE (team product categories) — mockup style
   ================================================================ */
/* White product cards (override the dark store card on team pages) */
.fgs-team-active ul.products li.product {
  background:#FFFFFF !important; border:none !important; text-align:center;
  padding:12px !important; position:relative;
}
.fgs-team-active ul.products li.product:hover { border:none !important; transform:none !important; }
.fgs-team-active ul.products li.product a img { border-radius:8px; background:#fff; }
.fgs-team-active ul.products li.product .woocommerce-loop-product__title {
  color:var(--text-dark) !important; white-space:normal !important;
  font-family:'Roboto',sans-serif !important; font-weight:700 !important;
  font-size:13px !important; line-height:1.4 !important; text-transform:none !important;
  letter-spacing:0 !important; min-height:36px;
}
.fgs-team-active ul.products li.product .price,
.fgs-team-active ul.products li.product .price ins,
.fgs-team-active ul.products li.product .price ins .amount {
  color:#A81F26 !important; font-weight:800 !important; font-size:15px !important;
}
.fgs-team-active ul.products li.product .price del,
.fgs-team-active ul.products li.product .price del .amount {
  color:#999 !important; font-weight:400 !important; font-size:12px !important;
}
/* Category breadcrumb tag */
.fgs-team-active .fgs-cat-tag {
  font-family:'Roboto',sans-serif; font-size:9px; font-weight:800; color:#3A6B88;
  background:#E6F0F6; padding:2px 8px; border-radius:3px; letter-spacing:.5px;
  display:inline-block; margin:4px 0 6px; text-transform:uppercase;
}
/* NEW badge */
.fgs-team-active .fgs-new-badge {
  position:absolute; top:12px; left:12px; z-index:5; background:var(--accent); color:#fff;
  font-family:'Roboto',sans-serif; font-weight:800; font-size:10px; padding:3px 8px;
  letter-spacing:.5px; text-transform:uppercase;
}
/* Filter pills */
.fgs-filter-pill {
  padding:6px 14px; font-size:10px; text-transform:uppercase; border-radius:4px;
  border:1px solid #E5E7EB; background:#fff; color:var(--text-dark);
  font-family:'Roboto',sans-serif; font-weight:800; cursor:pointer; letter-spacing:.5px;
}
.fgs-filter-pill.is-active { background:var(--accent); color:#fff; border-color:var(--accent); }
/* Keep result count + ordering tidy on team pages */
.fgs-team-active .woocommerce-result-count { color:var(--text-muted); font-size:11px; }

/* ================================================================
   FGS — protect dark hero headings (kept white on dark banners)
   ================================================================ */
.fgs-team-hero h1, .fgs-league-hero h1 { color:#FFFFFF !important; }

/* ================================================================
   FGS SINGLE PRODUCT PAGE (mockup product.html)
   ================================================================ */
/* Breadcrumb */
.fgs-single-active .woocommerce-breadcrumb {
  font-family:'Roboto',sans-serif; font-weight:800; font-size:11px;
  color:var(--text-muted); text-transform:uppercase; letter-spacing:.5px; margin-bottom:20px;
}
.fgs-single-active .woocommerce-breadcrumb a { color:var(--text-muted); text-decoration:none; }
.fgs-single-active .woocommerce-breadcrumb a:hover { color:var(--accent); }

/* Title + price */
.fgs-single-active div.product .product_title { font-size:24px !important; line-height:1.25; margin:0 0 6px !important; }
.fgs-single-active div.product p.price,
.fgs-single-active div.product p.price ins .amount { color:var(--accent) !important; font-size:26px !important; font-weight:800 !important; }
.fgs-single-active div.product p.price del .amount { color:#999 !important; font-size:16px !important; font-weight:400 !important; }

/* Section labels for attributes */
.fgs-single-active table.variations th.label label {
  font-family:'Roboto',sans-serif; font-weight:800; font-size:11px;
  text-transform:uppercase; letter-spacing:.5px; color:#003263;
}
.fgs-single-active table.variations { border:none; }
.fgs-single-active table.variations td, .fgs-single-active table.variations th { padding:6px 0; display:block; text-align:left; }

/* ADD TO CART + BUY NOW */
.fgs-single-active div.product form.cart .button,
.fgs-single-active div.product .single_add_to_cart_button {
  height:50px; font-size:14px !important; border-radius:0 !important; width:100%;
}
.fgs-single-active .fgs-buy-now {
  background:#003263 !important; border:1px solid #003263 !important; color:#fff !important;
  height:50px; width:100%; margin-top:10px; border-radius:0 !important;
  font-family:'Roboto',sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:.5px; cursor:pointer;
}
.fgs-single-active .fgs-buy-now:hover { background:#000 !important; }

/* Accordion */
.fgs-accordion .fgs-acc-item { border-bottom:1px solid #E5E7EB; }
.fgs-accordion .fgs-acc-head {
  width:100%; text-align:left; background:none; border:none; padding:14px 0;
  font-family:'Roboto',sans-serif; font-weight:800; font-size:12px; text-transform:uppercase;
  display:flex; justify-content:space-between; align-items:center; cursor:pointer; color:#003263;
}
.fgs-accordion .fgs-acc-body { display:none; padding-bottom:16px; font-size:12px; line-height:1.6; color:#4A4A4A; }
.fgs-accordion .fgs-acc-ico { font-size:14px; font-weight:bold; }

/* Related "MORE LIKED APPAREL" */
.fgs-single-active .related.products > h2, .fgs-single-active .up-sells > h2 {
  font-family:'Roboto',sans-serif; font-weight:900; font-size:18px; text-transform:uppercase;
  color:#003263 !important; border-left:4px solid var(--accent); padding-left:12px; letter-spacing:.5px; margin:60px 0 24px;
}
/* Category tag pill (shared, single + related) */
.fgs-cat-tag {
  font-family:'Roboto',sans-serif; font-size:9px; font-weight:800; color:#3A6B88;
  background:#E6F0F6; padding:2px 8px; border-radius:3px; letter-spacing:.5px;
  display:inline-block; margin:4px 0 6px; text-transform:uppercase;
}

/* ================================================================
   FGS BLOG (post archive + single post) — mockup blog.html style
   ================================================================ */
/* Archive: card grid */
.blog .fgs-shell + #wrapper .blog-archive-title,
body.blog #content .page-title, body.archive #content .page-title { display:none; }
body.blog #main, body.single-post #main, body.archive.author #main { background:#fff; }
body.blog .post-item, body.blog article.post,
body.archive .post-item, body.archive article.post {
  background:#fff; border:1px solid #E5E7EB; border-radius:8px; overflow:hidden;
}
body.blog .entry-title a, body.archive .entry-title a { color:#003263 !important; text-transform:uppercase; }
body.blog .entry-title, body.archive .entry-title { font-size:15px !important; }
body.blog .badge-container .badge .badge-inner, body.blog .cat-label { background:var(--accent) !important; }

/* Single post: article container like mockup */
body.single-post .entry-content, body.single-post article {
  background:#fff;
}
body.single-post h1.entry-title, body.single-post .entry-title {
  font-family:'Roboto',sans-serif !important; font-weight:900 !important; font-size:30px !important;
  line-height:1.2 !important; color:#003263 !important; text-transform:uppercase !important;
}
body.single-post .entry-meta, body.single-post .post-meta { color:var(--text-muted); font-size:11px; }
body.single-post .blog-share, body.single-post .entry-content { font-family:'Roboto',sans-serif; font-size:14px; line-height:1.8; color:#333; }
body.single-post .entry-content h2, body.single-post .entry-content h3 { color:#003263; text-transform:uppercase; }

/* ================================================================
   FGS ACCOUNT / LOGIN (WooCommerce my-account on light theme)
   ================================================================ */
.woocommerce-account .woocommerce h2 { color:#003263 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation a { color:#003263; }
.woocommerce form .form-row label { color:#003263; font-family:'Roboto',sans-serif; font-size:12px; font-weight:700; text-transform:uppercase; }
.woocommerce form .input-text {
  background:#fff !important; color:#003263 !important; border:1px solid #D2D2D7 !important;
  border-radius:4px !important; height:44px; padding:0 12px;
}
.woocommerce-account .woocommerce-MyAccount-content { color:#333; }

/* ================================================================
   FGS MOBILE HERO FIX — keep one line, never clip the headline
   ================================================================ */
@media (max-width: 849px){
  .fgs-home .hero-section { padding-left:12px !important; padding-right:12px !important; }
  .fgs-home .hero-section > div { padding-left:8px !important; padding-right:8px !important; max-width:100% !important; }
  .fgs-heroline { font-size:6.3vw !important; letter-spacing:0 !important; }
  .fgs-home .hero-section h2 { font-size:5.6vw !important; letter-spacing:0 !important; white-space:nowrap; }
  .fgs-home .hero-section span { font-size:3.4vw !important; letter-spacing:1px !important; }
}
@media (max-width: 360px){
  .fgs-heroline { font-size:6.0vw !important; }
  .fgs-home .hero-section h2 { font-size:5.4vw !important; }
}
/* Guard against any horizontal overflow site-wide on mobile */
@media (max-width: 849px){
  html, body { overflow-x:hidden; }
}

/* ================================================================
   FGS MOBILE SIDEBAR — league accordion with team rows (varsora style)
   ================================================================ */
.fgs-msb-link { display:block; padding:14px 0 14px 34px; color:#fff; font-family:'Roboto',sans-serif; font-weight:800; font-size:12px; text-transform:uppercase; text-decoration:none; border-bottom:1px solid #1F2833; }
.fgs-msb-group { border-bottom:1px solid #1F2833; }
.fgs-msb-head { width:100%; background:none; border:none; padding:14px 0; display:flex; align-items:center; justify-content:space-between; cursor:pointer; color:#fff; font-family:'Roboto',sans-serif; font-weight:800; font-size:12px; text-transform:uppercase; letter-spacing:.5px; }
.fgs-msb-name { display:flex; align-items:center; gap:0; }
/* Fixed-width logo box so every league label starts at the same x (24px box + 10px gap = 34px indent, matching HOME/ABOUT) */
.fgs-msb-name img { width:24px; height:24px; object-fit:contain; object-position:center; margin-right:10px; flex:0 0 24px; }
.fgs-msb-chev { transition:transform .25s ease; font-size:12px; }
.fgs-msb-head.is-open .fgs-msb-chev { transform:rotate(180deg); }
.fgs-msb-teams { display:none; padding:4px 0 10px; }
.fgs-msb-team { display:flex; align-items:center; gap:10px; padding:9px 4px; color:#C5C6C7; text-decoration:none; font-size:13px; font-weight:600; }
.fgs-msb-team:hover, .fgs-msb-team:active { color:#fff; background:#1F2833; border-radius:4px; }
.fgs-msb-team img { width:28px; height:28px; object-fit:contain; background:#fff; border:1px solid #E2E8F0; border-radius:50%; padding:3px; box-sizing:border-box; flex-shrink:0; }

/* ================================================================
   FGS — full-width category/product pages (remove Flatsome sidebar)
   ================================================================ */
body.fgs-league-active .category-page-row > .large-3,
body.fgs-team-active   .category-page-row > .large-3,
body.fgs-single-active .category-page-row > .large-3,
body.fgs-league-active #secondary, body.fgs-team-active #secondary, body.fgs-single-active #secondary {
  display: none !important;
}
body.fgs-league-active .category-page-row > .large-9,
body.fgs-team-active   .category-page-row > .large-9,
body.fgs-single-active .category-page-row > .large-9 {
  max-width: 100% !important; flex-basis: 100% !important; width: 100% !important;
}

/* ================================================================
   FGS SINGLE PRODUCT — light personalization box + black BUY NOW
   ================================================================ */
.fgs-single-active .fgs-custom-fields-container {
  background:#FFFFFF !important; border:1px solid #E5E7EB !important; border-radius:8px !important;
}
.fgs-single-active .fgs-custom-fields-container h3 { color:#003263 !important; }
.fgs-single-active .fgs-custom-fields-container label { color:#6E6E73 !important; }
.fgs-single-active .fgs-custom-fields-container input {
  background:#FFFFFF !important; border:1px solid #D2D2D7 !important; color:#003263 !important; border-radius:4px !important;
}
/* BUY NOW must stay black (override red button rule) */
body.fgs-single-active button.fgs-buy-now,
body.fgs-single-active .fgs-buy-now {
  background:#003263 !important; border:1px solid #003263 !important; color:#FFFFFF !important;
}
body.fgs-single-active button.fgs-buy-now:hover { background:#000 !important; }

/* ================================================================
   FGS SINGLE PRODUCT — varsora-style summary boxes + horizontal tabs
   ================================================================ */
/* In-demand line */
.fgs-single-active .fgs-disclaimer { margin:12px 0 14px; padding:10px 12px; border:1px solid #E5E7EB; border-left:3px solid var(--accent); background:#F5F5F7; border-radius:4px; font-size:12px; line-height:1.5; color:#4A4A4A; }
.fgs-single-active .fgs-disclaimer strong { color:#003263; }
.fgs-single-active .fgs-dot, .fgs-single-active .fgs-step-dot { width:8px;height:8px;border-radius:50%;background:#22c55e;display:inline-block;flex-shrink:0; }

/* MS PRO box */
.fgs-single-active .fgs-print-box { background:linear-gradient(135deg,#161920 0%,#003263 100%); border:1px solid #1F2833; border-left:4px solid var(--accent); padding:16px; margin:20px 0; border-radius:8px; }
.fgs-single-active .fgs-print-head { display:flex; align-items:center; gap:10px; margin-bottom:8px; font-family:'Roboto',sans-serif; font-size:12px; font-weight:900; color:#fff; letter-spacing:.8px; text-transform:uppercase; }
.fgs-single-active .fgs-print-box p { font-size:11px; line-height:1.5; color:rgba(255,255,255,.85); margin:0; }

/* Estimated delivery */
.fgs-single-active .fgs-delivery { background:rgba(229,9,20,.03); border:1px solid #F3D6D8; border-radius:8px; padding:16px; margin-bottom:16px; }
.fgs-single-active .fgs-delivery-head { font-family:'Roboto',sans-serif; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; color:#003263; margin-bottom:14px; }
.fgs-single-active .fgs-delivery-steps { display:flex; justify-content:space-between; position:relative; margin-bottom:10px; }
.fgs-single-active .fgs-delivery-steps::before { content:""; position:absolute; top:5px; left:5%; right:5%; height:2px; background:#F0D2D4; }
.fgs-single-active .fgs-step { display:flex; flex-direction:column; align-items:center; gap:4px; position:relative; z-index:1; text-align:center; flex:1; }
.fgs-single-active .fgs-step-dot { background:#E5C4C6; }
.fgs-single-active .fgs-step.is-active .fgs-step-dot { background:var(--accent); }
.fgs-single-active .fgs-step-date { font-size:11px; font-weight:700; color:#003263; }
.fgs-single-active .fgs-step-label { font-size:10px; color:var(--text-muted); }
.fgs-single-active .fgs-delivery-stock { font-size:12px; color:#003263; display:flex; align-items:center; gap:6px; }

/* Buy more save more */
.fgs-single-active .fgs-savemore { border:1px solid #E5E7EB; border-radius:8px; padding:16px; margin-bottom:16px; }
.fgs-single-active .fgs-savemore-head { font-family:'Roboto',sans-serif; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; color:#003263; }
.fgs-single-active .fgs-savemore-sub { font-size:11px; color:var(--text-muted); margin:4px 0 12px; }
.fgs-single-active .fgs-savemore-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.fgs-single-active .fgs-tier { border:1px solid #E5E7EB; border-radius:6px; padding:10px 8px; text-align:center; display:flex; flex-direction:column; gap:2px; position:relative; }
.fgs-single-active .fgs-tier span { font-size:10px; color:var(--text-muted); }
.fgs-single-active .fgs-tier strong { font-size:14px; color:var(--accent); font-family:'Roboto',sans-serif; }
.fgs-single-active .fgs-tier.is-best { border-color:var(--accent); }
.fgs-single-active .fgs-best { position:absolute; top:-9px; left:50%; transform:translateX(-50%); background:var(--accent); color:#fff !important; font-size:8px !important; font-weight:800; padding:2px 6px; border-radius:3px; letter-spacing:.5px; white-space:nowrap; }
@media (max-width:600px){ .fgs-single-active .fgs-savemore-grid { grid-template-columns:repeat(2,1fr); } }

/* Trust badges */
.fgs-single-active .fgs-trust { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; text-align:center; border-top:1px solid #E5E7EB; border-bottom:1px solid #E5E7EB; padding:16px 0; margin-bottom:20px; }
.fgs-single-active .fgs-trust > div { display:flex; flex-direction:column; align-items:center; gap:4px; font-size:10px; font-weight:700; color:#003263; text-transform:uppercase; }
.fgs-single-active .fgs-trust span:first-child { font-size:16px; }

/* Horizontal product tabs (varsora style) */
.fgs-single-active .woocommerce-tabs ul.tabs { list-style:none; margin:40px 0 20px !important; padding:0 !important; border-bottom:1px solid #E5E7EB; display:flex; flex-wrap:wrap; gap:28px; }
.fgs-single-active .woocommerce-tabs ul.tabs:before, .fgs-single-active .woocommerce-tabs ul.tabs:after { display:none !important; }
.fgs-single-active .woocommerce-tabs ul.tabs li { background:none !important; border:none !important; margin:0 !important; padding:0 !important; border-radius:0 !important; }
.fgs-single-active .woocommerce-tabs ul.tabs li:before, .fgs-single-active .woocommerce-tabs ul.tabs li:after { display:none !important; }
.fgs-single-active .woocommerce-tabs ul.tabs li a { font-family:'Roboto',sans-serif !important; font-weight:800 !important; font-size:13px !important; text-transform:uppercase; letter-spacing:.5px; color:var(--text-muted) !important; padding:12px 0 !important; display:block; border-top:0 !important; border-left:0 !important; border-right:0 !important; border-bottom:2px solid transparent !important; }
.fgs-single-active .woocommerce-tabs ul.tabs li.active a { color:#003263 !important; border-top:0 !important; border-bottom:2px solid var(--accent) !important; }
/* Description panel: basic SEO-article typography (varsora standard) — no heavy all-bold */
.fgs-single-active .woocommerce-tabs .panel { color:#333; font-size:15px; line-height:1.7; padding-top:8px; }
.fgs-single-active .woocommerce-tabs .panel p { font-weight:400; margin:0 0 14px; }
.fgs-single-active .woocommerce-tabs .panel h2,
.fgs-single-active .woocommerce-tabs .panel h3,
.fgs-single-active .woocommerce-tabs .panel h4 {
  color:#003263; text-transform:uppercase; font-family:'Roboto',sans-serif;
  font-weight:700; font-size:16px; letter-spacing:.3px; line-height:1.4; margin:26px 0 8px;
}
/* Basic body: un-bold the emphasised lead sentences inside paragraphs (no all-bold) */
.fgs-single-active .woocommerce-tabs .panel p strong,
.fgs-single-active .woocommerce-tabs .panel p b { font-weight:400 !important; color:inherit; }
.fgs-single-active .woocommerce-tabs .panel li { font-weight:400; margin:0 0 8px; }
/* Keep only bullet lead-in labels bold (e.g. "Fit:", "Sizes:") */
.fgs-single-active .woocommerce-tabs .panel li strong,
.fgs-single-active .woocommerce-tabs .panel li b { font-weight:700 !important; color:inherit; }
/* Image captions: small, italic, centered, muted (varsora style) */
.fgs-single-active .woocommerce-tabs .panel figcaption,
.fgs-single-active .woocommerce-tabs .panel .wp-caption-text {
  font-size:12px; font-style:italic; text-align:center; color:#8A8F98; line-height:1.5; margin-top:6px;
}
.fgs-single-active .fgs-size-table { width:100%; border-collapse:collapse; margin-top:10px; }
.fgs-single-active .fgs-size-table th, .fgs-single-active .fgs-size-table td { border:1px solid #E5E7EB; padding:8px 12px; text-align:left; font-size:13px; }
.fgs-single-active .fgs-size-table th { background:#F5F5F7; font-family:'Roboto',sans-serif; text-transform:uppercase; font-size:11px; }

/* ================================================================
   FGS HOMEPAGE product images — show full image, no crop, sharp
   ================================================================ */
.fgs-home .product-card .prod-img-wrap {
  aspect-ratio: 1 !important; background:#FFFFFF !important; overflow:hidden;
  display:flex; align-items:center; justify-content:center; padding:6px;
}
.fgs-home .product-card .prod-img {
  width:100% !important; height:100% !important;
  object-fit: contain !important;   /* full frame, never cropped */
  image-rendering:auto;
}

/* ================================================================
   FGS SINGLE PRODUCT — remove product gallery slider arrows/nav
   ================================================================ */
.fgs-single-active .flickity-button,
.fgs-single-active .flickity-prev-next-button,
.fgs-single-active .flickity-page-dots,
.fgs-single-active .product-gallery .slider-nav,
.fgs-single-active .product-thumbnails .flickity-button,
.fgs-single-active .woocommerce-product-gallery__trigger {
  display:none !important; opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
}
/* Gallery main image full & clean */
.fgs-single-active .woocommerce-product-gallery__image img,
.fgs-single-active .product-gallery-slider img { width:100%; height:auto; object-fit:contain; background:#fff; }

/* ================================================================
   FGS SINGLE PRODUCT — minimal SHARE icons (clean, one row)
   ================================================================ */
.fgs-single-active .social-share,
.fgs-single-active .share-icons { display:flex !important; flex-wrap:nowrap !important; gap:14px !important; align-items:center; margin:8px 0 20px; }
.fgs-single-active .social-share a,
.fgs-single-active .share-icons a,
.fgs-single-active .social-icons a {
  background:transparent !important; background-color:transparent !important;
  color:#6E6E73 !important; border:none !important; box-shadow:none !important;
  width:auto !important; height:auto !important; min-width:0 !important;
  padding:0 !important; margin:0 !important; border-radius:0 !important;
  line-height:1 !important; transform:none !important;
}
.fgs-single-active .social-share a i,
.fgs-single-active .share-icons a i,
.fgs-single-active .social-icons a i { font-size:17px !important; color:inherit !important; }
.fgs-single-active .social-share a:hover,
.fgs-single-active .share-icons a:hover,
.fgs-single-active .social-icons a:hover { color:var(--accent) !important; background:transparent !important; }

/* ================================================================
   FGS HERO — force perfectly-centered headline (desktop + mobile)
   Consolidated override (wins by order). Fixes "ONE WORLD ONE GAME" offset.
   ================================================================ */
.fgs-home .hero-section { text-align:center !important; }
.fgs-home .hero-section > div {
  max-width:1000px !important; width:100% !important;
  margin-left:auto !important; margin-right:auto !important;
  display:flex !important; flex-direction:column !important; align-items:center !important;
  padding-left:16px !important; padding-right:16px !important;
}
.fgs-home .hero-section .fgs-heroline,
.fgs-home .hero-section h2,
.fgs-home .hero-section > div > span {
  width:100% !important; text-align:center !important;
  margin-left:auto !important; margin-right:auto !important;
}
.fgs-home .hero-section .fgs-heroline {
  white-space:nowrap !important; line-height:1.05 !important; letter-spacing:0 !important;
  font-size:5.6vw !important;
}
@media (min-width:1200px){ .fgs-home .hero-section .fgs-heroline { font-size:64px !important; } }
@media (max-width:849px){ .fgs-home .hero-section .fgs-heroline { font-size:6.6vw !important; } }
@media (max-width:400px){ .fgs-home .hero-section .fgs-heroline { font-size:6.2vw !important; } }
.fgs-home .hero-section h2 { font-size:clamp(18px,4.4vw,40px) !important; letter-spacing:0 !important; white-space:nowrap; }

/* ============================================================
   HERO HEADLINE — final authoritative centering (v1.6.8)
   Overrides all earlier conflicting hero rules. Fluid clamp
   sizes so the one-line headline never overflows -> stays
   perfectly centered on desktop, tablet and mobile.
   ============================================================ */
.fgs-home .hero-section { text-align:center !important; }
.fgs-home .hero-section > div {
  margin-left:auto !important; margin-right:auto !important;
  width:100% !important; max-width:900px !important;
  padding-left:16px !important; padding-right:16px !important;
}
.fgs-home .hero-section .fgs-heroline,
.fgs-home .hero-section h2,
.fgs-home .hero-section > div > span {
  display:block !important; width:100% !important;
  margin-left:auto !important; margin-right:auto !important;
  text-align:center !important; letter-spacing:0 !important;
}
.fgs-home .hero-section .fgs-heroline {
  white-space:nowrap !important; line-height:1.06 !important;
  font-size:clamp(24px, 5.4vw, 74px) !important;
}
.fgs-home .hero-section h2 {
  white-space:nowrap !important; line-height:1.06 !important;
  font-size:clamp(18px, 4.2vw, 46px) !important;
}

/* ============================================================
   PRODUCT IMAGES — never crop (v1.6.8)
   WooCommerce loop / related / shop / team-collection images:
   show the FULL image (contain) on white, no crop/distortion.
   ============================================================ */
.woocommerce ul.products li.product img,
.woocommerce .products .product-small .box-image img,
.woocommerce div.product .related .product-small .box-image img,
.products .product-small .box-image img,
.product-small .box-image img,
img.attachment-woocommerce_thumbnail,
img.back-image {
  object-fit: contain !important;
  background: #fff !important;
}
.product-small .box-image,
.products .box-image { background: #fff !important; }

/* ============================================================
   SALE BADGE — keep only red rectangle label (v1.6.8)
   Remove Flatsome's round/secondary circle behind "Sale!".
   ============================================================ */
.badge-container .badge.badge-circle .badge-inner,
.badge-container .callout .badge-inner {
  background: transparent !important; box-shadow: none !important;
  border-radius: 0 !important; min-width: 0 !important;
  width: auto !important; height: auto !important; padding: 0 !important;
}
.badge-container .callout.badge-circle { width: auto !important; height: auto !important; }
.badge-container .onsale,
span.onsale {
  position: static !important; display: inline-block !important;
  background: #EE2531 !important; color: #fff !important;
  border-radius: 0 !important; padding: 4px 10px !important;
  font-weight: 800 !important; font-size: 12px !important; line-height: 1.2 !important;
  letter-spacing: .5px !important; box-shadow: none !important;
  top: auto !important; left: auto !important; transform: none !important; margin: 0 !important;
}

/* ============================================================
   TRUST BADGES + SOCIAL SHARE — compact (v1.6.8)
   Hide Flatsome default share; render tidy one-row trust
   badges + small gray square social icons (custom webp).
   ============================================================ */
/* Hide Flatsome's built-in share/emoji trust to avoid duplicates */
.fgs-single-active .product-share,
.fgs-single-active .social-share,
.fgs-single-active .share-icons.share-row,
.fgs-single-active .social-icons.share-icons { display:none !important; }

/* Trust badges: one clean row */
.fgs-trust{
  display:flex; flex-wrap:wrap; gap:18px 24px; align-items:center;
  padding:14px 0; margin:6px 0 4px;
  border-top:1px solid #ECECEC; border-bottom:1px solid #ECECEC;
}
.fgs-trust-item{ display:flex; align-items:center; gap:8px; }
.fgs-trust-item svg{ width:18px; height:18px; flex:0 0 18px; }
.fgs-trust-item span{
  font-size:13px; font-weight:600; color:#003263;
  font-family:'Roboto',sans-serif; white-space:nowrap;
}

/* Social share: small gray rounded squares, one row */
.fgs-share{ display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 4px; }
.fgs-share-btn{
  width:34px; height:34px; border-radius:8px;
  background:#F1F2F4; border:1px solid #E4E5E8;
  display:flex; align-items:center; justify-content:center;
  transition:background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.fgs-share-btn img{ width:20px; height:20px; object-fit:contain; display:block; }
.fgs-share-btn:hover{ background:#fff; transform:translateY(-1px); box-shadow:0 2px 6px rgba(0,0,0,.12); }

@media (max-width:600px){
  .fgs-trust{ gap:12px 16px; }
  .fgs-trust-item span{ font-size:12px; }
}

/* ============================================================
   HOMEPAGE PRODUCT CARD — show 2nd image on hover (v1.6.8)
   ============================================================ */
.fgs-home .product-card .prod-img-wrap.has-hover { position:relative; }
.fgs-home .product-card .prod-img-hover{
  position:absolute; top:6px; left:6px; right:6px; bottom:6px;
  width:calc(100% - 12px); height:calc(100% - 12px);
  object-fit:contain; opacity:0; transition:opacity .4s ease; pointer-events:none;
}
.fgs-home .product-card:hover .prod-img-hover{ opacity:1; }
.fgs-home .product-card:hover .prod-img:not(.prod-img-hover){ opacity:0; transition:opacity .4s ease; }

/* ============================================================
   QUANTITY STEPPER — compact (v1.6.8)
   ============================================================ */
.fgs-single-active .woocommerce div.product .quantity.ux-quantity,
.woocommerce div.product .quantity.ux-quantity{
  display:inline-flex !important; align-items:center;
  border:1px solid #E0E0E5; border-radius:8px; overflow:hidden; height:38px; padding:0 !important;
}
.fgs-single-active .woocommerce .quantity input.button.ux-quantity__button,
.woocommerce .quantity input.button.ux-quantity__button{
  width:34px !important; height:36px !important; min-width:0 !important; padding:0 !important;
  font-size:16px !important; line-height:36px !important;
  background:#F1F2F4 !important; color:#003263 !important;
  border:none !important; box-shadow:none !important; border-radius:0 !important;
  transform:none !important; letter-spacing:0 !important;
}
.fgs-single-active .woocommerce .quantity input.button.ux-quantity__button:hover,
.woocommerce .quantity input.button.ux-quantity__button:hover{
  background:var(--accent) !important; color:#fff !important; transform:none !important; box-shadow:none !important;
}
.fgs-single-active .woocommerce div.product .quantity input.qty,
.woocommerce div.product .quantity input.qty{
  width:42px !important; height:36px !important;
  border:none !important; border-left:1px solid #E0E0E5 !important; border-right:1px solid #E0E0E5 !important;
  font-size:14px !important; border-radius:0 !important;
}

/* ============================================================
   CHECKOUT PAGE — polish + "Other customers also bought" (v1.6.9)
   ============================================================ */
/* Inputs: consistent light border, subtle radius, focus accent */
body.fgs-checkout-active .woocommerce form .form-row input.input-text,
body.fgs-checkout-active .woocommerce form .form-row textarea,
body.fgs-checkout-active .woocommerce-checkout select,
body.fgs-checkout-active .woocommerce-checkout .select2-selection {
  border:1px solid #D8D9DE !important; border-radius:8px !important;
  background:#fff !important; min-height:46px; font-size:14px;
}
body.fgs-checkout-active .woocommerce form .form-row input.input-text:focus,
body.fgs-checkout-active .woocommerce form .form-row textarea:focus {
  border-color:var(--accent) !important; box-shadow:0 0 0 3px rgba(229,9,20,.12) !important; outline:none !important;
}
body.fgs-checkout-active .woocommerce-checkout label { font-size:11px; letter-spacing:.4px; color:#3A3A3C; }
/* Order review box: cleaner card */
body.fgs-checkout-active #order_review,
body.fgs-checkout-active .checkout-sidebar {
  border:0 !important; border-radius:12px; background:#fff;
}
/* Remove the inner grey stroke on the order-review card — keep only the red
   .col-inner.has-border wrapper. */
body.fgs-checkout-active #order_review,
body.fgs-checkout-active .woocommerce-checkout-review-order,
body.fgs-checkout-active .checkout-sidebar {
  border:0 none !important; box-shadow:none !important;
}
body.fgs-checkout-active #payment { background:#F7F8FA !important; border-radius:0 0 12px 12px; }

/* Cross-sell section */
.fgs-xsell{ max-width:1200px; margin:40px auto 10px; padding:24px 0 0; border-top:1px solid #ECECEC; }
.fgs-xsell-title{
  font-family:'Roboto',sans-serif; font-weight:800; text-transform:uppercase;
  font-size:18px; letter-spacing:.5px; color:#003263; margin:0 0 18px;
}
.fgs-xsell-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media (max-width:900px){ .fgs-xsell-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .fgs-xsell-grid{ grid-template-columns:repeat(2,1fr); gap:10px; } }

/* ============================================================
   HIDE ALL CAROUSEL ARROWS/DOTS site-wide (v1.7.1)
   Removes the red < > flickity prev/next buttons & page dots
   anywhere they appear (home, category, related, cross-sell...).
   ============================================================ */
.flickity-button,
.flickity-prev-next-button,
.flickity-page-dots,
.flickity-prev-next-button.previous,
.flickity-prev-next-button.next,
.product-thumbnails .flickity-button,
ul.products .flickity-button,
.row .flickity-button {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ============================================================
   DESCRIPTION TAB — match varsora typography & image layout (v1.7.2)
   Heading = Bebas Neue (tall condensed, weight 400, not heavy);
   Body = Roboto 18px/400; images Front|Back 2-col.
   Brand colours kept (black headings / dark-grey body).
   ============================================================ */
body.fgs-single-active .woocommerce-tabs .panel,
body.fgs-single-active .woocommerce-tabs .panel p,
body.fgs-single-active .woocommerce-tabs .panel li {
  font-family: 'Roboto', sans-serif !important;
  font-size: 18px !important; font-weight: 400 !important;
  line-height: 1.6 !important; color: #333 !important;
}
body.fgs-single-active .woocommerce-tabs .panel p { margin: 0 0 16px !important; }
body.fgs-single-active .woocommerce-tabs .panel li { margin: 0 0 8px !important; }

/* Headings: Bebas Neue, light weight, tall condensed caps */
body.fgs-single-active .woocommerce-tabs .panel h2,
body.fgs-single-active .woocommerce-tabs .panel h3,
body.fgs-single-active .woocommerce-tabs .panel h4 {
  font-family: 'Bebas Neue', 'Roboto', sans-serif !important;
  font-weight: 400 !important; font-size: 30px !important;
  text-transform: uppercase !important; letter-spacing: .5px !important;
  line-height: 1.15 !important; color: #003263 !important;
  margin: 30px 0 10px !important;
}

/* Emphasis: paragraph lead sentences NOT bold; only bullet labels bold */
body.fgs-single-active .woocommerce-tabs .panel p strong,
body.fgs-single-active .woocommerce-tabs .panel p b { font-weight: 400 !important; }
body.fgs-single-active .woocommerce-tabs .panel li strong,
body.fgs-single-active .woocommerce-tabs .panel li b { font-weight: 700 !important; color: #003263 !important; }

/* Captions: Roboto italic, centered, muted */
body.fgs-single-active .woocommerce-tabs .panel figcaption,
body.fgs-single-active .woocommerce-tabs .panel .wp-caption-text {
  font-family: 'Roboto', sans-serif !important;
  font-size: 13px !important; font-style: italic !important;
  text-align: center !important; color: #8A8F98 !important;
  line-height: 1.4 !important; margin-top: 8px !important;
}

/* Images: Front | Back side by side (varsora layout) */
body.fgs-single-active .woocommerce-tabs .panel figure,
body.fgs-single-active .woocommerce-tabs .panel .wp-caption {
  display: inline-block !important; width: 48.5% !important;
  margin: 8px 0.7% 14px !important; vertical-align: top !important;
  text-align: center !important; max-width: 48.5% !important; float: none !important;
}
body.fgs-single-active .woocommerce-tabs .panel figure img,
body.fgs-single-active .woocommerce-tabs .panel .wp-caption img {
  width: 100% !important; height: auto !important; display: block; margin: 0 auto;
}
@media (max-width: 600px){
  body.fgs-single-active .woocommerce-tabs .panel figure,
  body.fgs-single-active .woocommerce-tabs .panel .wp-caption {
    width: 100% !important; max-width: 100% !important; margin: 8px 0 14px !important;
  }
  body.fgs-single-active .woocommerce-tabs .panel h2,
  body.fgs-single-active .woocommerce-tabs .panel h3 { font-size: 26px !important; }
}

/* ============================================================
   LEAGUE / TEAM HERO — compact horizontal card (v1.7.3)
   Overrides inline styles: logo left, text right, one row,
   smaller paddings/heading, description clamped to 2 lines.
   ============================================================ */
/* ---- TEAM HERO — navy gradient banner (Rally House redesign) ---- */
.fgs-team-hero{
  margin:16px auto 0; max-width:var(--ms-max); border-radius:14px; overflow:hidden;
  background:linear-gradient(120deg,#001E40,var(--dark) 60%,var(--ms-navy-2));
  color:#fff; position:relative; padding:0 !important; border-bottom:none !important;
}
.fgs-team-hero-in{
  max-width:var(--ms-max); margin:0 auto; display:flex; align-items:center; gap:26px;
  padding:40px var(--ms-gutter); position:relative; z-index:2;
}
.fgs-team-logo{
  width:110px; height:110px; border-radius:50%; background:#fff; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  border:3px solid #fff; box-shadow:0 10px 24px rgba(0,0,0,.3);
}
.fgs-team-logo img{ width:80px; height:80px; object-fit:contain; }
.fgs-team-initials{
  width:100%; height:100%; background:var(--accent); display:flex; align-items:center;
  justify-content:center; font-family:var(--font-sport); font-weight:800; font-size:30px; color:#fff;
}
.fgs-team-badge{
  display:inline-block; font-family:var(--font-heading); font-weight:800; font-size:10px;
  letter-spacing:1.5px; background:rgba(255,255,255,.15); padding:4px 10px; border-radius:4px;
  text-transform:uppercase; color:#fff;
}
.fgs-team-hero h1{
  font-family:var(--font-sport) !important; font-weight:800 !important;
  font-size:clamp(34px,5vw,58px) !important; line-height:.95 !important; text-transform:uppercase;
  margin:10px 0 8px !important; letter-spacing:.5px !important; color:#fff !important;
}
.fgs-team-hero p{ color:#C7D2E0; font-size:14px; max-width:620px; margin:0; line-height:1.6; }
.fgs-team-hero::after{
  content:""; position:absolute; right:-40px; top:-40px; width:280px; height:280px;
  border:40px solid rgba(255,255,255,.04); border-radius:50%; z-index:1;
}
@media (max-width:767px){
  .fgs-team-hero-in{ flex-direction:column; text-align:center; gap:16px; padding:28px var(--ms-gutter); }
  .fgs-team-logo{ width:88px; height:88px; } .fgs-team-logo img{ width:64px; height:64px; }
}

/* ---- STICKY TOOLBAR: filter chips + Sort ---- */
.fgs-toolbar{ position:sticky; top:0; z-index:30; background:#fff; border-bottom:1px solid #E8EBF0; margin-top:22px; }
.fgs-toolbar-in{
  max-width:var(--ms-max); margin:0 auto; padding:12px var(--ms-gutter);
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.fgs-toolbar .fgs-filters-scroll{ flex:1; min-width:0; }
.fgs-team-filters{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:0; }
.fgs-team-filters .fgs-filter-pill{
  font-family:var(--font-heading); font-weight:800; font-size:12px; letter-spacing:.4px;
  text-transform:uppercase; padding:9px 16px; border-radius:999px; border:1.5px solid #D8DEE7;
  color:var(--dark); background:#fff; cursor:pointer; white-space:nowrap; transition:.12s;
}
.fgs-team-filters .fgs-filter-pill:hover{ border-color:var(--accent); color:var(--accent); }
.fgs-team-filters .fgs-filter-pill.is-active{ background:var(--dark); border-color:var(--dark); color:#fff; }
.fgs-sort{ display:flex; align-items:center; gap:8px; flex-shrink:0; }
.fgs-sort > span{ font-family:var(--font-heading); font-weight:700; font-size:11px; color:var(--text-muted); text-transform:uppercase; }
.fgs-sort .woocommerce-ordering{ margin:0; }
.fgs-sort select, .fgs-sort .orderby{
  font-family:var(--font-heading); font-weight:700; font-size:12px; color:var(--dark);
  border:1.5px solid #D8DEE7; border-radius:6px; padding:9px 12px; background:#fff; cursor:pointer;
}
@media (max-width:767px){
  .fgs-toolbar-in{ flex-wrap:nowrap; }
  .fgs-team-filters{ flex-wrap:nowrap; }
  .fgs-sort > span{ display:none; }
}
@media (max-width:560px){ .fgs-sort{ display:none; } }

/* ---- LEAGUE HERO — navy gradient banner (matches team hero) ---- */
.fgs-league-hero{
  margin:16px auto 0; max-width:var(--ms-max); border-radius:14px; overflow:hidden;
  background:linear-gradient(120deg,#001E40,var(--dark) 60%,var(--ms-navy-2));
  color:#fff; position:relative; padding:0 !important; border-bottom:none !important;
}
.fgs-league-hero-in{
  max-width:var(--ms-max); margin:0 auto; display:flex; align-items:center; gap:26px;
  padding:40px var(--ms-gutter); position:relative; z-index:2;
}
.fgs-league-badge-logo{
  width:120px; height:120px; border-radius:16px; background:#fff; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; padding:18px;
  box-shadow:0 10px 24px rgba(0,0,0,.3);
}
.fgs-league-badge-logo img{ width:100%; height:100%; object-fit:contain; }
.fgs-league-hero h1{
  font-family:var(--font-sport) !important; font-weight:800 !important;
  font-size:clamp(36px,5.5vw,64px) !important; line-height:.95 !important; text-transform:uppercase;
  margin:10px 0 8px !important; letter-spacing:.5px !important; color:#fff !important;
}
.fgs-league-hero p{ color:#C7D2E0; font-size:14px; max-width:640px; margin:0; line-height:1.6; }
.fgs-league-hero::after{
  content:""; position:absolute; right:-40px; top:-40px; width:280px; height:280px;
  border:40px solid rgba(255,255,255,.04); border-radius:50%; z-index:1;
}
@media (max-width:767px){
  .fgs-league-hero-in{ flex-direction:column; text-align:center; gap:16px; padding:28px var(--ms-gutter); }
  .fgs-league-badge-logo{ width:92px; height:92px; padding:14px; }
}

/* ---- LEAGUE DIRECTORY — clean icon-tile grid ---- */
.fgs-league-body{ max-width:var(--ms-max); margin:0 auto; padding:0 var(--ms-gutter) 48px; }
.fgs-league-h2{
  font-family:var(--font-heading); font-weight:900; font-size:22px; color:var(--text-dark);
  margin:48px 0 24px; border-bottom:2px solid #E5E7EB; padding-bottom:10px; letter-spacing:.5px; text-transform:uppercase;
}
.fgs-league-h3{
  font-family:var(--font-heading); font-weight:800; font-size:13px; color:var(--text-muted);
  margin:30px 0 16px; text-transform:uppercase; letter-spacing:1px; border-left:3px solid var(--accent); padding-left:10px;
}
.fgs-league-grid{
  display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-bottom:36px;
}
.fgs-league-grid .fgs-team-card{
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start; text-align:center;
  padding:12px 6px; background:transparent; border:none; text-decoration:none; transition:.15s;
}
.fgs-league-grid .fgs-team-card:hover{ transform:translateY(-3px); }
.fgs-league-grid .fgs-team-imgwrap{
  width:96px; height:96px; border-radius:50%; background:#fff; border:1px solid #E5E7EB;
  display:flex; align-items:center; justify-content:center; margin-bottom:14px; padding:0;
  box-sizing:border-box; overflow:hidden; transition:.15s;
}
.fgs-league-grid .fgs-team-card:hover .fgs-team-imgwrap{ border-color:var(--accent); }
.fgs-league-grid .fgs-team-imgwrap img{ width:66px; height:66px; object-fit:contain; }
.fgs-league-grid .fgs-team-initials{
  width:100%; height:100%; border-radius:50%; background:var(--accent); display:flex; align-items:center;
  justify-content:center; font-family:var(--font-heading); font-size:22px; font-weight:900; color:#fff;
}
.fgs-league-grid .fgs-team-card span{
  font-family:var(--font-heading); font-weight:800; font-size:12.5px; text-transform:uppercase;
  letter-spacing:.4px; color:var(--text-dark); line-height:1.3;
}
@media (max-width:1023px){ .fgs-league-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:767px){
  .fgs-league-grid{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .fgs-league-grid .fgs-team-imgwrap{ width:76px; height:76px; }
  .fgs-league-grid .fgs-team-imgwrap img{ width:52px; height:52px; }
  .fgs-league-h2{ font-size:18px; margin:32px 0 18px; }
}

/* ============================================================
   HIDE LEAGUE SLIDER PREV/NEXT ARROWS (v1.7.4)
   The two round nav buttons on the "Explore Leagues" slider.
   ============================================================ */
.slider-nav-btn,
.fgs-slider-prev,
.fgs-slider-next {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ============================================================
   SHOP PAGE — remove empty "assign Widgets" sidebar (v1.7.5)
   Hide the unused Shop Sidebar column, make products full width.
   ============================================================ */
body.post-type-archive-product .category-page-row > .col.large-3,
body.post-type-archive-product .category-page-row > aside.large-3 {
  display: none !important;
}
body.post-type-archive-product .category-page-row > .col.large-9 {
  flex-basis: 100% !important; max-width: 100% !important; width: 100% !important;
}

/* ============================================================
   HOMEPAGE PRODUCT LAYOUT — varsora-style (v1.7.6)
   Featured hero (image + info) + 4-column product grids.
   ============================================================ */
.fgs-home .shop-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
@media (max-width: 900px){ .fgs-home .shop-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 480px){ .fgs-home .shop-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; } }

@media (max-width: 768px){
  .fgs-home .fgs-featured-hero { grid-template-columns: 1fr !important; gap: 18px !important; padding: 16px !important; }
  .fgs-home .fgs-featured-hero .fgs-featured-info h3 { font-size: 22px !important; }
}

/* ============================================================
   SHOP PAGE — compact league row on top, then ALL products (v1.7.28)
   /shop/ now lists every product; the 3 leagues sit in one slim row.
   ============================================================ */
.fgs-shop-cats { margin: 6px auto 26px; max-width: var(--site-max-width); }
.fgs-shop-cats-title {
  text-align: center; font-family: 'Roboto', sans-serif; font-weight: 900;
  text-transform: uppercase; font-size: 22px; letter-spacing: .5px; margin: 0 0 4px; color: #003263;
}
.fgs-shop-cats-sub {
  text-align: center; font-size: 13px; color: #6E6E73; margin: 0 0 16px;
}
/* One horizontal row of 3 compact league chips */
.fgs-shop-cats-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 720px; margin: 0 auto;
}
.fgs-shop-cat-card {
  display: flex; align-items: center; gap: 12px;
  background: #fff; border: 1px solid #E5E7EB; border-radius: 10px;
  padding: 10px 14px; text-decoration: none; box-shadow: 0 2px 8px rgba(0,0,0,.04);
  transition: box-shadow .2s ease, border-color .2s ease;
}
.fgs-shop-cat-card:hover { box-shadow: 0 6px 16px rgba(0,0,0,.10); border-color: var(--accent); }
.fgs-shop-cat-img { flex: 0 0 44px; height: 44px; display: flex; align-items: center; justify-content: center; }
.fgs-shop-cat-img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.fgs-shop-cat-body { text-align: left; }
.fgs-shop-cat-body span { display:block; font-family: 'Roboto', sans-serif; font-size: 9px; font-weight: 800; color: var(--accent); text-transform: uppercase; letter-spacing: 1px; }
.fgs-shop-cat-body h3 { font-family: 'Roboto', sans-serif; font-weight: 900; font-size: 13px; color: #003263; margin: 2px 0 0; text-transform: uppercase; letter-spacing: .3px; line-height: 1.15; }
@media (max-width: 600px){ .fgs-shop-cats-grid { grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
  .fgs-shop-cat-card { flex-direction: column; text-align: center; gap: 6px; padding: 10px 6px; }
  .fgs-shop-cat-body { text-align: center; }
  .fgs-shop-cat-body h3 { font-size: 11px; }
}

/* --- Make .product-card look identical wherever it appears (not just homepage) --- */
.product-card .prod-pricing .amount,
.product-card .prod-pricing bdi { color: var(--accent) !important; font-weight: 700; font-size: 15px; }
.product-card .prod-pricing del,
.product-card .prod-pricing del .amount { color: #9AA0A6 !important; font-weight: 400; font-size: 12px; text-decoration: line-through; }
.product-card .prod-pricing ins { text-decoration: none; }
.product-card .prod-img-wrap { aspect-ratio: 1 !important; background:#fff; overflow:hidden; display:flex; align-items:center; justify-content:center; padding:6px; border-radius:8px; }
.product-card .prod-img { width:100% !important; height:100% !important; object-fit: contain !important; }
.product-card .prod-img-wrap.has-hover { position:relative; }
.product-card .prod-img-hover { position:absolute; top:6px; left:6px; right:6px; bottom:6px; width:calc(100% - 12px); height:calc(100% - 12px); object-fit:contain; opacity:0; transition:opacity .4s ease; pointer-events:none; }
.product-card:hover .prod-img-hover { opacity:1; }
.product-card:hover .prod-img:not(.prod-img-hover) { opacity:0; transition:opacity .4s ease; }
/* Loop <li> wrapper: strip Flatsome's default card chrome */
li.product.fgs-loop-item { list-style:none; text-align:left; }
li.product.fgs-loop-item .product-card { height:100%; }

/* ============================================================
   RELATED / UP-SELL PRODUCTS — replace Flatsome's broken slider with a
   clean responsive grid (v1.7.30). Flatsome renders these as a
   .row.row-slider (white-space:nowrap; overflow:scroll) that fails to
   initialise with our custom cards, collapsing into cramped narrow items.
   We force a real grid: 4 desktop / 3 tablet / 2-up swipe on phones.
   ============================================================ */
.related .row.row-slider,
.up-sells .row.row-slider,
.related ul.products,
.up-sells ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  white-space: normal !important;
  overflow: visible !important;
}
.related .row-slider > li.product,
.up-sells .row-slider > li.product,
.related ul.products > li.product,
.up-sells ul.products > li.product {
  width: auto !important; max-width: none !important; display: block !important;
  float: none !important; margin: 0 !important; padding: 0 !important;
  vertical-align: top; white-space: normal;
}
/* The Flatsome slider arrows/dots are unused now — hide them. */
.related .slider-nav, .related .flickity-page-dots, .related .slider-nav-simple,
.up-sells .slider-nav, .up-sells .flickity-page-dots { display: none !important; }

/* Tidy product titles everywhere: cap at 2 lines so cards never grow tall. */
.product-card .prod-name {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; line-height: 1.3;
}

@media (max-width: 849px){
  .related .row.row-slider, .up-sells .row.row-slider,
  .related ul.products, .up-sells ul.products {
    grid-template-columns: repeat(3, 1fr) !important; gap: 16px !important;
  }
}
@media (max-width: 600px){
  /* Phones: horizontal swipe carousel, 2 cards per view. */
  .related .row.row-slider, .up-sells .row.row-slider,
  .related ul.products, .up-sells ul.products {
    display: flex !important; grid-template-columns: none !important;
    flex-wrap: nowrap !important; overflow-x: auto !important;
    gap: 12px !important; scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch; padding-bottom: 8px;
  }
  .related .row-slider::-webkit-scrollbar, .up-sells .row-slider::-webkit-scrollbar,
  .related ul.products::-webkit-scrollbar, .up-sells ul.products::-webkit-scrollbar { height: 0; display: none; }
  .related .row-slider > li.product, .up-sells .row-slider > li.product,
  .related ul.products > li.product, .up-sells ul.products > li.product {
    flex: 0 0 calc(50% - 6px) !important; width: calc(50% - 6px) !important;
    scroll-snap-align: start;
  }
  .product-card .prod-name { font-size: 12px !important; letter-spacing: .2px; }
  .product-card .prod-tag { font-size: 9px !important; }
}

/* Custom related-products grid (replaces Flatsome slider) — v1.7.31 */
.fgs-xrelated { max-width: var(--site-max-width); margin: 30px auto 10px; padding: 24px 0 0; border-top: 1px solid #ECECEC; }
.fgs-xrelated-title { font-family: 'Roboto', sans-serif; font-weight: 900; text-transform: uppercase; font-size: 20px; letter-spacing: .5px; margin: 0 0 18px; color: #003263; }
.fgs-xrelated-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 849px){ .fgs-xrelated-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; } }
@media (max-width: 600px){
  .fgs-xrelated-grid {
    display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 12px;
    scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-bottom: 8px;
  }
  .fgs-xrelated-grid::-webkit-scrollbar { height: 0; display: none; }
  .fgs-xrelated-grid > .product-card { flex: 0 0 calc(50% - 6px); scroll-snap-align: start; }
}

/* ============================================================
   HOMEPAGE PRODUCT UI — bigger/even images + uniform buttons (v1.7.8)
   ============================================================ */
/* Task 1: product card images larger & consistent (equal square box) */
.fgs-home .product-card .prod-img-wrap {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  padding: 2px !important;
  background: #fff !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}
.fgs-home .product-card .prod-img,
.fgs-home .product-card .prod-img.prod-img-hover {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
/* Featured hero image fills its column (bigger) */
.fgs-home .fgs-featured-hero > a { width: 100%; }
.fgs-home .fgs-featured-hero > a img {
  width: 100% !important; height: auto !important; max-height: none !important;
  object-fit: contain !important;
}

/* Task 2: consistent card spacing / info block */
.fgs-home .product-card { padding: 12px !important; }
.fgs-home .product-card .prod-info { margin-top: 12px !important; }

/* Task 3: ALL action buttons — uniform 4px rounded corners */
.atc-static-btn,
.fgs-home .atc-static-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit,
button.single_add_to_cart_button,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce #place_order, .checkout-button, .wc-proceed-to-checkout .button,
.fgs-buy-now, button.fgs-buy-now,
.fgs-filter-pill,
.fgs-sticky-btn,
.woocommerce .quantity.ux-quantity,
input[type="submit"],
.button, .ux-btn, .flatsome-cta a.button {
  border-radius: 4px !important;
}
/* keep the compact qty stepper's inner buttons squared inside the 4px pill */
.woocommerce .quantity.ux-quantity { overflow: hidden; }

/* ============================================================
   FEATURED HERO META (SKU/Categories/Tags/Brand) + short btn (v1.7.10)
   ============================================================ */
.fgs-home .fgs-featured-info .fgs-feat-rule {
  width: 44px; height: 2px; background: var(--accent); margin: 2px 0 14px; border-radius: 2px;
}
.fgs-home .fgs-featured-info .fgs-feat-meta {
  border-top: 1px solid #ECECEC; padding-top: 14px; margin-bottom: 20px;
}
.fgs-home .fgs-featured-info .fgs-feat-line {
  font-size: 13px; color: #6E6E73; line-height: 1.5; padding: 3px 0;
  border-bottom: 1px solid #F3F4F6;
}
.fgs-home .fgs-featured-info .fgs-feat-line:last-child { border-bottom: none; }
.fgs-home .fgs-featured-info .fgs-feat-line strong { color: #003263; font-weight: 700; }
.fgs-home .fgs-featured-info .fgs-feat-btn {
  max-width: none !important; width: auto !important; border-radius: 4px !important;
}

/* ============================================================
   HIDE PRODUCT PREV/NEXT NAV ARROWS (v1.7.11)
   Flatsome's .next-prev-thumbs (the red < > buttons that jump to
   the previous/next product) — remove on all product pages.
   ============================================================ */
.next-prev-thumbs,
.fgs-single-active .next-prev-thumbs,
ul.next-prev-thumbs,
.product-info .next-prev-thumbs {
  display: none !important;
}

/* ============================================================
   PRICE COLOUR — brand red everywhere (v1.7.19)
   Current price = brand red; struck old price = muted grey.
   ============================================================ */
.fgs-home .prod-pricing, .fgs-home .prod-pricing *,
.fgs-home .fgs-featured-info .price, .fgs-home .fgs-featured-info .price *,
.fgs-xsell .prod-pricing, .fgs-xsell .prod-pricing *,
.woocommerce .price, .woocommerce .price .amount, .woocommerce .price ins, .woocommerce .price ins .amount,
.woocommerce div.product p.price, .woocommerce div.product p.price .amount,
.woocommerce div.product span.price, .woocommerce div.product span.price .amount,
.woocommerce ul.products li.product .price, .woocommerce ul.products li.product .price .amount,
.fgs-sticky-amount {
  color: var(--accent, #EE2531) !important;
}
/* Struck-through original price stays muted grey */
.fgs-home .prod-pricing del, .fgs-home .prod-pricing del *,
.fgs-home .fgs-featured-info .price del, .fgs-home .fgs-featured-info .price del *,
.fgs-xsell .prod-pricing del, .fgs-xsell .prod-pricing del *,
.woocommerce .price del, .woocommerce .price del .amount,
.woocommerce ul.products li.product .price del, .woocommerce ul.products li.product .price del * {
  color: #9AA0A6 !important;
}

/* ============================================================
   VARIATION SWATCHES — Fit Type / Size as buttons (v1.7.20)
   ============================================================ */
.variations select.fgs-hidden-select {
  position: absolute !important; width: 1px !important; height: 1px !important;
  opacity: 0 !important; pointer-events: none !important; margin: 0 !important; padding: 0 !important;
}
/* Auto-fit grid: adapts to ANY number of options with no code changes.
   Default = compact columns (sizes); .fgs-swatches-wide = wide buttons
   for short attributes with 2-3 options (e.g. Fit Type). */
.fgs-swatches {
  display: grid; gap: 12px; margin: 6px 0 6px; width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(78px, 1fr));
}
.fgs-swatches.fgs-swatches-wide {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
.fgs-swatch {
  background: #fff; border: 1.5px solid rgba(229,9,20,.28); border-radius: 8px;
  padding: 16px 10px; font-family: 'Roboto', sans-serif; font-weight: 700;
  font-size: 13px; letter-spacing: .5px; color: #003263; text-transform: uppercase;
  text-align: center; cursor: pointer; transition: all .15s ease; line-height: 1;
}
.fgs-swatch:hover { border-color: var(--accent); box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.fgs-swatch.is-active {
  background: #003263 !important; color: #fff !important; border-color: #003263 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.18);
}
.fgs-swatch.is-disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
@media (max-width: 520px){ .fgs-swatches-grid { grid-template-columns: repeat(3, 1fr); } }

/* ============================================================
   UNIFY COMPONENT COLOURS (v1.7.22)
   Custom fields (Name/Number) + quantity stepper share the same
   light-red brand-tinted border as the variation swatches;
   focus = brand red. High specificity to beat the add-ons plugin.
   ============================================================ */
.woocommerce div.product form.cart .wcpa_field,
.woocommerce div.product .wcpa_form_outer .wcpa_field,
.woocommerce div.product .wcpa_form_outer textarea,
.woocommerce div.product .wcpa_form_outer input[type="text"],
.woocommerce div.product .wcpa_form_outer input[type="number"],
form.cart .wcpa_form_outer input.wcpa_field {
  border: 1.5px solid rgba(229,9,20,.28) !important;
  border-radius: 8px !important;
  background: #fff !important;
}
.woocommerce div.product .wcpa_form_outer .wcpa_field:focus,
.woocommerce div.product .wcpa_form_outer textarea:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(229,9,20,.12) !important;
  outline: none !important;
}
/* Quantity stepper border matches too */
.woocommerce div.product .quantity.ux-quantity { border-color: rgba(229,9,20,.28) !important; }

/* ============================================================
   PRODUCT TABS -> ACCORDION (v1.7.23)
   Collapsed by default; click a header to open/close. Shortens
   the product page so shoppers reach related items faster.
   ============================================================ */
.fgs-single-active .woocommerce-tabs ul.tabs { display: none !important; }
/* Force the tabs wrapper to stack full-width (it is display:flex by default,
   which was shrinking the accordion to ~159px). */
.fgs-single-active .woocommerce-tabs { display: block !important; }
.fgs-acc { border-top: 1px solid #E5E7EB; margin-top: 10px; width: 100%; }
.fgs-acc-item { border-bottom: 1px solid #E5E7EB; }
.fgs-acc-head {
  width: 100%; background: none; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: flex-start; gap: 14px;
  padding: 18px 4px; font-family: 'Roboto', sans-serif; font-weight: 600;
  font-size: 15px; letter-spacing: .2px; text-transform: none; color: #3E4A5A;
}
.fgs-acc-head:hover { color: #003263; }
.fgs-acc-head.is-open { color: #003263; }
/* Chevron on the LEFT (matches reference); rotates down when open.
   The +/- glyph set by JS is hidden (font-size:0) so functionality is untouched. */
.fgs-acc-head .fgs-acc-ico {
  order: -1; flex: 0 0 20px; width: 20px; height: 20px;
  font-size: 0; color: transparent;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233E4A5A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center/16px no-repeat;
  transition: transform .2s ease;
}
.fgs-acc-head.is-open .fgs-acc-ico { transform: rotate(180deg); }
.fgs-acc-body { padding: 0 4px 20px; }
.fgs-acc-body .panel, .fgs-acc-body .woocommerce-Tabs-panel { margin: 0 !important; }

/* Hide the PayPal smart button on the SINGLE PRODUCT page only —
   keep it on the checkout page (v1.7.27). */
body.single-product .ppc-button-wrapper,
body.single-product #ppc-button-ppcp-gateway,
body.single-product .ppcp-messages { display:none !important; }

/* ============================================================
   MOBILE SIDEBAR SHADOW FIX (v1.7.24)
   Off-canvas sidebar shadow was bleeding onto the page edge.
   Only show the shadow when the sidebar is actually open.
   ============================================================ */
#fgs-sidebar { box-shadow: none !important; }
#fgs-sidebar.is-open { box-shadow: 10px 0 30px rgba(0,0,0,.5) !important; }

/* Mobile sidebar SEARCH BOX — the themed <input> carried a 13px bottom
   margin + box-shadow + its own padding, so it sat un-centered and looked
   unbalanced. Normalize it so the field fills the bar and icon/text center. */
#fgs-sidebar form[role="search"]{ height:44px !important; padding:0 14px !important; }
#fgs-sidebar form[role="search"] input[name="s"]{
  height:100% !important; margin:0 !important; padding:0 !important;
  box-shadow:none !important; min-height:0 !important; line-height:normal !important;
}
#fgs-sidebar form[role="search"] button{ display:flex !important; align-items:center !important; padding:0 0 0 8px !important; }

/* ============================================================
   HOMEPAGE — "WHY FANS CHOOSE" value props + disclaimer (v1.7.44)
   Trust section directly under the hero. Dark band, 5 USP cards,
   with the fan-inspired / not-licensed disclaimer surfaced here
   (no longer buried only in the footer).
   ============================================================ */
.fgs-why { background:#003263; color:#fff; padding:26px 20px; }
.fgs-why-inner { max-width:var(--site-max-width); margin:0 auto; text-align:center; }
.fgs-why-title { font-family:'Roboto',sans-serif; font-weight:900; font-size:18px; text-transform:uppercase; letter-spacing:.5px; color:#fff !important; margin:0 0 16px; }
.fgs-why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; max-width:900px; margin:0 auto; }
.fgs-why-card { background:none; border:none; padding:8px 10px; display:flex; flex-direction:column; align-items:center; gap:8px; }
.fgs-why-ico { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:rgba(229,9,20,.12); color:var(--accent); flex:0 0 34px; transition:background .2s ease; }
.fgs-why-ico svg { width:17px; height:17px; }
.fgs-why-card:hover .fgs-why-ico { background:rgba(229,9,20,.22); }
.fgs-why-card h3 { font-family:'Roboto',sans-serif; font-weight:800; font-size:12px; text-transform:uppercase; letter-spacing:.3px; color:#fff; margin:0 0 2px; line-height:1.2; }
.fgs-why-card p { font-size:10.5px; line-height:1.35; color:#9AA0A6; margin:0; }
.fgs-why-disclaimer { font-size:10px; line-height:1.5; color:#7A7F87; max-width:680px; margin:14px auto 0; font-style:italic; }
.fgs-why-disclaimer strong { color:#B4B9C0; font-style:normal; }
@media (max-width:600px){
  .fgs-why { padding:20px 12px; }
  .fgs-why-title { font-size:14px; margin:0 0 12px; }
  .fgs-why-grid { grid-template-columns:repeat(2,1fr); gap:8px 4px; }
  .fgs-why-card { padding:4px 4px; gap:6px; }
  .fgs-why-ico { width:28px; height:28px; flex:0 0 28px; }
  .fgs-why-ico svg { width:14px; height:14px; }
  .fgs-why-card h3 { font-size:9.5px; letter-spacing:.2px; }
  .fgs-why-card p { font-size:8.5px; line-height:1.3; }
  .fgs-why-disclaimer { font-size:8.5px; margin:12px auto 0; }
}
@media (max-width:360px){
  .fgs-why-card h3 { font-size:9px; }
  .fgs-why-card p { font-size:8px; }
}

/* ============================================================
   PRODUCT GRID — 4 / 3 / 2 columns EVERYWHERE (v1.7.46)
   Flatsome renders the loop as <div class="products row large-columns-3">
   (a flex row whose children are .col). Our content-product.php outputs
   plain <li> cells instead, which the flex row can't size — so every
   product collapsed to one-per-row on shop / category / team / search /
   cart cross-sells / up-sells. Force the container to a real CSS grid
   (matching the homepage .shop-grid) and neutralise the full-width <li>.
   Targets .products.row globally (that class is only ever a WooCommerce
   product loop) so every context stays identical. The single-product
   "related" section uses its own .fgs-xrelated-grid and is unaffected.
   ============================================================ */
.products.row {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px 20px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.products.row > li.product {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
@media (max-width: 1024px) {
  .products.row { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 767px) {
  .products.row { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
}

/* ============================================================
   ABOUT US PAGE — brand story + trust layout (v1.7.47)
   Rendered by inc/fgs-about-page.php via a the_content filter.
   ============================================================ */
/* Hide the default Flatsome page title/header on the About page */
.fgs-about-active .page-title,
.fgs-about-active .entry-header,
.fgs-about-active #content .page-header { display: none !important; }
.fgs-about-active #content .page-wrapper > .row,
.fgs-about-active #content { padding-top: 0 !important; }
.fgs-about-active #content { overflow-x: hidden; }

.fgs-about { font-family: 'Roboto', sans-serif; color: #003263; }
/* Full-bleed dark bands (hero + CTA) inside Flatsome's boxed container */
.fgs-about .ab-hero,
.fgs-about .ab-cta {
  width: 100vw; max-width: 100vw;
  margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
}
.fgs-about .ab-hero {
  background: linear-gradient(rgba(11,12,16,.72), rgba(11,12,16,.82)), #003263;
  color: #fff; text-align: center; padding: 64px 20px;
}
.fgs-about .ab-hero .eyebrow { font-family: 'Roboto', sans-serif; font-weight: 800; font-size: 12px; letter-spacing: 2px; color: var(--accent); text-transform: uppercase; }
.fgs-about .ab-hero h1 { font-family: 'Roboto', sans-serif; font-weight: 900; font-size: clamp(24px, 4.4vw, 40px); text-transform: uppercase; letter-spacing: .5px; margin: 10px 0 8px; color: #fff !important; }
.fgs-about .ab-hero p { color: #C5C6C7; font-size: 15px; max-width: 620px; margin: 0 auto; line-height: 1.6; }

.fgs-about .ab-wrap { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.fgs-about .ab-section { padding: 52px 0; border-bottom: 1px solid #E5E7EB; }
.fgs-about .ab-section:last-of-type { border-bottom: none; }
.fgs-about .ab-h2 { font-family: 'Roboto', sans-serif; font-weight: 900; font-size: 22px; text-transform: uppercase; letter-spacing: .5px; margin: 0 0 6px; border-left: 4px solid var(--accent); padding-left: 12px; color: #003263; }
.fgs-about .ab-lead { color: #444; font-size: 15.5px; line-height: 1.8; max-width: 760px; margin: 14px 0 0; }
.fgs-about .ab-lead strong { color: #003263; }

.fgs-about .ab-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 26px; }
.fgs-about .ab-card { border: 1px solid #E5E7EB; border-radius: 10px; padding: 22px 18px; background: #fff; }
.fgs-about .ab-ico { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(229,9,20,.10); color: var(--accent); margin-bottom: 12px; }
.fgs-about .ab-ico svg { width: 22px; height: 22px; }
.fgs-about .ab-card h3 { font-family: 'Roboto', sans-serif; font-weight: 800; font-size: 14px; text-transform: uppercase; letter-spacing: .3px; margin: 0 0 6px; color: #003263; }
.fgs-about .ab-card p { color: #6E6E73; font-size: 13px; line-height: 1.6; margin: 0; }

.fgs-about .ab-two { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
.fgs-about .ab-two h3 { font-family: 'Roboto', sans-serif; font-weight: 800; font-size: 16px; text-transform: uppercase; letter-spacing: .3px; margin: 0 0 8px; color: #003263; }
.fgs-about .ab-two p { color: #444; font-size: 14px; line-height: 1.7; margin: 0; }
.fgs-about .ab-two a { color: var(--accent); text-decoration: none; font-weight: 700; }

.fgs-about .ab-why { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 24px; }
.fgs-about .ab-why > div { text-align: center; }
.fgs-about .ab-why .ab-ico { margin: 0 auto 8px; }
.fgs-about .ab-why h4 { font-family: 'Roboto', sans-serif; font-weight: 800; font-size: 12px; text-transform: uppercase; margin: 0; color: #003263; }

.fgs-about .ab-cta { background: #003263; color: #fff; text-align: center; padding: 48px 20px; }
.fgs-about .ab-cta h2 { font-family: 'Roboto', sans-serif; font-weight: 900; font-size: 24px; text-transform: uppercase; margin: 0 0 8px; color: #fff !important; }
.fgs-about .ab-cta p { color: #C5C6C7; font-size: 14px; margin: 0 0 20px; }
.fgs-about .ab-btn { display: inline-block; background: var(--accent); color: #fff; text-decoration: none; font-family: 'Roboto', sans-serif; font-weight: 800; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; padding: 14px 30px; border-radius: 4px; transition: background .2s ease; }
.fgs-about .ab-btn:hover { background: #b3000b; }
.fgs-about .ab-disc { font-size: 11.5px; line-height: 1.6; color: #8A8F98; font-style: italic; max-width: 760px; margin: 22px auto 0; text-align: center; }
.fgs-about .ab-disc strong { color: #AEB4BE; font-style: normal; }

@media (max-width: 768px) {
  .fgs-about .ab-grid { grid-template-columns: 1fr; }
  .fgs-about .ab-two { grid-template-columns: 1fr; gap: 24px; }
  .fgs-about .ab-why { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}

/* Fan photo wall — uniform Instagram-style grid (responsive rules live in the
   "Lark request fixes" section below, task #8). */
.fgs-fans-grid { display:grid !important; gap:12px !important; }
.fgs-fan-cell { overflow:hidden; border-radius:14px; border:none; background:#0A3A70; }
.fgs-fan-cell img { width:100% !important; height:100% !important; object-fit:cover; display:block; transition:transform .55s cubic-bezier(.16,1,.3,1); }
.fgs-fan-cell:hover img { transform:scale(1.08); }

/* ============================================================
   HOMEPAGE URGENCY BADGE (v1.7.51)
   Top-right badge on homepage product cards. "NEW" for products
   published within the last N days (fgs_new_days, default 30),
   or a manual label when the product is tagged trending/hot/best-seller.
   Rendered by fgs_product_card_html() only on is_front_page().
   ============================================================ */
.product-card .fgs-urg-badge {
  position: absolute; top: 10px; right: 10px; z-index: 3;
  font-family: 'Roboto', sans-serif; font-weight: 800; font-size: 10px;
  letter-spacing: .4px; text-transform: uppercase; color: #fff;
  padding: 4px 8px; border-radius: 4px; line-height: 1.2;
  box-shadow: 0 2px 6px rgba(0,0,0,.18);
}
.product-card .fgs-urg-badge.is-new { background: #003263; }
.product-card .fgs-urg-badge.is-trending { background: #ff6a00; }

/* ============================================================
   HOMEPAGE SEO CONTENT (v1.7.53)
   Real indexable copy + internal links at the foot of the home
   page (the page is otherwise image/card heavy with little text).
   ============================================================ */
.fgs-seo-text { max-width: var(--site-max-width); margin: 0 auto; padding: 10px 20px 54px; }
.fgs-seo-inner { max-width: 900px; margin: 0 auto; }
.fgs-seo-text h2 { font-family: 'Roboto', sans-serif; font-weight: 900; font-size: 20px; text-transform: uppercase; letter-spacing: .5px; color: #003263; margin: 0 0 12px; border-left: 4px solid var(--accent); padding-left: 12px; }
.fgs-seo-text p { font-size: 14px; line-height: 1.8; color: #5a5f66; margin: 0 0 12px; }
.fgs-seo-text a { color: var(--accent); text-decoration: none; font-weight: 600; }
.fgs-seo-text a:hover { text-decoration: underline; }
.fgs-seo-text .fgs-seo-disc { font-size: 11.5px; color: #9AA0A6; font-style: italic; margin-top: 6px; }

/* ============================================================
   TOP PROMO BAR — keep the 3 badges on ONE line on mobile (v1.7.54)
   Overrides the inline gap:30px / flex-wrap:wrap so the red bar
   never wraps to two lines on small screens.
   ============================================================ */
@media (max-width: 600px) {
  .top-promo-bar { padding: 6px 8px !important; }
  .top-promo-bar > div { gap: 0 10px !important; flex-wrap: nowrap !important; justify-content: space-between !important; }
  .top-promo-bar span { font-size: 9px !important; letter-spacing: .2px !important; white-space: nowrap !important; }
  .top-promo-bar svg { width: 11px !important; height: 11px !important; margin-right: 4px !important; flex: 0 0 auto; }
}
@media (max-width: 360px) {
  .top-promo-bar span { font-size: 8px !important; }
  .top-promo-bar svg { width: 9px !important; height: 9px !important; margin-right: 3px !important; }
}

/* ============================================================
   REMOVE FLATSOME "FILTER" TOGGLE (v1.7.55)
   The off-canvas filter button opens #shop-sidebar, which has no
   widgets ("assign Widgets to Shop Sidebar" error). We use our own
   Apparel-category pill filter instead, so hide the broken toggle.
   ============================================================ */
a.filter-button,
.shop-page-title .filter-button,
.category-page-row .filter-button { display: none !important; }

/* ============================================================
   TEAM FILTER PILLS — swipe horizontally on mobile (v1.7.57)
   Desktop keeps the wrapping row; on phones the ALL/HOODIES/…
   pills stay on ONE line and scroll sideways, with a soft fade
   on the right edge hinting there are more pills.
   ============================================================ */
@media (max-width: 600px) {
  .fgs-filters-scroll { position: relative; }
  .fgs-filters-scroll::after {
    content: ""; position: absolute; top: 0; right: 0; width: 26px; height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0), #fff);
    pointer-events: none;
  }
  .fgs-team-filters {
    flex-wrap: nowrap !important;      /* beats the inline flex-wrap:wrap */
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* momentum scroll on iOS */
    scrollbar-width: none;             /* Firefox: hide scrollbar */
    -ms-overflow-style: none;          /* old Edge */
    padding-bottom: 2px;
  }
  .fgs-team-filters::-webkit-scrollbar { display: none; } /* Chrome/Safari */
  .fgs-team-filters > * { flex: 0 0 auto; }               /* label + pills never shrink */
}

/* ============================================================
   SHIPPING TAB REDESIGN (v1.7.60)
   Free-Standard-shipping hero + production note + 2 option cards.
   Used by fgs_tab_shipping() and reusable on /shipping-returns/.
   ============================================================ */
.fgs-ship { font-family: var(--font-body); }
.fgs-ship-hero{
  background:linear-gradient(135deg,#161920 0%,#003263 100%);
  border:1px solid #23262e;border-radius:16px;padding:26px 22px;color:#fff;text-align:center;
  position:relative;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.fgs-ship-hero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 15% 20%, rgba(229,9,20,.25), transparent 42%);pointer-events:none;}
.fgs-ship-truck{font-size:34px;line-height:1;margin-bottom:8px;position:relative;}
.fgs-ship-hero h2{font-family:var(--font-heading);font-weight:800;text-transform:uppercase;
  letter-spacing:1px;font-size:30px;margin:2px 0 6px;color:#fff !important;position:relative;}
.fgs-ship-hero h2 span{color:var(--accent) !important;}
.fgs-ship-hero p{margin:0;color:#fff !important;font-size:14px;position:relative;}
.fgs-ship-hero p strong{color:#fff !important;}
.fgs-ship-strip{margin-top:14px;display:inline-flex;gap:8px;align-items:center;color:#fff !important;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  padding:6px 14px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.4px;position:relative;}

.fgs-ship-prod{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid #e6e7ea;
  border-radius:12px;padding:16px 18px;margin:16px 0;}
.fgs-ship-ic{flex:0 0 44px;height:44px;border-radius:50%;background:#fff3f3;color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-size:22px;}
.fgs-ship-prod h3{font-family:var(--font-heading);font-weight:700;text-transform:uppercase;
  letter-spacing:.6px;font-size:15px;margin:0 0 3px;}
.fgs-ship-prod p{margin:0;font-size:13.5px;color:#6E6E73;}
.fgs-ship-prod p strong{color:#1e1e1e;}

.fgs-ship-opts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px;}
.fgs-ship-opt{background:#fff;border:1.5px solid #e6e7ea;border-radius:14px;padding:20px 18px 18px;
  position:relative;display:flex;flex-direction:column;}
.fgs-ship-opt.is-best{border-color:var(--accent);box-shadow:0 8px 24px rgba(229,9,20,.10);}
.fgs-ship-ribbon{position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  background:var(--accent);color:#fff;font-family:var(--font-heading);font-weight:700;font-size:11px;
  letter-spacing:1px;text-transform:uppercase;padding:4px 14px;border-radius:999px;white-space:nowrap;
  box-shadow:0 4px 10px rgba(229,9,20,.35);}
.fgs-ship-name{font-family:var(--font-heading);font-weight:700;text-transform:uppercase;
  letter-spacing:.6px;font-size:17px;margin:6px 0 2px;}
.fgs-ship-days{font-size:13px;color:#6E6E73;margin-bottom:14px;}
.fgs-ship-days strong{color:#1e1e1e;}
.fgs-ship-price{margin-top:auto;display:flex;align-items:baseline;gap:8px;}
.fgs-ship-price .now{font-family:var(--font-heading);font-weight:800;font-size:30px;line-height:1;}
.fgs-ship-opt.is-best .fgs-ship-price .now{color:var(--accent);}
.fgs-ship-price .was{font-size:15px;color:#a0a3aa;text-decoration:line-through;}
.fgs-ship-price .unit{font-size:12px;color:#6E6E73;}
.fgs-ship-tick{margin-top:12px;font-size:12.5px;color:#6E6E73;display:flex;align-items:center;gap:6px;}
.fgs-ship-tick svg{flex:0 0 15px;}
.fgs-ship-fine{font-size:12px;color:var(--accent);font-weight:600;margin:18px 2px 0;text-align:center;}

/* FREE SHIPPING badge inside the product-page ESTIMATED DELIVERY box */
.fgs-delivery-free{display:inline-flex;align-items:center;gap:6px;margin-top:12px;
  background:var(--accent);color:#fff;font-family:var(--font-heading);font-weight:700;
  font-size:11px;letter-spacing:.8px;text-transform:uppercase;padding:5px 12px;border-radius:6px;}
.fgs-delivery-free span{font-size:13px;}

@media (max-width:560px){
  .fgs-ship-opts{grid-template-columns:1fr;}
  .fgs-ship-hero h2{font-size:24px;}
  .fgs-ship-ribbon{font-size:10px;}
}

/* ============================================================
   PRODUCT GALLERY LIGHTBOX (v1.7.48)
   Click a gallery image to open a fast popup you can arrow/swipe
   through and close quickly — instead of navigating to the raw
   .webp URL. Built in the child theme (see app-lite.js) so it does
   not depend on the WooCommerce/Flatsome native lightbox we disabled.
   ============================================================ */
.woocommerce-product-gallery__image a { cursor: zoom-in; }
.fgs-lb { position: fixed; inset: 0; z-index: 100000; background: rgba(8,9,12,.95); display: flex; align-items: center; justify-content: center; }
.fgs-lb[hidden] { display: none; }
.fgs-lb-stage { margin: 0; max-width: 90vw; max-height: 86vh; display: flex; align-items: center; justify-content: center; }
.fgs-lb-img { max-width: 90vw; max-height: 86vh; object-fit: contain; border-radius: 6px; box-shadow: 0 10px 40px rgba(0,0,0,.5); background: #fff; }
.fgs-lb-close { position: absolute; top: 18px; right: 20px; width: 44px; height: 44px; border: none; background: rgba(255,255,255,.14); color: #fff; font-size: 26px; line-height: 1; border-radius: 50%; cursor: pointer; transition: background .15s ease; }
.fgs-lb-close:hover { background: var(--accent); }
.fgs-lb-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border: none; background: rgba(255,255,255,.14); color: #fff; font-size: 30px; line-height: 1; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .15s ease; }
.fgs-lb-nav:hover { background: var(--accent); }
.fgs-lb-prev { left: 20px; }
.fgs-lb-next { right: 20px; }
.fgs-lb-count { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); color: #fff; font-family: 'Roboto', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 1px; }
@media (max-width: 600px) {
  .fgs-lb-nav { width: 40px; height: 40px; font-size: 24px; }
  .fgs-lb-prev { left: 8px; }
  .fgs-lb-next { right: 8px; }
  .fgs-lb-close { top: 10px; right: 10px; }
}

/* ============================================================
   HOODIES SIZE GUIDE — Adult + Kid grouped tables (v1.7.49)
   Rendered in the Size Guide tab by fgs_hoodie_size_guide().
   ============================================================ */
.fgs-single-active .woocommerce-tabs .panel .sg-fit,
.sg-fit {
  font-family: 'Roboto', sans-serif; font-weight: 800; font-size: 12px;
  text-transform: uppercase; letter-spacing: .6px; color: #fff; background: #003263;
  display: inline-block; padding: 6px 14px; border-radius: 4px; margin: 24px 0 10px;
}
.sg-fit.kid { background: var(--accent); }
.sg-fit.youth { background: #3A3F63; }
.sg-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.fgs-size-grouped { min-width: 560px; }
.fgs-size-grouped th, .fgs-size-grouped td { text-align: center !important; padding: 9px 10px !important; }
.fgs-size-grouped thead th {
  background: #F5F5F7; font-family: 'Roboto', sans-serif; text-transform: uppercase;
  font-size: 11px !important; font-weight: 800; color: #003263; letter-spacing: .4px;
}
.fgs-size-grouped thead tr.grp th { background: #EEF0FB; color: #3A3F63; }
.fgs-size-grouped tbody th {
  background: #FAFAFB; font-family: 'Roboto', sans-serif; font-weight: 800;
  font-size: 13px; color: #003263;
}
.fgs-size-grouped tbody tr:nth-child(even) td { background: #FCFCFD; }
.sg-note { font-size: 12px; color: #8A8F98; margin: 16px 0 0; font-style: italic; }

/* ============================================================
   CUSTOMER FEEDBACK — real customer photo wall on product pages
   (v1.7.50). Sits between the description tabs and related grid.
   Uniform square tiles so every row (incl. the last) is even.
   Click a photo -> shared product lightbox (see app-lite.js).
   ============================================================ */
.fgs-feedback { max-width: var(--site-max-width); margin: 40px auto 10px; padding: 30px 0 0; border-top: 1px solid #ECECEC; }
.fgs-feedback-title { font-family: 'Roboto', sans-serif; font-weight: 900; font-size: 26px; text-transform: uppercase; letter-spacing: .5px; text-align: center; margin: 0 0 6px; color: #003263; }
.fgs-feedback-sub { text-align: center; font-size: 13px; color: #6E6E73; text-transform: uppercase; font-weight: 700; letter-spacing: 1.5px; margin: 0 0 26px; }
.fgs-feedback-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.fgs-feedback-grid a { aspect-ratio: 1; overflow: hidden; border-radius: 8px; display: block; background: #f2f2f4; cursor: zoom-in; }
.fgs-feedback-grid img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.fgs-feedback-grid a:hover img { transform: scale(1.05); }
@media (max-width: 900px) { .fgs-feedback-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .fgs-feedback-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; } }

/* ================================================================
   RALLY HOUSE REDESIGN — HEADER (Merch Sport) — overrides mockup
   ================================================================ */
.ms-topbar a:hover { color: #fff; text-decoration: underline; }

/* White sticky header */
.fgs-shell .main-header.ms-header,
.ms-header { background: #FFFFFF !important; position: sticky; top: 0; z-index: 1000; box-shadow: 0 2px 8px rgba(5,35,77,.07); }
.ms-header .ms-logo img { height: 46px; }
/* Optical vertical-centering: the wordmark sits ~3.8% below the logo image's
   geometric center (swoosh adds top height, shield point adds bottom), which
   made it read as misaligned with the search box. Nudge up so the "MERCH SPORT"
   wordmark lines up with the search field. % keeps it correct at every logo size. */
.ms-header .ms-logo .logo-img { transform: translateY(-3.8%); }

/* Search (Rally House) */
.ms-search { align-items: stretch !important; padding: 0 !important; overflow: hidden; }
.ms-search input { padding: 0 18px !important; font-size: 14px; line-height: normal; }
.ms-search input::placeholder { color: var(--slate); }
.ms-search:focus-within { box-shadow: 0 0 0 3px rgba(214,31,40,.12); }
/* Button flush to the edges — no gap top/bottom/right, no rounded inset */
.ms-search button {
  align-self: stretch !important; height: auto !important; margin: 0 !important;
  border-radius: 0 !important; padding: 0 24px !important; display: flex; align-items: center; gap: 8px;
}
.ms-search button:hover { background: var(--ms-red-dark); }

/* Logo swap: horizontal wordmark on desktop, shield icon on mobile */
.ms-logo .ms-logo-icon { display: none; }
@media (max-width: 991px) {
  .ms-header-in { flex-wrap: wrap !important; row-gap: 10px !important; }
  .ms-header-in .ms-search {
    order: 3; flex: 0 0 100% !important; max-width: 100% !important; margin: 0 !important; height: 44px;
  }
  /* Keep the horizontal wordmark on mobile too, centered between the
     hamburger (left) and the cart (right). Equal fixed side columns +
     a flex-grow:0 middle => the logo sits dead-center and the cart is
     pinned to the far-right corner. !important overrides the inline
     flex-shrink:0 on the logo/actions so flex-grow actually works. */
  .ms-logo .ms-logo-h { display: block !important; height: 38px; }
  .ms-logo .ms-logo-icon { display: none !important; }
  .ms-header-in { gap: 10px !important; }
  .ms-header-in > #fgs-hamburger { flex: 0 0 44px !important; order: 1; display: flex !important; }
  .ms-header-in > .ms-logo { flex: 1 1 0 !important; min-width: 0; order: 2; justify-content: center !important; }
  .ms-header-in > .ms-actions { flex: 0 0 44px !important; order: 2; justify-content: flex-end !important; gap: 0 !important; }
  /* On mobile only the cart shows in the actions cluster — make sure the
     account/wishlist links can't add width and shove the cart inward. */
  .ms-header-in > .ms-actions .hide-mobile { display: none !important; }
}

/* Header action icons */
.ms-act { transition: color .15s ease; }
.ms-act:hover { color: var(--accent) !important; }
.ms-header .cart-badge, .ms-act .cart-badge {
  position: absolute; top: -7px; right: -9px; background: var(--accent); color: #fff;
  font-size: 10px; font-weight: 800; min-width: 17px; height: 17px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; padding: 0 4px; line-height: 1; border: 2px solid #fff;
}

/* Nav bar (white, league icons) */
.ms-nav { border-top: 1px solid #E8EBF0; background: #fff; }
.ms-nav-link {
  font-family: var(--font-heading); font-weight: 800; font-size: 13px; color: var(--dark);
  text-decoration: none; text-transform: uppercase; letter-spacing: .5px;
  padding: 13px 16px; display: flex; align-items: center; gap: 8px;
  border-bottom: 3px solid transparent; transition: color .15s ease, border-color .15s ease; white-space: nowrap;
}
.ms-nav-link:hover { color: var(--accent); border-bottom-color: var(--accent); }
.ms-nav-ico { height: 20px; width: auto; object-fit: contain; display: block; }

/* Team mega-dropdown — centered on the PAGE (relative to the centered nav bar) */
.ms-nav-in { position: relative; }
.ms-nav-item { position: static; }
.ms-nav-item .submenu-dropdown {
  display: none; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); z-index: 2000;
  background: #fff; border: 1px solid #E5E7EB; border-top: 3px solid var(--accent);
  box-shadow: 0 14px 34px rgba(5,35,77,.14); padding: 16px; border-radius: 0 0 8px 8px;
  grid-template-columns: repeat(5, minmax(170px, 1fr)); gap: 2px 8px; width: min(1100px, 96vw); max-width: 1100px;
}
.ms-nav-item:hover .submenu-dropdown { display: grid; }
.ms-nav-item .submenu-dropdown .fgs-team-link:hover { background: var(--bg-light); }
.ms-nav-item .submenu-dropdown .fgs-team-link:hover span { color: var(--accent); }

/* (Mega-dropdown is centered under the nav — see rule above) */

/* =====================================================================
   ĐỒNG BỘ LỀ 2 BÊN (GUTTER) + TỐI ƯU MOBILE — áp cho MỌI trang
   Loads sau cùng nên override được mockup css. Không phá layout đã test.
   ===================================================================== */

/* 0) Chặn tràn ngang toàn site (nguồn gốc mất lề trên mobile) */
html, body { max-width: 100%; overflow-x: hidden; }
img, video, iframe, table { max-width: 100%; }

/* 1) Container chuẩn dùng chung cho các trang MỚI (team/league/home mới) */
.ms-container {
  width: 100%;
  max-width: var(--ms-max);
  margin-inline: auto;
  padding-inline: var(--ms-gutter);
}

/* 2) Chuẩn hoá LỀ cho mọi wrapper nội dung cũ → tất cả trang căn lề giống nhau.
      Ép max-width + padding 2 bên = --ms-gutter (ghi đè các 0/10px/16px lẻ tẻ). */
.ms-header-in,
.ms-topbar-in,
.ms-nav-in,
.fgs-single-product,
.fgs-shop-cats,
.fgs-xsell, .fgs-xrelated, .fgs-savemore, .fgs-feedback,
.fgs-seo-text, .fgs-why-inner,
.fgs-about .ab-wrap,
.footer-grid, .fgs-footer-in {
  max-width: var(--ms-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--ms-gutter);
  padding-right: var(--ms-gutter);
  box-sizing: border-box;
}

/* 3) TỐI ƯU MOBILE (≤ 767px) — lề đều, card/nút không dính mép */
@media (max-width: 767px) {
  /* Grid sản phẩm & danh mục về 2 cột, khoảng cách gọn */
  .pgrid, .fgs-xsell-grid, .fgs-xrelated-grid, .fgs-savemore-grid,
  .fgs-shop-cats-grid, .fgs-feedback-grid, .products.columns-3, .products.columns-4 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  /* WooCommerce shop mặc định cũng 2 cột trên mobile */
  ul.products li.product { width: 48% !important; margin: 0 4% 12px 0 !important; }
  ul.products li.product:nth-child(2n) { margin-right: 0 !important; }

  /* Section spacing dọc gọn lại cho mobile */
  .fgs-single-product, .fgs-team, .fgs-league,
  .fgs-shop-cats, .fgs-xsell, .fgs-xrelated, .fgs-feedback { padding-top: 20px; padding-bottom: 20px; }

  /* Tiêu đề section nhỏ hơn cho vừa màn hình */
  .fgs-team-hero h1, .fgs-league-hero h1 { font-size: 34px !important; }

  /* Nút CTA full-width, chạm tay dễ (min 46px) */
  .single_add_to_cart_button, .fgs-buy-now, .button.alt, .checkout-button {
    width: 100% !important; min-height: 48px; font-size: 15px !important;
  }

  /* Card bo góc + không sát mép; ảnh sản phẩm cao vừa phải */
  .pcard, .fgs-team-card, .fgs-shop-cat-card { border-radius: 10px; }
  .pimg { height: 180px !important; }
  /* league-grid logo wrap phải giữ hình TRÒN (aspect-ratio 1), không bị
     rule height:180px cũ bóp thành oval trên mobile */
  .fgs-league-grid .fgs-team-imgwrap { height: auto !important; aspect-ratio: 1 !important; }

  /* Filter pills: cuộn ngang mượt, chừa lề 2 đầu = gutter */
  .fgs-team-filters, .fbar-in, .chips {
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; scroll-padding-inline: var(--ms-gutter);
  }
  .fgs-team-filters::-webkit-scrollbar, .chips::-webkit-scrollbar { display: none; }

  /* Bảng (size guide…) cuộn ngang trong khung, không phá lề trang */
  .woocommerce table.shop_table, .fgs-size-table { display: block; overflow-x: auto; }
}

/* 4) Tablet (768–1023): grid 3 cột cho lưới sản phẩm */
@media (min-width: 768px) and (max-width: 1023px) {
  .pgrid, .fgs-xsell-grid, .fgs-xrelated-grid, .fgs-shop-cats-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* =====================================================================
   FRONT PAGE REDESIGN — Hero (navy) + Shop By League (icon tiles)
   ===================================================================== */

/* ---- HERO ---- */
.fgs-hero{
  position:relative; overflow:hidden; color:#fff;
  background:radial-gradient(120% 120% at 80% 0%, var(--ms-navy-2) 0%, var(--dark) 45%, #001E40 100%);
}
.fgs-hero::before{
  content:""; position:absolute; right:-120px; top:-120px; width:460px; height:460px;
  border:60px solid rgba(255,255,255,.04); border-radius:50%;
}
.fgs-hero::after{
  content:""; position:absolute; left:-80px; bottom:-160px; width:360px; height:360px;
  background:radial-gradient(circle, rgba(214,31,40,.18), transparent 70%);
}
.fgs-hero-in{
  position:relative; z-index:2; max-width:var(--ms-max); margin:0 auto;
  padding:84px var(--ms-gutter) 88px; text-align:center;
  display:flex; flex-direction:column; align-items:center;
}
.fgs-hero-kicker{
  font-family:var(--font-heading); font-weight:800; font-size:13px; letter-spacing:3px;
  text-transform:uppercase; color:#C7D2E0; margin-bottom:16px;
}
.fgs-hero-title{
  font-family:var(--font-sport); font-weight:800; text-transform:uppercase;
  font-size:clamp(44px,8vw,88px); line-height:.92; letter-spacing:1px; margin:0 0 18px; color:#fff;
}
.fgs-hero-sub{
  font-size:15px; line-height:1.65; color:#C7D2E0; max-width:600px; margin:0 auto 30px;
}
.fgs-hero-cta{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }
.fgs-hero-btn{
  display:inline-flex; align-items:center; justify-content:center; text-decoration:none;
  font-family:var(--font-heading); font-weight:800; font-size:13px; letter-spacing:.8px;
  text-transform:uppercase; padding:15px 30px; border-radius:8px; transition:.15s; min-height:50px;
}
.fgs-hero-btn.primary{ background:var(--accent); color:#fff; }
.fgs-hero-btn.primary:hover{ background:var(--ms-red-dark); transform:translateY(-2px); }
.fgs-hero-btn.ghost{ background:transparent; color:#fff; border:2px solid rgba(255,255,255,.5); }
.fgs-hero-btn.ghost:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
@media (max-width:767px){ .fgs-hero-in{ padding:56px var(--ms-gutter) 60px; } .fgs-hero-btn{ width:100%; } }

/* ---- SHOP BY LEAGUE — icon tiles ---- */
.fgs-league-section{ max-width:var(--ms-max); margin:56px auto; padding:0 var(--ms-gutter); }
.fgs-section-title{
  font-family:var(--font-heading); font-weight:900; font-size:26px; text-transform:uppercase;
  letter-spacing:.5px; color:var(--text-dark); margin:0 0 26px;
}
.fgs-section-title.center{ text-align:center; }
/* One centered horizontal row (flex, not a 4-col grid — with 3 leagues the
   old grid left an empty 4th column and pushed everything left). */
.fgs-league-tiles{ display:flex; flex-wrap:wrap; justify-content:center; gap:18px; }
.fgs-league-tile{
  flex:0 1 240px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  aspect-ratio:1.35; background:#fff; border:1px solid #E5E7EB; border-radius:12px;
  text-decoration:none; transition:.15s;
}
.fgs-league-tile:hover{ border-color:var(--accent); box-shadow:0 12px 26px rgba(5,35,77,.1); transform:translateY(-3px); }
.fgs-league-tile-ico{ width:96px; height:96px; display:flex; align-items:center; justify-content:center; }
.fgs-league-tile-ico img{ max-width:100%; max-height:100%; object-fit:contain; }
.fgs-league-tile-name{
  font-family:var(--font-heading); font-weight:800; font-size:13px; text-transform:uppercase;
  letter-spacing:.4px; color:var(--text-dark);
}
@media (max-width:767px){
  /* Keep all leagues on ONE row on mobile too, just more compact. */
  .fgs-league-tiles{ flex-wrap:nowrap; gap:10px; }
  .fgs-league-tile{ flex:1 1 0; min-width:0; gap:8px; aspect-ratio:1; padding:10px 6px; }
  .fgs-league-tile-ico{ width:52px; height:52px; }
  .fgs-league-tile-name{ font-size:10px; letter-spacing:.2px; text-align:center; }
  .fgs-section-title{ font-size:20px; }
}

/* =====================================================================
   ÉP FONT ROBOTO TOÀN CỤC — override Flatsome/WooCommerce/plugin mọi nơi
   (đặt cuối file để thắng mọi khai báo font khác). Loads last = wins.
   ===================================================================== */
html, body,
h1, h2, h3, h4, h5, h6, p, a, span, div, li, ul, ol, dl, dt, dd,
blockquote, figcaption, small, strong, em, b, i, label, legend,
button, input, select, optgroup, textarea, table, th, td, caption,
.button, .woocommerce, .woocommerce-page, .woocommerce *,
.flatsome-cookies, #wpadminbar,
[class^="ux-"], [class*=" ux-"], [class^="flatsome"], [class*=" flatsome"] {
  font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Trả lại ROBOTO CONDENSED cho các điểm nhấn thể thao (đặt SAU rule trên để thắng) */
.fgs-hero-title,
.fgs-team-hero h1, .fgs-league-hero h1,
.fgs-heroline,
.fgs-news-panel span,
.woocommerce div.product .product_title, .product_title.entry-title {
  font-family: 'Roboto Condensed', 'Roboto', sans-serif !important;
}

/* Icon font (WooCommerce/Flatsome ★, giỏ hàng…) KHÔNG được ép sang Roboto */
[class^="icon-"], [class*=" icon-"], .ux-menu-link__icon,
i[class*="fa-"], .star-rating, .star-rating *, .woocommerce-product-rating .star-rating {
  font-family: inherit !important;
}
.star-rating, .star-rating::before, .star-rating span::before {
  font-family: star !important; /* WooCommerce star icon font */
}

/* =====================================================================
   INFO / LEGAL / HELPFUL-LINKS PAGES (fgs-info-pages.php)
   ===================================================================== */
.fgs-doc-active .entry-title, .fgs-doc-active .page-title,
.fgs-doc-active .page-header, .fgs-doc-active .entry-header { display:none !important; }

.fgs-doc{ color:var(--text-dark); }
.fgs-doc-hero{
  background:linear-gradient(120deg,#001E40,var(--dark) 60%,var(--ms-navy-2));
  color:#fff; position:relative; overflow:hidden;
}
.fgs-doc-hero::after{
  content:""; position:absolute; right:-60px; top:-60px; width:300px; height:300px;
  border:44px solid rgba(255,255,255,.04); border-radius:50%;
}
.fgs-doc-hero-in{
  position:relative; z-index:2; max-width:var(--ms-max); margin:0 auto;
  padding:52px var(--ms-gutter); text-align:center;
}
.fgs-doc-eyebrow{
  font-family:var(--font-heading); font-weight:800; font-size:12px; letter-spacing:3px;
  text-transform:uppercase; color:#C7D2E0;
}
.fgs-doc-hero h1{
  font-family:var(--font-sport) !important; font-weight:800 !important; color:#fff !important;
  font-size:clamp(32px,5vw,52px) !important; line-height:1 !important; text-transform:uppercase;
  margin:12px 0 8px !important; letter-spacing:.5px !important;
}
.fgs-doc-hero p{ color:#C7D2E0; font-size:15px; margin:0; }
.fgs-doc-crumb{ font-family:var(--font-heading); font-weight:700; font-size:11px; letter-spacing:.5px; text-transform:uppercase; color:#8FA3BE; margin-bottom:6px; }
.fgs-doc-crumb a{ color:#C7D2E0; text-decoration:none; }
.fgs-doc-crumb a:hover{ color:#fff; }
.fgs-doc-crumb span[aria-current]{ color:#fff; }

.fgs-doc-wrap{ max-width:860px; margin:0 auto; padding:44px var(--ms-gutter) 64px; }

/* Related-pages internal linking block */
.fgs-doc-related{ margin-top:42px; padding-top:26px; border-top:1px solid #E5E7EB; }
.fgs-doc-related h2{
  font-family:var(--font-heading) !important; font-weight:900 !important; font-size:16px !important;
  text-transform:uppercase; letter-spacing:.5px; color:var(--dark) !important; margin:0 0 14px !important;
  padding-left:0 !important; border-left:none !important;
}
.fgs-doc-related-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.fgs-doc-related-grid a{
  display:flex; align-items:center; justify-content:center; text-align:center; min-height:56px; padding:12px;
  background:var(--ms-bg-light); border:1px solid #E5E7EB; border-radius:10px;
  font-family:var(--font-heading); font-weight:700; font-size:12.5px; color:var(--dark) !important;
  text-decoration:none !important; transition:.15s;
}
.fgs-doc-related-grid a:hover{ border-color:var(--accent); color:var(--accent) !important; background:#fff; }
@media (max-width:767px){ .fgs-doc-related-grid{ grid-template-columns:repeat(2,1fr); } }
.fgs-doc-wrap h2{
  font-family:var(--font-heading) !important; font-weight:900 !important; font-size:22px !important;
  text-transform:uppercase; letter-spacing:.4px; color:var(--dark) !important;
  margin:40px 0 14px !important; padding-left:12px; border-left:4px solid var(--accent);
}
.fgs-doc-wrap h3{ font-family:var(--font-heading); font-weight:800; font-size:16px; color:var(--dark); margin:22px 0 8px; }
.fgs-doc-wrap p{ font-size:15px; line-height:1.75; color:#39424F; margin:0 0 14px; }
.fgs-doc-wrap a{ color:var(--accent); font-weight:600; }
.fgs-doc-wrap a:hover{ text-decoration:underline; }
.fgs-doc-lead{ font-size:17px !important; line-height:1.7 !important; color:var(--dark) !important; }
.fgs-doc-list, .fgs-doc-olist{ margin:0 0 16px; padding-left:22px; }
.fgs-doc-list li, .fgs-doc-olist li{ font-size:15px; line-height:1.7; color:#39424F; margin-bottom:8px; }
.fgs-doc-olist li::marker{ color:var(--accent); font-weight:800; }
.fgs-doc-note{
  background:var(--ms-bg-light); border-left:4px solid var(--accent); border-radius:0 8px 8px 0;
  padding:14px 18px; font-size:14.5px; line-height:1.65; color:var(--dark); margin:18px 0;
}
.fgs-doc-fine{ font-size:13px !important; color:var(--text-muted) !important; font-style:italic; }
.fgs-doc-disc{
  margin-top:40px; padding-top:20px; border-top:1px solid #E5E7EB;
  font-size:12.5px !important; color:var(--text-muted) !important; line-height:1.6 !important;
}

/* Tables */
.fgs-doc-tablewrap{ overflow-x:auto; margin:0 0 18px; }
.fgs-doc-table{ width:100%; border-collapse:collapse; min-width:420px; }
.fgs-doc-table th{
  background:var(--dark); color:#fff; font-family:var(--font-heading); font-weight:800; font-size:12px;
  text-transform:uppercase; letter-spacing:.5px; text-align:left; padding:12px 16px;
}
.fgs-doc-table td{ padding:12px 16px; border-bottom:1px solid #E5E7EB; font-size:14.5px; color:#39424F; }
.fgs-doc-table tr:last-child td{ border-bottom:none; }

/* Cards grid (MS PRO, Contact) */
.fgs-doc-cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:8px 0 8px; }
.fgs-doc-card{ background:#fff; border:1px solid #E5E7EB; border-radius:12px; padding:22px 20px; border-top:3px solid var(--accent); }
.fgs-doc-card h3{ margin:0 0 8px; text-transform:uppercase; letter-spacing:.3px; }
.fgs-doc-card p{ margin:0 0 8px; font-size:14px; }

/* DMCA */
.fgs-dmca-steps{ margin:26px 0; }
.fgs-dmca-step{ display:flex; gap:18px; margin-bottom:12px; }
.fgs-dmca-num{
  flex-shrink:0; width:44px; height:44px; border-radius:50%; background:var(--dark); color:#fff;
  display:flex; align-items:center; justify-content:center; font-family:var(--font-sport);
  font-weight:800; font-size:22px; margin-top:6px;
}
.fgs-dmca-body{ flex:1; min-width:0; }
.fgs-dmca-body h2{ margin-top:6px !important; border-left:none !important; padding-left:0 !important; }
.fgs-dmca-agent{
  background:var(--dark); color:#fff; border-radius:12px; padding:22px 24px; margin:8px 0 20px;
}
.fgs-dmca-agent-label{ font-family:var(--font-heading); font-weight:800; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--accent); }
.fgs-dmca-agent h3{ color:#fff; margin:6px 0 8px; }
.fgs-dmca-agent p{ color:#C7D2E0 !important; font-size:14.5px; margin:0; }
.fgs-dmca-agent a{ color:#fff; }

/* FAQ accordion */
.fgs-faq{ margin:6px 0 8px; }
.fgs-faq-item{ border:1px solid #E5E7EB; border-radius:10px; margin-bottom:10px; overflow:hidden; background:#fff; }
.fgs-faq-item summary{
  cursor:pointer; list-style:none; padding:16px 18px; font-family:var(--font-heading); font-weight:700;
  font-size:15px; color:var(--dark); display:flex; justify-content:space-between; align-items:center; gap:12px;
}
.fgs-faq-item summary::-webkit-details-marker{ display:none; }
.fgs-faq-item summary::after{ content:"+"; font-size:22px; color:var(--accent); font-weight:400; line-height:1; flex-shrink:0; }
.fgs-faq-item[open] summary::after{ content:"\2212"; }
.fgs-faq-item[open] summary{ border-bottom:1px solid #EEF1F5; }
.fgs-faq-a{ padding:14px 18px 18px; font-size:14.5px; line-height:1.7; color:#39424F; }

/* Buy More Save More tiers */
.fgs-tiers{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:8px 0 10px; }
.fgs-tier{
  background:#fff; border:1px solid #E5E7EB; border-radius:12px; padding:22px 12px; text-align:center;
  border-top:3px solid var(--accent);
}
.fgs-tier-pct{ display:block; font-family:var(--font-sport); font-weight:800; font-size:40px; color:var(--accent); line-height:1; }
.fgs-tier-txt{ display:block; margin-top:8px; font-size:12.5px; color:var(--text-muted); font-weight:600; }

/* Customer Reviews */
.fgs-rev-summary{ text-align:center; margin:0 0 26px; }
.fgs-rev-stars{ display:block; color:#F5A623; font-size:26px; letter-spacing:3px; }
.fgs-rev-score{ display:block; font-family:var(--font-heading); font-weight:900; font-size:22px; color:var(--dark); margin-top:6px; }
.fgs-rev-count{ display:block; font-size:13px; color:var(--text-muted); margin-top:2px; }
.fgs-rev-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.fgs-rev-card{ background:#fff; border:1px solid #E5E7EB; border-radius:12px; padding:20px; }
.fgs-rev-cardstars{ color:#F5A623; font-size:15px; letter-spacing:2px; }
.fgs-rev-text{ font-size:14.5px !important; line-height:1.65 !important; color:var(--dark) !important; margin:10px 0 12px !important; }
.fgs-rev-author{ font-family:var(--font-heading); font-weight:800; font-size:13px; color:var(--dark); }
.fgs-rev-author span{ font-weight:400; color:var(--text-muted); }

@media (max-width:767px){
  .fgs-doc-cards, .fgs-rev-grid{ grid-template-columns:1fr; }
  .fgs-tiers{ grid-template-columns:repeat(2,1fr); }
  .fgs-doc-hero-in{ padding:40px var(--ms-gutter); }
  .fgs-doc-wrap{ padding:32px var(--ms-gutter) 48px; }
  .fgs-dmca-step{ gap:12px; }
  .fgs-dmca-num{ width:38px; height:38px; font-size:18px; }
}

/* =====================================================================
   SCROLL-REVEAL ("vuốt trang" như PayPal) — fade + slide khi cuộn tới.
   Chỉ ẩn khi JS đã bật (.fgs-reveal-on); không JS thì hiện bình thường.
   ===================================================================== */
.fgs-reveal-on .fgs-reveal,
.fgs-reveal-on .fgs-reveal-group > * {
  opacity: 0;
  transform: translateY(42px);
  transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);
  will-change: opacity, transform;
}
.fgs-reveal-on .fgs-reveal.is-visible,
.fgs-reveal-on .fgs-reveal-group.is-visible > * {
  opacity: 1;
  transform: none;
}
/* Stagger children of a group (PayPal-style one-after-another) */
.fgs-reveal-on .fgs-reveal-group > * {
  transition-delay: calc(var(--fgs-reveal-i, 0) * 110ms);
}

/* Directional variants */
.fgs-reveal-on .fgs-reveal.from-left  { transform: translateX(-34px); }
.fgs-reveal-on .fgs-reveal.from-right { transform: translateX(34px); }
.fgs-reveal-on .fgs-reveal.zoom-in    { transform: scale(.94); }
.fgs-reveal-on .fgs-reveal.from-left.is-visible,
.fgs-reveal-on .fgs-reveal.from-right.is-visible,
.fgs-reveal-on .fgs-reveal.zoom-in.is-visible { transform: none; }

/* Safety: reduced motion or no-JS never hides content */
.fgs-reveal-off .fgs-reveal,
.fgs-reveal-off .fgs-reveal-group > * { opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
  .fgs-reveal, .fgs-reveal-group > * { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ================================================================
   PRODUCT EXTRAS — REDESIGN v2 "Clean Navy Cards" (overrides above)
   Delivery timeline • Buy-more-save-more ladder • Trust • Share
   ================================================================ */
.fgs-single-active .fgs-delivery,
.fgs-single-active .fgs-savemore{
  background:#fff; border:1px solid #E7EAF0; border-radius:14px;
  padding:18px 18px 16px; margin-bottom:14px; box-shadow:0 2px 12px rgba(5,35,77,.06);
}
.fgs-single-active .fgs-delivery-head,
.fgs-single-active .fgs-savemore-head{
  display:flex; align-items:center; gap:8px;
  font-family:'Roboto',sans-serif; font-size:12px; font-weight:900;
  letter-spacing:.6px; text-transform:uppercase; color:#003263; margin-bottom:16px;
}
/* Delivery timeline */
.fgs-single-active .fgs-delivery-steps{ display:flex; justify-content:space-between; position:relative; margin:6px 6px 16px; }
.fgs-single-active .fgs-delivery-steps::before{ content:""; position:absolute; top:7px; left:9%; right:9%; height:3px; border-radius:3px; background:#EEF1F6; }
.fgs-single-active .fgs-step{ display:flex; flex-direction:column; align-items:center; gap:7px; position:relative; z-index:1; flex:1; text-align:center; }
.fgs-single-active .fgs-step-dot{ width:16px; height:16px; border-radius:50%; background:#fff; border:3px solid #D4DAE4; box-sizing:border-box; }
.fgs-single-active .fgs-step.is-active .fgs-step-dot{ border-color:var(--accent); background:var(--accent); box-shadow:0 0 0 4px rgba(214,31,40,.15); }
.fgs-single-active .fgs-step-date{ font-size:12px; font-weight:800; color:#003263; font-family:'Roboto',sans-serif; }
.fgs-single-active .fgs-step-label{ font-size:10px; color:#8A93A3; text-transform:uppercase; letter-spacing:.3px; }
.fgs-single-active .fgs-delivery-free{ display:inline-flex; align-items:center; gap:6px; margin:2px 8px 0 0;
  background:#003263; color:#fff; font-size:11px; font-weight:800; letter-spacing:.4px;
  padding:7px 13px; border-radius:999px; text-transform:uppercase; }
.fgs-single-active .fgs-delivery-free span{ font-size:13px; }
.fgs-single-active .fgs-delivery-stock{ display:inline-flex; align-items:center; gap:6px; margin-top:10px; font-size:12px; font-weight:600; color:#1B7A43; }
/* Buy more, save more — discount ladder */
.fgs-single-active .fgs-savemore-sub{ font-size:12px; color:#8A93A3; margin:-8px 0 16px; }
.fgs-single-active .fgs-savemore-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.fgs-single-active .fgs-tier{ border:1.5px solid #E7EAF0; border-radius:12px; padding:14px 8px 12px; text-align:center;
  display:flex; flex-direction:column; gap:4px; position:relative; background:#FBFCFE; transition:transform .15s ease, box-shadow .15s ease; }
.fgs-single-active .fgs-tier:hover{ transform:translateY(-2px); box-shadow:0 6px 14px rgba(5,35,77,.08); }
.fgs-single-active .fgs-tier span{ font-size:10px; color:#8A93A3; line-height:1.25; }
.fgs-single-active .fgs-tier strong{ font-size:19px; color:#003263; font-family:'Roboto Condensed','Roboto',sans-serif; font-weight:800; letter-spacing:.3px; }
.fgs-single-active .fgs-tier.is-best{ border-color:var(--accent); background:linear-gradient(160deg,#0A3A70,#003263); }
.fgs-single-active .fgs-tier.is-best span{ color:rgba(255,255,255,.82); }
.fgs-single-active .fgs-tier.is-best strong{ color:#fff; }
.fgs-single-active .fgs-best{ position:absolute; top:-10px; left:50%; transform:translateX(-50%);
  background:var(--accent); color:#fff !important; font-size:8px !important; font-weight:900; padding:3px 9px; border-radius:999px; letter-spacing:.6px; white-space:nowrap; box-shadow:0 2px 5px rgba(214,31,40,.35); }
@media(max-width:600px){ .fgs-single-active .fgs-savemore-grid{ grid-template-columns:repeat(2,1fr); gap:12px 10px; } }
/* Trust — light navy bar with round icon chips */
.fgs-single-active .fgs-trust{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; text-align:center;
  background:#F5F7FB; border:1px solid #E7EAF0; border-radius:14px; padding:16px 8px; margin:2px 0 18px; }
.fgs-single-active .fgs-trust-item{ display:flex; flex-direction:column; align-items:center; gap:9px;
  font-size:10px; font-weight:800; color:#003263; text-transform:uppercase; letter-spacing:.3px; }
.fgs-single-active .fgs-trust-item svg{ width:20px; height:20px; stroke:#003263; padding:9px; box-sizing:content-box;
  background:#fff; border-radius:50%; box-shadow:0 1px 5px rgba(5,35,77,.12); }
/* Social share — minimal round buttons */
.fgs-single-active .fgs-share{ display:flex; flex-wrap:wrap; gap:10px; margin:6px 0 6px; }
.fgs-single-active .fgs-share-btn{ width:38px; height:38px; border-radius:50%; border:1px solid #E7EAF0; padding:0;
  display:flex; align-items:center; justify-content:center; background:#fff; transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.fgs-single-active .fgs-share-btn:hover{ border-color:#003263; transform:translateY(-2px); box-shadow:0 4px 10px rgba(5,35,77,.14); background:#fff; }
.fgs-single-active .fgs-share-btn img{ width:18px; height:18px; }
/* end redesign v2 */

/* ================================================================
   PRODUCT TABS — navy headers + white text (Description/Size/Shipping/Reviews)
   ================================================================ */
/* NOTE: the visible tabs are the JS-built accordion (.fgs-acc-head), NOT
   ul.tabs (which is display:none). Style the accordion heads directly. */
.fgs-single-active .fgs-acc{ border-top:none !important; margin-top:24px !important; display:flex !important; flex-direction:column !important; gap:8px !important; }
.fgs-single-active .fgs-acc-item{ border-bottom:none !important; }
.fgs-single-active .fgs-acc-head{
  background:#003263 !important; color:#fff !important;
  border-radius:10px !important; padding:15px 18px !important; gap:10px !important;
  font-family:'Roboto',sans-serif !important; font-size:13px !important; font-weight:800 !important;
  letter-spacing:.5px !important; text-transform:uppercase !important;
  transition:background .15s ease !important;
}
.fgs-single-active .fgs-acc-head:hover{ background:#0A3A70 !important; color:#fff !important; }
.fgs-single-active .fgs-acc-head.is-open{ background:#0A3A70 !important; color:#fff !important; box-shadow:inset 4px 0 0 var(--accent) !important; }
/* white chevron icon (base rule strokes it dark grey) */
.fgs-single-active .fgs-acc-head .fgs-acc-ico{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center/16px no-repeat !important;
}
/* body panel becomes a clean white card under the open tab */
.fgs-single-active .fgs-acc-body{ background:#fff !important; border:1px solid #E7EAF0 !important; border-radius:8px !important; padding:16px 18px !important; margin-top:6px !important; }
/* end navy tabs (accordion) */

/* ================================================================
   ADD TO CART + BUY NOW — rounded corners to match card concept
   ================================================================ */
.fgs-single-active .single_add_to_cart_button,
.fgs-single-active .fgs-buy-now,
.fgs-single-active form.cart .button{ border-radius:10px !important; }

/* ================================================================
   VARIATION SWATCHES — REDESIGN v2 (Fit Type / Size) clean navy
   ================================================================ */
.fgs-swatches{ gap:10px !important; margin:8px 0 6px !important; }
.fgs-swatch{
  position:relative !important; background:#F5F7FB !important; border:1.5px solid transparent !important;
  border-radius:10px !important; padding:15px 10px !important; color:#003263 !important;
  font-family:'Roboto',sans-serif !important; font-weight:700 !important; font-size:13px !important;
  letter-spacing:.5px !important; text-transform:uppercase !important; text-align:center !important;
  cursor:pointer !important; line-height:1 !important; transition:all .15s ease !important; overflow:hidden !important;
}
.fgs-swatch:hover{ background:#fff !important; border-color:#003263 !important; box-shadow:0 3px 10px rgba(5,35,77,.09) !important; }
.fgs-swatch.is-active{
  background:linear-gradient(160deg,#0A3A70,#003263) !important; color:#fff !important;
  border-color:#003263 !important; box-shadow:0 6px 16px rgba(5,35,77,.22) !important;
}
.fgs-swatch.is-disabled{ opacity:.38 !important; cursor:not-allowed !important; text-decoration:line-through !important; background:#F5F7FB !important; border-color:transparent !important; box-shadow:none !important; }
/* attribute label + CLEAR link polish */
.fgs-single-active .reset_variations{ font-size:11px !important; color:#8A93A3 !important; text-transform:uppercase; letter-spacing:.5px; text-decoration:none; }
.fgs-single-active .reset_variations:hover{ color:var(--accent) !important; }
/* end swatches v2 */

/* ================================================================
   LEAGUE / TEAM HERO — REDESIGN v2 "Centered Light Spotlight"
   (completely different from the old dark navy banner)
   ================================================================ */
.fgs-team-hero, .fgs-league-hero{
  background:#fff !important; color:#003263 !important;
  border:1px solid #E7EAF0 !important; border-top:4px solid var(--accent) !important;
  border-radius:16px !important; box-shadow:0 8px 28px rgba(5,35,77,.08) !important;
  position:relative !important; overflow:hidden !important; margin:18px auto 0 !important; max-width:var(--ms-max);
}
.fgs-team-hero::after, .fgs-league-hero::after{
  content:"" !important; position:absolute !important; top:-120px !important; left:50% !important; right:auto !important;
  transform:translateX(-50%) !important; width:340px !important; height:340px !important;
  border:none !important; border-radius:50% !important;
  background:radial-gradient(circle, rgba(5,35,77,.07), rgba(5,35,77,0) 70%) !important; z-index:0 !important;
}
.fgs-team-hero-in, .fgs-league-hero-in{
  flex-direction:column !important; align-items:center !important; text-align:center !important;
  gap:9px !important; padding:24px var(--ms-gutter) 22px !important; position:relative; z-index:2;
}
.fgs-team-logo, .fgs-league-badge-logo{
  width:70px !important; height:70px !important; border-radius:50% !important; background:#fff !important;
  border:1px solid #E7EAF0 !important; box-shadow:0 8px 18px rgba(5,35,77,.13) !important;
  padding:12px !important; display:flex !important; align-items:center; justify-content:center; overflow:hidden;
}
.fgs-team-logo img, .fgs-league-badge-logo img{ width:100% !important; height:100% !important; object-fit:contain; }
.fgs-team-badge{
  background:transparent !important; border:1.5px solid #003263 !important; color:#003263 !important;
  font-weight:800 !important; letter-spacing:1.5px !important; padding:4px 11px !important; border-radius:999px !important; font-size:10px !important;
}
.fgs-team-hero h1, .fgs-league-hero h1{ color:#003263 !important; margin:2px 0 0 !important; font-size:clamp(26px,4vw,42px) !important; }
.fgs-team-hero h1::after, .fgs-league-hero h1::after{
  content:""; display:block; width:56px; height:4px; border-radius:3px; background:var(--accent); margin:10px auto 0;
}
.fgs-team-hero p, .fgs-league-hero p{ color:#5A6472 !important; font-size:13px !important; max-width:560px !important; margin:4px auto 0 !important; }
/* end hero v2 */

/* ================================================================
   MERCH SPORT — Lark request fixes (v3.2.11)
   ================================================================ */

/* --- #4: Desktop prev/next arrows on the single-product main gallery.
   The slider already exists (flickity) with arrows that were hidden globally;
   re-show ONLY the main gallery arrows on desktop (mobile keeps swipe, no arrows). */
@media (min-width: 768px) {
  .fgs-single-active .woocommerce-product-gallery__wrapper.flickity-enabled > .flickity-prev-next-button {
    display:block !important; opacity:1 !important; visibility:visible !important; pointer-events:auto !important;
    width:44px; height:44px; border-radius:999px; background:#fff !important;
    box-shadow:0 2px 10px rgba(0,50,99,.18); border:1px solid #E5E7EB; z-index:5;
    transition:opacity .15s ease, background .15s ease;
  }
  .fgs-single-active .woocommerce-product-gallery__wrapper.flickity-enabled > .flickity-prev-next-button.previous { left:12px; }
  .fgs-single-active .woocommerce-product-gallery__wrapper.flickity-enabled > .flickity-prev-next-button.next { right:12px; }
  .fgs-single-active .woocommerce-product-gallery__wrapper.flickity-enabled > .flickity-prev-next-button svg { fill:#003263; }
  .fgs-single-active .woocommerce-product-gallery__wrapper.flickity-enabled > .flickity-prev-next-button .arrow { fill:#003263; }
  .fgs-single-active .woocommerce-product-gallery__wrapper.flickity-enabled > .flickity-prev-next-button:hover { background:#003263 !important; }
  .fgs-single-active .woocommerce-product-gallery__wrapper.flickity-enabled > .flickity-prev-next-button:hover svg,
  .fgs-single-active .woocommerce-product-gallery__wrapper.flickity-enabled > .flickity-prev-next-button:hover .arrow { fill:#fff; }
  .fgs-single-active .woocommerce-product-gallery__wrapper.flickity-enabled > .flickity-prev-next-button:disabled { opacity:.35 !important; }
}

/* --- #5: ADD TO CART + BUY NOW on the SAME row (desktop & mobile).
   Buy area order in DOM: quantity, ATC, [Stripe express "or"], BUY NOW.
   Flex the container: quantity on its own row, ATC + BUY side-by-side,
   Stripe express wrapper (Apple/Google Pay + "or") drops below. */
.fgs-single-active div.product form.cart .woocommerce-variation-add-to-cart,
.fgs-single-active div.product form.cart:not(.variations_form) {
  display:flex !important; flex-wrap:wrap; align-items:center; gap:10px;
}
.fgs-single-active div.product form.cart .woocommerce-variation-add-to-cart .quantity,
.fgs-single-active div.product form.cart:not(.variations_form) .quantity { flex:0 0 100%; order:1; margin:0 !important; }
.fgs-single-active div.product form.cart .single_add_to_cart_button { flex:1 1 40%; width:auto !important; order:2; margin:0 !important; }
.fgs-single-active div.product .fgs-buy-now { flex:1 1 40%; width:auto !important; order:3; margin:0 !important; }
.fgs-single-active div.product form.cart .fkwcs_stripe_smart_button_wrapper { flex:0 0 100%; order:4; margin-top:4px; }

/* --- #9: Sale price — strike THROUGH the number (line-through), never underline;
   tidy the was/now pair, and drop the duplicate price shown in the variation box. */
.fgs-single-active .price del,
.fgs-single-active .price del .amount,
.fgs-single-active .price del .woocommerce-Price-amount,
.fgs-home .price del, .fgs-home .price del .amount,
.woocommerce div.product p.price del, .woocommerce div.product p.price del .amount,
.woocommerce ul.products li.product .price del, .woocommerce ul.products li.product .price del .amount {
  text-decoration:line-through !important;
}
.fgs-single-active .price del { margin-right:8px; }
/* Show the SELECTED-variation price — it reflects different-priced variations
   (e.g. Adult $49.99 vs Kid $44.99). A tiny script (fgs-single-product.php)
   hides the static top summary price while a variation is active, so only ONE
   price shows at a time (no "two prices" clutter, but the price still updates). */
/* Keep ONE price in the top summary spot; JS updates its value per variation
   (Adult $49.99 vs Kid $44.99) and hides the duplicate below-size price.
   If JS ever fails, the below-size variation price still shows (correct value). */
.fgs-single-active .single_variation .price.fgs-var-hidden { display:none !important; }
.fgs-single-active .single_variation .price del,
.fgs-single-active .single_variation .price del .amount { color:#999 !important; font-weight:400 !important; text-decoration:line-through !important; }

/* --- #8: "REAL FANS, REAL GEAR" wall — the old bento defined only 10 grid
   areas (a–j) while the section renders 14 photos, so the 4 extra cells fell
   out of the grid and broke the layout (worst on mobile). Replace it with a
   clean, uniform Instagram-style square grid that works for any photo count
   at every width. */
.fgs-home .fgs-fans-grid, .fgs-fans-grid {
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  grid-template-rows:none !important;
  grid-auto-rows:auto !important;
  grid-template-areas:none !important;
  gap:12px !important;
}
/* :nth-child(n) raises specificity so this beats LiteSpeed's inlined Critical
   CSS, which may still carry the old bento grid-area placement for a while. */
.fgs-fans-grid .fgs-fan-cell,
.fgs-fans-grid .fgs-fan-cell:nth-child(n) {
  grid-area:auto !important; grid-column:auto !important; grid-row:auto !important;
  aspect-ratio:1 / 1 !important; min-width:0 !important; min-height:0 !important;
}
@media (max-width:1024px){ .fgs-home .fgs-fans-grid, .fgs-fans-grid { grid-template-columns:repeat(5,minmax(0,1fr)) !important; } }
@media (max-width:680px){ .fgs-home .fgs-fans-grid, .fgs-fans-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:8px !important; } }
/* end Lark request fixes */

/* ============================================================
   LARK REQUEST FIXES v3.2.12
   ============================================================ */
/* #10: sale price — the <del> wrapper inherited the 26px price size while the
   old amount inside is 16px, so the line-through was drawn for a 26px line and
   landed under/off the number (looked like an underline). Size the wrapper to
   the number so the strike runs through its middle; align the pair on one
   baseline and keep the old price small + muted so it reads as "was". */
.fgs-single-active div.product p.price {
  display:flex !important; align-items:baseline; flex-wrap:wrap; gap:0 10px;
}
.fgs-single-active div.product p.price del {
  font-size:16px !important; line-height:1 !important; margin:0 !important;
  text-decoration:line-through !important; text-decoration-thickness:1.5px !important;
  text-decoration-color:#9AA0A6 !important; opacity:1 !important;
}
.fgs-single-active div.product p.price del .amount,
.fgs-single-active div.product p.price del bdi { text-decoration:line-through !important; text-decoration-thickness:1.5px !important; }
.fgs-single-active div.product p.price del .woocommerce-Price-currencySymbol { vertical-align:baseline !important; font-size:inherit !important; }
.fgs-single-active div.product p.price ins { text-decoration:none !important; }

/* #12: quantity stepper — the wrapper is forced to a full-width row (flex 0 0
   100%) and carried the border, so a 510px box framed a tiny "- 1 +". Keep the
   full row (ATC + BUY NOW stay together below) but move the frame onto the
   stepper itself: a compact, rounded 3-part pill. */
.fgs-single-active div.product form.cart .quantity.ux-quantity {
  border:none !important; background:transparent !important; box-shadow:none !important;
  height:auto !important; overflow:visible !important; justify-content:flex-start;
}
.fgs-single-active div.product form.cart .quantity input.button.ux-quantity__button {
  width:40px !important; height:42px !important; line-height:40px !important;
  border:1px solid #E0E0E5 !important; background:#F5F6F8 !important; color:#05234D !important;
}
.fgs-single-active div.product form.cart .quantity input.button.ux-quantity__button.minus { border-radius:10px 0 0 10px !important; border-right:none !important; }
.fgs-single-active div.product form.cart .quantity input.button.ux-quantity__button.plus  { border-radius:0 10px 10px 0 !important; border-left:none !important; }
.fgs-single-active div.product form.cart .quantity input.qty {
  width:52px !important; height:42px !important; margin:0 !important;
  border:1px solid #E0E0E5 !important; border-radius:0 !important;
  font-weight:700 !important; color:#05234D !important; text-align:center; background:#fff !important;
}
.fgs-single-active div.product form.cart .quantity input.button.ux-quantity__button:hover { background:#05234D !important; color:#fff !important; }

/* #1: the top price now tracks the selection (see fgs-single-product.php), so
   the variation box's own price is always a duplicate — hide it. */
.fgs-single-active form.fgs-price-sync .single_variation .price { display:none !important; }

/* v3.2.14 — GMC: no struck-through "was" price or Sale badge anywhere. */
.price del, .onsale, .badge-container .on-sale { display:none !important; }
.price ins { text-decoration:none; }

/* ===== #19 — Trust badges (Secure Checkout / Money-back / Free Shipping):
   text was clipped on narrow mobile because the 3 grid cells couldn't shrink
   below their content. Let cells shrink + wrap; tighten spacing on small screens. */
.fgs-single-active .fgs-trust-item { min-width:0; overflow-wrap:anywhere; word-break:break-word; hyphens:auto; }
.fgs-single-active .fgs-trust-item span { display:block; width:100%; white-space:normal; }
@media (max-width:480px){
  .fgs-single-active .fgs-trust{ gap:5px; padding:14px 6px; }
  .fgs-single-active .fgs-trust-item{ font-size:9px; letter-spacing:.2px; line-height:1.25; }
  .fgs-single-active .fgs-trust-item svg{ width:16px; height:16px; padding:8px; }
}

/* ===== #18 — Add-to-cart feedback: WooCommerce success/error notice on the
   product page + the "ADDING…" button state while the page reloads. */
.fgs-wc-notices{ margin:0 0 14px; }
.fgs-wc-notices:empty{ display:none; }
.fgs-wc-notices .woocommerce-message,
.fgs-wc-notices .woocommerce-error,
.fgs-wc-notices .woocommerce-info{
  list-style:none; margin:0 0 10px; padding:12px 16px; border-radius:10px;
  font-size:14px; font-weight:600; display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.fgs-wc-notices .woocommerce-message{ background:#E7F6EC; color:#0B6B33; border:1px solid #B6E3C6; }
.fgs-wc-notices .woocommerce-error{ background:#FDECEC; color:#B3261E; border:1px solid #F3C0BD; }
.fgs-wc-notices .woocommerce-info{ background:#EAF1FB; color:#1B4E9B; border:1px solid #C6DBF5; }
.fgs-wc-notices .button{ background:#003263 !important; color:#fff !important; border-radius:8px; padding:7px 14px; }
.single_add_to_cart_button.fgs-adding{ opacity:.75; pointer-events:none; }

/* ===== Merch Sport Gear: text wordmark placeholder (logo removed, real logo coming) ===== */
.ms-logo-text{font-family:var(--font-heading,'Roboto Condensed',sans-serif);font-weight:900;font-size:24px;letter-spacing:.5px;line-height:1;color:var(--ms-navy,#003263);text-transform:uppercase;white-space:nowrap;}
.ms-logo-text--side{color:#fff;font-size:18px;}
@media (max-width:849px){ .ms-header .ms-logo-text{font-size:17px;} }
