/*
Theme Name: MFL Estadio
Description: Tema hijo de Twenty Twenty-Five. Look "estadio nocturno" para la tienda de equipos de fútbol americano.
Template: twentytwentyfive
Version: 1.0.0
Text Domain: mfl-estadio
*/

:root{
  --mfl-bg:#0a0b0f; --mfl-surface:#14161d; --mfl-surface2:#1c1f29; --mfl-line:#2a2e3a;
  --mfl-text:#f3f4f6; --mfl-muted:#9aa1b2; --mfl-accent:#ff4d2e; --mfl-accent2:#ff7a3d; --mfl-gold:#ffd23f;
  --mfl-display:"Oswald","Arial Narrow",Impact,sans-serif; --mfl-body:"Inter",system-ui,sans-serif;
  --mfl-wrap:1280px; --mfl-r:14px;
}
html{scroll-behavior:smooth}
body{background:var(--mfl-bg);color:var(--mfl-text);font-family:var(--mfl-body);-webkit-font-smoothing:antialiased}
a{color:var(--mfl-text);text-decoration-color:var(--mfl-accent);text-underline-offset:3px}
a:hover{color:var(--mfl-gold)}
::selection{background:var(--mfl-accent);color:#fff}
h1,h2,h3,h4,h5,h6,.wp-block-post-title,.wp-block-heading{font-family:var(--mfl-display);text-transform:uppercase;letter-spacing:.02em;line-height:1.05;font-weight:700}
.mfl-wrap{max-width:var(--mfl-wrap);margin:0 auto;padding:0 24px}

/* ---------- barra superior + cabecera ---------- */
.mfl-topbar{background:var(--mfl-accent);color:#fff;text-align:center;font:600 12px/1 var(--mfl-body);letter-spacing:.14em;text-transform:uppercase;padding:10px 12px}
.mfl-header{position:sticky;top:0;z-index:50;background:rgba(10,11,15,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--mfl-line);padding:14px 24px!important}
.mfl-header .wp-block-site-title{font-family:var(--mfl-display);font-weight:700;font-size:30px;letter-spacing:.06em;text-transform:uppercase;margin:0}
.mfl-header .wp-block-site-title a{text-decoration:none;color:var(--mfl-text)}
.mfl-header .wp-block-site-title a::after{content:"/";color:var(--mfl-accent);margin-left:6px}
.mfl-header .wp-block-navigation{font:600 14px var(--mfl-body);letter-spacing:.08em;text-transform:uppercase}
.mfl-header .wp-block-navigation a{text-decoration:none;padding:6px 2px;border-bottom:2px solid transparent}
.mfl-header .wp-block-navigation a:hover{border-color:var(--mfl-accent);color:var(--mfl-text)}
.wc-block-mini-cart__button{color:var(--mfl-text)}
.wc-block-mini-cart__badge{background:var(--mfl-accent)!important;color:#fff!important}

/* ---------- botones ---------- */
.mfl-btn,.wp-element-button,.wp-block-button__link,.button,button.single_add_to_cart_button,.wc-block-components-button:not(.is-link),.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{
  display:inline-block;background:var(--mfl-accent);color:#fff!important;border:2px solid var(--mfl-accent);border-radius:8px;
  font:700 15px var(--mfl-display);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:14px 28px;cursor:pointer;transition:.2s}
.mfl-btn:hover,.wp-element-button:hover,.wp-block-button__link:hover,.button:hover,button.single_add_to_cart_button:hover,.wc-block-components-button:not(.is-link):hover{background:var(--mfl-gold);border-color:var(--mfl-gold);color:#0a0b0f!important;transform:translateY(-2px)}
.mfl-btn--ghost{background:transparent;border-color:var(--mfl-text);color:var(--mfl-text)!important}
.mfl-btn--ghost:hover{background:var(--mfl-text);border-color:var(--mfl-text);color:#0a0b0f!important}
button.single_add_to_cart_button.disabled,button.single_add_to_cart_button:disabled{opacity:.45;transform:none}

/* ---------- portada: hero ---------- */
.mfl-hero{position:relative;overflow:hidden;min-height:620px;display:flex;align-items:center;border-bottom:1px solid var(--mfl-line)}
.mfl-hero__bg{position:absolute;inset:0;background-size:auto 100%;background-position:right center;background-repeat:no-repeat}
.mfl-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--mfl-bg) 0%,rgba(10,11,15,.94) 30%,rgba(10,11,15,0) 58%)}
.mfl-hero__in{position:relative;z-index:2;padding-top:72px;padding-bottom:72px;width:100%}
.mfl-eyebrow{display:inline-block;font:600 13px var(--mfl-body);letter-spacing:.22em;text-transform:uppercase;color:var(--mfl-gold);margin:0 0 18px;padding-left:44px;position:relative}
.mfl-eyebrow::before{content:"";position:absolute;left:0;top:50%;width:32px;height:2px;background:var(--mfl-accent)}
.mfl-hero h1{font-size:clamp(42px,5.4vw,80px);margin:0 0 22px;max-width:7.2em}
.mfl-hero h1 span{color:var(--mfl-accent);display:block}
.mfl-lead{font-size:19px;line-height:1.55;color:#cfd3dd;max-width:28em;margin:0 0 32px}
.mfl-cta{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- cinta de equipos ---------- */
.mfl-marquee{overflow:hidden;background:var(--mfl-gold);color:#0a0b0f;border-block:1px solid #0a0b0f}
.mfl-marquee__track{display:flex;width:max-content;animation:mfl-scroll 38s linear infinite}
.mfl-marquee span{font:700 22px var(--mfl-display);letter-spacing:.14em;text-transform:uppercase;padding:12px 26px;white-space:nowrap}
.mfl-marquee span::after{content:"★";margin-left:52px;color:var(--mfl-accent)}
@keyframes mfl-scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.mfl-marquee__track{animation:none}}

/* ---------- secciones ---------- */
.mfl-section{padding:84px 0}
.mfl-section--alt{background:var(--mfl-surface)}
.mfl-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:36px;flex-wrap:wrap}
.mfl-head h2{font-size:clamp(34px,4.6vw,58px);margin:0}
.mfl-head h2 em{font-style:normal;color:var(--mfl-accent)}
.mfl-head p{margin:0;color:var(--mfl-muted);max-width:30em}

/* muro de equipos */
.mfl-teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}
.mfl-team{--c:#ff4d2e;position:relative;display:flex;flex-direction:column;border-radius:var(--mfl-r);overflow:hidden;background:#000;border:1px solid var(--mfl-line);text-decoration:none;transition:.25s}
.mfl-team img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;transition:.4s}
.mfl-team span{display:block;padding:11px 8px;background:var(--mfl-surface);border-top:2px solid var(--c);font:700 15px var(--mfl-display);letter-spacing:.14em;text-transform:uppercase;color:#fff;text-align:center}
.mfl-team--all{align-items:center;justify-content:center;gap:6px;background:var(--mfl-accent);border-color:var(--mfl-accent);color:#fff}
.mfl-team--all b{font:700 22px var(--mfl-display);letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:0 10px}
.mfl-team--all i{font-style:normal;font-size:34px;line-height:1;transition:.25s}
.mfl-team--all:hover{background:var(--mfl-gold);border-color:var(--mfl-gold);color:#0a0b0f;box-shadow:none}
.mfl-team--all:hover i{transform:translateX(8px)}
@media (min-width:1100px){.mfl-teams{grid-template-columns:repeat(7,1fr)}}
.mfl-team:hover{transform:translateY(-6px);border-color:var(--c);box-shadow:0 14px 40px -10px var(--c)}
.mfl-team:hover img{transform:scale(1.07)}

/* tarjetas de prenda */
.mfl-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mfl-cat{position:relative;display:block;border-radius:var(--mfl-r);overflow:hidden;aspect-ratio:4/5;background:#1c1f29;text-decoration:none;border:1px solid var(--mfl-line)}
.mfl-cat img{width:100%;height:100%;object-fit:cover;transition:.5s}
.mfl-cat::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,11,15,.95) 0%,rgba(10,11,15,0) 55%)}
.mfl-cat div{position:absolute;z-index:2;left:22px;right:22px;bottom:20px}
.mfl-cat h3{margin:0 0 4px;font-size:32px;color:#fff}
.mfl-cat p{margin:0;color:var(--mfl-gold);font:600 13px var(--mfl-body);letter-spacing:.12em;text-transform:uppercase}
.mfl-cat:hover img{transform:scale(1.06)}
.mfl-cat:hover{border-color:var(--mfl-accent)}

/* banner Mamá Fútbol */
.mfl-mom{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.mfl-mom img{width:100%;max-width:460px;justify-self:center;border-radius:var(--mfl-r);box-shadow:0 30px 70px -20px rgba(255,77,46,.45);transform:rotate(2deg)}
.mfl-mom h2{font-size:clamp(40px,5.4vw,76px);margin:0 0 14px}
.mfl-mom h2 em{font-style:normal;color:var(--mfl-accent)}
.mfl-mom p{color:#cfd3dd;font-size:18px;line-height:1.6;margin:0 0 26px}

/* pasos */
.mfl-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s}
.mfl-step{background:var(--mfl-surface2);border:1px solid var(--mfl-line);border-radius:var(--mfl-r);padding:30px 28px;counter-increment:s}
.mfl-step::before{content:"0" counter(s);display:block;font:700 56px var(--mfl-display);color:var(--mfl-accent);line-height:1;margin-bottom:12px}
.mfl-step h3{font-size:24px;margin:0 0 8px}
.mfl-step p{margin:0;color:var(--mfl-muted);line-height:1.55}

/* ---------- pie ---------- */
.mfl-footer{background:#000;border-top:3px solid var(--mfl-accent);margin-top:0;padding:60px 0 0}
.mfl-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.mfl-footer h4{font-size:18px;color:var(--mfl-gold);margin:0 0 14px;letter-spacing:.12em}
.mfl-footer p,.mfl-footer li,.mfl-footer a{color:var(--mfl-muted);font-size:15px;line-height:1.7}
.mfl-footer ul{list-style:none;margin:0;padding:0}
.mfl-footer a{text-decoration:none}.mfl-footer a:hover{color:var(--mfl-text)}
.mfl-footer__brand{font:700 40px var(--mfl-display);letter-spacing:.06em;color:var(--mfl-text);margin:0 0 10px}
.mfl-footer__brand b{color:var(--mfl-accent)}
.mfl-footer__bar{margin-top:44px;border-top:1px solid var(--mfl-line);padding:18px 0;font-size:13px;color:#6b7280;text-align:center}

/* ---------- WooCommerce: catálogo ---------- */
ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:20px;margin:0!important;padding:0!important;list-style:none}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product{width:auto!important;float:none!important;margin:0!important;display:flex;flex-direction:column}
ul.products li.product .button{margin:auto 14px 0}
.wc-block-product-template{gap:20px!important}
@media (max-width:900px){ul.products{grid-template-columns:repeat(2,1fr)}}
ul.products li.product,.wc-block-product-template .wc-block-product,.wp-block-woocommerce-product-template>li{
  background:var(--mfl-surface);border:1px solid var(--mfl-line);border-radius:var(--mfl-r);overflow:hidden;padding:0 0 18px!important;transition:.25s;text-align:center}
ul.products li.product:hover,.wc-block-product-template .wc-block-product:hover{transform:translateY(-6px);border-color:var(--mfl-accent);box-shadow:0 18px 40px -16px rgba(255,77,46,.5)}
ul.products li.product img,.wc-block-product img{border-radius:0!important;width:100%;height:auto;transition:.4s}
ul.products li.product:hover img,.wc-block-product:hover img{transform:scale(1.04)}
.woocommerce-loop-product__title,.wc-block-product .wp-block-post-title,.wc-block-product .wp-block-post-title a{font:700 22px var(--mfl-display)!important;text-transform:uppercase;letter-spacing:.04em;padding:14px 14px 0;text-decoration:none!important}
.price,.wc-block-components-product-price,.wp-block-woocommerce-product-price{color:var(--mfl-gold)!important;font:600 18px var(--mfl-body);padding:4px 14px 12px}
.wc-block-product .wp-block-button,.wc-block-product .wc-block-components-product-button{padding:0 14px}
.onsale,.wc-block-components-product-sale-badge{background:var(--mfl-accent)!important;color:#fff!important;border:0!important;border-radius:6px!important}
.woocommerce-result-count,.woocommerce-ordering select,.wp-block-woocommerce-catalog-sorting select{color:var(--mfl-muted)}
.woocommerce-breadcrumb,.wc-block-breadcrumbs,.woocommerce-breadcrumb a{color:var(--mfl-muted);font-size:14px}

/* ---------- WooCommerce: producto, formularios, carrito ---------- */
select,input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=search],textarea,
.wc-block-components-text-input input,.wc-block-components-select select,.wc-blocks-components-select__select,.wc-block-components-textarea{
  background:var(--mfl-surface2)!important;color:var(--mfl-text)!important;border:1px solid var(--mfl-line)!important;border-radius:8px!important;font-family:var(--mfl-body)}
.wc-block-components-text-input label,.wc-block-components-select label,label{color:var(--mfl-muted)!important}
.variations select{min-width:180px;padding:10px 12px}
.variations th,.variations td{border:0;padding:6px 0;background:transparent}
.woocommerce-tabs .wc-tabs,.wc-tabs{border-bottom:1px solid var(--mfl-line)}
.wp-block-woocommerce-product-image-gallery img,.woocommerce-product-gallery img{border-radius:var(--mfl-r)}
.product_meta,.sku_wrapper,.posted_in{color:var(--mfl-muted);font-size:14px}
table,th,td{border-color:var(--mfl-line)!important}
.wc-block-components-sidebar,.wc-block-cart__sidebar,.wc-block-checkout__sidebar,.wp-block-woocommerce-cart-order-summary-block,.wc-block-components-totals-wrapper{color:var(--mfl-text)}
.wc-block-components-order-summary,.wc-block-components-totals-coupon,.wc-block-cart-items{border-color:var(--mfl-line)!important}
.woocommerce-message,.woocommerce-info,.wc-block-components-notice-banner{background:var(--mfl-surface2)!important;color:var(--mfl-text)!important;border-color:var(--mfl-accent)!important}
.wc-block-components-product-name,.wc-block-components-product-metadata{color:var(--mfl-text)}


/* avisos: enlace/botón legible sobre fondo oscuro */
.woocommerce-message a.button,.woocommerce-message a.wc-forward,.wc-block-components-notice-banner a.wc-forward,.wc-block-components-notice-banner .wc-block-components-button,.wc-block-components-notice-banner a{color:#fff!important;background:var(--mfl-accent);border-color:var(--mfl-accent);text-decoration:none;border-radius:6px;padding:8px 16px;font:700 13px var(--mfl-display);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;opacity:1!important}
.wc-block-components-notice-banner a:hover{background:var(--mfl-gold);color:#0a0b0f!important}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .mfl-hero{min-height:560px}
  .mfl-hero__bg{background-position:68% center;opacity:.55}
  .mfl-hero::after{background:linear-gradient(0deg,var(--mfl-bg) 8%,rgba(10,11,15,.72) 60%,rgba(10,11,15,.5) 100%)}
  .mfl-cats{grid-template-columns:repeat(2,1fr)}
  .mfl-mom,.mfl-steps,.mfl-footer__grid{grid-template-columns:1fr}
  .mfl-mom{gap:34px}.mfl-section{padding:56px 0}
}
@media (max-width:560px){
  .mfl-teams{grid-template-columns:repeat(2,1fr)}
  .mfl-cats{grid-template-columns:repeat(2,1fr);gap:12px}
  .mfl-cat h3{font-size:21px}.mfl-cat p{font-size:11px}.mfl-cat div{left:14px;right:14px;bottom:14px}
  .mfl-header .wp-block-site-title{font-size:24px}
  .mfl-hero__in{padding-top:48px;padding-bottom:48px}
}

/* ---------- Mini Jugador: banner y página explicativa ---------- */
.mfl-figbanner{position:relative;overflow:hidden;min-height:560px;display:flex;align-items:center;background:#05060a;border-bottom:1px solid var(--mfl-line)}
.mfl-figbanner__bg{position:absolute;inset:0;background-size:auto 100%;background-position:right center;background-repeat:no-repeat}
.mfl-figbanner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05060a 0%,rgba(5,6,10,.94) 33%,rgba(5,6,10,0) 52%)}
.mfl-figbanner__in{position:relative;z-index:2;padding-top:70px;padding-bottom:70px;width:100%}
.mfl-figbanner h1,.mfl-figbanner h2{font-size:clamp(40px,5.6vw,84px);margin:0 0 18px;max-width:8em}
.mfl-figbanner h1 span,.mfl-figbanner h2 span{color:var(--mfl-accent)}
.mfl-figbanner .mfl-lead{max-width:30em}
.mfl-figbanner--page{min-height:520px}
.mfl-figbanner__nota{margin:18px 0 0;font-size:12px;letter-spacing:.08em;color:var(--mfl-muted);text-transform:uppercase}
.mfl-chips{list-style:none;display:flex;gap:10px;flex-wrap:wrap;padding:0;margin:0 0 28px}
.mfl-chips li{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.07);border:1px solid var(--mfl-line);border-radius:999px;padding:8px 16px 8px 8px;font:600 14px var(--mfl-body);color:#e8eaf0}
.mfl-chips b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--mfl-accent);color:#fff;font:700 14px var(--mfl-display)}
.mfl-fig2{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.mfl-fig2--rev{grid-template-columns:1.15fr 1fr}
.mfl-fig2 h2{font-size:clamp(32px,4.2vw,54px);margin:0 0 16px}.mfl-fig2 h2 em{font-style:normal;color:var(--mfl-accent)}
.mfl-fig2 p{color:#cfd3dd;font-size:18px;line-height:1.6}
.mfl-fig2 figure{margin:0}.mfl-fig2 figure img{width:100%;border-radius:var(--mfl-r);border:1px solid var(--mfl-line)}
.mfl-fig2 figcaption{margin-top:10px;font-size:13px;color:var(--mfl-muted)}
.mfl-check{list-style:none;padding:0;margin:18px 0 0}
.mfl-check li{position:relative;padding:8px 0 8px 34px;color:#e5e7ee;font-size:17px;line-height:1.45;border-bottom:1px solid var(--mfl-line)}
.mfl-check li::before{content:"";position:absolute;left:4px;top:13px;width:16px;height:9px;border-left:3px solid var(--mfl-accent);border-bottom:3px solid var(--mfl-accent);transform:rotate(-45deg)}
.mfl-callout{background:var(--mfl-surface2);border:1px solid var(--mfl-line);border-left:4px solid var(--mfl-gold);border-radius:var(--mfl-r);padding:28px}
.mfl-callout b{font:700 26px var(--mfl-display);text-transform:uppercase;letter-spacing:.04em;color:var(--mfl-gold)}
.mfl-callout p{margin:10px 0 0;font-size:17px}
.mfl-steps--4{grid-template-columns:repeat(4,1fr)}
.mfl-faq{max-width:900px}
.mfl-faq details{border-bottom:1px solid var(--mfl-line);padding:4px 0}
.mfl-faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font:600 20px var(--mfl-display);text-transform:uppercase;letter-spacing:.04em;position:relative}
.mfl-faq summary::-webkit-details-marker{display:none}
.mfl-faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:30px;color:var(--mfl-accent);transition:.2s}
.mfl-faq details[open] summary::after{content:"–"}
.mfl-faq details p{margin:0 0 20px;color:#cfd3dd;line-height:1.65;font-size:17px;max-width:46em}

/* ---------- formulario de personalización (ficha del producto) ---------- */
.mfl-figura-campos{background:var(--mfl-surface);border:1px solid var(--mfl-line);border-radius:var(--mfl-r);padding:22px;margin:18px 0}
.mfl-figura-campos h3{margin:0 0 14px;font-size:24px}
.mfl-f{margin:0 0 14px}.mfl-f label{display:block;margin-bottom:6px;font:600 14px var(--mfl-body);color:#dfe2ea!important}
.mfl-f small{font-weight:400;color:var(--mfl-muted)}
.mfl-f select,.mfl-f input[type=text],.mfl-f input[type=number],.mfl-f textarea{width:100%;padding:12px 14px}
.mfl-f input[type=file]{width:100%;padding:10px;border:1px dashed var(--mfl-line);border-radius:8px;background:var(--mfl-surface2);color:var(--mfl-muted)}
.mfl-f2{display:grid;grid-template-columns:2fr 1fr;gap:14px}
.mfl-f--check label{display:flex;gap:10px;align-items:flex-start;font-weight:500;line-height:1.4}
.mfl-f--check input{margin-top:3px;accent-color:var(--mfl-accent)}
.mfl-f-nota{margin:0;font-size:14px;color:var(--mfl-muted);line-height:1.5}
.mfl-f-nota strong{color:var(--mfl-gold)}

/* ---------- página para autorizar el modelo ---------- */
.mfl-aut h2{font-size:clamp(30px,4vw,48px);margin:0 0 12px}
.mfl-aut__datos{list-style:none;display:flex;gap:22px;flex-wrap:wrap;padding:0;margin:0 0 22px;color:var(--mfl-muted)}
.mfl-aut__datos b{color:var(--mfl-text)}
.mfl-aut__modelo{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 26px}
.mfl-aut__modelo img{width:100%;height:auto;border-radius:var(--mfl-r);border:1px solid var(--mfl-line)}
.mfl-aut__ok{background:var(--mfl-surface2);border-left:4px solid #3ecf8e;padding:14px 18px;border-radius:8px}
.mfl-aut__form{background:var(--mfl-surface);border:1px solid var(--mfl-line);border-radius:var(--mfl-r);padding:20px;margin:0 0 16px}
.mfl-aut__form textarea{width:100%;padding:12px}
@media (max-width:900px){
  .mfl-figbanner{min-height:520px}
  .mfl-figbanner__bg{background-size:cover;background-position:72% center;opacity:.5}
  .mfl-figbanner::after{background:linear-gradient(0deg,#05060a 6%,rgba(5,6,10,.7) 60%,rgba(5,6,10,.5) 100%)}
  .mfl-fig2,.mfl-fig2--rev,.mfl-steps--4{grid-template-columns:1fr}
  .mfl-fig2{gap:30px}
}
@media (max-width:560px){.mfl-f2{grid-template-columns:1fr}.mfl-figbanner__in{padding-top:48px;padding-bottom:48px}}
