:root{
  --accent:#1FD65E;
  --accent-dark:#12a548;
  --dark:#0B0D0A;
  --ink:#12140F;
  --muted:#5b5f57;
  --surface:#F6F7F5;
  --border:#E7E9E4;
  --cta-alt:#FFC94B;
  --cta-alt-light:#FFE29A;
  --radius:10px;
  --radius-lg:16px;
  --pill:999px;
  --maxw:1240px;
}

*,*::before,*::after{box-sizing:border-box;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;margin:0;padding:0;}
img{max-width:100%;display:block;}
button{cursor:pointer;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}

/* ===== Header ===== */
.icf-header{position:relative;z-index:100;}
/* Astra injects its own dropdown-toggle buttons/arrows into wp_nav_menu output —
   we drive open/close purely with CSS hover + our own JS, so hide Astra's controls. */
.primary-nav .ast-menu-toggle,
.primary-nav .dropdown-menu-toggle,
.mobile-nav-panel .ast-menu-toggle,
.mobile-nav-panel .dropdown-menu-toggle{display:none!important;}
.site-header-main{background:var(--dark);position:relative;z-index:100;}
.header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;max-width:var(--maxw);margin:0 auto;}

.site-logo{flex:none;}
.site-logo img{max-height:52px;height:52px;width:auto!important;max-width:100%!important;object-fit:contain!important;display:inline-block;}
.site-logo a.custom-logo-link{display:inline-block!important;width:auto!important;}
.site-logo a{font-size:28px;font-weight:800;color:var(--accent);line-height:1;}

@media(min-width:1000px){.primary-nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}}
.primary-nav{display:none;}
.primary-nav>ul{display:flex;align-items:center;gap:26px;}
.primary-nav>ul>li{position:relative;}
.primary-nav ul.sub-menu li{position:relative;}
.primary-nav>ul>li>a{color:#fff;font-weight:600;font-size:15px;display:flex;align-items:center;gap:6px;padding:10px 0;white-space:nowrap;}
.primary-nav>ul>li:hover>a{color:var(--accent);}

/* first-level dropdown */
.primary-nav ul.sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:230px;max-height:70vh;overflow-y:auto;border-radius:0 0 10px 10px;box-shadow:0 16px 32px rgba(0,0,0,.18);padding:8px;z-index:150;}
/* nested (flyout) levels */
.primary-nav ul.sub-menu ul.sub-menu{top:-8px;left:100%;border-radius:10px;}
.primary-nav li:hover>ul.sub-menu{display:block;}
.primary-nav ul.sub-menu li a{color:var(--ink);font-weight:500;padding:9px 12px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;}
.primary-nav ul.sub-menu li a:hover{background:var(--surface);color:var(--accent-dark);}
.primary-nav ul.sub-menu li.menu-item-has-children>a::after{content:'\203A';font-weight:700;opacity:.6;}

