/*
Theme Name: Mecatrónic Garage V3
Template: astra
Version: 1.0.25
Description: Tema hijo de Astra. Portada inmersiva, cabecera mínima, catálogo por tipo de módulo y ficha con panel de compra. Reversible: al volver a activar Astra todo vuelve al estado anterior.
Author: Mecatrónic Garage
Text Domain: mecatronic-v3
*/

/* ---------- tokens ---------- */
:root{
  --mg-bg:#FFFFFF; --mg-soft:#F3F3F1; --mg-ink:#0B0C0E; --mg-ink2:#4C525B; --mg-ink3:#6B727C; --mg-line:#E6E7E4; --mg-line2:#CFD1CD;
  --mg-dark:#0A0B0D; --mg-dark2:#15171B; --mg-dark3:#22252B; --mg-ondark:#F4F4F2; --mg-ondark2:#B3B8BF;
  --mg-acc:#D7262B; --mg-acc2:#B81E22; --mg-ok:#1E8E4E; --mg-okbg:#E3F3E9; --mg-pend:#8A5A00; --mg-pendbg:#FFF1D6;
  --mg-font:"Manrope","Helvetica Neue",Arial,sans-serif; --mg-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --mg-r:24px;
}
body, .ast-container, button, input, select, textarea{font-family:var(--mg-font)}
body{color:var(--mg-ink);background:var(--mg-bg);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--mg-font);text-wrap:balance}
h1,h2{font-weight:300;letter-spacing:-.01em}
h3,h4{font-weight:600}
a{color:inherit}
:focus-visible{outline:2px solid var(--mg-acc);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ---------- ocultar cabecera y pie de Astra (se reemplazan por los del tema hijo) ---------- */
#masthead, .site-header, #colophon, .site-footer, .ast-above-header-wrap, .ast-below-header-wrap{display:none!important}
.ast-separate-container .ast-article-single, .ast-separate-container .ast-article-post{background:transparent}

/* ---------- cabecera mínima ---------- */
.mg-hdr{position:sticky;top:0;z-index:999;color:var(--mg-ondark);background:rgba(10,11,13,.92);backdrop-filter:blur(10px);border-bottom:1px solid #1e2126;transition:background .25s}
body.mg-home .mg-hdr{background:transparent;border-color:transparent;margin-bottom:-64px}
body.mg-home .mg-hdr.solid{background:rgba(10,11,13,.9);border-color:#1e2126}
.mg-hdr .mg-wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:64px}
.mg-wrap{max-width:1240px;margin:0 auto;padding-inline:24px}
.mg-hdr .l,.mg-hdr .r{display:flex;align-items:center;gap:4px}
.mg-hdr .r{justify-content:flex-end}
.mg-hdr .mg-logo img{height:24px;width:auto;display:block}
.mg-hdr .ic{display:inline-flex;align-items:center;gap:8px;color:var(--mg-ondark);text-decoration:none;font-size:14px;font-weight:500;padding:8px 10px;border-radius:8px;border:0;background:none;cursor:pointer;line-height:1}
.mg-hdr .ic:hover{background:rgba(255,255,255,.1);color:#fff}
.mg-hdr .ic svg{width:18px;height:18px;display:block}
.mg-hdr .ic .n{font-family:var(--mg-mono);font-size:12px;min-width:1em}
.mg-menu{display:none;background:rgba(10,11,13,.97);border-top:1px solid #1e2126;color:var(--mg-ondark)}
.mg-menu.open{display:block}
.mg-hdr .mg-menu .mg-wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;padding-block:26px;height:auto;align-items:start}
.mg-menu form{display:flex;gap:8px;grid-column:1/-1}
.mg-menu input[type=search]{flex:1;min-width:0;font:inherit;font-size:15px;padding:12px 14px;border-radius:999px;border:1px solid #333;background:#15171b;color:#fff;outline:none}
.mg-menu input::placeholder{color:#8a9099}
.mg-menu form button{border:0;background:#fff;color:#000;border-radius:999px;padding:12px 18px;font-weight:600;cursor:pointer}
.mg-menu h4,.mg-menu h3{font-family:var(--mg-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mg-ondark2);margin:0 0 10px;font-weight:500}
.mg-menu a{display:block;color:var(--mg-ondark);text-decoration:none;padding:7px 0;font-size:16px}
.mg-menu a:hover{text-decoration:underline;color:#fff}
@media (max-width:760px){.mg-hdr .mg-menu .mg-wrap{grid-template-columns:1fr 1fr;gap:18px}.mg-hdr .ic .txt{display:none}}

/* ---------- botones ---------- */
.mg-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:8px;padding:13px 26px;font-weight:500;font-size:15px;text-decoration:none;border:1px solid transparent;cursor:pointer;line-height:1.2;transition:background .15s,border-color .15s}
.mg-btn-light{background:#E9EAEC;color:var(--mg-ink)} .mg-btn-light:hover{background:#fff;color:var(--mg-ink)}
.mg-btn-dark{background:var(--mg-ink);color:#fff} .mg-btn-dark:hover{background:#23262c;color:#fff}
.mg-btn-acc{background:var(--mg-acc);color:#fff} .mg-btn-acc:hover{background:var(--mg-acc2);color:#fff}
.mg-btn-wa{background:#15803D;color:#fff} .mg-btn-wa:hover{background:#116A32;color:#fff}
.mg-btn-out{background:transparent;border-color:var(--mg-line2);color:var(--mg-ink)} .mg-btn-out:hover{border-color:var(--mg-ink)}
.mg-btn svg{width:16px;height:16px}
.mg-txtlink{color:var(--mg-ondark);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:8px;padding:13px 6px}
.mg-txtlink:hover{text-decoration:underline;color:#fff}
.mg-txtlink svg{width:16px;height:16px;flex:0 0 16px}
.mg-arrow{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.5);color:#fff;flex:none}
.mg-arrow svg{width:16px;height:16px}
.mg-cardlink:hover .mg-arrow{background:#fff;color:#000}
.mg-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;padding:4px 10px;border-radius:999px;border:1px solid var(--mg-line2);background:#fff;color:var(--mg-ink2);line-height:1.3}
.mg-chip.glass{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);color:#fff;backdrop-filter:blur(4px)}
.mg-chip.type{background:#EEF0F3;border-color:transparent;color:var(--mg-ink);font-family:var(--mg-mono);font-size:11.5px;letter-spacing:.04em}
.mg-chip.new{background:var(--mg-ink);color:#fff;border-color:transparent}
.mg-chip.ok{background:var(--mg-okbg);color:var(--mg-ok);border-color:transparent}
.mg-pend{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--mg-pend);background:var(--mg-pendbg);padding:3px 8px;border-radius:6px;font-weight:500}

/* ---------- portada ---------- */
body.mg-home #content, body.mg-home .ast-container{max-width:none;padding:0;margin:0}
body.mg-home .ast-container{display:block}
#mg-main{display:block;width:100%;max-width:none;flex:1 1 100%;min-width:0}
.mg-hero,.mg-sec,.mg-big,.mg-disc{width:100%}
body.mg-home .site-content{padding:0}
.mg-hero{position:relative;height:100svh;min-height:600px;max-height:1000px;background:var(--mg-dark);color:var(--mg-ondark);overflow:hidden;display:flex;align-items:flex-end;margin:0}
.mg-hero .ph{position:absolute;inset:0;background-size:cover;background-position:70% 62%}
.mg-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 62%;opacity:0;transition:opacity .8s}
.mg-hero video.on{opacity:1}
.mg-hero .fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,11,13,.5) 0%,rgba(10,11,13,0) 28%,rgba(10,11,13,.1) 55%,rgba(10,11,13,.85) 100%),linear-gradient(90deg,rgba(10,11,13,.55) 0%,rgba(10,11,13,.2) 40%,rgba(10,11,13,0) 65%)}
.mg-hero .mg-wrap{position:relative;width:100%;padding-block:0 56px}
.mg-hero h1{font-size:clamp(30px,3.4vw,46px);font-weight:300;max-width:22ch;color:#fff;line-height:1.15;margin:0}
.mg-hero .acts{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}
.mg-hero .note{font-size:12.5px;color:var(--mg-ondark2);margin-top:18px;max-width:60ch}
.mg-rise{animation:mgrise .9s cubic-bezier(.2,.7,.2,1) both}
.mg-rise.d1{animation-delay:.12s}.mg-rise.d2{animation-delay:.24s}
@keyframes mgrise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (max-width:900px){
  .mg-hero{min-height:560px}
  .mg-hero .ph,.mg-hero video{background-position:center 0%;object-position:center 0%}
  .mg-hero .fade{background:linear-gradient(180deg,rgba(10,11,13,.45) 0%,rgba(10,11,13,.02) 20%,rgba(10,11,13,.3) 48%,rgba(10,11,13,.92) 70%,rgba(10,11,13,.97) 100%)}
  .mg-hero .mg-wrap{padding-block:0 36px}
  .mg-hero h1{font-size:clamp(28px,7.6vw,34px);max-width:16ch}
  .mg-hero .acts{flex-direction:column;align-items:stretch}.mg-hero .acts .mg-btn{width:100%}.mg-hero .mg-txtlink{justify-content:center}
}
.mg-sec{padding-block:72px}
.mg-feat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:980px;margin:0 auto}
.mg-cardlink{position:relative;display:block;border-radius:var(--mg-r);overflow:hidden;background:var(--mg-dark2);color:#fff;text-decoration:none;aspect-ratio:4/3;isolation:isolate}
.mg-cardlink .ph{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s ease}
.mg-cardlink:hover .ph{transform:scale(1.03)}
.mg-cardlink .g{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.72) 100%)}
.mg-cardlink .lab{position:absolute;left:20px;right:20px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.mg-cardlink .lab b{font-weight:500;font-size:17px;line-height:1.25;color:#fff}
.mg-featnote{font-size:12px;color:var(--mg-ink3);max-width:980px;margin:14px auto 0}
@media (max-width:800px){.mg-feat{grid-template-columns:1fr}.mg-cardlink{aspect-ratio:16/10}}
.mg-big{padding-block:40px 24px}
.mg-big h2{font-size:clamp(34px,4.6vw,60px);font-weight:300;max-width:22ch;margin:0}
.mg-tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mg-tile{position:relative;border-radius:var(--mg-r);overflow:hidden;background:#111317;color:#fff;text-decoration:none;display:flex;flex-direction:column;min-height:520px}
.mg-tile .name{position:absolute;top:26px;left:0;right:0;text-align:center;font-family:var(--mg-mono);font-size:30px;letter-spacing:.14em;color:#fff;z-index:2;font-weight:500;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.mg-tile .ph{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s ease}
.mg-tile:hover .ph{transform:scale(1.03)}
.mg-tile .ph.prod{background-size:68%;background-repeat:no-repeat;background-position:center 46%;background-color:#F2F2F0}
.mg-tile .g{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 55%,rgba(0,0,0,.8) 100%)}
.mg-tile .ph.prod+.g{background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,0) 28%,rgba(0,0,0,0) 55%,rgba(0,0,0,.78) 100%)}
.mg-tile .bot{position:relative;margin-top:auto;padding:22px 22px 20px;z-index:2}
.mg-tile .pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.mg-tile .desc{display:flex;align-items:center;justify-content:space-between;gap:14px}
.mg-tile .desc p{margin:0;font-size:14.5px;line-height:1.35;max-width:40ch;color:#fff}
.mg-tile .explore{display:none}
@media (max-width:800px){
  .mg-tiles{display:grid;grid-auto-flow:column;grid-auto-columns:88%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:6px;scrollbar-width:none;margin-inline:-24px;padding-inline:24px}
  .mg-tiles::-webkit-scrollbar{display:none}
  .mg-tile{scroll-snap-align:center;min-height:480px}
  .mg-tile .name{font-size:26px}
  .mg-tile .explore{display:flex;margin-top:14px}
  .mg-tile .desc .mg-arrow{display:none}
}
.mg-dots{display:none;justify-content:center;gap:6px;margin-top:14px}
.mg-dots i{width:6px;height:6px;border-radius:50%;background:var(--mg-line2)}
.mg-dots i.on{background:var(--mg-ink);width:18px;border-radius:3px}
@media (max-width:800px){.mg-dots{display:flex}}
.mg-disc h2{text-align:center;font-size:clamp(28px,3.2vw,40px);font-weight:400;margin:0 0 28px}

/* ---------- pie ---------- */
.mg-footer{background:var(--mg-dark);color:var(--mg-ondark2);padding-block:36px 40px;font-size:14px}
.mg-footer .up{text-align:center;margin-bottom:34px}
.mg-footer .up a{color:var(--mg-ondark);text-decoration:none;font-size:13px;display:inline-flex;flex-direction:column;align-items:center;gap:6px}
.mg-footer .region{display:flex;align-items:center;gap:10px;padding:16px 0;border-top:1px solid #1e2126;border-bottom:1px solid #1e2126;color:var(--mg-ondark)}
.mg-footer .region small{color:var(--mg-ondark2);display:block;font-family:var(--mg-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.mg-footer .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-block:28px}
.mg-footer h4,.mg-footer h3{color:var(--mg-ondark2)!important;font-size:12px;font-weight:400;margin:0 0 12px;font-family:var(--mg-font)}
.mg-footer a{color:var(--mg-ondark);text-decoration:none;display:block;margin:8px 0}
.mg-footer a:hover{color:#fff;text-decoration:underline}
.mg-footer .soc{display:flex;gap:16px;align-items:center;padding-block:8px 24px}
.mg-footer .soc a{display:inline-flex;margin:0;opacity:.9}
.mg-footer .soc svg{width:20px;height:20px}
.mg-footer .legal{font-size:12.5px;line-height:1.6}
.mg-footer .legal a{display:inline;margin:0 8px 0 0;text-decoration:underline}
.mg-footer .mark{text-align:center;margin-top:30px}
.mg-footer .mark img{height:22px;width:auto;margin:0 auto;opacity:.9}
@media (max-width:700px){.mg-footer .cols{grid-template-columns:1fr}}

/* ---------- tienda y categorías ---------- */
.mg-cathero{background:var(--mg-dark);color:var(--mg-ondark);position:relative;overflow:hidden;margin:0}
.mg-typetabs-wrap{background:var(--mg-bg);border-bottom:1px solid var(--mg-line);margin-bottom:10px}
.mg-cathero .ph{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.28}
.mg-cathero .mg-wrap{position:relative;padding-block:40px 28px}
.mg-cathero h1{font-size:clamp(30px,4.5vw,50px);font-weight:300;margin:0;color:#fff}
.mg-cathero p{color:var(--mg-ondark2);max-width:62ch;margin:8px 0 18px}
.mg-search{display:flex;gap:8px;max-width:640px;background:#fff;border-radius:12px;padding:6px}
.mg-search input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:17px;padding:12px 14px;color:var(--mg-ink);outline:none}
.mg-search button{border:0;background:var(--mg-acc);color:#fff;border-radius:8px;padding:0 22px;font-weight:700;font-size:15px;cursor:pointer}
.mg-search button:hover{background:var(--mg-acc2)}
.mg-typetabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:4px 0 14px}
.mg-typetabs a{white-space:nowrap;border:1px solid var(--mg-line2);background:#fff;border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:500;text-decoration:none;color:var(--mg-ink)}
.mg-typetabs a.on{background:var(--mg-ink);color:#fff;border-color:var(--mg-ink)}
@media (max-width:700px){.mg-search{flex-direction:column;padding:8px}.mg-search button{padding:13px}}
.woocommerce ul.products li.product{text-align:left}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap, .woocommerce ul.products li.product .astra-shop-summary-wrap{background:#fff}
.woocommerce ul.products li.product > a:first-child img, .woocommerce ul.products li.product .astra-shop-thumbnail-wrap{border-radius:16px 16px 0 0;overflow:hidden}
.woocommerce ul.products li.product .astra-shop-summary-wrap{border:1px solid var(--mg-line);border-top:0;border-radius:0 0 16px 16px}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{border:1px solid var(--mg-line);border-bottom:0}
.woocommerce ul.products li.product:hover .astra-shop-summary-wrap{box-shadow:0 10px 30px rgba(0,0,0,.08)}
.woocommerce ul.products li.product a img{border-bottom:1px solid var(--mg-line);margin:0;aspect-ratio:1;object-fit:cover}
.woocommerce ul.products li.product .astra-shop-summary-wrap{padding:12px 14px 14px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14.5px;font-weight:600;line-height:1.3;padding:0;margin:4px 0}
.woocommerce ul.products li.product .ast-woo-product-category{color:var(--mg-ink3)!important;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.woocommerce ul.products li.product .price{font-size:20px;font-weight:700;color:var(--mg-ink);font-variant-numeric:tabular-nums}
.woocommerce ul.products li.product .mg-sku{font-family:var(--mg-mono);font-size:12px;color:var(--mg-ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 4px}
.woocommerce ul.products li.product .mg-badges{position:absolute;top:10px;left:10px;display:flex;gap:6px;z-index:2}
.woocommerce ul.products li.product .ast-loop-product__link{position:relative;display:block}
.woocommerce ul.products li.product .button{display:none}
.woocommerce-breadcrumb, .woocommerce-breadcrumb a{color:var(--mg-ink2)!important;font-size:13px}
.woocommerce .woocommerce-result-count{color:var(--mg-ink2)}
.woocommerce .woocommerce-ordering select{border:1px solid var(--mg-line2);border-radius:8px;padding:8px 10px;font:inherit;font-size:14px}
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{border-radius:8px;border:1px solid var(--mg-line2)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--mg-ink);color:#fff}
.term-description, .woocommerce-products-header__title{display:none}
.widget-area .widget{background:#fff;border:1px solid var(--mg-line);border-radius:16px;padding:16px}
.widget-area .widget-title{font-size:12px;font-family:var(--mg-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mg-ink3);font-weight:500}
.widget-area .wp-block-search__button{background:var(--mg-ink)!important;color:#fff!important;border-radius:8px}
.widget-area .product-categories a, .widget-area .wc-block-product-categories a{color:var(--mg-ink)}

/* ---------- ficha de producto ---------- */
.single-product .woocommerce-breadcrumb{padding-block:14px 0}
.single-product div.product .woocommerce-product-gallery{border:1px solid var(--mg-line);border-radius:var(--mg-r);overflow:hidden;background:#fff}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs{padding:8px;gap:8px;display:flex;flex-wrap:wrap}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li{width:calc(20% - 7px);margin:0}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img{border-radius:8px;border:1px solid var(--mg-line);opacity:1}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active{border:2px solid var(--mg-ink)}
.single-product div.product .summary{background:#fff;border:1px solid var(--mg-line);border-radius:var(--mg-r);padding:22px;position:relative;top:auto}
.single-product div.product .summary .ast-woo-product-category{display:inline-block;background:#EEF0F3;color:var(--mg-ink)!important;font-family:var(--mg-mono);font-size:11.5px;letter-spacing:.04em;padding:4px 10px;border-radius:999px;margin-bottom:10px}
.single-product div.product .summary .product_title{font-size:clamp(22px,2.4vw,30px);font-weight:600;letter-spacing:-.01em;line-height:1.15;text-transform:none}
.single-product div.product .summary .price{font-size:36px;font-weight:800;letter-spacing:-.01em;color:var(--mg-ink);font-variant-numeric:tabular-nums;margin:6px 0 10px}
.single-product div.product .summary .price del{opacity:.5;font-size:.6em}
.single-product div.product .summary .woocommerce-product-details__short-description{font-size:15px;color:var(--mg-ink2)}
.single-product div.product .summary .woocommerce-product-details__short-description ul{padding-left:18px}
.single-product div.product form.cart{display:flex;gap:10px;align-items:stretch;margin:10px 0 8px}
.single-product div.product form.cart .quantity .qty{height:48px;border-radius:8px;border:1px solid var(--mg-line2)}
.single-product div.product form.cart .single_add_to_cart_button{flex:1;background:var(--mg-acc)!important;color:#fff!important;border-radius:8px!important;font-weight:600!important;font-size:15px!important;padding:0 20px!important;height:48px;line-height:48px;text-transform:none!important}
.single-product div.product form.cart .single_add_to_cart_button:hover{background:var(--mg-acc2)!important}
.mg-wa-btn{display:flex;width:100%;margin:0 0 12px}
.mg-confirm{background:var(--mg-soft);border-left:3px solid var(--mg-acc);padding:10px 12px;border-radius:0 8px 8px 0;font-size:13.5px;margin:0 0 12px;color:var(--mg-ink2)}
.mg-confirm b{color:var(--mg-ink)}
.single-product div.product .product_meta{font-size:13px;color:var(--mg-ink2);border-top:1px solid var(--mg-line);padding-top:12px}
.single-product div.product .product_meta .sku{font-family:var(--mg-mono)}
.single-product .woocommerce-tabs ul.tabs li a{font-weight:600}
.single-product .woocommerce-tabs .panel h2:first-of-type{font-size:22px;font-weight:600}
.single-product table.woocommerce-product-attributes{border:1px solid var(--mg-line);border-radius:12px;overflow:hidden}
.single-product table.woocommerce-product-attributes th{font-family:var(--mg-mono);font-size:12.5px;font-weight:500;color:var(--mg-ink3);background:var(--mg-soft)}
.single-product .related.products h2, .single-product .upsells.products h2{font-weight:300;font-size:26px}
@media (max-width:900px){
  .single-product div.product .summary{position:static;padding:18px}
  .mg-stickybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:998;background:#fff;border-top:1px solid var(--mg-line);padding:10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));gap:10px;align-items:center}
  .mg-stickybar .p{font-weight:800;font-size:18px;flex:1;font-variant-numeric:tabular-nums}
  .mg-stickybar .mg-btn{padding:11px 14px;font-size:14px}
  body.single-product{padding-bottom:76px}
}
@media (min-width:901px){.mg-stickybar{display:none}}

/* ---------- WhatsApp flotante de Astra/plugin: más discreto ---------- */
.ht-ctc .ht-ctc-chat, .joinchat, .wa-float{bottom:84px!important}
@media (min-width:901px){.ht-ctc .ht-ctc-chat, .joinchat{bottom:24px!important}}

/* ---------- carrito y checkout ---------- */
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce{font-size:15px}
.woocommerce .button.checkout-button, .woocommerce #place_order{background:var(--mg-acc)!important;color:#fff!important;border-radius:8px!important;font-weight:600!important;text-transform:none!important}
.woocommerce .button.checkout-button:hover, .woocommerce #place_order:hover{background:var(--mg-acc2)!important}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea{border:1px solid var(--mg-line2);border-radius:8px;padding:10px 12px}
.mg-checkout-note{background:var(--mg-soft);border-left:3px solid var(--mg-acc);padding:10px 12px;border-radius:0 8px 8px 0;font-size:13.5px;margin:0 0 18px;color:var(--mg-ink2)}

/* ---------- ajustes 1.0.2 ---------- */
.mg-cathero h1, .woocommerce ul.products li.product .woocommerce-loop-product__title, .single-product div.product .summary .product_title, .mg-big h2, .mg-hero h1{text-transform:none!important}
.woocommerce ul.products li.product .astra-shop-summary-wrap{display:flex;flex-direction:column;gap:2px}
.woocommerce ul.products li.product .ast-woo-product-category{order:1}
.woocommerce ul.products li.product .woocommerce-loop-product__title{order:2}
.woocommerce ul.products li.product .mg-sku{order:3}
.woocommerce ul.products li.product .price{order:4;margin-top:auto;padding-top:6px}
.woocommerce ul.products li.product .star-rating{order:5}
.ast-woocommerce-container{max-width:1240px;margin:0 auto}

/* ---------- ajustes 1.0.3 ---------- */
body.archive.woocommerce #secondary, body.post-type-archive-product #secondary, body.search-results.woocommerce #secondary{display:none}
body.archive.woocommerce #primary, body.post-type-archive-product #primary, body.search-results.woocommerce #primary{width:100%;max-width:100%;flex:1 1 100%}
.woocommerce-Tabs-panel h2, .woocommerce-Tabs-panel h3, .single-product .entry-content h2, .single-product .entry-content h3{text-transform:none!important;letter-spacing:0}
.woocommerce-Tabs-panel h3{font-size:18px;margin-top:22px}
.woocommerce ul.products li.product .astra-shop-summary-wrap{min-height:150px}

/* 1.0.4: menos aire entre las pestañas de tipo y la cuadrícula */
.woocommerce.archive #primary{margin-top:24px!important}
.woocommerce.archive .ast-woocommerce-container{padding-top:36px!important}
@media(max-width:900px){.woocommerce.archive #primary{margin-top:12px!important;padding-top:12px!important}.woocommerce.archive .ast-woocommerce-container{padding-top:20px!important}}

/* 1.0.6: menos aire sobre la ficha de producto */
.single-product #primary{margin-top:16px!important;padding-top:0!important}
.single-product .ast-woocommerce-container{padding-top:36px!important}
@media(max-width:900px){.single-product .ast-woocommerce-container{padding-top:20px!important}}

/* 1.0.7: contraste, miniaturas en una fila y espacio reservado para la galería en móvil (menos salto de maquetación) */
.woocommerce ul.products li.product .ast-woo-product-category{color:#6B7280!important}
.woocommerce div.product div.images .flex-control-thumbs{padding:8px!important;margin:0!important;gap:8px}
.woocommerce div.product div.images .flex-control-thumbs li{width:calc(20% - 7px)!important;margin:0!important;float:none}
@media(max-width:900px){.single-product div.product .woocommerce-product-gallery{min-height:calc(100vw - 52px + 80px)}}

/* 1.0.8: contraste de la categoría en tarjetas; evitar el salto de la galería mientras flexslider arranca */
.woocommerce ul.products li.product .astra-shop-summary-wrap .ast-woo-product-category,.woocommerce ul.products li.product .ast-woo-product-category{color:#6B7280!important;opacity:1!important}
.woocommerce-product-gallery[style*="opacity: 0"] .woocommerce-product-gallery__wrapper{max-height:calc(100vw - 52px);overflow:hidden}
@media(min-width:901px){.woocommerce-product-gallery[style*="opacity: 0"] .woocommerce-product-gallery__wrapper{max-height:640px}}

/* 1.0.11: páginas con plantilla "constructor de páginas" (carrito, finalizar compra, mi cuenta, páginas Elementor):
   título dentro de un contenedor con margen; en páginas Elementor el título duplicado se oculta porque la propia página ya lleva su portada */
.ast-page-builder-template:not(.elementor-page) #primary{max-width:1240px;margin:0 auto;padding:28px 24px 56px}
.ast-page-builder-template .entry-header .entry-title{font-family:var(--mg-font);font-size:32px;font-weight:600;letter-spacing:-.01em;text-transform:none;margin:0 0 20px}
.ast-page-builder-template.elementor-page .entry-header{display:none}
@media(max-width:900px){.ast-page-builder-template:not(.elementor-page) #primary{padding:18px 16px 40px}.ast-page-builder-template .entry-header .entry-title{font-size:26px}}

/* 1.0.12: carrito y finalizar compra (aunque estén marcadas como página Elementor): contenedor con margen y título visible */
body.woocommerce-cart #primary,body.woocommerce-checkout #primary,body.woocommerce-account #primary{max-width:1240px!important;width:100%;margin:0 auto!important;padding:28px 24px 56px!important;box-sizing:border-box}
body.woocommerce-cart .entry-header,body.woocommerce-checkout .entry-header,body.woocommerce-account .entry-header{padding:0!important;margin:0!important}
body.woocommerce-cart.elementor-page .entry-header,body.woocommerce-checkout.elementor-page .entry-header,.woocommerce-cart .entry-header,.woocommerce-checkout .entry-header{display:block}
@media(max-width:900px){body.woocommerce-cart #primary,body.woocommerce-checkout #primary,body.woocommerce-account #primary{padding:18px 16px 40px!important}}

/* 1.0.17: selector de marca junto a las pestañas de tipo */
.mg-typetabs-wrap .mg-wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.mg-typetabs-wrap .mg-typetabs{flex:1 1 auto;min-width:0}
.mg-brandsel{display:flex;align-items:center;gap:8px;margin-left:auto;padding-bottom:10px;font-size:13px;color:var(--mg-ink2)}
.mg-brandsel select{font:inherit;font-size:14px;padding:9px 34px 9px 14px;border:1px solid var(--mg-line);border-radius:999px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230A0B0D' stroke-width='2'><path d='m6 9 6 6 6-6'/></svg>") no-repeat right 14px center;appearance:none;-webkit-appearance:none;color:var(--mg-ink);max-width:240px}
@media(max-width:900px){.mg-brandsel{margin-left:0;width:100%;padding-bottom:12px}.mg-brandsel select{flex:1;max-width:none}}

/* 1.0.19: "Tipo · Marca" en tarjetas; se oculta la lista de categorías de Astra */
.woocommerce ul.products li.product .ast-woo-product-category{display:none!important}
.woocommerce ul.products li.product .mg-catline{order:1;color:#6B7280;font-size:12px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px}

/* 1.0.21: tarjetas de marca/subtipo — foto real del módulo a sangre, nombre de la marca grande encima */
.woocommerce ul.products li.product-category{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;text-align:left}
.woocommerce ul.products li.product-category > a{position:relative;display:block;aspect-ratio:1/1;border-radius:20px;overflow:hidden;background:#0A0B0D;isolation:isolate}
.woocommerce ul.products li.product-category > a img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;margin:0!important;border:0!important;border-radius:0!important;aspect-ratio:auto;transition:transform .6s cubic-bezier(.2,.7,.2,1);z-index:0}
.woocommerce ul.products li.product-category > a:hover img{transform:scale(1.05)}
.woocommerce ul.products li.product-category > a::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,11,13,.35) 0%,rgba(10,11,13,0) 30%,rgba(10,11,13,0) 45%,rgba(10,11,13,.88) 100%);pointer-events:none}
.woocommerce ul.products li.product-category .woocommerce-loop-category__title{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;margin:0!important;padding:0!important;color:#fff!important;font-family:var(--mg-font);font-weight:600;font-size:clamp(20px,2.4vw,30px);line-height:1.05;letter-spacing:-.01em;text-transform:none!important;text-align:left;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.woocommerce ul.products li.product-category .woocommerce-loop-category__title mark.count{display:block;background:none!important;color:rgba(255,255,255,.82)!important;font-family:var(--mg-mono);font-size:12px;font-weight:400;letter-spacing:.06em;margin-top:6px;padding:0;opacity:1}
.woocommerce ul.products li.product-category .mg-subchip{position:absolute;top:12px;left:12px;z-index:2;font-family:var(--mg-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:5px 10px;border-radius:999px}
.woocommerce ul.products li.product-category > a:focus-visible{outline:3px solid var(--mg-acc);outline-offset:3px}
@media(max-width:600px){.woocommerce ul.products li.product-category .woocommerce-loop-category__title{left:12px;right:12px;bottom:10px;font-size:19px}.woocommerce ul.products li.product-category > a{border-radius:16px}}

/* 1.0.22: quitar la franja blanca que Astra pone detrás del título de la categoría */
.woocommerce-js ul.products li.product.product-category .woocommerce-loop-category__title,.woocommerce-js ul.products li.product.product-category > a:hover .woocommerce-loop-category__title,.woocommerce-page ul.products li.product.product-category .woocommerce-loop-category__title{background:none!important;background-color:transparent!important;left:16px!important;right:16px!important;text-align:left!important;padding:0!important}
.woocommerce-js ul.products li.product.product-category .woocommerce-loop-category__title .count{opacity:1!important;font-size:12px!important;color:rgba(255,255,255,.85)!important}
@media(max-width:600px){.woocommerce-js ul.products li.product.product-category .woocommerce-loop-category__title{left:12px!important;right:12px!important}.woocommerce ul.products li.product-category .mg-subchip{font-size:10px;padding:4px 8px;top:10px;left:10px}}

/* 1.0.23: botón de búsqueda redondo — núcleo grafito, aro metálico, anillo rojo encendido, brillo superior */
.mg-orb{--orb:54px;position:relative;flex:0 0 auto;width:var(--orb);height:var(--orb);border-radius:50%;padding:0;margin:0;cursor:pointer;display:inline-grid;place-items:center;color:#fff;
  border:4px solid transparent;
  background:radial-gradient(circle at 50% 32%,#46505c 0%,#1d2229 55%,#0a0c0f 100%) padding-box,linear-gradient(155deg,#f2f4f6 0%,#9aa3ad 32%,#3a4048 58%,#c9cfd6 100%) border-box;
  box-shadow:inset 0 0 0 2px rgba(0,0,0,.55),inset 0 0 0 4px rgba(242,58,64,.95),inset 0 0 14px 4px rgba(215,38,43,.55),0 6px 14px rgba(0,0,0,.28),0 1px 0 rgba(255,255,255,.6);
  transition:transform .2s ease,box-shadow .25s ease}
.mg-orb::after{content:"";position:absolute;left:14%;right:14%;top:7%;height:44%;border-radius:50% 50% 45% 45%/70% 70% 30% 30%;background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0));pointer-events:none}
.mg-orb svg{position:relative;z-index:1;width:46%!important;height:46%!important;stroke-width:2.6;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}
button.mg-orb:hover,.mg-hdr .ic:hover .mg-orb{transform:scale(1.05);box-shadow:inset 0 0 0 2px rgba(0,0,0,.55),inset 0 0 0 4px #ff4a50,inset 0 0 20px 6px rgba(230,45,50,.75),0 8px 18px rgba(0,0,0,.32),0 0 18px rgba(215,38,43,.35)}
button.mg-orb:active{transform:scale(.97)}
button.mg-orb:focus-visible{outline:3px solid #fff;outline-offset:3px}
.mg-orb-sm{--orb:34px;border-width:2px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.55),inset 0 0 0 2.5px rgba(242,58,64,.95),inset 0 0 8px 2px rgba(215,38,43,.55),0 2px 6px rgba(0,0,0,.35)}
.mg-hdr .ic .mg-orb-sm svg{width:46%!important;height:46%!important}
/* ubicación del botón en los buscadores */
.mg-search{align-items:center;border-radius:999px;padding:6px 6px 6px 10px}

.mg-menu form{align-items:center}

@media (max-width:700px){.mg-search{flex-direction:row!important;padding:6px 6px 6px 8px}.mg-search button.mg-orb{padding:0!important;--orb:50px}.mg-search input{font-size:16px;padding:10px 10px}}

/* 1.0.24: el botón redondo conserva su núcleo grafito dentro de los formularios */
.mg-search button.mg-orb,.mg-search button.mg-orb:hover,.mg-menu form button.mg-orb,.mg-menu form button.mg-orb:hover{color:#fff;border-radius:50%;padding:0;border:4px solid transparent;
  background:radial-gradient(circle at 50% 32%,#46505c 0%,#1d2229 55%,#0a0c0f 100%) padding-box,linear-gradient(155deg,#f2f4f6 0%,#9aa3ad 32%,#3a4048 58%,#c9cfd6 100%) border-box}
.mg-menu form button.mg-orb{--orb:48px}

/* 1.0.25: la caja de precio ya no se queda pegada al bajar (tapaba la descripción); categoría "Tipo · Marca" en la ficha */
.single-product div.product .summary{position:relative!important;top:auto!important;z-index:auto}
.single-product div.product .woocommerce-tabs{clear:both;position:relative;z-index:1;background:#fff}
.single-product div.product .summary .ast-woo-product-category{display:none!important}
.single-product div.product .summary .mg-catline{font-family:var(--mg-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:#4B5563;margin:0 0 8px}
