/*
Theme Name:   Flatsome Child
Theme URI:    https://fangearsport.com
Description:  Child theme của Flatsome cho Fan Gear Sport. Chứa CSS thương hiệu & tùy chỉnh để cập nhật theme cha an toàn.
Author:       Fan Gear Sport
Template:     flatsome
Version:      1.7.59
Text Domain:  flatsome-child
*/

/* 
================================================================================
   FAN GEAR SPORT - BRANDING & MOBILE-FIRST WOOCOMMERCE CUSTOM STYLES
   Colors: Obsidian Black (#0B0C10) | Pure White (#FFFFFF) | Light Gray (#F5F5F7) | Crimson Red (#E50914)
   Typography: Headings - Montserrat (Uppercase, Bold) | Body - Inter
   Shapes: Sharp, Aggressive Edges (0px to 4px)
================================================================================
*/

/* 1. BRANDING TOKENS & GLOBALS */
:root {
    --fgs-bg-primary: #0B0C10;
    --fgs-bg-secondary: #1F2833;
    --fgs-text-light: #FFFFFF;
    --fgs-text-gray: #C5C6C7;
    --fgs-bg-light: #F5F5F7;
    --fgs-accent: #E50914;
    --fgs-font-heading: 'Montserrat', sans-serif;
    --fgs-font-body: 'Inter', sans-serif;
    --fgs-radius: 0px; /* Sharp corners */
    --fgs-transition: all 0.2s ease-in-out;
}

