/*
Theme Name:   MG Bobinas Child
Theme URI:    https://www.bobinasbaratas.com/
Description:  Tema hijo de Astra que replica el diseño de bobinasbaratas.com (sistema CMYK, Barlow Condensed / Barlow). Optimizado para SEO: precios y schema Product/Offer renderizados por WooCommerce en el servidor.
Author:       Nexo Virtual — José Luis Pérez Raya
Author URI:   https://nexovirtual.net/
Template:     astra
Version:      1.0.0
Text Domain:  mgbobinas-child
*/

/* ============================================================
   TOKENS — sistema de diseño original de bobinasbaratas.com
   ============================================================ */
:root{
  --cyan:#00AEEF;
  --magenta:#EC008C;
  --yellow:#FFF200;
  --black:#1A1A1A;
  --white:#FFFFFF;
  --bg:#F7F7F7;
  --surface:#FFFFFF;
  --border:#E5E5E5;
  --ink:#1A1A1A;
  --text:#1A1A1A;
  --muted:#6B6B6B;
  --red:#E53935;
  --radius:8px;
  --shadow:0 4px 24px rgba(0,0,0,.10);
}

/* ============================================================
   BASE
   ============================================================ */
body{
  font-family:'Barlow',sans-serif;
  background:var(--bg);
  color:var(--text);
}
a{color:var(--magenta);}

h1,h2,h3,h4,h5,h6,
.site-title,.entry-title,.widget-title,
.woocommerce-loop-product__title,
.product_title{
  font-family:'Barlow Condensed',sans-serif !important;
  font-weight:900;
  color:var(--black);
  line-height:1.05;
}

/* Ancho de contenedor coincidente con el sitio original (1280px) */
.ast-container,
.site-content .ast-container{
  max-width:1280px;
}

/* ============================================================
   ANNOUNCE BAR (barra superior negra)
   ============================================================ */
.mg-announce{
  background:var(--black);color:#fff;
  text-align:center;padding:9px 16px;
  font-size:.82rem;letter-spacing:.05em;
  font-family:'Barlow Condensed',sans-serif;font-weight:600;
  display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;
}
.mg-announce .c{color:var(--cyan);}
.mg-announce b{color:var(--magenta);}

/* ============================================================
   HEADER (borde inferior negro grueso, sticky)
   ============================================================ */
.site-header,
.ast-primary-header-bar{
  background:var(--white) !important;
  border-bottom:3px solid var(--black);
  box-shadow:0 2px 16px rgba(0,0,0,.08);
}
.site-title a,
.ast-site-title-wrap .site-title a{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:900;font-size:1.5rem;line-height:1;color:var(--black);
}
.site-description{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.75rem;font-weight:600;color:var(--muted);
  letter-spacing:.08em;text-transform:uppercase;
}

/* Menú principal — mayúsculas condensadas, hover negro */
.main-header-menu .menu-link,
.ast-header-navigation-wrap .menu-link{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.95rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--black);
  border-radius:var(--radius);
  transition:background .2s,color .2s;
}
.main-header-menu .menu-link:hover,
.main-header-menu .current-menu-item > .menu-link{
  background:var(--black);color:var(--white);
}

/* Icono / botón de carrito en magenta */
.ast-site-header-cart .ast-cart-menu-wrap,
.ast-header-woo-cart .ast-addon-cart-wrap{
  color:var(--magenta);
}
.ast-cart-menu-wrap .count,
.ast-cart-menu-wrap .ast-count-text{
  background:var(--magenta);color:#fff;
}

/* ============================================================
   BOTONES — negro por defecto, magenta al hover (como el sitio)
   ============================================================ */
.wp-block-button__link,
.ast-button,
button.button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .button,
.woocommerce #respond input#submit{
  background:var(--black);
  color:#fff;
  border:none;
  border-radius:6px;
  font-family:'Barlow Condensed',sans-serif;
  font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  transition:background .2s,transform .15s;
}
.wp-block-button__link:hover,
.ast-button:hover,
button.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .button:hover,
.woocommerce #respond input#submit:hover{
  background:var(--magenta);
  color:#fff;
  transform:translateY(-2px);
}