.header-actions{display:flex;align-items:center;gap:16px;}
.header-icon-link{color:#fff;position:relative;display:flex;align-items:center;background:none;border:none;padding:0;}
.header-icon-link .cart-count{position:absolute;top:-8px;right:-10px;background:var(--accent);color:var(--dark);font-size:11px;font-weight:800;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;}

.mobile-toggle{background:none;border:none;color:#fff;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex:none;}
.mobile-toggle span{display:block;width:24px;height:3px;background:#fff;position:relative;}
.mobile-toggle span::before,.mobile-toggle span::after{content:'';position:absolute;left:0;width:24px;height:3px;background:#fff;}
.mobile-toggle span::before{top:-8px;}
.mobile-toggle span::after{top:8px;}
.mobile-toggle,.mobile-toggle:hover,.mobile-toggle:focus,.mobile-toggle:active{background:none!important;color:#fff!important;box-shadow:none!important;outline:none!important;}

@media(min-width:1000px){
  .primary-nav{display:flex;}
  .mobile-toggle{display:none;}
}

/* ===== Search dropdown (desktop + mobile, same toggle) ===== */
.header-search-bar{display:none;background:#fff;border-bottom:1px solid var(--border);position:relative;z-index:99;}
.header-search-bar.is-open{display:block;}
.header-search-bar form{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--pill);padding:4px 4px 4px 18px;max-width:var(--maxw);margin:14px auto;}
.header-search-bar input{flex:1;border:none;outline:none;font-size:15px;background:transparent;}
.header-search-bar button{background:var(--dark);color:#fff;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;}

/* ===== Mobile nav panel (slide from left) ===== */
.mobile-nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:190;opacity:0;visibility:hidden;transition:opacity .3s ease;}
.mobile-nav-backdrop.is-open{opacity:1;visibility:visible;}
body.mobile-nav-locked{overflow:hidden;}
.mobile-nav-panel{position:fixed;top:0;left:0;height:100vh;width:82%;max-width:340px;background:var(--dark);z-index:200;overflow-y:auto;transform:translateX(-100%);transition:transform .3s ease;box-shadow:8px 0 24px rgba(0,0,0,.3);}
.mobile-nav-panel.is-open{transform:translateX(0);}
.mobile-nav-panel ul{padding:10px 20px 20px;}
.mobile-nav-panel>ul>li{border-bottom:1px solid rgba(255,255,255,.08);}
.mobile-nav-panel a{color:#fff;padding:13px 4px;display:flex;justify-content:space-between;align-items:center;font-weight:600;}
.mobile-nav-panel ul.sub-menu{display:none;padding-left:14px;}
.mobile-nav-panel li.is-open>ul.sub-menu{display:block;}
.mobile-nav-panel ul.sub-menu a{color:#c9ccc6;font-weight:500;font-size:14px;padding:10px 4px;}

.mobile-nav-payment{padding:18px 20px 28px;text-align:center;border-top:1px solid rgba(255,255,255,.08);margin-top:4px;}
.mobile-nav-payment-label{color:#9aa09f;font-size:12px;font-weight:600;margin:0 0 12px;}
.mobile-nav-payment-icons{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;}
.pay-badge{display:inline-flex;align-items:center;justify-content:center;gap:3px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;height:34px;padding:0 12px;font-weight:700;font-size:13px;color:#1a1a1a;min-width:52px;box-sizing:border-box;line-height:1;}
.pay-badge--visa{color:#1434CB;font-style:italic;font-family:Georgia,'Times New Roman',serif;font-size:16px;letter-spacing:.5px;}
.pay-badge--google .g{color:#4285F4;font-weight:800;margin-right:1px;}
.pay-badge--mastercard{padding:0 10px;}

@media(min-width:1000px){.section-heading{text-align:center;}}

/* ===== Hero ===== */
.hero{position:relative;min-height:480px;display:flex;align-items:flex-end;overflow:hidden;background:#05070a;z-index:1;}
.hero-banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:1;}
.hero-inner{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:0 20px 40px;width:100%;}
@media(max-width:640px){
  .hero{min-height:0;height:auto;display:block;}
  .hero-banner-img{position:relative;height:auto;object-fit:contain;}
  .hero-inner{position:absolute;left:0;right:0;bottom:0;padding:0 20px 28px;}
}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:16px 26px;border-radius:var(--radius);border:none;}
.btn-accent{background:var(--accent);color:var(--dark);}
.btn-accent:hover{background:var(--accent-dark);}

/* ===== Footer ===== */
.site-footer{background:var(--dark);color:#fff;padding:60px 0 30px;margin-top:60px;width:100%;}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;}
.footer-logo{display:block;}
.footer-logo a.custom-logo-link{display:inline-block!important;width:auto!important;}
.footer-logo img{max-height:46px;height:46px;width:auto!important;max-width:100%!important;object-fit:contain!important;margin-bottom:14px;display:inline-block;}
.footer-logo-text{font-size:28px;color:var(--accent);font-weight:800;margin-bottom:14px;}
.footer-inner p{color:#9a9d95;font-size:14px;line-height:1.6;max-width:320px;}
.footer-col h4{font-size:16px;font-weight:700;margin:0 0 16px;color:#fff;}
.footer-col li{margin-bottom:10px;}
.footer-col a{color:#b7bab2;font-size:14px;}
.footer-col a:hover{color:var(--accent);}
.footer-bottom{max-width:var(--maxw);margin:36px auto 0;padding:20px 20px 0;border-top:1px solid rgba(255,255,255,.08);color:#787c73;font-size:13px;}
@media(max-width:800px){.footer-inner{grid-template-columns:1fr;}}

.back-to-top{position:fixed;right:20px;bottom:20px;width:48px;height:48px;border-radius:10px;background:var(--accent);color:var(--dark);display:flex;align-items:center;justify-content:center;z-index:99;box-shadow:0 8px 20px rgba(0,0,0,.25);}

/* ===== Shop / Archive grid ===== */
.woocommerce ul.products,.woocommerce-page ul.products,ul.products{display:flex !important;flex-wrap:wrap;gap:28px;list-style:none;padding:0;margin:40px 0 !important;}
.woocommerce ul.products::before,.woocommerce ul.products::after,.woocommerce-page ul.products::before,.woocommerce-page ul.products::after,ul.products::before,ul.products::after{content:none !important;display:none !important;}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product,ul.products li.product{width:calc(25% - 21px) !important;flex:0 0 calc(25% - 21px);float:none !important;margin:0 !important;text-align:left;display:flex;flex-direction:column;}
.woocommerce ul.products li.product a{display:flex;flex-direction:column;color:inherit;}
.woocommerce ul.products li.product a img{border-radius:var(--radius);background:var(--surface);width:100%;height:auto;}
.woocommerce ul.products li.product .price{color:var(--ink);font-weight:700;font-size:16px;order:3;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-weight:700;font-size:17px;margin:2px 0 4px;color:var(--ink);order:2;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
.shop-cat-eyebrow{color:var(--muted);font-weight:500;font-size:13px;text-transform:none;letter-spacing:0;order:1;display:block;margin-top:12px;}
@media(max-width:900px){
  .woocommerce ul.products,.woocommerce-page ul.products,ul.products{gap:18px;}
  .woocommerce ul.products li.product,.woocommerce-page ul.products li.product,ul.products li.product{width:calc(50% - 9px) !important;flex:0 0 calc(50% - 9px);}
}

/* ===== Single product ===== */
.woocommerce div.product{max-width:var(--maxw);margin:32px auto;padding:0 20px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:0;}
.woocommerce div.product div.images{border-radius:var(--radius);overflow:hidden;width:58%;float:none;margin:0;}
.woocommerce div.product div.images img{width:100%;height:auto;}
.woocommerce div.product div.summary{width:42%;float:none;padding-left:40px;margin:0;}
@media(max-width:900px){
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary{width:100%;}
  .woocommerce div.product div.summary{padding-left:0;padding-top:18px;}
}

.icf-product-cat{display:block;color:var(--accent-dark);font-weight:600;font-size:15px;margin-bottom:6px;}
.woocommerce div.product .product_title{font-weight:800;font-size:32px;line-height:1.1;margin:0 0 14px;color:var(--ink);}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-size:26px;font-weight:700;}
.icf-free-shipping{font-size:15px;font-weight:400;color:var(--muted);margin-left:4px;}

.icf-size-guide-img{width:100%;max-width:460px;height:auto;display:block;margin:22px 0 26px;border-radius:var(--radius);}

/* WooCommerce variation "Talla" select — label ABOVE the box, not merged with it */
table.variations,table.variations tbody,table.variations tr{display:block;width:100%;background:transparent;border:none;margin:0;}
table.variations{margin-bottom:6px;}
table.variations th.label,table.variations td.label{display:block!important;width:auto;background:transparent;border:none;padding:0 0 10px;margin:0;font-weight:700;font-size:16px;color:var(--ink);vertical-align:top;text-align:left!important;}
table.variations th.label label{margin:0;font-weight:700;}
table.variations td.value{display:block;width:auto;background:transparent!important;padding:0;margin:0;vertical-align:top;}
table.variations select{width:100%;max-width:420px;padding:14px 40px 14px 16px;border-radius:var(--radius);border:1px solid var(--border);background-color:var(--surface);font-size:15px;font-weight:600;color:var(--ink);appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312140F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;cursor:pointer;}
a.reset_variations{font-size:13px;color:var(--muted);font-weight:700;letter-spacing:.3px;display:inline-flex;align-items:center;gap:6px;margin-top:8px;text-transform:uppercase;}

/* ===== Advanced Product Fields (WAPF): Nombre y Número / Fan-Player / Parches ===== */
.wapf-field-group{margin:22px 0 4px;display:flex;flex-direction:column;gap:22px;}
.wapf-field-container{margin:0;}
.wapf-field-label label{font-weight:700;font-size:16px;color:var(--ink);display:block;margin-bottom:10px;}
.wapf-pricing-hint{font-weight:400;color:var(--muted);font-size:13px;}
.wapf-field-text .wapf-input,
.wapf-field-input input[type=text]{width:100%;max-width:420px;padding:13px 14px;border-radius:var(--radius);border:1px solid var(--border);font-size:15px;}

.wapf-field-multi-text-swatch .wapf-swatch-wrapper{display:flex;flex-direction:column;gap:10px;}
.wapf-swatch.wapf-swatch--text{position:relative;display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;}
.wapf-swatch.wapf-swatch--text input[type=checkbox]{position:absolute;right:16px;width:18px;height:18px;accent-color:var(--dark);}
.wapf-swatch.wapf-swatch--text:has(input:checked){border-color:var(--dark);background:var(--surface);}

.wapf-image-swatch-wrapper{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
@media(max-width:640px){.wapf-image-swatch-wrapper{grid-template-columns:repeat(3,1fr);}}
.wapf-swatch.wapf-swatch--image{position:relative;border:2px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;}
.wapf-swatch.wapf-swatch--image img{width:100%;height:auto;display:block;}
.wapf-swatch.wapf-swatch--image:has(input:checked){border-color:var(--accent-dark);}
.wapf-swatch.wapf-swatch--image input[type=checkbox]{position:absolute;top:6px;right:6px;width:16px;height:16px;z-index:2;}

.icf-radio-note{font-size:13px;color:var(--muted);margin:8px 0 0;line-height:1.6;max-width:520px;}
.icf-version-notes{margin-top:-8px;margin-bottom:6px;}

form.cart{margin-top:6px;}
form.cart .quantity{margin:0;flex:none;}
form.cart .quantity input{width:90px;height:56px;padding:14px 12px;border-radius:var(--pill);border:1px solid var(--border);background:#fff;text-align:center;font-size:16px;box-sizing:border-box;}
.icf-cart-row{display:flex;align-items:stretch;gap:14px;margin-top:18px;}
.icf-cart-row .quantity{display:flex;}
.woocommerce .single-product form.cart button.single_add_to_cart_button.button.alt,
.woocommerce form.cart button.single_add_to_cart_button{background:var(--dark) !important;color:#fff !important;border-radius:var(--pill);text-transform:none;letter-spacing:0;font-size:17px;padding:14px 28px;font-weight:700;border:none;}
.icf-cart-row .single_add_to_cart_button{flex:1;height:56px;display:flex;align-items:center;justify-content:center;}
.woocommerce form.cart button.single_add_to_cart_button:hover{background:#000 !important;}

/* ===== Cart (classic shortcode) ===== */
.woocommerce-cart .wrap,.woocommerce-checkout .wrap{max-width:var(--maxw);margin:32px auto;padding:0 20px;}
.woocommerce table.shop_table{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;border-collapse:separate;}
.woocommerce table.shop_table th{background:var(--surface);font-weight:700;}
.woocommerce-cart-form .coupon{display:flex;gap:10px;flex-wrap:wrap;}
.woocommerce-cart-form .coupon input#coupon_code{border:1px solid var(--border);border-radius:var(--pill);padding:14px 20px;flex:1;min-width:180px;}
.woocommerce-cart-form .coupon button,
#coupon_code+button,
button[name=apply_coupon]{background:var(--cta-alt)!important;color:var(--ink)!important;border-radius:var(--pill)!important;border:none!important;font-weight:700!important;padding:14px 26px!important;text-transform:none!important;}
button[name=update_cart]{background:var(--cta-alt-light)!important;color:var(--ink)!important;border-radius:var(--pill)!important;border:none!important;font-weight:700!important;width:100%;padding:16px!important;text-transform:none!important;margin-top:10px;}
.cart-collaterals .cart_totals{background:var(--surface);border-radius:var(--radius-lg);padding:24px;}
.cart_totals h2{font-size:19px;}
.wc-proceed-to-checkout a.checkout-button{background:var(--dark)!important;color:#fff!important;border-radius:var(--pill)!important;text-transform:none!important;font-weight:700!important;padding:16px!important;width:100%;text-align:center;display:block;}
.woocommerce-message{border-top-color:var(--accent)!important;}
.woocommerce-message .button{background:var(--dark)!important;color:#fff!important;border-radius:var(--pill)!important;}
.cart_totals .coupon-remove,.woocommerce a.woocommerce-remove-coupon{color:var(--accent-dark)!important;font-weight:700!important;text-decoration:none!important;}
.woocommerce a.woocommerce-remove-coupon:hover{text-decoration:underline!important;}


/* Safety net: hide WooCommerce/Astra default breadcrumb + duplicate category list on single product
   pages. The remove_action() call in functions.php targets the correct hook/priority, but Astra's
   WooCommerce integration re-renders these regardless in some contexts, so we also hide them via CSS
   to guarantee the 'no breadcrumb above photo' requirement is met visually. */
nav.woocommerce-breadcrumb{display:none!important;}
span.single-product-category{display:none!important;}

/* Astra's own theme (not core WooCommerce) injects a 'Select options / Add to cart' overlay
   button on shop-loop product images via Astra_Woocommerce::add_modern_triggers_on_image(),
   hooked directly to woocommerce_after_shop_loop_item -- independent from the standard
   woocommerce_template_loop_add_to_cart() call we already unhooked in functions.php. Hide it too. */
ul.products li.product .ast-on-card-button,
ul.products li.product a.add_to_cart_button,
ul.products li.product .ast-select-options-trigger{display:none!important;}
