/* ── tokens de la capa del generador ── */
:root{--pc-fondo:#F7F1E6; --pc-texto:#1C1A17; --pc-amarillo:#9C7C46; --pc-naranja:#9C7C46; --pc-gris:#6E6357; --pc-verde:#3DDC72; --pc-whatsapp:#25D366; --pc-sobre-acento:#F7F1E6; --pc-linea:#E5DCCC; --pc-texto-suave:#6E6357; --pc-panel:#F7F1E6; --pc-panel-borde:#E5DCCC; --pc-fondo-control:rgba(28,26,23,0.05); --pc-caja:#F7F1E6; --pc-radio:0px; --pc-radio-c:0px; --pc-peso:400; --pc-cifra:'DM Serif Display',serif; --pc-vidrio:none; --pc-titulo:'DM Serif Display',serif; --pc-cuerpo:'DM Sans','Helvetica Neue',sans-serif; --pc-mono:'DM Sans',sans-serif;}

:root{
  --aire-lino:#F7F1E6; --aire-tinta:#1C1A17; --aire-oro:#9C7C46; --aire-piedra:#6E6357;
  --aire-oro-tostado:#8A6C3B; --aire-oro-claro:#C9A86A;
  --aire-borde:#E5DCCC; --aire-borde-medio:#DCCFB4; --aire-marco:#EFE7D6; --aire-marco-2:#ECE2CF;
  --aire-hover:#2E2A25;
  --aire-serif:'DM Serif Display',Georgia,serif;
  --aire-serif-texto:'DM Serif Text',Georgia,serif;
  --aire-sans:'DM Sans',system-ui,sans-serif;
  --aire-ancho:1340px; --aire-borde-radio:999px;
}

  html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
  body { margin: 0; background: #F7F1E6; }
  * { box-sizing: border-box; }
  a { color: #9C7C46; text-decoration: none; }
  a:hover { color: #1C1A17; }
  a:focus-visible, button:focus-visible, input:focus-visible { outline: 1px solid #9C7C46; outline-offset: 4px; }
  input::placeholder { color: #6E6357; opacity: 1; }
  @keyframes aire-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
  @media (max-width: 1180px) { [data-navcta] { display: none !important; } }
  @media (max-width: 980px) { [data-navlinks] { display: none !important; } [data-burger] { display: flex !important; } }
  @media (max-width: 900px) { [data-hero] { grid-template-columns: 1fr !important; } }
  @media (max-width: 860px) { [data-bleed-l] { padding-left: 24px !important; } [data-bleed-r] { padding-right: 24px !important; } [data-hero] { min-height: 0 !important; } }
  @media (max-width: 760px) {
    [data-hero] { grid-template-columns: 1fr !important; }
    [data-hero] > div:first-of-type { gap: 16px !important; padding: 98px 20px 28px !important; }
    [data-hero] > div:last-of-type { padding: 2px 20px 0 !important; }
    header:not([data-hero]) { padding-top: 96px !important; }
    section { padding-top: 30px !important; padding-bottom: 30px !important; }
    footer { padding-top: 34px !important; padding-bottom: 22px !important; }
    footer > div > div { gap: 22px 18px !important; }
    footer img { height: 52px !important; }
    [data-burger] { width: 42px !important; height: 42px !important; }
    h1 { font-size: 31px !important; line-height: 1.08 !important; }
    h2 { font-size: 24px !important; line-height: 1.15 !important; }
    h3 { font-size: 18px !important; line-height: 1.32 !important; }
    blockquote { font-size: 17px !important; line-height: 1.5 !important; padding-left: 16px !important; }
    p { line-height: 1.6 !important; }
    [data-arch] { aspect-ratio: auto !important; width: 100% !important; height: 290px !important; }
    [data-pill] { padding: 15px 24px !important; font-size: 11px !important; letter-spacing: 0.13em !important; }
    [data-menu] { justify-content: flex-start !important; padding: 74px 24px 40px !important; overflow-y: auto !important; gap: 11px !important; }
    [data-menu] > img { height: 32px !important; margin-bottom: 6px !important; }
    [data-menu] a { font-size: 22px !important; }
    input { font-size: 16px !important; }
    footer a { padding-top: 4px !important; padding-bottom: 4px !important; }
  }
  @media (max-width: 760px) {
    [data-hero] { display: flex !important; flex-direction: column !important; }
    [data-hero] > div:last-of-type { order: -1 !important; padding: 96px 20px 0 !important; }
    [data-hero] > div:first-of-type { padding: 22px 20px 28px !important; }
    [data-hero] > div:first-of-type > div:last-child { gap: 12px 24px !important; padding-top: 16px !important; }
    [data-hero] > div:first-of-type > div:last-child > div { gap: 4px !important; }
    [data-hero] > div:first-of-type > div:last-child > div > span:first-child { font-size: 23px !important; }
    [data-hero] > div:first-of-type > div:last-child > div > span:last-child { font-size: 13px !important; }
    footer > div > div { grid-template-columns: 1fr 1fr !important; }
    #tecnologia > div > div:last-child { grid-template-columns: 1fr 1fr !important; gap: 20px 16px !important; }
    #tecnologia > div > div:last-child h3 { font-size: 17px !important; }
  }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } [data-anim] { opacity: 1 !important; transform: none !important; } }


/* hover del diseño, que vivía en style-hover */
.h624bb588:hover{background-size:100% 1px !important; color:#1C1A17 !important}
.hbce1b695:hover{background:#1C1A17 !important; color:#F7F1E6 !important}
.h484e8c41:hover{background:#2E2A25 !important; color:#F7F1E6 !important}
.h45f503fc:hover{background-size:0% 1px !important; color:#1C1A17 !important}
.h02ab5be9:hover{color:#1C1A17 !important}
.h053439e6:hover{background-size:0% 1px !important; color:#F7F1E6 !important}
.h653ce3c1:hover{color:#F7F1E6 !important}
.hee73c616:hover{padding-left:10px !important; color:#1C1A17 !important}
.h248cc8b8:hover{background:#F7F1E6 !important; color:#1C1A17 !important}
.h6e3104d8:hover{background:#ECE2CF !important; color:#1C1A17 !important}
.hb66f1044:hover{opacity:0.86 !important; color:#1C1A17 !important}

/* ── páginas internas ── */
[data-cats]::-webkit-scrollbar { display: none; }
[data-cats] { scrollbar-width: none; }
@media (max-width: 1180px){[data-navcta] { display: none !important; }}
@media (max-width: 980px){[data-navlinks] { display: none !important; }
[data-burger] { display: flex !important; }}
@media (max-width: 760px){[data-hero] { grid-template-columns: 1fr !important; }
[data-menu] a { font-size: 22px !important; }}
@media (max-width: 760px){[data-sticky] { top: 84px !important; }
[data-sticky] > div { padding: 9px 20px !important; gap: 6px 16px !important; }
[data-count] { display: none !important; }
[data-cats] { gap: 18px !important; }
[data-cats] button { padding: 9px 0 7px !important; font-size: 16px !important; }
[data-search] { height: 42px !important; }}
@media (prefers-reduced-motion: reduce){[data-anim] { opacity: 1 !important; transform: none !important; }}
.h026f467e:hover{background:#FFFDF7 !important; border-color:#9C7C46 !important; color:#1C1A17 !important}
@media (max-width: 900px){[data-hero] { grid-template-columns: 1fr !important; }}
@media (max-width: 720px){[data-stay] { grid-template-columns: 1fr !important; }}
@media (max-width: 760px){[data-stay] { grid-template-columns: 1fr !important; }}

/* ── buscador por vehículo ── */

[data-pc-buscador] select:disabled{opacity:0.5; cursor:not-allowed;}
[data-pc-buscador] select:focus{outline:2px solid var(--pc-amarillo); outline-offset:1px;}
.aire-buscador [data-pc-res-cards] a{transition:transform .3s cubic-bezier(0.22,1,0.36,1);}
.aire-buscador [data-pc-res-cards] a:hover{transform:translateY(-3px);}
@media (max-width:767px){ .aire-buscador [data-pc-res-cards]{grid-template-columns:1fr !important;} }


/* ── 404 ── */
.aire-404{--aire-lino:#F7F1E6; --aire-tinta:#1C1A17; --aire-oro:#9C7C46; --aire-piedra:#6E6357;
  --aire-oro-tostado:#8A6C3B; --aire-oro-claro:#C9A86A;
  --aire-borde:#E5DCCC; --aire-borde-medio:#DCCFB4; --aire-marco:#EFE7D6; --aire-marco-2:#ECE2CF;
  --aire-hover:#2E2A25;
  --aire-serif:'DM Serif Display',Georgia,serif;
  --aire-serif-texto:'DM Serif Text',Georgia,serif;
  --aire-sans:'DM Sans',system-ui,sans-serif;
  --aire-ancho:1340px; --aire-borde-radio:999px;}
.aire-404{margin: 0; background: #F7F1E6;}
.aire-404 input::placeholder{color: #6E6357; opacity: 1;}
@keyframes aire-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (max-width: 1180px){.aire-404 [data-navcta]{display: none !important;}}
@media (max-width: 980px){.aire-404 [data-navlinks]{display: none !important;}
.aire-404 [data-burger]{display: flex !important;}}
@media (max-width: 900px){.aire-404 [data-hero]{grid-template-columns: 1fr !important;}}
@media (max-width: 860px){.aire-404 [data-bleed-l]{padding-left: 24px !important;}
.aire-404 [data-bleed-r]{padding-right: 24px !important;}
.aire-404 [data-hero]{min-height: 0 !important;}}
@media (max-width: 760px){.aire-404 [data-hero]{grid-template-columns: 1fr !important;}
.aire-404 [data-hero] > div:first-of-type{gap: 16px !important; padding: 98px 20px 28px !important;}
.aire-404 [data-hero] > div:last-of-type{padding: 2px 20px 0 !important;}
.aire-404 header:not([data-hero]){padding-top: 96px !important;}
.aire-404 section{padding-top: 30px !important; padding-bottom: 30px !important;}
.aire-404 footer{padding-top: 34px !important; padding-bottom: 22px !important;}
.aire-404 footer > div > div{gap: 22px 18px !important;}
.aire-404 footer img{height: 52px !important;}
.aire-404 [data-burger]{width: 42px !important; height: 42px !important;}
.aire-404 h1{font-size: 31px !important; line-height: 1.08 !important;}
.aire-404 h2{font-size: 24px !important; line-height: 1.15 !important;}
.aire-404 h3{font-size: 18px !important; line-height: 1.32 !important;}
.aire-404 blockquote{font-size: 17px !important; line-height: 1.5 !important; padding-left: 16px !important;}
.aire-404 p{line-height: 1.6 !important;}
.aire-404 [data-arch]{aspect-ratio: auto !important; width: 100% !important; height: 290px !important;}
.aire-404 [data-pill]{padding: 15px 24px !important; font-size: 11px !important; letter-spacing: 0.13em !important;}
.aire-404 [data-menu]{justify-content: flex-start !important; padding: 74px 24px 40px !important; overflow-y: auto !important; gap: 11px !important;}
.aire-404 [data-menu] > img{height: 32px !important; margin-bottom: 6px !important;}
.aire-404 [data-menu] a{font-size: 22px !important;}
.aire-404 input{font-size: 16px !important;}
.aire-404 footer a{padding-top: 4px !important; padding-bottom: 4px !important;}}
@media (max-width: 760px){.aire-404 [data-hero]{display: flex !important; flex-direction: column !important;}
.aire-404 [data-hero] > div:last-of-type{order: -1 !important; padding: 96px 20px 0 !important;}
.aire-404 [data-hero] > div:first-of-type{padding: 22px 20px 28px !important;}
.aire-404 [data-hero] > div:first-of-type > div:last-child{gap: 12px 24px !important; padding-top: 16px !important;}
.aire-404 [data-hero] > div:first-of-type > div:last-child > div{gap: 4px !important;}
.aire-404 [data-hero] > div:first-of-type > div:last-child > div > span:first-child{font-size: 23px !important;}
.aire-404 [data-hero] > div:first-of-type > div:last-child > div > span:last-child{font-size: 13px !important;}
.aire-404 footer > div > div{grid-template-columns: 1fr 1fr !important;}
.aire-404 #tecnologia > div > div:last-child{grid-template-columns: 1fr 1fr !important; gap: 20px 16px !important;}
.aire-404 #tecnologia > div > div:last-child h3{font-size: 17px !important;}}
@media (prefers-reduced-motion: reduce){.aire-404 [data-anim]{opacity: 1 !important; transform: none !important;}}
.aire-404 .h624bb588:hover{background-size:100% 1px !important; color:#1C1A17 !important}
.aire-404 .hbce1b695:hover{background:#1C1A17 !important; color:#F7F1E6 !important}
.aire-404 .h484e8c41:hover{background:#2E2A25 !important; color:#F7F1E6 !important}
.aire-404 .h45f503fc:hover{background-size:0% 1px !important; color:#1C1A17 !important}
.aire-404 .h02ab5be9:hover{color:#1C1A17 !important}
.aire-404 .h053439e6:hover{background-size:0% 1px !important; color:#F7F1E6 !important}
.aire-404 .h653ce3c1:hover{color:#F7F1E6 !important}
.aire-404 .hee73c616:hover{padding-left:10px !important; color:#1C1A17 !important}
.aire-404 .h248cc8b8:hover{background:#F7F1E6 !important; color:#1C1A17 !important}
.aire-404 .h6e3104d8:hover{background:#ECE2CF !important; color:#1C1A17 !important}
.aire-404 .hb66f1044:hover{opacity:0.86 !important; color:#1C1A17 !important}

/* ── cabecera y panel del carrito ── */

/* ── El panel del carrito del diseño: el widget ES el contenido ──────────────
   minicartEnPanel() sustituye la columna congelada del diseño por el
   mini-carrito, así que ya no hay bloques hermanos que esconder — la regla
   vieja (.widget…:not(:empty) ~ div{display:none}) escondía por POSICIÓN y
   acabó tragándose la cabecera del panel móvil entera. display:contents para
   que el cuerpo del widget participe del flex del panel. */
.widget_shopping_cart_content{display:contents;}
.widget_shopping_cart_content .remove_from_cart_button:hover{color:#B3261E;}

/* La composición del panel del diseño (espec 1:1, líneas 978-1061 y 142-224
   del diseño): valores de la rama MÓVIL por defecto y los de ESCRITORIO desde
   1280, que es donde conmutan las ramas. En móvil scrollea el aside y el pie
   va pegado abajo; en escritorio scrollea el cuerpo y el pie queda anclado. */
.aire-scv{display:flex; flex-direction:column; min-height:0;}
.aire-scv button{border:0; background:none; cursor:pointer; padding:0; font:inherit;}
.aire-scv-env{padding:14px 16px; border-bottom:1px solid var(--pc-linea);}
.aire-scv-env p{margin:0 0 9px; font-family:var(--pc-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--pc-texto-suave);}
.aire-scv-cuerpo{flex:1; padding:0 16px;}
.aire-scv-fila{display:flex; gap:14px; padding:18px 0; border-bottom:1px solid var(--pc-linea);}
.aire-scv-img{width:68px; height:68px; flex:none; background:var(--pc-panel); padding:6px; box-sizing:border-box;}
.aire-scv-img img{width:100%; height:100%; object-fit:contain; display:block;}
.aire-scv-nombre{font-size:14px; font-weight:500; line-height:1.35; color:inherit; text-decoration:none;}
.aire-scv-fila .remove_from_cart_button{flex:none; color:var(--pc-gris); font-size:13px; text-decoration:none; line-height:1;}
.aire-scv-etq{margin:4px 0 0; font-family:var(--pc-mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--pc-gris);}
.aire-scv-cant{display:inline-flex; align-items:center; border:1px solid var(--pc-linea); height:40px;}
.aire-scv-cant button{width:40px; height:40px; color:var(--pc-texto-suave); font-size:15px;}
.aire-scv-cant button[disabled]{opacity:.35; cursor:default;}
.aire-scv-cant span{width:28px; text-align:center; font-family:var(--pc-mono); font-size:13px;}
.aire-scv-sub{font-family:var(--pc-mono); font-size:14px; font-weight:500;}
.aire-scv-carril-rotulo{margin:0 0 12px; font-family:var(--pc-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--pc-gris);}
.aire-scv-carril{display:flex; gap:10px; overflow-x:auto; padding-bottom:6px;}
.aire-scv-carta{flex:none; width:126px;}
.aire-scv-carta-img{display:block; aspect-ratio:1; background:var(--pc-panel); padding:9%; box-sizing:border-box;}
.aire-scv-carta-img img{width:100%; height:100%; object-fit:contain; display:block;}
.aire-scv-carta-nombre{margin:7px 0 0; font-size:12px; font-weight:500; line-height:1.3;}
.aire-scv-carta-precio{margin:3px 0 0; font-family:var(--pc-mono); font-size:12px; color:var(--pc-texto-suave);}
.aire-scv-agregar{display:flex; align-items:center; justify-content:center; height:40px; padding:0 14px; border:1px solid var(--pc-texto); font-size:13px; font-weight:500; border-radius:2px; color:inherit; text-decoration:none; box-sizing:border-box; background:none;}
.aire-scv-carta .aire-scv-agregar{margin-top:8px; width:100%; height:36px; font-size:12px;}
/* z-index explícito: el pie pegajoso compite con las tarjetas del carril de
   venta cruzada durante el scroll con inercia de iOS, y con z auto Safari
   pintaba los «Agregar» ENCIMA del subtotal (capturas del cliente, 2026-08-28).
   El fondo es opaco por la misma razón. */
.aire-scv-pie{position:sticky; bottom:0; z-index:2; background:var(--pc-fondo); border-top:1px solid var(--pc-linea); padding:16px; margin-top:auto;}
.aire-scv-pie-linea{display:flex; align-items:baseline; justify-content:space-between;}
.aire-scv-pie-rotulo{font-family:var(--pc-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--pc-gris);}
.aire-scv-cifra{font-family:var(--pc-mono); font-size:22px; font-weight:500;}
.aire-scv-pagar{margin-top:12px; display:flex; align-items:center; justify-content:center; width:100%; height:52px; background:var(--pc-amarillo); color:var(--pc-sobre-acento); font-size:16px; font-weight:500; border-radius:2px; text-decoration:none;}
.aire-scv-medios{margin:10px 0 0; text-align:center; font-family:var(--pc-mono); font-size:9px; letter-spacing:.08em; color:var(--pc-gris); text-transform:uppercase;}
.aire-scv-ver{display:block; margin:12px auto 0; width:max-content; font-family:var(--pc-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--pc-gris); text-decoration:underline; text-underline-offset:3px;}
.aire-scv[data-pc-sc-espera] .aire-scv-cuerpo{opacity:.5; pointer-events:none;}
.aire-scv-vacio{padding:24px 0;}
.aire-scv-vacio h2{margin:0; font-size:18px; font-weight:500;}
.aire-scv-vacio > p{margin:8px 0 18px; font-size:14px; color:var(--pc-texto-suave);}
.aire-scv-sug{display:flex; align-items:center; gap:12px; padding:12px 0; border-top:1px solid var(--pc-linea);}
.aire-scv-sug-img{width:56px; height:56px; flex:none; background:var(--pc-panel); padding:5px; box-sizing:border-box;}
.aire-scv-sug-img img{width:100%; height:100%; object-fit:contain; display:block;}
.aire-scv-sug-nombre{margin:0; font-size:13px; font-weight:500; line-height:1.35;}
.aire-scv-sug-precio{margin:2px 0 0; font-family:var(--pc-mono); font-size:12px; color:var(--pc-texto-suave);}

@media (min-width:1280px){
  .aire-scv{flex:1;}
  .aire-scv-env{padding:18px 28px;}
  .aire-scv-env p{font-size:11px; margin-bottom:10px;}
  .aire-scv-cuerpo{overflow-y:auto; overscroll-behavior:contain; padding:0 28px; min-height:0;}
  .aire-scv-fila{gap:16px; padding:20px 0;}
  .aire-scv-img{width:76px; height:76px;}
  .aire-scv-etq{font-size:10px;}
  .aire-scv-cant{height:34px;}
  .aire-scv-cant button{width:32px; height:34px;}
  .aire-scv-cant span{width:30px;}
  .aire-scv-carril-rotulo{font-size:11px;}
  .aire-scv-carril{gap:12px;}
  .aire-scv-carta{width:132px;}
  .aire-scv-agregar{height:36px;}
  .aire-scv-carta .aire-scv-agregar{height:32px;}
  .aire-scv-pie{position:static; padding:22px 28px;}
  .aire-scv-pie-rotulo{font-size:11px;}
  .aire-scv-cifra{font-size:24px;}
  .aire-scv-pagar{margin-top:16px; height:56px;}
  .aire-scv-medios{margin-top:12px; font-size:10px;}
  .aire-scv-vacio{padding:32px 0;}
  .aire-scv-vacio h2{font-size:19px;}
  .aire-scv-vacio > p{margin-bottom:22px;}
  .aire-scv-sug{gap:14px;}
}

/* ── La tarjeta de producto, clicable entera ──────────────────────────────────
   El título es el único enlace real de la tarjeta y su ::after se estira sobre
   ella: así toda la tarjeta lleva a la ficha con UN solo enlace en el árbol de
   accesibilidad, en vez de tres al mismo sitio.

   Va en site.css y no en woocommerce.css porque la tarjeta también se pinta en
   la portada, que no es una página de WooCommerce. */
/*
   OJO con el position: el ::after se estira contra el ancestro POSICIONADO más
   cercano, y ése tiene que ser la TARJETA. Si el propio enlace llevara
   position:relative, el ::after cubriría sólo el título y la tarjeta seguiría
   sin ser clicable — con la particularidad de que el enlace funciona, así que
   parece que está bien hasta que pinchas en el precio.

   La tarjeta recibe su position:relative AQUÍ, anclado al data-producto que la
   propia pasada del enlace garantiza en la raíz de toda tarjeta (lo necesita
   favoritos). Antes lo ponía un replace del generador que buscaba el marcado
   de PowerCar (data-reveal + border-radius:22px): con la anatomía de Organic
   no casaba NUNCA y no avisaba, así que el ::after se estiraba hasta el body —
   medido en el teléfono del cliente: los siete pseudo-elementos del carril de
   la portada y los 24 de la tienda cubrían la PÁGINA ENTERA apilados, y
   cualquier tap abría el ÚLTIMO producto pintado. Con el ancla en el atributo
   vale para cualquier anatomía y no puede dejar de casar en silencio.
   (button[data-producto] queda fuera a propósito: el corazón de la ficha
   también lleva el atributo y no es una tarjeta.) */
div[data-producto], li[data-producto], article[data-producto]{position:relative;}
.aire-card-enlace::after{
  content:''; position:absolute; inset:0; z-index:1;
  /* Sin fondo: es una zona de clic, no una capa que tape el vidrio. */
}

/* El botón «Añadir» queda POR ENCIMA del enlace estirado. Sin esto la tarjeta se
   lo come y añadir al carrito llevaría a la ficha. */
.add_to_cart_button{position:relative; z-index:2;}

/* El color del rótulo, en HOJA y no inline.
   El <a> que sustituye al <button> del diseño necesita heredar el color en vez
   de tomar el de «a{}» del reset. Cuando eso iba inline le ganaba a la clase
   hash del diseño, que es la que pinta el hover: entraba el fondo negro y no el
   texto blanco, y «Agregar» desaparecía sobre su propio fondo. Aquí la
   especificidad es 0-1-1, por debajo del 0-2-0 de «.pc-hXXXX:hover», así que
   hereda en reposo y el diseño manda al pasar el ratón. */
a.add_to_cart_button{color:inherit;}


/* El crédito de la agencia: el color y el tamaño son los de la barra legal del
   diseño. Sólo se distingue al pasar por encima, que es lo que hace un enlace. */
.aire-credito{color:var(--pc-gris); text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.18);}
.aire-credito:hover{color:var(--pc-amarillo); border-bottom-color:var(--pc-amarillo);}

/* ── El mega-menú de «Tienda» ─────────────────────────────────────────────────
   El vidrio y la sombra son los del diseño (línea 218). Lo que cambia es que
   abre por CSS en vez de por manejadores de ratón: así también abre con el
   teclado, que con onMouseEnter no lo hacía.

   El contenedor de la entrada del menú ya trae position:relative del diseño. */
.aire-mega{
  position:absolute; top:calc(100% + 10px); left:50%;
  padding:20px; border-radius:20px; z-index:90;
  background:rgba(16,15,12,0.92);
  backdrop-filter:blur(30px) saturate(150%); -webkit-backdrop-filter:blur(30px) saturate(150%);
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 44px 90px -30px rgba(0,0,0,0.9);
  display:grid; gap:18px;
  /* Cerrado se va del flujo del ratón, no sólo de la vista: con visibility
     puesta seguiría tapando lo que hay debajo del menú. */
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .28s cubic-bezier(0.22,1,0.36,1), transform .28s cubic-bezier(0.22,1,0.36,1), visibility .28s;
}
.aire-mega:hover,
*:hover > .aire-mega,
*:focus-within > .aire-mega{opacity:1; visibility:visible; transform:translateY(0);}

@media (prefers-reduced-motion:reduce){
  .aire-mega{transition:none; transform:none;}
}

.aire-mega-punta{
  position:absolute; top:-8px; left:50%; margin-left:-7px; width:14px; height:14px;
  background:rgba(16,15,12,0.92);
  border-left:1px solid rgba(255,255,255,0.12); border-top:1px solid rgba(255,255,255,0.12);
  transform:rotate(45deg);
}
.aire-mega-cat{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 14px; border-radius:12px; color:var(--pc-texto);
  text-decoration:none; transition:background .25s;
}
.aire-mega-cat:hover{background:rgba(255,212,0,0.10);}
.aire-mega-dest{
  border-radius:14px; padding:16px; text-decoration:none;
  background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1);
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px;
  transition:border-color .25s;
}
.aire-mega-dest:hover{border-color:rgba(255,212,0,0.4);}
.aire-mega-dest img{max-height:80px; width:auto; display:block;}

/* En el teléfono el menú de escritorio no se pinta, así que el mega tampoco
   tiene dónde abrirse. Fuera, para que ni ocupe ni se abra por un toque. */
@media (max-width:1023px){
  .aire-mega{display:none;}
}


/* ── El panel del carrito AUTORADO (sólo si el diseño no trae el suyo) ────────
   El vidrio, el radio y la sombra son los del mini-carrito de v5 (línea 264 del
   diseño). Lo que cambia es que ocupa el alto de la pantalla y entra desde el
   borde, no que sea otro lenguaje visual.

   El ancho: 380px en vez de los 320 de la tarjeta, porque aquí cada línea lleva
   además la pastilla de cantidad y el botón de quitar. Con 320 los tres se
   pisan. */
.aire-sc-fondo{
  position:fixed; inset:0; z-index:190; background:rgba(0,0,0,0.55);
  opacity:0; transition:opacity .3s ease;
}
.aire-sc-fondo.pc-sc-ve{opacity:1;}

.aire-sc{
  position:fixed; top:0; right:0; bottom:0; z-index:200;
  width:380px; max-width:92vw;
  display:flex; flex-direction:column;
  background:rgba(16,15,12,0.92);
  backdrop-filter:blur(30px) saturate(150%); -webkit-backdrop-filter:blur(30px) saturate(150%);
  border-left:1px solid rgba(255,255,255,0.12);
  box-shadow:0 44px 90px -30px rgba(0,0,0,0.9);
  transform:translateX(100%); transition:transform .34s cubic-bezier(0.22,1,0.36,1);
}
.aire-sc.pc-sc-ve{transform:translateX(0);}

/* Sin transición si el visitante la pidió apagada. El resto del sitio ya lo
   respeta; el panel es lo único que se movía sin preguntarlo. */
@media (prefers-reduced-motion:reduce){
  .aire-sc, .aire-sc-fondo{transition:none;}
}

.aire-sc-cab{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 18px 14px; border-bottom:1px solid rgba(255,255,255,0.08); flex-shrink:0;
}
.aire-sc-rotulo{
  font-family:var(--pc-mono); font-size:11px; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--pc-gris);
}
.aire-sc-x{
  display:flex; align-items:center; justify-content:center; width:34px; height:34px;
  border-radius:10px; background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.16); cursor:pointer; color:var(--pc-texto);
  transition:border-color .3s, color .3s;
}
.aire-sc-x:hover{border-color:var(--pc-amarillo); color:var(--pc-amarillo);}

/* El cuerpo es el que se sustituye por fragmentos, así que ES el que scrollea:
   si el scroll colgara de un padre, cada refresco lo devolvería arriba. */
.aire-sc-cuerpo{
  flex:1; display:flex; flex-direction:column; min-height:0;
  overflow-y:auto; overscroll-behavior:contain; padding:14px 18px 18px;
}

.aire-sc-linea{
  display:flex; align-items:flex-start; gap:12px;
  padding:12px 0; border-bottom:1px solid rgba(255,255,255,0.08);
}
.aire-sc-foto{
  width:52px; height:52px; border-radius:10px; flex-shrink:0; padding:4px;
  background:rgba(255,255,255,0.04); display:flex; align-items:center; justify-content:center;
}
.aire-sc-foto img{width:100%; height:100%; object-fit:contain; display:block;}
.aire-sc-datos{flex:1; min-width:0;}
.aire-sc-nombre{
  display:block; font-size:12.5px; font-weight:600; color:var(--pc-texto);
  text-decoration:none; line-height:1.35;
  overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
}
.aire-sc-nombre:hover{color:var(--pc-amarillo);}
.aire-sc-precio{font-family:var(--pc-mono); font-size:10.5px; color:var(--pc-gris); margin-top:3px;}

/* La misma pastilla − n + de la ficha y del carrito, en pequeño. */
.aire-sc-cant{
  display:inline-flex; align-items:center; gap:2px; margin-top:8px;
  border-radius:10px; background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.12);
}
.aire-sc-cant button{
  width:26px; height:26px; background:none; border:none; cursor:pointer;
  color:var(--pc-gris); font-family:inherit; font-size:15px; font-weight:700; line-height:1; padding:0;
}
.aire-sc-cant button:hover{color:var(--pc-texto);}
.aire-sc-cant span{
  min-width:22px; text-align:center; font-family:var(--pc-mono);
  font-size:12px; color:var(--pc-texto);
}
.aire-sc-quitar{
  background:none; border:none; cursor:pointer; color:var(--pc-gris);
  padding:2px; flex-shrink:0; line-height:0; transition:color .3s;
}
.aire-sc-quitar:hover{color:#f86368;}

/* El pie no scrollea con las líneas: el total y «Finalizar compra» tienen que
   estar a la vista con el carrito lleno, que es cuando más largo es. */
.aire-sc-pie{
  margin-top:auto; padding-top:14px; position:sticky; bottom:-18px;
  background:linear-gradient(to top, rgba(16,15,12,0.98) 60%, rgba(16,15,12,0));
}
.aire-sc-total{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:12px;}
.aire-sc-cifra{font-family:var(--pc-titulo); font-size:20px; font-weight:700; color:var(--pc-amarillo);}
.aire-sc-cifra .woocommerce-Price-amount{font-family:inherit;}
.aire-sc-btn{
  display:block; width:100%; text-align:center; box-sizing:border-box;
  background:var(--pc-amarillo); color:var(--pc-sobre-acento); border:none; border-radius:12px;
  padding:13px; font-family:inherit; font-size:13.5px; font-weight:700;
  text-decoration:none; cursor:pointer;
}
.aire-sc-btn-fantasma{
  margin-top:8px; background:transparent; color:var(--pc-texto);
  border:1px solid rgba(255,255,255,0.18);
}
.aire-sc-btn-fantasma:hover{border-color:var(--pc-amarillo); color:var(--pc-amarillo);}
.aire-sc-seguir{
  display:block; width:100%; margin-top:10px; background:none; border:none;
  cursor:pointer; font-family:var(--pc-mono); font-size:10.5px;
  letter-spacing:0.06em; text-transform:uppercase; color:var(--pc-gris);
}
.aire-sc-seguir:hover{color:var(--pc-texto);}

.aire-sc-vacio{text-align:center; padding:28px 0;}
.aire-sc-vacio p{font-size:13px; color:#c9c4b8; margin:10px 0 20px;}

/* Mientras el servidor responde, el cuerpo se atenúa y no acepta más clics: sin
   esto, tres toques rápidos en «+» mandan tres peticiones y gana la última que
   conteste, que no tiene por qué ser la última que se pidió. */
.aire-sc-cuerpo[data-pc-sc-espera]{opacity:0.5; pointer-events:none;}



/* ── blog ── */

.aire-cuerpo > * { margin: 0 0 18px; }
.aire-cuerpo h2 { font-family: var(--pc-titulo); font-size: 26px; font-weight: var(--pc-peso); line-height: 1.25; letter-spacing: -0.01em; color: var(--pc-texto); margin: 34px 0 14px; }
.aire-cuerpo h3 { font-family: var(--pc-titulo); font-size: 20px; font-weight: var(--pc-peso); line-height: 1.3; color: var(--pc-texto); margin: 28px 0 10px; }
.aire-cuerpo a { color: var(--pc-naranja); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; transition: opacity .3s ease; }
.aire-cuerpo a:hover { opacity: .75; }
.aire-cuerpo ul, .aire-cuerpo ol { padding-left: 22px; }
.aire-cuerpo li { margin: 0 0 10px; }
.aire-cuerpo li::marker { color: var(--pc-naranja); }
.aire-cuerpo blockquote { margin: 26px 0; padding: 4px 0 4px 20px; border-left: 1px solid var(--pc-naranja); font-family: var(--pc-cifra); font-size: 18px; line-height: 1.6; color: var(--pc-texto); }
.aire-cuerpo blockquote p { margin: 0; }
.aire-cuerpo img { max-width: 100%; height: auto; border-radius: var(--pc-radio); }
.aire-cuerpo hr { border: 0; border-top: 1px solid var(--pc-linea); margin: 30px 0; }
.aire-cuerpo strong { color: var(--pc-texto); font-weight: 500; }

/* La tarjeta: el filete se dora al pasar — color, no sombra ni escala. */
.aire-tarjeta:hover { border-color: var(--pc-naranja); }
.aire-tarjeta a { text-decoration: none; }

/* La paginación del listado (paginate_links llega sin estilo ninguno). */
.aire-blog .page-numbers { display: inline-flex; min-width: 38px; height: 38px; align-items: center; justify-content: center; padding: 0 10px; margin: 0 6px 0 0; border: 1px solid var(--pc-linea); border-radius: var(--pc-radio-c); color: var(--pc-texto); text-decoration: none; font-size: 14px; transition: border-color .3s ease; }
.aire-blog a.page-numbers:hover { border-color: var(--pc-naranja); }
.aire-blog .page-numbers.current { background: var(--pc-texto); border-color: var(--pc-texto); color: var(--pc-fondo); }
.aire-blog .page-numbers.dots { border: 0; }