/* Botón principal de compra (add to cart en ficha) más grande y magenta */
.woocommerce div.product form.cart .button.single_add_to_cart_button{
  background:var(--magenta);
  font-size:1.15rem;
  padding:14px 32px;
}
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover{
  background:#c40079;
}

/* ============================================================
   CATÁLOGO / GRID DE PRODUCTOS (WooCommerce loop)
   ============================================================ */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(272px,1fr));
  gap:24px;
  margin:0;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  width:auto !important;
  margin:0 !important;
  background:var(--white);
  border:2px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  padding:0;
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 40px rgba(0,0,0,.13);
  border-color:var(--cyan);
}
.woocommerce ul.products li.product a img{
  margin:0;
  aspect-ratio:1/1;
  object-fit:contain;
  background:#fff;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:1.1rem;font-weight:800;line-height:1.2;
  color:var(--black);padding:14px 18px 4px;
}
.woocommerce ul.products li.product .price{
  display:block;
  padding:0 18px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.7rem;font-weight:900;color:var(--black);
}
.woocommerce ul.products li.product .price del{
  font-size:.82rem;color:var(--muted);font-weight:400;
}
.woocommerce ul.products li.product .price ins{
  text-decoration:none;
}
.woocommerce ul.products li.product .button{
  margin:14px 18px 18px;
  display:inline-block;
}
/* Etiquetas de oferta (badge) */
.woocommerce span.onsale{
  background:var(--magenta);
  color:#fff;
  font-family:'Barlow Condensed',sans-serif;
  font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  border-radius:99px;
  min-height:auto;min-width:auto;
  padding:3px 12px;line-height:1.4;
  top:10px;left:10px;margin:0;
}

/* ============================================================
   FICHA DE PRODUCTO (single)
   ============================================================ */
.woocommerce div.product .product_title{
  font-size:clamp(1.8rem,3vw,2.6rem);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:'Barlow Condensed',sans-serif;
  font-size:2rem;font-weight:900;color:var(--black);
}
.woocommerce div.product p.price del{
  font-size:1rem;color:var(--muted);font-weight:400;
}
/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.85rem;letter-spacing:.03em;text-transform:uppercase;
  color:var(--muted);
}
.woocommerce .woocommerce-breadcrumb a{color:var(--muted);}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--magenta);}

/* Pestañas de información del producto */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  border-bottom:2px solid var(--black);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  letter-spacing:.03em;text-transform:uppercase;color:var(--black);
}

/* Tabla de especificaciones (atributos) */
.woocommerce table.shop_attributes th{
  font-family:'Barlow Condensed',sans-serif;
  text-transform:uppercase;letter-spacing:.04em;color:var(--muted);
}

/* ============================================================
   CARRITO / CHECKOUT — línea de producto con doble precio
   ============================================================ */
/* Precio por unidad bajo el nombre en el carrito (magenta) */
.mg-cart-unitprice{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:.95rem;color:var(--magenta);letter-spacing:.02em;margin-top:2px;
}

/* Cabecera del panel de carrito (negra) — si se usa mini-cart de Astra */
.widget_shopping_cart_content,
.woocommerce-mini-cart{font-family:'Barlow',sans-serif;}
.woocommerce-mini-cart__buttons .checkout,
.wc-block-cart__submit-button,
.wc-proceed-to-checkout a.checkout-button{
  background:var(--magenta) !important;color:#fff !important;
  font-family:'Barlow Condensed',sans-serif;font-weight:900;
  letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius);
}
.wc-proceed-to-checkout a.checkout-button:hover{background:#c40079 !important;}

/* Botones de pago del checkout en magenta */
.woocommerce #payment #place_order,
.woocommerce-checkout button#place_order{
  background:var(--magenta);color:#fff;
  font-family:'Barlow Condensed',sans-serif;font-weight:900;
  font-size:1.2rem;letter-spacing:.05em;text-transform:uppercase;
  padding:16px;border-radius:var(--radius);width:100%;
}
.woocommerce #payment #place_order:hover{background:#c40079;}

/* Totales del carrito/checkout */
.woocommerce-cart table.cart td.actions .button,
.cart_totals h2,.woocommerce-checkout-review-order h3{
  font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;
}
.cart_totals .order-total .amount,
.woocommerce-checkout-review-order .order-total .amount{
  font-family:'Barlow Condensed',sans-serif;font-weight:900;
  font-size:1.5rem;color:var(--black);
}