/* Force dark theme background & high-contrast typography across store pages */
body.woocommerce-page,
body.woocommerce {
    background-color: #FFFFFF !important;
    color: #0B0C10;
    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: #0B0C10 !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: #0B0C10 !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: #0B0C10 !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: #0B0C10 !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; } }

/* ===== Montserrat 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: 'Montserrat', -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:#0B0C10; 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 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:'Inter',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:'Montserrat',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:'Montserrat',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:'Montserrat',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:'Montserrat',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:'Montserrat',sans-serif; font-weight:800; font-size:11px;
  text-transform:uppercase; letter-spacing:.5px; color:#0B0C10;
}
.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:#0B0C10 !important; border:1px solid #0B0C10 !important; color:#fff !important;
  height:50px; width:100%; margin-top:10px; border-radius:0 !important;
  font-family:'Montserrat',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:'Montserrat',sans-serif; font-weight:800; font-size:12px; text-transform:uppercase;
  display:flex; justify-content:space-between; align-items:center; cursor:pointer; color:#0B0C10;
}
.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:'Montserrat',sans-serif; font-weight:900; font-size:18px; text-transform:uppercase;
  color:#0B0C10 !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:'Montserrat',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:#0B0C10 !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:'Montserrat',sans-serif !important; font-weight:900 !important; font-size:30px !important;
  line-height:1.2 !important; color:#0B0C10 !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:'Inter',sans-serif; font-size:14px; line-height:1.8; color:#333; }
body.single-post .entry-content h2, body.single-post .entry-content h3 { color:#0B0C10; text-transform:uppercase; }

/* ================================================================
   FGS ACCOUNT / LOGIN (WooCommerce my-account on light theme)
   ================================================================ */
.woocommerce-account .woocommerce h2 { color:#0B0C10 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation a { color:#0B0C10; }
.woocommerce form .form-row label { color:#0B0C10; font-family:'Montserrat',sans-serif; font-size:12px; font-weight:700; text-transform:uppercase; }
.woocommerce form .input-text {
  background:#fff !important; color:#0B0C10 !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:'Montserrat',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:'Montserrat',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:22px; height:22px; object-fit:contain; background:#fff; border-radius:50%; padding:1px; 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:#0B0C10 !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:#0B0C10 !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:#0B0C10 !important; border:1px solid #0B0C10 !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-indemand { font-size:12px; color:var(--text-muted); margin:6px 0 12px; display:flex; align-items:center; gap:6px; }
.fgs-single-active .fgs-indemand strong { color:#0B0C10; }
.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; }

/* FGS PRO box */
.fgs-single-active .fgs-print-box { background:linear-gradient(135deg,#161920 0%,#0B0C10 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:'Montserrat',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:'Montserrat',sans-serif; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; color:#0B0C10; 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:#0B0C10; }
.fgs-single-active .fgs-step-label { font-size:10px; color:var(--text-muted); }
.fgs-single-active .fgs-delivery-stock { font-size:12px; color:#0B0C10; 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:'Montserrat',sans-serif; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; color:#0B0C10; }
.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:'Montserrat',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:#0B0C10; 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:'Montserrat',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:#0B0C10 !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:#0B0C10; text-transform:uppercase; font-family:'Montserrat',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:'Montserrat',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: #e50914 !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:#0B0C10;
  font-family:'Montserrat',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:#0B0C10 !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:'Montserrat',sans-serif; font-weight:800; text-transform:uppercase;
  font-size:18px; letter-spacing:.5px; color:#0B0C10; 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 = Barlow Semi Condensed 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: 'Barlow Semi Condensed', 'Montserrat', 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', 'Montserrat', 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: #0B0C10 !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: #0B0C10 !important; }

/* Captions: Barlow italic, centered, muted */
body.fgs-single-active .woocommerce-tabs .panel figcaption,
body.fgs-single-active .woocommerce-tabs .panel .wp-caption-text {
  font-family: 'Barlow Semi Condensed', 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.
   ============================================================ */
.fgs-league-hero, .fgs-team-hero {
  padding: 16px 18px !important; margin: 20px 0 !important; border-radius: 10px !important;
}
.fgs-league-hero > div, .fgs-team-hero > div {
  flex-wrap: nowrap !important; gap: 16px !important; align-items: center !important;
}
.fgs-league-hero > div > div:last-child,
.fgs-team-hero  > div > div:last-child { flex: 1 1 auto !important; min-width: 0 !important; }
/* League logo */
.fgs-league-hero img { height: 46px !important; max-width: 60px !important; }
/* Team logo circle */
.fgs-team-hero > div > div:first-child { width: 52px !important; height: 52px !important; }
.fgs-team-hero > div > div:first-child img { width: 38px !important; height: 38px !important; }
/* Badge pill */
.fgs-league-hero span, .fgs-team-hero span { font-size: 9px !important; padding: 3px 7px !important; }
/* Heading */
.fgs-league-hero h1, .fgs-team-hero h1 {
  font-size: 22px !important; margin: 6px 0 5px !important; letter-spacing: .5px !important;
}
/* Description: compact, max 2 lines */
.fgs-league-hero p, .fgs-team-hero p {
  font-size: 12px !important; line-height: 1.5 !important; max-width: 100% !important;
  display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
@media (max-width: 480px){
  .fgs-league-hero h1, .fgs-team-hero h1 { font-size: 19px !important; }
  .fgs-league-hero p, .fgs-team-hero p { -webkit-line-clamp: 3 !important; }
}

/* ============================================================
   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: 'Montserrat', sans-serif; font-weight: 900;
  text-transform: uppercase; font-size: 22px; letter-spacing: .5px; margin: 0 0 4px; color: #0B0C10;
}
.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: 'Montserrat', sans-serif; font-size: 9px; font-weight: 800; color: var(--accent); text-transform: uppercase; letter-spacing: 1px; }
.fgs-shop-cat-body h3 { font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 13px; color: #0B0C10; 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: 'Montserrat', sans-serif; font-weight: 900; text-transform: uppercase; font-size: 20px; letter-spacing: .5px; margin: 0 0 18px; color: #0B0C10; }
.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: #0B0C10; 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, #E50914) !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: 'Montserrat', sans-serif; font-weight: 700;
  font-size: 13px; letter-spacing: .5px; color: #0B0C10; 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: #0B0C10 !important; color: #fff !important; border-color: #0B0C10 !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: 'Montserrat', sans-serif; font-weight: 600;
  font-size: 15px; letter-spacing: .2px; text-transform: none; color: #3E4A5A;
}
.fgs-acc-head:hover { color: #0B0C10; }
.fgs-acc-head.is-open { color: #0B0C10; }
/* 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; }

/* ============================================================
   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:#0B0C10; 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:'Montserrat',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(3,1fr); gap:10px; max-width:840px; 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:'Montserrat',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 { gap: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: 'Inter', sans-serif; color: #0B0C10; }
/* 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)), #0B0C10;
  color: #fff; text-align: center; padding: 64px 20px;
}
.fgs-about .ab-hero .eyebrow { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 12px; letter-spacing: 2px; color: var(--accent); text-transform: uppercase; }
.fgs-about .ab-hero h1 { font-family: 'Montserrat', 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: 'Montserrat', 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: #0B0C10; }
.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: #0B0C10; }

.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: 'Montserrat', sans-serif; font-weight: 800; font-size: 14px; text-transform: uppercase; letter-spacing: .3px; margin: 0 0 6px; color: #0B0C10; }
.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: 'Montserrat', sans-serif; font-weight: 800; font-size: 16px; text-transform: uppercase; letter-spacing: .3px; margin: 0 0 8px; color: #0B0C10; }
.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: 'Montserrat', sans-serif; font-weight: 800; font-size: 12px; text-transform: uppercase; margin: 0; color: #0B0C10; }

.fgs-about .ab-cta { background: #0B0C10; color: #fff; text-align: center; padding: 48px 20px; }
.fgs-about .ab-cta h2 { font-family: 'Montserrat', 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: 'Montserrat', 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 (real customer photos) */
.fgs-fans-grid { display:grid !important; grid-template-columns:repeat(5,1fr) !important; gap:12px; }
.fgs-fan-cell { aspect-ratio:1; overflow:hidden; border-radius:8px; border:1px solid #E5E7EB; background:#fff; }
.fgs-fan-cell img { display:block; }
.fgs-fan-cell:hover img { transform:scale(1.06); }
@media (max-width:900px){ .fgs-home .fgs-fans-grid { grid-template-columns:repeat(3,1fr) !important; } }
@media (max-width:480px){ .fgs-home .fgs-fans-grid { grid-template-columns:repeat(2,1fr) !important; } }

/* ============================================================
   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: 'Montserrat', 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: #0B0C10; }
.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: 'Montserrat', sans-serif; font-weight: 900; font-size: 20px; text-transform: uppercase; letter-spacing: .5px; color: #0B0C10; 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 */
}

/* ============================================================
   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: 'Montserrat', 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: 'Montserrat', sans-serif; font-weight: 800; font-size: 12px;
  text-transform: uppercase; letter-spacing: .6px; color: #fff; background: #0B0C10;
  display: inline-block; padding: 6px 14px; border-radius: 4px; margin: 24px 0 10px;
}
.sg-fit.kid { background: var(--accent); }
.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: 'Montserrat', sans-serif; text-transform: uppercase;
  font-size: 11px !important; font-weight: 800; color: #0B0C10; letter-spacing: .4px;
}
.fgs-size-grouped thead tr.grp th { background: #EEF0FB; color: #3A3F63; }
.fgs-size-grouped tbody th {
  background: #FAFAFB; font-family: 'Montserrat', sans-serif; font-weight: 800;
  font-size: 13px; color: #0B0C10;
}
.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: 'Montserrat', sans-serif; font-weight: 900; font-size: 26px; text-transform: uppercase; letter-spacing: .5px; text-align: center; margin: 0 0 6px; color: #0B0C10; }
.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; } }
