/* ── tokens de la capa del generador ── */
:root{--pc-fondo:#0B0B0C; --pc-texto:#F3EFE7; --pc-amarillo:#FFD400; --pc-naranja:#F5A300; --pc-gris:#8A8A8F; --pc-verde:#3DDC72; --pc-whatsapp:#25D366; --pc-sobre-acento:#0B0B0C; --pc-linea:rgba(255,255,255,0.12); --pc-texto-suave:#d8d3c4; --pc-panel:rgba(255,255,255,0.05); --pc-panel-borde:rgba(255,255,255,0.10); --pc-fondo-control:rgba(0,0,0,0.30); --pc-caja:rgba(255,255,255,0.05); --pc-radio:22px; --pc-radio-c:12px; --pc-peso:700; --pc-cifra:'Clash Display',sans-serif; --pc-vidrio:blur(26px) saturate(150%); --pc-titulo:'Clash Display',sans-serif; --pc-cuerpo:'Satoshi','Helvetica Neue',sans-serif; --pc-mono:'Space Mono',monospace;}

: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: 67px !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;}
.aire-scv-pie{position:sticky; bottom:0; 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 en el generador, al emitirla.
*/
.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 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;}