/* Nota de desglose de IVA bajo el total */
.mg-tax-breakdown{
  font-size:.8rem;color:var(--muted);margin-top:4px;
}

/* Aviso "selecciona provincia para ver portes" */
.mg-province-hint{
  display:flex;align-items:center;gap:8px;
  font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;
  color:var(--magenta);margin:12px 0 8px;
}
/* Selector de provincia con borde magenta (como el original) */
.woocommerce form .form-row select#billing_state,
.woocommerce form .form-row select#shipping_state{
  border:2px solid var(--magenta);border-radius:var(--radius);
  padding:12px 14px;font-family:'Barlow',sans-serif;
}

/* ============================================================
   BLOQUE REDSYS (pago seguro)
   ============================================================ */
.mg-redsys-box{
  border:2px solid var(--cyan);border-radius:12px;
  background:#f0fbff;padding:20px 22px;margin:16px 0;
}
.mg-redsys-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.mg-redsys-logo{
  background:var(--black);color:#fff;
  font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:.85rem;
  letter-spacing:.08em;padding:6px 12px;border-radius:6px;
}
.mg-redsys-title{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.05rem;color:var(--black);}
.mg-redsys-sub{font-size:.82rem;color:var(--muted);}
.mg-redsys-list{list-style:none;padding:0;margin:0;}
.mg-redsys-list li{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;color:var(--text);padding:5px 0;line-height:1.5;}
.mg-redsys-cards{display:flex;gap:8px;margin-top:12px;}
.mg-redsys-cards span{
  border:1.5px solid var(--border);border-radius:6px;background:#fff;
  font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.75rem;
  padding:5px 12px;color:var(--black);
}
.mg-trust-row{
  display:flex;flex-wrap:wrap;gap:16px;justify-content:center;
  font-size:.78rem;color:var(--muted);margin-top:14px;
}

/* ============================================================
   SELLO CIRCULAR DE PACK ("10 BOBINAS") — sobre la imagen
   ============================================================ */
.mg-pack-seal{
  position:absolute;top:10px;right:10px;z-index:3;
  width:76px;height:76px;border-radius:50%;
  background:#fff;
  border:2px dashed var(--magenta);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;line-height:1;
  box-shadow:0 2px 10px rgba(0,0,0,.12);
}
.mg-pack-seal .n{
  font-family:'Barlow Condensed',sans-serif;font-weight:900;
  font-size:1.5rem;color:var(--magenta);
}
.mg-pack-seal .u{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--black);
  margin-top:2px;
}
/* En el loop, la tarjeta necesita posicionamiento relativo */
.woocommerce ul.products li.product{position:relative;}
.woocommerce ul.products li.product a img{position:relative;}
/* En la ficha, el sello va sobre la galería */
.woocommerce div.product .woocommerce-product-gallery{position:relative;}

/* ============================================================
   CHIPS / PÍLDORAS DE ATRIBUTOS
   ============================================================ */
