/*
Theme Name: EpicBike Pro
Theme URI: https://epicbike.cl
Description: Tema a medida para EpicBike — tienda de bicicletas BH, cascos Limar y componentes. Diseño rápido, limpio y 100% WooCommerce, sin page builders. Reemplaza Porto/Elementor.
Author: JumpWeb
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: epicbike-pro
WC requires at least: 7.0
WC tested up to: 9.9
*/

/* ============================================================
   EPICBIKE PRO — Blanco + Azul celeste (paleta del logo)
   EPIC #0b62e8 · BikeStore/celeste #22b1f5
   ============================================================ */
:root{
    --bg:#ffffff;
    --bg-2:#eef5fd;
    --surface:#ffffff;
    --surface-2:#f4f9ff;
    --line:#e1ebf5;
    --line-2:#d3e3f2;
    --text:#0d2138;
    --muted:#61788f;
    --brand:#0b62e8;
    --brand-2:#22b1f5;
    --brand-3:#7bd4ff;
    --grad:linear-gradient(135deg,#0b62e8 0%,#22b1f5 100%);
    --grad-soft:linear-gradient(135deg,#eaf3ff 0%,#e6f7ff 100%);
    --ok:#12b978;
    --danger:#e23b3b;
    --radius:18px;
    --radius-sm:12px;
    --wrap:1240px;
    --shadow:0 18px 40px -20px rgba(11,98,232,.30);
    --shadow-sm:0 6px 18px -10px rgba(11,98,232,.28);
    --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);line-height:1.55;font-family:var(--font);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{line-height:1.14;letter-spacing:-.02em;font-weight:800;color:var(--text);margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.epi-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- Botones ---------- */
.btn,.epi a.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt{
    display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
    border:0;border-radius:999px;padding:.72rem 1.4rem;font-weight:700;font-size:.95rem;
    cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,color .2s;font-family:inherit;line-height:1.2;
    background:var(--grad);color:#fff;box-shadow:0 10px 24px -10px rgba(11,98,232,.7);text-transform:none;
}
.btn--lg{padding:.95rem 1.9rem;font-size:1.02rem}
.btn--block{width:100%}
.btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(11,98,232,.8);color:#fff}
.btn--outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7);box-shadow:none}
.btn--outline:hover{background:#fff;color:var(--brand)}
.btn--ghost{background:var(--surface-2);color:var(--muted);border:1px solid var(--line);box-shadow:none;cursor:not-allowed}
.woocommerce .button.disabled,.woocommerce button.button:disabled{opacity:.55;cursor:not-allowed}

/* ---------- Topbar ---------- */
.topbar{background:var(--grad);color:#eaf4ff;font-size:.78rem}
.topbar__inner{display:flex;gap:1.4rem;align-items:center;min-height:36px;flex-wrap:wrap;font-weight:500}
.topbar__contact{margin-left:auto;color:#fff}

/* ---------- Nav ---------- */
.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
.nav.is-scrolled{background:rgba(255,255,255,.98);box-shadow:0 6px 24px -16px rgba(13,33,56,.4)}
.nav__inner{display:flex;align-items:center;gap:1.4rem;min-height:74px}
.nav__logo{display:flex;align-items:center;gap:6px;flex-shrink:0}
.nav__logo img{height:40px;width:auto}
.nav__logo .custom-logo{height:40px;width:auto}
.nav__menu{display:flex;gap:1.15rem;margin:0 auto 0 1rem;padding:0;list-style:none;flex-wrap:wrap}
.nav__menu li{position:relative}
.nav__menu a{font-size:.92rem;font-weight:600;color:#33465b;padding:6px 0;display:inline-block;position:relative;transition:color .2s}
.nav__menu a:hover{color:var(--brand)}
.nav__menu>li>a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--grad);border-radius:2px;transition:width .25s}
.nav__menu>li:hover>a::after{width:100%}
/* submenús */
.nav__menu .sub-menu{position:absolute;top:100%;left:0;min-width:210px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:.5rem;margin:0;list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;z-index:70}
.nav__menu li:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(4px)}
.nav__menu .sub-menu a{padding:.5rem .7rem;border-radius:8px;display:block;font-size:.88rem}
.nav__menu .sub-menu a:hover{background:var(--surface-2)}
.nav__actions{display:flex;align-items:center;gap:.9rem;flex-shrink:0}
.nav__cart{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--surface-2);color:var(--brand);border:1px solid var(--line);transition:.2s}
.nav__cart:hover{background:#e7f2ff;transform:translateY(-1px)}
.nav__cart-badge{position:absolute;top:-3px;right:-3px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--brand-2);color:#fff;font-size:.68rem;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 2px #fff}
.nav__burger{display:none;background:none;border:0;color:var(--brand);font-size:1.6rem;cursor:pointer;line-height:1}

/* ---------- Mini-carrito (hover) ---------- */
.nav__cart-wrap{position:relative}
.mini-cart{position:absolute;top:100%;right:0;width:350px;max-width:90vw;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.1rem;margin-top:14px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:90}
/* puente invisible para que el mouse llegue al panel sin cerrarlo */
.mini-cart::after{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.mini-cart::before{content:"";position:absolute;top:-7px;right:18px;width:13px;height:13px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.nav__cart-wrap:hover .mini-cart,.nav__cart-wrap:focus-within .mini-cart{opacity:1;visibility:visible;transform:translateY(0)}

.mini-cart .woocommerce-mini-cart{list-style:none;margin:0;padding:0;max-height:min(56vh,340px);overflow-y:auto}
.mini-cart ul.cart_list li,.mini-cart .woocommerce-mini-cart-item{position:relative;list-style:none;padding:.75rem 26px .75rem 66px;min-height:54px;border-bottom:1px solid var(--line);margin:0}
.mini-cart .woocommerce-mini-cart-item img,.mini-cart ul.cart_list li img{position:absolute!important;left:0;top:.75rem;width:54px!important;height:54px!important;object-fit:contain;border:1px solid var(--line);border-radius:8px;margin:0!important;float:none!important;padding:2px;background:#fff}
.mini-cart .woocommerce-mini-cart-item a:not(.remove),.mini-cart ul.cart_list li a:not(.remove){display:block;font-weight:600;font-size:.85rem;color:var(--text);line-height:1.3}
.mini-cart .woocommerce-mini-cart-item a:not(.remove):hover{color:var(--brand)}
.mini-cart .quantity{display:block;color:var(--muted);font-size:.8rem;margin-top:.3rem}
.mini-cart .quantity .amount{color:var(--text);font-weight:700}
.mini-cart a.remove,.mini-cart a.remove_from_cart_button{position:absolute!important;top:.75rem;right:0;width:20px;height:20px;line-height:18px!important;text-align:center;border-radius:50%;background:var(--surface-2);color:var(--muted)!important;font-size:.9rem;font-weight:700;border:1px solid var(--line)}
.mini-cart a.remove:hover{background:var(--danger)!important;color:#fff!important;border-color:var(--danger)}
.mini-cart .woocommerce-mini-cart__total{display:flex;justify-content:space-between;align-items:center;padding:.9rem 0;margin:0;font-weight:800;border-bottom:1px solid var(--line)}
.mini-cart .woocommerce-mini-cart__total .amount{color:var(--brand);font-size:1.05rem}
.mini-cart .woocommerce-mini-cart__buttons{display:flex;gap:.55rem;margin:.9rem 0 0;padding:0}
.mini-cart .woocommerce-mini-cart__buttons a{flex:1;text-align:center;font-size:.82rem;padding:.6rem .4rem;margin:0}
.mini-cart .woocommerce-mini-cart__buttons a:not(.checkout){background:#fff!important;background-image:none!important;color:var(--brand)!important;border:1.5px solid var(--brand)!important;box-shadow:none!important}
.mini-cart .woocommerce-mini-cart__buttons a:not(.checkout):hover{background:var(--brand)!important;color:#fff!important}
.mini-cart .woocommerce-mini-cart__empty-message{text-align:center;color:var(--muted);padding:1.6rem .5rem;margin:0;font-size:.9rem}
.mini-cart p.buttons,.mini-cart p.total{margin:0}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:80vh;display:flex;align-items:center;overflow:hidden;background:linear-gradient(130deg,#06213f 0%,#0a3f8f 55%,#124a9e 100%)}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;background:#06213f}
.hero__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,32,72,.9) 0%,rgba(9,54,120,.62) 45%,rgba(34,177,245,.2) 100%),linear-gradient(0deg,rgba(6,20,46,.85),transparent 60%)}
.hero__content{position:relative;z-index:2;max-width:680px;color:#fff;padding:80px 22px}
.hero__kicker{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#cdeaff;background:rgba(34,177,245,.18);border:1px solid rgba(123,212,255,.5);padding:.35rem .8rem;border-radius:999px;margin-bottom:1.1rem}
.hero__title{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:900;letter-spacing:-.04em;color:#fff}
.hero__title em{color:var(--brand-3);font-style:normal}
.hero__sub{margin:1.2rem 0 1.8rem;font-size:1.1rem;color:#dfeeff;max-width:520px}
.hero__cta{display:flex;gap:.9rem;flex-wrap:wrap}

/* ---------- Perks ---------- */
.perks{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:-46px auto 0;position:relative;z-index:5}
.perk{display:flex;gap:.9rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.15rem;box-shadow:var(--shadow)}
.perk b{font-size:1.5rem}
.perk strong{display:block;font-size:.95rem}
.perk span{font-size:.8rem;color:var(--muted)}

/* ---------- Secciones ---------- */
.section{padding:64px 0 8px}
.section__head{display:flex;align-items:end;justify-content:space-between;margin-bottom:1.6rem;gap:1rem}
.section__head h2{font-size:clamp(1.5rem,3vw,2.1rem)}
.section__link{color:var(--brand);font-weight:700;font-size:.95rem;white-space:nowrap}
.section__link:hover{color:var(--brand-2)}

/* ---------- Categorías ---------- */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.cat{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-sm);transition:.2s}
.cat:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--brand-3)}
.cat__img{position:relative;aspect-ratio:4/3;background:var(--grad-soft)}
.cat__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:16px;transition:transform .4s}
.cat:hover .cat__img img{transform:scale(1.07)}
.cat__count{position:absolute;top:10px;left:10px;z-index:2;background:rgba(255,255,255,.92);color:var(--brand);font-size:.7rem;font-weight:800;padding:.25rem .6rem;border-radius:999px;border:1px solid var(--line)}
.cat__txt{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.15rem 1.15rem;border-top:1px solid var(--line);flex:1}
.cat__name{font-size:1.2rem;font-weight:800;color:var(--brand)}
.cat__cta{margin-top:auto;padding-top:.8rem;display:inline-flex;align-items:center;gap:.4rem;color:var(--brand);font-weight:700;font-size:.9rem;border-top:1px dashed var(--line)}
.cat__cta b{transition:transform .25s}
.cat:hover .cat__cta b{transform:translateX(5px)}

/* ---------- Grid de productos (home + shop) ---------- */
ul.products,.epi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin:0;padding:0;list-style:none}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product,.epi-card{float:none!important;width:auto!important;margin:0!important;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:.2s;text-align:left}
ul.products li.product:hover,.epi-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--brand-3)}
.epi-card__media{position:relative;aspect-ratio:4/3;background:#fff;overflow:hidden;display:block}
.epi-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:14px;margin:0;transition:transform .4s}
.epi-card:hover .epi-card__media img{transform:scale(1.06)}
.epi-card__body{padding:.9rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem;flex:1;border-top:1px solid var(--line)}
.epi-card__brand{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-2)}
.epi-card__title{font-size:.98rem;font-weight:700;line-height:1.25;margin:0}
.epi-card__title a:hover{color:var(--brand)}
.epi-card__price{margin:.2rem 0 .7rem;color:var(--text)}
.epi-card__price .price{font-size:1.1rem;font-weight:800;color:var(--text)}
.epi-card__price del{color:var(--muted);font-weight:400;font-size:.85rem;margin-right:.35rem}
.epi-card__price ins{text-decoration:none}
.epi-card__badge{position:absolute;top:10px;left:10px;z-index:2;background:var(--grad);color:#fff;font-size:.68rem;font-weight:800;padding:.28rem .6rem;border-radius:7px}
.epi-card .button,.epi-card .added_to_cart{margin-top:auto!important;width:100%;text-align:center}
.epi-card .added_to_cart{margin-top:.5rem!important;background:var(--surface-2);color:var(--brand);box-shadow:none}

/* onsale genérico Woo */
.woocommerce span.onsale{background:var(--grad);color:#fff;border-radius:7px;font-weight:800;min-height:auto;min-width:auto;padding:.28rem .6rem;line-height:1.2;top:10px;left:10px;margin:0}

/* ---------- Video banner ---------- */
.vbanner{position:relative;min-height:400px;margin:70px 0;display:flex;align-items:center;overflow:hidden;background:linear-gradient(130deg,#06213f,#0a3f8f)}
.vbanner__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.vbanner__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,32,72,.88),rgba(9,54,120,.5) 55%,transparent)}
.vbanner__content{position:relative;z-index:2;max-width:520px;color:#fff}
.vbanner__content h2{font-size:clamp(2rem,4vw,3rem);color:#fff}
.vbanner__content p{margin:.8rem 0 1.4rem;color:#e0eeff}

/* ---------- Page header / breadcrumb ---------- */
.pagehead{padding:38px 0 6px;background:var(--grad-soft);border-bottom:1px solid var(--line);margin-bottom:24px}
.pagehead h1,.pagehead .woocommerce-products-header__title{font-size:clamp(1.7rem,4vw,2.4rem);margin:.2rem 0}
.woocommerce .woocommerce-breadcrumb{color:var(--muted);font-size:.83rem;margin-bottom:.3rem}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--brand)}

/* ---------- Shop toolbar ---------- */
.woocommerce .woocommerce-result-count{color:var(--muted);font-size:.88rem}
.woocommerce .woocommerce-ordering select{border:1px solid var(--line-2);border-radius:8px;padding:.5rem .7rem;font-family:inherit}

/* ---------- Single product ---------- */
.single-product div.product{display:block}
.epi-product-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:start;margin-bottom:2.5rem}
/* Reset de anchos/floats que WooCommerce aplica por defecto */
.single-product div.product .woocommerce-product-gallery,
.epi-product-gallery{width:100%!important;float:none!important;margin:0!important}
.single-product div.product .summary,
.single-product div.product .entry-summary{width:auto!important;float:none!important;margin:0!important}
.single-product div.product .woocommerce-product-gallery__image img{border-radius:var(--radius);border:1px solid var(--line)}
.single-product div.product .product_title{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:.4rem}
.single-product div.product p.price,.single-product div.product span.price{color:var(--brand);font-size:1.7rem;font-weight:800}
.single-product div.product p.price del{color:var(--muted);font-size:1rem;font-weight:400}
.single-product .woocommerce-product-details__short-description{color:#3f5165;margin:1rem 0}
.single-product .cart{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin:1.4rem 0}
.single-product .quantity input.qty{width:70px;height:48px;text-align:center;border:1px solid var(--line-2);border-radius:999px;font-family:inherit;font-size:1rem}
.single-product .product_meta{font-size:.85rem;color:var(--muted);margin-top:1rem}
.single-product .product_meta a:hover{color:var(--brand)}
.woocommerce-tabs{grid-column:1/-1;margin-top:1rem}
.woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:.4rem;padding:0 0 1px;border-bottom:1px solid var(--line);margin:0 0 1.2rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.woocommerce-tabs ul.tabs::-webkit-scrollbar{height:4px}
.woocommerce-tabs ul.tabs::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}
.woocommerce-tabs ul.tabs li{background:none;flex:0 0 auto;white-space:nowrap}
.woocommerce-tabs ul.tabs li a{padding:.6rem 1rem;font-weight:700;color:var(--muted);border-radius:8px 8px 0 0}
.woocommerce-tabs ul.tabs li.active a{color:var(--brand);border-bottom:2px solid var(--brand)}
.related.products,.up-sells{grid-column:1/-1;margin-top:2rem}
.related.products>h2,.up-sells>h2{font-size:1.5rem;margin-bottom:1.2rem}

/* variation swatches / selects */
.single-product table.variations select{border:1px solid var(--line-2);border-radius:8px;padding:.55rem .7rem;font-family:inherit}
/* Swatches tipo texto/botón (talla, etc.): rectángulos legibles, NO círculos.
   (No afecta a los swatches de color, que sí son .color-variable-item.) */
ul.variable-items-wrapper{display:flex;flex-wrap:wrap;gap:.4rem;margin:.2rem 0;padding:0;list-style:none}
.variable-item.button-variable-item{
	width:auto!important;min-width:44px;height:auto!important;min-height:0!important;
	border-radius:8px!important;padding:.5rem .75rem!important;border:1px solid var(--line-2)!important;
	background:#fff!important;box-shadow:none!important;margin:0!important;transition:.15s}
.variable-item.button-variable-item .variable-item-span{
	width:auto!important;height:auto!important;line-height:1.2!important;font-size:.85rem;font-weight:700;
	color:var(--text);white-space:nowrap;padding:0!important;background:none!important}
.variable-item.button-variable-item:hover,
.variable-item.button-variable-item.selected{border-color:var(--brand)!important;box-shadow:0 0 0 1px var(--brand) inset!important}
.variable-item.button-variable-item.selected .variable-item-span{color:var(--brand)}
/* Etiqueta de cada atributo de variación */
.single-product table.variations th.label label{font-weight:700;color:var(--text)}

/* ---------- Cart & Checkout ---------- */
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:var(--radius);border-collapse:separate;overflow:hidden}
.woocommerce table.shop_table th{background:var(--surface-2);color:var(--text)}
.woocommerce .cart_totals h2,.woocommerce-checkout h3{color:var(--text)}
.woocommerce #payment,.woocommerce .cart-collaterals .cart_totals{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container .select2-selection{border:1px solid var(--line-2)!important;border-radius:8px!important;padding:.7rem .8rem;font-family:inherit;min-height:auto}
.woocommerce-info,.woocommerce-message{border-top-color:var(--brand)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--brand)}

/* ---------- Checkout: 2 columnas (form + resumen sticky) ---------- */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.6fr 1fr;gap:1.2rem 2.4rem;align-items:start}
.woocommerce-checkout form.checkout #customer_details{grid-column:1;grid-row:1 / span 2;width:auto!important;float:none!important}
.woocommerce-checkout form.checkout #order_review_heading{grid-column:2;grid-row:1;margin:0 0 .9rem;font-size:1.25rem}
.woocommerce-checkout form.checkout #order_review{grid-column:2;grid-row:2;width:auto!important;float:none!important;position:sticky;top:94px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;box-shadow:var(--shadow-sm)}
/* columnas internas (facturación / envío) apiladas en tarjetas */
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%!important;float:none!important;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem 1.4rem;margin:0 0 1.2rem;box-shadow:var(--shadow-sm)}
.woocommerce-checkout #customer_details h3{font-size:1.15rem;margin-bottom:1rem}
.woocommerce-checkout .form-row label{display:block;font-size:.82rem;color:var(--muted);font-weight:600;margin-bottom:.35rem}
.woocommerce-checkout .form-row .required{color:var(--brand);border:0}
.woocommerce-checkout .woocommerce-input-wrapper{display:block;width:100%}
/* resumen del pedido */
.woocommerce-checkout #order_review .shop_table{border:0;box-shadow:none;margin:0}
.woocommerce-checkout #order_review .shop_table th,.woocommerce-checkout #order_review .shop_table td{padding:.6rem .2rem;border-bottom:1px solid var(--line)}
.woocommerce-checkout #order_review .cart_item .product-name{font-size:.9rem;color:var(--text)}
.woocommerce-checkout #order_review .order-total .amount{color:var(--brand);font-size:1.15rem}
.woocommerce-checkout #order_review #payment{background:transparent;border:0;border-radius:0;padding:1rem 0 0;margin-top:.5rem;border-top:1px solid var(--line)}
.woocommerce-checkout #payment ul.payment_methods{border:0;padding:0;margin:0 0 1rem}
.woocommerce-checkout #payment ul.payment_methods li{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;margin-bottom:.5rem;list-style:none}
.woocommerce-checkout #payment ul.payment_methods li label{display:inline;color:var(--text);font-weight:700;margin:0}
.woocommerce-checkout #payment div.payment_box{background:#fff;border-radius:8px;margin-top:.6rem;font-size:.85rem;color:var(--muted)}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #place_order{width:100%;margin-top:.6rem;font-size:1.05rem;padding:.95rem}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{font-size:.82rem;color:var(--muted);margin-bottom:.6rem}
/* toggle de cupón como barra sutil */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{background:var(--surface-2);border-top-color:var(--brand);border-radius:10px;font-size:.88rem}
.checkout_coupon.woocommerce-form-coupon{border:1px solid var(--line)!important;border-radius:var(--radius);padding:1.2rem;background:#fff}

/* ---------- Newsletter ---------- */
.news{background:var(--grad-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:70px}
.news__inner{text-align:center;padding:60px 22px}
.news__inner h2{font-size:2rem}
.news__inner p{color:var(--muted);margin:.6rem 0 1.5rem}

/* ---------- Footer ---------- */
.footer{background:linear-gradient(160deg,#0a3f8f 0%,#072451 100%);color:#cfe1f5;margin-top:70px;padding-top:54px}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1fr;gap:2rem;padding-bottom:36px}
.footer__col h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#89b4e6;margin-bottom:.7rem}
.footer__col a,.footer__col p,.footer__col li{color:#c3d8f2;font-size:.9rem;transition:color .2s;list-style:none}
.footer__col ul{margin:0;padding:0}
.footer__col li{margin-bottom:.35rem}
.footer__col a:hover{color:#fff}
.footer__logo{display:flex;align-items:center;gap:.5rem;font-size:1.2rem;color:#fff;font-weight:900;margin-bottom:.6rem}
.footer__tag{color:var(--brand-3)!important;font-weight:600}
.footer__bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 22px;color:#8fb2df;font-size:.82rem;text-align:center}

/* ============================================================
   TIENDA — layout con filtros
   ============================================================ */
.pagehead__desc{color:var(--muted);max-width:70ch;margin-top:.3rem;font-size:.92rem}
.shop-layout{display:grid;grid-template-columns:260px 1fr;gap:2rem;align-items:start;padding-bottom:70px}
.shop-sidebar{position:sticky;top:94px}
.shop-sidebar__toggle{display:none;width:100%;background:var(--grad);color:#fff;border:0;border-radius:999px;padding:.7rem 1rem;font-weight:700;font-family:inherit;cursor:pointer;margin-bottom:1rem}
.filter-block{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem 1.1rem 1.1rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}
.filter-block h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.7rem}
.filter-clear{display:inline-block;margin-bottom:1rem;color:var(--danger);font-weight:700;font-size:.85rem}
.filter-cats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.1rem}
.filter-cats a{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .6rem;border-radius:8px;font-size:.9rem;color:#3a4d62;transition:.15s}
.filter-cats a:hover{background:var(--surface-2)}
.filter-cats a.is-active{background:#e6f2ff;color:var(--brand);font-weight:700}
.filter-cats__count{font-size:.72rem;color:var(--muted);background:var(--surface-2);border-radius:999px;padding:.05rem .5rem}
.filter-help{font-size:.82rem;color:var(--muted);padding:0 .3rem}
.filter-help a{color:var(--brand);font-weight:700}

/* Widgets Woo dentro de los filtros */
.filter-block ul.product-categories,.filter-block .woocommerce-widget-layered-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.1rem}
.filter-block .woocommerce-widget-layered-nav-list li,.filter-block ul.product-categories li{padding:0}
.filter-block .woocommerce-widget-layered-nav-list a,.filter-block ul.product-categories a{display:inline-block;padding:.4rem .5rem;border-radius:8px;font-size:.88rem;color:#3a4d62}
.filter-block .woocommerce-widget-layered-nav-list a:hover{background:var(--surface-2);color:var(--brand)}
.filter-block .woocommerce-widget-layered-nav-list li.chosen a{color:var(--brand);font-weight:700}
.filter-block .price_slider_wrapper .ui-slider{background:var(--line);border-radius:999px;height:6px;margin:1rem 0}
.filter-block .price_slider_wrapper .ui-slider .ui-slider-range{background:var(--grad)}
.filter-block .price_slider_wrapper .ui-slider .ui-slider-handle{background:#fff;border:2px solid var(--brand);border-radius:50%;width:16px;height:16px;top:-6px}
.filter-block .price_slider_amount{display:flex;flex-direction:column;gap:.6rem;font-size:.82rem;color:var(--muted)}
.filter-block .price_slider_amount .button{width:100%;padding:.5rem;font-size:.82rem}

/* Toolbar (resultados + orden) */
.shop-main{min-width:0}
.shop-main .woocommerce-result-count{float:left;margin:0;color:var(--muted);font-size:.88rem;line-height:44px}
.shop-main .woocommerce-ordering{float:right;margin:0 0 1rem}
.shop-main .woocommerce-ordering select{height:44px}
.shop-main .products{clear:both}
.woocommerce nav.woocommerce-pagination{margin-top:2rem;text-align:center}
.woocommerce nav.woocommerce-pagination ul{border:0;display:inline-flex;gap:.35rem;flex-wrap:wrap;justify-content:center;max-width:100%}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:1px solid var(--line);border-radius:8px;min-width:40px;padding:.4rem;background:#fff}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--grad);color:#fff;border-color:transparent}

/* ============================================================
   FICHA DE PRODUCTO — ordenada y con onda
   ============================================================ */
.epi-product-top .summary.entry-summary{position:sticky;top:94px}

/* Precio + título ya definidos arriba; aquí ordenamos los botones */
.single-product form.cart{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin:1.3rem 0 .4rem}
.single-product form.cart .quantity{margin:0}
.single-product .single_add_to_cart_button{flex:1 1 200px}
/* Buy now => secundario (outline) full width */
.single-product .wpcbn-btn.single_add_to_cart_button,.single-product .wc-buy-now-button{flex:1 1 100%!important;background:#fff!important;color:var(--brand)!important;border:1.5px solid var(--brand)!important;box-shadow:none!important;background-image:none!important}
.single-product .wpcbn-btn.single_add_to_cart_button:hover,.single-product .wc-buy-now-button:hover{background:var(--brand)!important;color:#fff!important}
/* Acciones secundarias => fila de chips sutiles */
.single-product .yith-wcwl-add-to-wishlist{margin:1rem 0 .2rem;display:inline-block}
.single-product .yith-wcwl-add-to-wishlist a,.single-product a.compare.button,.single-product a.wcfm_catalog_enquiry{
	display:inline-flex!important;align-items:center;gap:.4rem;background:var(--surface-2)!important;color:#3f5165!important;border:1px solid var(--line)!important;
	box-shadow:none!important;padding:.45rem .8rem!important;font-size:.82rem!important;font-weight:600!important;border-radius:999px!important;margin:.2rem .4rem .2rem 0!important;text-transform:none!important;min-height:auto!important}
.single-product .yith-wcwl-add-to-wishlist a:hover,.single-product a.compare.button:hover,.single-product a.wcfm_catalog_enquiry:hover{border-color:var(--brand)!important;color:var(--brand)!important;background:#fff!important}
.single-product .product_meta{border-top:1px solid var(--line);padding-top:1rem;margin-top:1.4rem;line-height:1.9}
.single-product .product_meta>span{display:block}

/* Galería */
.single-product .woocommerce-product-gallery{border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:#fff}
.single-product .woocommerce-product-gallery__image img{border:0;border-radius:12px}
.single-product .flex-control-thumbs{margin-top:10px;display:flex;gap:8px;padding:0}
.single-product .flex-control-thumbs li{width:auto!important;margin:0!important}
.single-product .flex-control-thumbs img{border-radius:8px;border:1px solid var(--line);width:70px;height:70px;object-fit:cover}

/* Pestañas + descripción con estilo */
.woocommerce-tabs .panel{padding-top:.5rem}
.woocommerce-Tabs-panel h2{font-size:1.5rem;margin:1.6rem 0 .6rem;padding-bottom:.4rem;border-bottom:2px solid var(--line)}
.woocommerce-Tabs-panel h2:first-child{margin-top:0}
.woocommerce-Tabs-panel h3{font-size:1.05rem;color:var(--brand);margin:1.3rem 0 .5rem;letter-spacing:.01em}
.woocommerce-Tabs-panel h4{font-size:.98rem;margin:1rem 0 .4rem}
.woocommerce-Tabs-panel p,.woocommerce-Tabs-panel li{color:#3f5165;line-height:1.7}
.woocommerce-Tabs-panel table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.92rem}
.woocommerce-Tabs-panel table th,.woocommerce-Tabs-panel table td{padding:.55rem .8rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.woocommerce-Tabs-panel table tr:nth-child(odd){background:var(--surface-2)}
.woocommerce-Tabs-panel img{border-radius:12px;margin:.6rem 0}
/* filas etiqueta/valor de las fichas técnicas (texto plano con tabulaciones o divs) */
.woocommerce-Tabs-panel .content{color:#3f5165}
.woocommerce-product-details__short-description ul{padding-left:1.1rem}
.woocommerce-product-details__short-description li{margin:.2rem 0}

/* Reseñas / relacionados */
.related.products>h2,.upsells.products>h2,.woocommerce-Tabs-panel h2.woocommerce-Reviews-title{font-size:1.5rem}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
    .shop-layout{grid-template-columns:220px 1fr;gap:1.4rem}
}
@media(max-width:1024px){
    ul.products,.epi-grid,.cats,.perks{grid-template-columns:repeat(3,1fr)}
    .epi-product-top{grid-template-columns:1fr}
    .epi-product-top .summary.entry-summary{position:static}
}
@media(max-width:820px){
    .nav__menu{display:none;position:absolute;top:100%;left:0;right:0;z-index:70;flex-direction:column;background:#fff;border-top:1px solid var(--line);padding:.6rem 20px 1.4rem;gap:.1rem;box-shadow:var(--shadow);margin:0;max-height:80vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
    .nav__menu.is-open{display:flex}
    .nav__menu a{padding:.7rem 0;border-bottom:1px solid var(--line);width:100%}
    .nav__menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 1rem}
    .nav__burger{display:block}
    ul.products,.epi-grid,.cats,.perks{grid-template-columns:repeat(2,1fr)}
    .topbar__inner span:not(.topbar__contact){display:none}
    .shop-layout{grid-template-columns:1fr}
    .shop-sidebar{position:static}
    .shop-sidebar__toggle{display:block}
    .shop-sidebar__inner{display:none}
    .shop-sidebar__inner.is-open{display:block}
    .epi-product-top .summary.entry-summary{position:static}
    .mini-cart{display:none}
    .footer__grid{grid-template-columns:1fr 1fr;gap:1.6rem}
    .wrap{padding-left:16px;padding-right:16px}
    .hero__content{padding:52px 16px}
    .hero__kicker{font-size:.72rem;letter-spacing:.1em}
    .topbar__inner{justify-content:center;gap:0}
    .topbar__contact{margin:0}
    .nav__inner{gap:.7rem}
    .nav__actions{margin-left:auto}
    .woocommerce-checkout form.checkout{grid-template-columns:1fr}
    .woocommerce-checkout form.checkout #customer_details,
    .woocommerce-checkout form.checkout #order_review_heading,
    .woocommerce-checkout form.checkout #order_review{grid-column:1;grid-row:auto;position:static}
    .woocommerce-tabs ul.tabs{flex-wrap:wrap;overflow:visible;gap:.3rem}
    .woocommerce-tabs ul.tabs li{white-space:normal}
    .woocommerce-tabs ul.tabs li a{padding:.5rem .75rem;font-size:.85rem}
}
@media(max-width:480px){
    ul.products,.epi-grid,.cats{grid-template-columns:1fr 1fr}
    .perks{grid-template-columns:1fr 1fr}
    .hero{min-height:70vh}
}