.mg-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;}
.mg-chip{
  display:inline-flex;align-items:center;gap:6px;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.8rem;
  letter-spacing:.03em;
  padding:7px 14px;border-radius:99px;
  background:#f0f0f0;color:var(--black);
  border:1.5px solid var(--border);
}
.mg-chip--pack{background:var(--magenta);color:#fff;border-color:var(--magenta);}
.mg-chip--bpa{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7;}

/* ============================================================
   LISTA DE CARACTERÍSTICAS (descripción corta con iconos)
   ============================================================ */
.mg-feats{list-style:none;margin:14px 0;padding:0;}
.mg-feats li{
  display:flex;align-items:center;gap:10px;
  font-size:.92rem;color:var(--text);padding:4px 0;
}
.mg-feats li .ico{font-size:1.05rem;flex-shrink:0;}
.mg-feats-title{
  display:flex;align-items:center;gap:8px;
  font-family:'Barlow Condensed',sans-serif;font-weight:800;
  color:#2e7d32;margin-bottom:4px;
}

/* ============================================================
   BLOQUE DE DOBLE PRECIO (unidad + total lote)
   ============================================================ */
.mg-price{margin:18px 0;}
.mg-price-unit{display:flex;align-items:flex-end;gap:6px;}
.mg-price-unit .amt{
  font-family:'Barlow Condensed',sans-serif;font-weight:900;
  font-size:2.6rem;line-height:.9;color:var(--black);
}
.mg-price-unit .cur{
  font-family:'Barlow Condensed',sans-serif;font-weight:900;
  font-size:1.2rem;color:var(--black);vertical-align:super;
  align-self:flex-start;margin-top:.3rem;
}
.mg-price-unit .per{font-size:.85rem;color:var(--muted);margin-bottom:.35rem;}
.mg-price-iva{font-size:.82rem;color:var(--muted);margin-top:2px;}

.mg-price-lote{
  margin-top:14px;background:#f7f7f7;
  border:1.5px solid var(--border);border-radius:10px;
  padding:14px 16px;
}
.mg-price-lote .label{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
  margin-bottom:6px;
}
.mg-price-lote .total{display:flex;align-items:flex-end;gap:8px;}
.mg-price-lote .total .amt{
  font-family:'Barlow Condensed',sans-serif;font-weight:900;
  font-size:2rem;line-height:.9;color:var(--black);
}
.mg-price-lote .total .cur{
  font-family:'Barlow Condensed',sans-serif;font-weight:900;
  font-size:1rem;vertical-align:super;align-self:flex-start;margin-top:.2rem;
}
.mg-price-lote .total .tax{font-size:.82rem;color:var(--muted);margin-bottom:.3rem;}
.mg-price-lote .lote-iva{font-size:.8rem;color:var(--muted);margin-top:4px;}

/* Precio en el loop del catálogo con € superíndice */
.woocommerce ul.products li.product .price .mg-cur{
  font-size:1rem;vertical-align:super;
}

/* ============================================================
   FRANJA DE VENTAJAS (features bar reutilizable)
   ============================================================ */
.mg-features{background:var(--black);padding:0 24px;}
.mg-features-inner{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.08);
}
.mg-feature{
  padding:20px 16px;display:flex;align-items:center;gap:12px;
  border-right:1px solid rgba(255,255,255,.08);
}
.mg-feature:last-child{border-right:none;}
.mg-feature-icon{font-size:1.5rem;}
.mg-feature-text{font-family:'Barlow Condensed',sans-serif;font-size:.9rem;font-weight:600;color:#fff;letter-spacing:.02em;}
.mg-feature-sub{font-size:.75rem;color:rgba(255,255,255,.45);}

/* ============================================================
   FOOTER (negro con puntos CMYK)
   ============================================================ */
.site-footer,
.ast-small-footer,
footer.site-footer{
  background:var(--black) !important;
  color:#fff;
}
.site-footer a{color:rgba(255,255,255,.6);}
.site-footer a:hover{color:#fff;}
.site-footer h4,.site-footer .widget-title{
  font-family:'Barlow Condensed',sans-serif;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;color:#fff;
}
.mg-footer-cmyk{display:flex;gap:8px;margin-top:12px;}
.mg-footer-cmyk .dot{width:14px;height:14px;border-radius:50%;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:768px){
  .mg-features-inner{grid-template-columns:repeat(2,1fr);}
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
    gap:14px;
  }
}
@media (max-width:480px){
  .mg-features-inner{grid-template-columns:1fr;}
}

/* Accesibilidad: foco visible y motion reducido */
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid var(--cyan);outline-offset:2px;
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;}
}

.mg-precio-unitario {
    margin: 8px 0 16px;
    line-height: 1.5;
}

.mg-precio-unitario div:first-child {
    font-size: 18px;
}

.mg-precio-unitario div:last-child {
    font-size: 14px;
    opacity: .75;
}

/* Precio unitario en tienda y categorías */
.mgb-unit-price-loop {
    margin: 5px 0 8px;
    font-size: 12px;
    line-height: 1.3;
    white-space: nowrap;
}

/* Precio unitario dentro de la ficha */
.mg-precio-unitario {
    margin: 8px 0 14px;
    font-size: 14px;
    line-height: 1.4;
    white-space: nowrap;
}

/* En móvil permitimos salto de línea si no cabe */
@media (max-width: 767px) {

    .mgb-unit-price-loop,
    .mg-precio-unitario {
        white-space: normal;
    }
}