/* Supleverse 21 — Brand Layer v2  (carbón + amarillo + tipografía atlética) */
@font-face{font-family:'SupleDisplay';src:url('./chakrapetch-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'SupleDisplay';src:url('./chakrapetch-700-italic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap;}
@font-face{font-family:'SupleGrotesk';src:url('./spacegrotesk-400.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap;}

:root{
  --sv-carbon:#151719; --sv-carbon-2:#1a1d20; --sv-card:#1c2023;
  --sv-ink:#f3f5f4; --sv-muted:#9198a0; --sv-muted-2:#6b7178; --sv-hair:rgba(255,255,255,.09);
  --sv-yellow:#FFFF00; --sv-ease:cubic-bezier(.32,.72,0,1);
  /* tokens de motion: TODO el sitio se mueve con estas dos duraciones y este easing */
  --sv-out:cubic-bezier(.16,1,.3,1); --sv-fast:150ms; --sv-dur:240ms;
}

/* ---- base ---- */
html,body{background:var(--sv-carbon)!important;color:var(--sv-ink)!important;
  font-family:'SupleGrotesk',system-ui,-apple-system,sans-serif!important;letter-spacing:-.01em;}
p,li,span,td,label,.wp-block-paragraph{color:var(--sv-ink);}
a{color:var(--sv-ink);text-decoration:none;transition:color .35s var(--sv-ease);}
a:hover{color:var(--sv-yellow);}

/* ---- titulos atléticos ---- */
h1,h2,h3,h4,h5,.wp-block-heading,.woocommerce-loop-product__title,
.product_title,.entry-title,.site-title,.wc-block-grid__product-title{
  font-family:'SupleDisplay','SupleGrotesk',sans-serif!important;
  text-transform:uppercase;letter-spacing:.012em;font-weight:700!important;line-height:1.06;color:var(--sv-ink)!important;}
/* las clases preset de WP (has-*-color) llevan !important y ganan a un selector de elemento */
h1.has-text-color,h2.has-text-color,h3.has-text-color,h4.has-text-color,
.wp-block-post-title,.wp-block-post-title.has-text-color{color:var(--sv-ink)!important;}

/* ---- HEADER oscuro + nav visible ---- */
header,.site-header,.wp-block-template-part,header.wp-block-group,
.wp-site-blocks>header,.wp-block-group.has-background:first-child{
  background:var(--sv-carbon)!important;border-bottom:1px solid var(--sv-hair)!important;}
header .has-very-light-gray-background-color,header .has-white-background-color,
header .has-light-gray-background-color{background:transparent!important;}
header a,.wp-block-navigation a,.wp-block-navigation-item__content,
.wp-block-navigation__responsive-container-content a{color:var(--sv-ink)!important;opacity:1!important;}
header a:hover,.wp-block-navigation a:hover{color:var(--sv-yellow)!important;}
/* logo: quitar caja blanca */
header .wp-block-image,header .custom-logo-link,.site-logo{background:transparent!important;}
header img{background:transparent!important;mix-blend-mode:normal;}
/* header esbelto: logo 52px y compensar la altura real del header fijo
   (el tema asume 75px pero con logo de 80px medía ~127px y tapaba contenido) */
header .custom-logo,header .wp-block-site-logo img{height:104px!important;width:auto!important;}
header .wp-block-site-logo{min-width:auto!important;}
/* El header va position:fixed, así que el body reserva su alto. Antes eran tres
   números a mano (142 / 130 / 152) y ninguno cuadraba: el header medía 189px en
   móvil contra 152 reservados y el buscador aterrizaba sobre el hero. Ahora el
   alto real lo mide el JS del mu-plugin (--sv-header-h); los px son el respaldo
   por si el JS no corre. */
body.hostinger-ai-builder-gutenberg,body.hostinger-ai-builder-elementor{padding-top:var(--sv-header-h,142px)!important;}
@media(max-width:768px){
  header .custom-logo,header .wp-block-site-logo img{height:64px!important;}
  body.hostinger-ai-builder-gutenberg,body.hostinger-ai-builder-elementor{padding-top:var(--sv-header-h,104px)!important;}
}

/* ---- nav móvil: hamburguesa visible + overlay oscuro ---- */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close{color:var(--sv-ink)!important;background:transparent!important;}
.wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg{fill:var(--sv-ink)!important;width:28px;height:28px;}
/* header compacto en móvil: el logo ya trae el wordmark; sin esto el grid desborda
   y la hamburguesa (order:3 del tema) queda fuera de pantalla */
@media(max-width:768px){
  header .hostinger-ai-site-title{display:none!important;}
  /* con el buscador colapsado a lupa el header ya es de un solo renglón: centrado */
  .hostinger-ai-menu-wrapper{grid-template-columns:auto auto!important;align-items:center!important;
    column-gap:12px!important;}
  .hostinger-ai-site-navigation-wrapper{gap:8px!important;}
}
/* overlay abierto: selectores fuertes para vencer los !important del tema */
.wp-block-navigation__responsive-container.is-menu-open{
  background:var(--sv-carbon)!important;background-color:var(--sv-carbon)!important;padding-top:24px!important;}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon{
  color:var(--sv-ink)!important;}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
  font-family:'SupleDisplay',sans-serif!important;text-transform:uppercase;font-size:28px!important;font-weight:700;}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover{color:var(--sv-yellow)!important;}
/* hover/activo del nav: el tema subraya en negro (invisible en oscuro) */
.hostinger-ai-site-navigation a:hover,.hostinger-ai-site-title a:hover,
body.hostinger-ai-builder-gutenberg nav .current-menu-item{border-bottom-color:var(--sv-yellow)!important;}

/* ---- dropdowns del nav (submenús) ---- */
/* el toggle NO es un botón-píldora: caret discreto inline */
.wp-block-navigation-submenu__toggle,button.wp-block-navigation-submenu__toggle{
  background:transparent!important;color:inherit!important;padding:0!important;
  border:none!important;border-radius:0!important;box-shadow:none!important;
  text-transform:none!important;letter-spacing:0!important;font-weight:inherit!important;}
header .wp-block-navigation-submenu__toggle{color:var(--sv-ink)!important;font-size:15px!important;}
header .wp-block-navigation-submenu__toggle:hover{color:var(--sv-yellow)!important;}
header .wp-block-navigation__submenu-container{
  background:var(--sv-carbon-2)!important;border:1px solid var(--sv-hair)!important;border-radius:0!important;
  box-shadow:0 22px 55px rgba(0,0,0,.6)!important;min-width:264px!important;padding:12px 8px!important;z-index:600;}
/* alineado con el texto del trigger: 22px del enlace + 8px del contenedor = 30px.
   WP lo pone en left:-1px; se corre para que la primera letra caiga bajo la del menú. */
header .wp-block-navigation__container>.wp-block-navigation-item.has-child>.wp-block-navigation__submenu-container{
  left:-30px;top:100%;}
/* especificidad (0,2,2): la regla general de nav (más abajo) ya no pisa el padding del dropdown */
header .wp-block-navigation .wp-block-navigation__submenu-container a{
  color:var(--sv-ink)!important;font-size:14px!important;text-transform:none;letter-spacing:0;
  font-weight:500!important;padding:10px 22px!important;display:flex;justify-content:space-between;gap:14px;}
header .wp-block-navigation .wp-block-navigation__submenu-container a:hover{
  color:var(--sv-yellow)!important;background:#22262b!important;}
header .wp-block-navigation__submenu-container .sv-nav-count{color:var(--sv-muted-2);font-size:11.5px;font-variant-numeric:tabular-nums;}
header .wp-block-navigation__submenu-icon{color:var(--sv-muted)!important;}
header .wp-block-navigation-item.has-child>.wp-block-navigation-item__content:hover~.wp-block-navigation__submenu-icon{color:var(--sv-yellow)!important;}
/* en el footer el menú va plano: sin toggles ni submenús */
footer .wp-block-navigation-submenu__toggle,footer button.wp-block-navigation-submenu__toggle,
footer .wp-block-navigation__submenu-icon,footer .wp-block-navigation__submenu-container{display:none!important;}
footer .wp-block-navigation-item.has-child>a{pointer-events:auto;}
/* en el overlay móvil los submenús van expandidos y sin caja */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
  background:transparent!important;border:none!important;box-shadow:none!important;padding:0 0 6px 14px!important;}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  font-size:17px!important;text-transform:none;font-family:'SupleGrotesk',sans-serif!important;font-weight:400;color:var(--sv-muted)!important;padding:6px 0!important;}

/* ---- mini-carrito: ícono legible sobre la píldora amarilla ---- */
.wc-block-mini-cart__button,.wc-block-mini-cart__button svg,
.wc-block-mini-cart__quantity-badge,.wc-block-mini-cart__icon{color:#141414!important;fill:#141414!important;}
.wc-block-mini-cart__badge{background:#141414!important;color:var(--sv-yellow)!important;}
header .wc-block-customer-account__account-icon,header .wp-block-woocommerce-customer-account a{color:var(--sv-ink)!important;fill:var(--sv-ink)!important;}
/* wordmark del header en una sola línea */
.hostinger-ai-site-title,.hostinger-ai-site-title a{font-family:'SupleDisplay',sans-serif!important;white-space:nowrap;font-style:italic;}

/* ---- buscador FiboSearch (header) ---- */
/* el logo gigante ya trae el wordmark: el título de texto sobra en el header */
header .hostinger-ai-site-title{display:none!important;}
/* header en UNA línea, centrado en vertical (la nav se partía en dos renglones ~≤1000px) */
.hostinger-ai-menu-wrapper{grid-template-columns:auto 1fr!important;
  padding-top:12px!important;padding-bottom:12px!important;}
/* solo escritorio: en móvil el align-items:start del fix de la hamburguesa debe ganar */
@media(min-width:769px){
  .hostinger-ai-menu-wrapper{align-items:center!important;}
  .hostinger-ai-site-navigation-wrapper{flex-wrap:nowrap!important;}
}
.hostinger-ai-site-navigation-wrapper{gap:18px!important;align-items:center!important;}
.wp-block-navigation__container{gap:22px!important;flex-wrap:nowrap!important;}
header .wp-block-navigation a{font-size:14.5px!important;text-transform:uppercase;
  letter-spacing:.06em;font-weight:600!important;white-space:nowrap;padding:8px 0!important;}
header .wp-block-navigation .wp-block-navigation-item{white-space:nowrap;}
/* buscador: presente pero comprimible; si el espacio no da, cede antes de partir la nav */
/* flex, no block: el grupo trae un salto de línea suelto detrás del buscador y
   como bloque le sumaba una línea vacía de 16px. En un contenedor flex el texto
   en blanco no genera item y el sobrante desaparece. */
.sv-header-search{flex:0 1 300px;min-width:128px;display:flex!important;align-items:center;}
.sv-header-search>.dgwt-wcas-search-wrapp,.dgwt-wcas-om-bar>.dgwt-wcas-search-wrapp{
  flex:1 1 auto;min-width:0;display:flex!important;align-items:center;}
.sv-header-search .dgwt-wcas-search-form,.dgwt-wcas-om-bar .dgwt-wcas-search-form{
  flex:1 1 auto;min-width:0;display:flex!important;align-items:center!important;}
/* la cadena entera va en flex: cada nivel del markup de FiboSearch trae saltos
   de línea sueltos y en bloque cada uno aportaba una línea vacía al alto */
.sv-header-search .dgwt-wcas-sf-wrapp,.dgwt-wcas-om-bar .dgwt-wcas-sf-wrapp{
  display:flex!important;align-items:center!important;flex:1 1 auto;min-width:0;}
.sv-header-search .dgwt-wcas-sf-wrapp>input,.dgwt-wcas-om-bar .dgwt-wcas-sf-wrapp>input{flex:1 1 auto;min-width:0;}
/* Un SOLO lugar donde vive el tamaño del buscador. Antes la altura se repetía
   por breakpoint y el override de móvil nunca entraba: la regla base era una
   lista de selectores y su rama .dgwt-wcas-search-wrapp input[type=search]
   (0,2,1) le ganaba en especificidad a input.dgwt-wcas-search-input (0,1,1),
   aunque las dos llevaran !important. El input medía 46px donde tocaban 38. */
/* Se definen en los DOS contenedores donde vive un buscador (el del header y la
   barra del overlay) y no en .dgwt-wcas-search-wrapp: si se definieran ahí, el
   wrapp interior volvería a fijar 46px y taparía cualquier override de arriba. */
.sv-header-search,.dgwt-wcas-om-bar{--sv-sb-h:46px;--sv-sb-btn:36px;--sv-sb-pad:48px;}
/* FiboSearch inyecta min-width:230px dinámico (y min-width le gana a max-width): fuera */
.dgwt-wcas-search-wrapp{max-width:100%;min-width:0!important;margin:0;transition:flex-basis .4s var(--sv-ease);}
/* wpautop envuelve el form del shortcode en <p> vacíos y un <br>. Sumaban 32px
   de alto muerto dentro del buscador: el header medía 189px con 152 reservados
   y en móvil la barra caía encima del hero; en el overlay el input quedaba 16px
   más abajo que el botón de volver. Se sacan del flujo sin tocar lo que va dentro. */
.dgwt-wcas-sf-wrapp>p{display:contents!important;}
/* sin el descendiente: hay otro <br> DENTRO del botón de la lupa y ahí abría una
   segunda fila del grid que subía el ícono ~10px fuera del centro del disco */
.dgwt-wcas-sf-wrapp br{display:none!important;}
/* El plugin cambió al estilo "Pirx": pinta una tarjeta blanca con padding alrededor
   del input y un botón circular encimado. Se neutraliza la tarjeta y el botón se
   vuelve la lupa DENTRO de la píldora, a la derecha. El prefijo
   .dgwt-wcas-search-wrapp es para ganarle a las reglas .dgwt-wcas-style-pirx. */
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp,.dgwt-wcas-search-wrapp .dgwt-wcas-search-form{
  background:transparent!important;border:none!important;box-shadow:none!important;
  padding:0!important;border-radius:100px!important;}
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp:before,.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp:after{display:none!important;}
.dgwt-wcas-search-wrapp button.dgwt-wcas-search-submit{
  position:absolute!important;right:5px!important;top:50%!important;left:auto!important;bottom:auto!important;
  transform:translateY(-50%)!important;box-sizing:border-box!important;
  width:var(--sv-sb-btn,36px)!important;height:var(--sv-sb-btn,36px)!important;
  min-width:0!important;min-height:0!important;max-width:none!important;
  margin:0!important;padding:0!important;
  border:none!important;border-radius:100px!important;background:var(--sv-yellow)!important;
  /* flex y no grid: el markup del botón trae tabuladores y saltos sueltos, y en
     grid cada uno abría fila propia y descentraba la lupa. En flex el texto en
     blanco no genera item, y con font-size:0 tampoco deja línea suelta. */
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:0!important;line-height:0!important;
  box-shadow:none!important;cursor:pointer;
  transition:filter var(--sv-fast) var(--sv-out)!important;}
.dgwt-wcas-search-wrapp button.dgwt-wcas-search-submit:hover{filter:brightness(1.08);transform:translateY(-50%)!important;}
.dgwt-wcas-search-submit svg,.dgwt-wcas-search-submit path,
.dgwt-wcas-search-submit .dgwt-wcas-ico-magnifier{fill:#141414!important;width:15px!important;height:15px!important;max-width:15px!important;margin:0!important;position:static!important;transform:none!important;}
.dgwt-wcas-voice-search{display:none!important;}
.dgwt-wcas-preloader{background-color:transparent!important;right:48px!important;}
.dgwt-wcas-search-wrapp input.dgwt-wcas-search-input,
.dgwt-wcas-search-wrapp input[type=search]{
  box-sizing:border-box!important;width:100%!important;
  background:transparent!important;border:1px solid var(--sv-hair)!important;
  color:var(--sv-ink)!important;border-radius:100px!important;
  height:var(--sv-sb-h,46px)!important;min-height:0!important;max-height:none!important;
  font-family:'SupleGrotesk',system-ui,-apple-system,sans-serif!important;
  font-size:13.5px!important;font-style:normal!important;text-overflow:ellipsis;
  padding:0 var(--sv-sb-pad,48px) 0 18px!important;box-shadow:none!important;
  transition:border-color .35s var(--sv-ease),background .35s var(--sv-ease)!important;}
.dgwt-wcas-search-wrapp input.dgwt-wcas-search-input:hover{border-color:rgba(255,255,255,.2)!important;}
.dgwt-wcas-search-wrapp input.dgwt-wcas-search-input:focus{background:var(--sv-carbon-2)!important;
  border-color:rgba(255,255,0,.45)!important;outline:none!important;}
.dgwt-wcas-search-input::placeholder{color:var(--sv-muted-2)!important;font-style:normal!important;}
/* si Pirx pinta una lupa suelta fuera del botón de buscar, sobra */
.dgwt-wcas-sf-wrapp .dgwt-wcas-ico-magnifier:not(.dgwt-wcas-search-submit .dgwt-wcas-ico-magnifier){display:none!important;}
/* cuenta + carrito: a escala del input (la píldora medía ~70px y aplastaba el resto) */
header .wc-block-mini-cart__button{height:46px!important;min-height:0!important;
  padding:0 16px!important;display:flex!important;align-items:center!important;}
header .wc-block-mini-cart__button svg,header .wc-block-mini-cart__icon{width:19px!important;height:19px!important;}
header .wc-block-mini-cart{margin:0!important;}
header .wc-block-customer-account__account-icon{width:21px!important;height:21px!important;}
header .wp-block-woocommerce-customer-account a{display:flex;align-items:center;color:var(--sv-muted)!important;fill:var(--sv-muted)!important;}
header .wp-block-woocommerce-customer-account a:hover{color:var(--sv-ink)!important;fill:var(--sv-ink)!important;}
/* escalera de breakpoints: a cada rango su punto, para que la nav nunca se parta.
   El corte de abajo es 992px porque ES el umbral del overlay de FiboSearch
   (mobile_overlay_breakpoint=992): de ahí para abajo el campo se vuelve lupa y
   el <a> que el plugin ya pone encima abre la búsqueda a pantalla completa. */
@media(min-width:1101px) and (max-width:1280px){
  .wp-block-navigation__container{gap:17px!important;}
  header .wp-block-navigation a{font-size:13.5px!important;}
  .sv-header-search{flex-basis:250px;}
}
@media(min-width:993px) and (max-width:1100px){
  .wp-block-navigation__container{gap:14px!important;}
  header .wp-block-navigation a{font-size:12.5px!important;letter-spacing:.05em;}
  .sv-header-search{flex-basis:200px;}
}
@media(min-width:769px) and (max-width:992px){
  .wp-block-navigation__container{gap:12px!important;}
  header .wp-block-navigation a{font-size:12px!important;letter-spacing:.04em;}
  .hostinger-ai-site-navigation-wrapper{gap:12px!important;}
  header .wc-block-mini-cart__button{padding:0 12px!important;}
  header .custom-logo,header .wp-block-site-logo img{height:92px!important;}
  body.hostinger-ai-builder-gutenberg,body.hostinger-ai-builder-elementor{padding-top:var(--sv-header-h,130px)!important;}
}
/* ≤992px: el campo no cabe sin quedar inservible (medía 160px y cortaba hasta el
   placeholder). Se colapsa a un disco amarillo; el input sigue ahí porque es lo
   que el <a> de FiboSearch cubre para disparar el overlay. */
@media(max-width:992px){
  .sv-header-search{flex:0 0 auto!important;width:var(--sv-sb-h,46px)!important;min-width:0!important;}
  .sv-header-search .dgwt-wcas-search-wrapp,
  .sv-header-search .dgwt-wcas-search-form,
  .sv-header-search .dgwt-wcas-sf-wrapp{
    width:var(--sv-sb-h,46px)!important;height:var(--sv-sb-h,46px)!important;}
  .sv-header-search .dgwt-wcas-search-wrapp input.dgwt-wcas-search-input{
    width:var(--sv-sb-h,46px)!important;padding:0!important;cursor:pointer;
    background:var(--sv-yellow)!important;border:none!important;color:transparent!important;}
  .sv-header-search .dgwt-wcas-search-wrapp input.dgwt-wcas-search-input::placeholder{color:transparent!important;}
  .sv-header-search .dgwt-wcas-search-wrapp button.dgwt-wcas-search-submit{
    right:0!important;top:0!important;transform:none!important;pointer-events:none;
    width:var(--sv-sb-h,46px)!important;height:var(--sv-sb-h,46px)!important;background:transparent!important;}
  .sv-header-search .dgwt-wcas-search-wrapp button.dgwt-wcas-search-submit:hover{transform:none!important;}
  .sv-header-search .dgwt-wcas-preloader{right:0!important;}
  .sv-header-search .dgwt-wcas-enable-mobile-form{
    top:0!important;left:0!important;right:0!important;bottom:0!important;
    width:100%!important;height:100%!important;border-radius:100px!important;}
}
.dgwt-wcas-suggestions-wrapp,.dgwt-wcas-details-wrapp{
  background:#1c2023!important;border:1px solid var(--sv-hair)!important;
  border-radius:14px!important;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.5)!important;
  /* el panel hereda el ancho del input: con el campo en 200px los nombres de
     producto salían en cuatro renglones y la miniatura quedaba en un cuadrito */
  min-width:min(300px,calc(100vw - 32px))!important;}
.dgwt-wcas-suggestion{color:var(--sv-ink)!important;border-color:var(--sv-hair)!important;}
.dgwt-wcas-suggestion:hover,.dgwt-wcas-suggestion-focused{background:#23282d!important;}
.dgwt-wcas-st,.dgwt-wcas-st span{color:var(--sv-ink)!important;}
.dgwt-wcas-sp,.dgwt-wcas-sp .woocommerce-Price-amount{color:var(--sv-yellow)!important;}
/* ---- overlay de búsqueda a pantalla completa (≤992px) ---- */
/* FiboSearch lo pinta blanco por default y la barra sale sin aire: el botón de
   volver quedaba pegado al borde y heredaba la píldora amarilla de los botones. */
.dgwt-wcas-overlay-mobile,.js-dgwt-wcas-overlay-mobile{background:var(--sv-carbon)!important;}
.dgwt-wcas-om-bar{background:var(--sv-carbon)!important;height:auto!important;
  padding:10px 14px!important;display:flex!important;align-items:center!important;gap:8px!important;
  border-bottom:1px solid var(--sv-hair)!important;}
.dgwt-wcas-om-bar{--sv-sb-pad:84px;}
.dgwt-wcas-om-bar .dgwt-wcas-search-wrapp{flex:1 1 auto!important;width:auto!important;min-width:0!important;}
/* la "x" de limpiar caía justo encima del disco amarillo y lo convertía en una
   cruz: se recorre a la izquierda de la lupa */
/* (la "x" y el spinner son el MISMO nodo .dgwt-wcas-preloader.dgwt-wcas-close, y
   el plugin lo clava en right:0 con tres clases: hay que subir la especificidad) */
.dgwt-wcas-om-bar .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp .dgwt-wcas-preloader{
  right:52px!important;left:auto!important;}
.dgwt-wcas-om-bar button.dgwt-wcas-om-return{
  flex:0 0 auto!important;width:38px!important;height:38px!important;
  min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;
  background:transparent!important;border:none!important;border-radius:100px!important;
  display:grid!important;place-items:center!important;box-shadow:none!important;
  color:var(--sv-ink)!important;transform:none!important;}
.dgwt-wcas-om-bar button.dgwt-wcas-om-return:hover{background:var(--sv-carbon-2)!important;transform:none!important;filter:none;}
.dgwt-wcas-om-bar .dgwt-wcas-om-return svg,.dgwt-wcas-om-bar .dgwt-wcas-om-return path{
  fill:var(--sv-ink)!important;width:18px!important;height:18px!important;}
/* en el overlay las sugerencias van a lo ancho, sin tarjeta flotante */
.dgwt-wcas-overlay-mobile .dgwt-wcas-suggestions-wrapp{
  border:none!important;border-radius:0!important;box-shadow:none!important;background:var(--sv-carbon)!important;}
/* móvil: header de UN renglón — logo, lupa, cuenta, carrito y hamburguesa */
@media(max-width:768px){
  .hostinger-ai-site-navigation-wrapper{flex-wrap:nowrap!important;justify-content:flex-end!important;}
  .sv-header-search{--sv-sb-h:42px;}
  .dgwt-wcas-om-bar{--sv-sb-h:42px;}
}

/* ---- botones tipo píldora amarilla ---- */
/* los dos botones del buscador se visten aparte; sin excluirlos, el padding de
   esta regla (con su :not() encadenado gana en especificidad) los deformaba: la
   lupa salía de 40px en vez de 36 y el "volver" del overlay era una píldora amarilla */
.button,a.button,button:not(.navbar-toggler):not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close):not(.wp-block-navigation-submenu__toggle):not(.sv-play):not(.sv-slider-btn):not(.sv-dot):not(.sv-reels-btn):not(.sv-f-aplicar):not(.sv-comprar-ahora):not(.sv-rel-btn):not(.dgwt-wcas-search-submit):not(.dgwt-wcas-om-return):not(.sv-car-btn):not(.sv-visor-btn):not(.wc-block-components-quantity-selector__button):not(.wc-block-cart-item__remove-link):not(.wc-block-components-panel__button),
.wp-block-button__link,.single_add_to_cart_button,input[type=submit],.added_to_cart,.wc-block-components-button,
.sv-btn-y{
  background:var(--sv-yellow)!important;color:#141414!important;border:none!important;
  border-radius:100px!important;font-weight:600!important;text-transform:uppercase;
  letter-spacing:.03em;padding:.72em 1.5em!important;box-shadow:none!important;
  transition:transform var(--sv-dur) var(--sv-out),filter var(--sv-dur) var(--sv-out)!important;}
.button:hover,a.button:hover,.wp-block-button__link:hover,.single_add_to_cart_button:hover,
input[type=submit]:hover,.wc-block-components-button:hover{
  filter:brightness(1.06);transform:translateY(-2px);color:#141414!important;}
a.add_to_cart_button,a.add_to_cart_button.wp-element-button,.wp-element-button.add_to_cart_button{color:#141414!important;}
/* bloque interactivo product-button (tienda usa is-style-outline: texto heredado blanco) */
body .wc-block-components-product-button .wp-block-button__link,
body .wc-block-components-product-button__button,
body .wc-block-components-product-button__button span,
body .wp-block-button.is-style-outline>.wp-block-button__link{
  color:#141414!important;border-color:transparent!important;}

/* controles del bloque carrito/checkout: NO son píldoras.
   Sin esto, la píldora amarilla infla −/+/eliminar y el botón de eliminar
   queda ENCIMA del "+": el clic del usuario nunca llega (bug QA 2026-07-19). */
button.wc-block-components-quantity-selector__button{
  background:transparent!important;color:var(--sv-ink)!important;border:none!important;
  border-radius:0!important;padding:0 10px!important;min-width:0!important;
  text-transform:none!important;letter-spacing:0!important;font-weight:600!important;
  box-shadow:none!important;transform:none!important;}
button.wc-block-components-quantity-selector__button:hover{color:var(--sv-yellow)!important;filter:none!important;transform:none!important;}
.wc-block-components-quantity-selector{
  background:var(--sv-carbon-2)!important;border:1px solid var(--sv-hair)!important;border-radius:100px!important;}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{
  background:transparent!important;border:none!important;color:var(--sv-ink)!important;}
button.wc-block-cart-item__remove-link{
  background:transparent!important;color:var(--sv-muted)!important;border:none!important;
  border-radius:0!important;padding:0!important;margin-left:12px;box-shadow:none!important;
  text-transform:none!important;letter-spacing:0!important;font-weight:400!important;transform:none!important;}
button.wc-block-cart-item__remove-link:hover{color:#ff7a7a!important;filter:none!important;transform:none!important;}
button.wc-block-components-panel__button{
  background:transparent!important;color:var(--sv-ink)!important;border:none!important;
  border-radius:0!important;padding:0!important;box-shadow:none!important;
  text-transform:none!important;letter-spacing:0!important;font-weight:500!important;transform:none!important;}
button.wc-block-components-panel__button:hover{color:var(--sv-yellow)!important;filter:none!important;}

/* ---- precios ---- */
.price,.woocommerce-Price-amount,.amount,.wc-block-grid__product-price,.wc-block-components-product-price{
  color:var(--sv-yellow)!important;font-family:'SupleDisplay',sans-serif!important;font-weight:700!important;
  font-variant-numeric:tabular-nums;}
del .woocommerce-Price-amount{color:var(--sv-muted)!important;opacity:.6;}

/* ---- fichas de producto: planas, editoriales (sin card) ---- */
ul.products li.product,.wc-block-grid__product,.wc-block-product{
  background:transparent!important;border:none!important;border-top:1px solid var(--sv-hair)!important;
  border-radius:0!important;padding:16px 10px 20px!important;overflow:visible;
  transition:border-color var(--sv-dur) var(--sv-out),background var(--sv-dur) var(--sv-out)!important;}
ul.products li.product:hover,.wc-block-grid__product:hover,.wc-block-product:hover{
  border-top-color:rgba(255,255,0,.55)!important;
  background:linear-gradient(180deg,rgba(255,255,0,.035),transparent 70%)!important;}
ul.products li.product img,.wc-block-grid__product-image img,.wc-block-product img{
  border-radius:0!important;background:#12151a;
  transition:transform var(--sv-dur) var(--sv-out);}
ul.products li.product:hover img{transform:translateY(-4px);}
/* interiores alineados: títulos de 1-3 líneas hacían bailar precio y botón.
   El <a> del loop crece y el precio se ancla abajo; el botón queda parejo. */
ul.products li.product{display:flex!important;flex-direction:column;align-items:center;text-align:center;}
ul.products li.product>a.woocommerce-LoopProduct-link{
  display:flex;flex-direction:column;align-items:center;flex:1 1 auto;width:100%;}
ul.products li.product>a.woocommerce-LoopProduct-link .price{margin-top:auto!important;padding-top:8px;}
ul.products li.product .price{white-space:nowrap;}
ul.products li.product>.button,ul.products li.product>a.add_to_cart_button{align-self:center;}
/* kicker de departamento arriba del título (lo pinta el mu-plugin) */
.sv-kicker{display:block;text-align:center;font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--sv-muted-2);margin:12px 0 2px;font-weight:600;}
/* placeholder branded (sv-placeholder.png): mostrar tal cual */
img.woocommerce-placeholder{opacity:1!important;background:#12151a!important;}
/* galería del producto: delimitar la imagen sobre fondo carbón */
.woocommerce-product-gallery img,.wp-block-woocommerce-product-image img{
  border:1px solid var(--sv-hair)!important;border-radius:0!important;}
.woocommerce-loop-product__title{font-size:1rem!important;padding:.6em 0 .2em!important;}
.onsale{background:var(--sv-yellow)!important;color:#141414!important;border-radius:100px!important;
  text-transform:uppercase;font-weight:700;font-size:.7rem;letter-spacing:.05em;}

/* ---- footer / inputs / notices / carrito ---- */
footer,.site-footer{background:#111316!important;color:var(--sv-muted)!important;border-top:1px solid var(--sv-hair);}
footer a{color:var(--sv-muted)!important;} footer a:hover{color:var(--sv-ink)!important;}
/* el correo largo se partía a media palabra ("olyth.i / o") en la columna Contacto */
footer a[href^="mailto:"]{white-space:nowrap;font-size:13.5px;letter-spacing:0;}
/* el input del buscador se viste en su propio bloque (arriba) y con menos
   especificidad que esta regla: sin excluirlo, aquí abajo le devolvía el fondo
   gris y las esquinas de 10px y se comía la píldora y el disco amarillo */
input:not([type=submit]):not([type=radio]):not([type=checkbox]):not(.dgwt-wcas-search-input),select,textarea{
  background:var(--sv-carbon-2)!important;color:var(--sv-ink)!important;border:1px solid var(--sv-hair)!important;border-radius:10px!important;}
::placeholder{color:var(--sv-muted)!important;}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  background:var(--sv-carbon-2)!important;border-top:3px solid var(--sv-yellow)!important;color:var(--sv-ink)!important;}
table.shop_table,table.cart{background:var(--sv-card)!important;border:1px solid var(--sv-hair)!important;border-radius:14px;}
table.shop_table th,table.shop_table td{border-color:var(--sv-hair)!important;color:var(--sv-ink)!important;}

/* presets del tema pensados para fondo claro */
.has-dark-color,.has-dark-color a{color:var(--sv-muted)!important;}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent!important;color:var(--sv-ink)!important;
  border:1px solid var(--sv-hair)!important;}
.wp-block-button.is-style-outline .wp-block-button__link:hover{color:var(--sv-yellow)!important;border-color:rgba(255,255,0,.4)!important;}

/* el fade-up del tema deja contenido invisible si su JS no dispara: fuera */
.hostinger-ai-fade-up{opacity:1!important;transform:none!important;animation:none!important;transition:none!important;visibility:visible!important;}

/* ---- animaciones: reveal on scroll (clases que añade el JS del mu-plugin) ----
   v3: antes duraba .75s con retrasos largos y al scrollear rápido se veían
   pantallas a medio aparecer (Marcas sobre todo). Más corto y con menos viaje. */
.sv-rv{opacity:0;transform:translateY(12px);transition:opacity .45s var(--sv-out),transform .45s var(--sv-out);}
.sv-rv.sv-in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.sv-rv{opacity:1;transform:none;transition:none;}}

/* =========================================================
   HOME a medida (.sv-home) — editorial, sin cards
   ========================================================= */
.sv-home{max-width:1200px;margin:0 auto;padding:0 24px;}
.sv-y{color:var(--sv-yellow);}

.sv-hero{position:relative;min-height:78vh;display:flex;align-items:center;padding:90px 0 70px;overflow:hidden;}
.sv-hero-saturn{position:absolute;right:-4%;top:46%;transform:translateY(-50%);width:min(640px,54vw);z-index:0;
  opacity:.9;filter:drop-shadow(0 0 60px rgba(255,255,0,.06));}
.sv-hero-saturn{animation:sv-drift 16s ease-in-out infinite alternate;}
@keyframes sv-drift{from{transform:translateY(-52%);}to{transform:translateY(-47%);}}
.sv-star{animation:sv-twinkle 4.2s ease-in-out infinite;}
.sv-star2{animation-delay:1.4s;animation-duration:5.6s;}
.sv-star3{animation-delay:2.6s;animation-duration:3.4s;}
@keyframes sv-twinkle{0%,100%{opacity:.25;}50%{opacity:1;}}
.sv-hero-in{position:relative;z-index:2;max-width:760px;}
.sv-h1{font-family:'SupleDisplay',sans-serif!important;text-transform:uppercase;font-weight:700;
  font-size:clamp(36px,6vw,78px)!important;line-height:1!important;margin:0 0 22px!important;}
.sv-sub{font-size:clamp(15px,1.9vw,18px);color:var(--sv-muted)!important;max-width:470px;margin-bottom:34px;line-height:1.6;}
.sv-sub b{color:var(--sv-ink);font-weight:600;}
.sv-cta{display:flex;gap:13px;flex-wrap:wrap;align-items:center;}
.sv-btn{display:inline-flex;align-items:center;gap:11px;font-weight:600;font-size:15px;border-radius:100px;
  padding:14px 16px 14px 26px;text-transform:uppercase;letter-spacing:.03em;transition:color .4s var(--sv-ease),border-color .4s var(--sv-ease),filter .4s;}
.sv-btn-y{background:var(--sv-yellow);color:#141414;}
.sv-btn-y .sv-ic{width:28px;height:28px;border-radius:100px;background:rgba(0,0,0,.15);display:grid;place-items:center;transition:transform .5s var(--sv-ease);}
.sv-btn-y:hover{color:#141414;filter:brightness(1.06);} .sv-btn-y:hover .sv-ic{transform:translateX(3px);}
.sv-btn-ghost{border:1px solid var(--sv-hair);color:var(--sv-ink);padding:14px 24px;}
.sv-btn-ghost:hover{border-color:rgba(255,255,255,.28);color:var(--sv-yellow);}

.sv-sec{padding:64px 0;}
/* cabecera de seccion: regla + titular + meta (sin kicker) */
.sv-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;
  border-top:1px solid var(--sv-hair);padding-top:26px;margin-bottom:34px;}
.sv-h2{font-family:'SupleDisplay',sans-serif!important;text-transform:uppercase;font-weight:700;font-size:clamp(25px,3.8vw,48px)!important;margin:0!important;line-height:1.04!important;}
.sv-head-link{font-size:13px;color:var(--sv-muted)!important;letter-spacing:.04em;white-space:nowrap;}
.sv-head-link:hover{color:var(--sv-yellow)!important;}

/* --- indice de departamentos: filas, no tarjetas --- */
.sv-ix{display:grid;grid-template-columns:minmax(200px,1.1fr) 1fr auto;align-items:baseline;gap:18px;
  padding:17px 4px;border-bottom:1px solid var(--sv-hair);transition:background .35s var(--sv-ease);}
.sv-ix:first-child{border-top:1px solid var(--sv-hair);}
.sv-ix-name{font-family:'SupleDisplay',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(18px,2.1vw,26px);line-height:1.05;color:var(--sv-ink);transition:color .3s;}
.sv-ix-note{font-size:13px;color:var(--sv-muted-2);letter-spacing:.01em;}
.sv-ix-n{font-variant-numeric:tabular-nums;font-size:13.5px;color:var(--sv-muted);}
.sv-ix-n::after{content:" \2192";color:var(--sv-muted-2);}
.sv-ix:hover{background:linear-gradient(90deg,rgba(255,255,0,.045),transparent 65%);}
.sv-ix:hover .sv-ix-name{color:var(--sv-yellow);}
.sv-ix:hover .sv-ix-n::after{color:var(--sv-yellow);}

/* --- seccion video principal (split) --- */
.sv-split{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:44px;align-items:center;}
.sv-split .sv-h2{margin-bottom:18px!important;}
.sv-p{color:var(--sv-muted);line-height:1.65;font-size:15px;max-width:420px;margin:0 0 26px;}
.sv-video{position:relative;aspect-ratio:16/9;background:#101215;border:1px solid var(--sv-hair);
  display:grid;place-items:center;overflow:hidden;}
.sv-video-bg{position:absolute;inset:0;width:100%;height:100%;}
.sv-play{position:relative;z-index:2;width:64px;height:64px;border-radius:100px!important;cursor:default;
  border:1px solid rgba(255,255,255,.25)!important;background:rgba(21,23,25,.7)!important;color:var(--sv-ink)!important;
  display:grid;place-items:center;padding:0!important;box-shadow:none!important;}
.sv-play svg{margin-left:3px;}
.sv-video-cap{position:absolute;left:16px;bottom:13px;z-index:2;font-size:10.5px;text-transform:uppercase;
  letter-spacing:.2em;color:var(--sv-muted);}

/* --- foto real del local (split) --- */
.sv-photo{position:relative;margin:0;border:1px solid var(--sv-hair);overflow:hidden;}
.sv-photo img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:16/10;
  transition:transform 1.6s var(--sv-ease);}
.sv-photo:hover img{transform:scale(1.025);}
.sv-photo figcaption{position:absolute;left:16px;bottom:13px;font-size:10.5px;text-transform:uppercase;
  letter-spacing:.2em;color:#e6e9ea;text-shadow:0 1px 10px rgba(0,0,0,.85);}
.sv-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(13,15,17,.55));pointer-events:none;}

/* --- banda cinemática con video --- */
.sv-cine{position:relative;min-height:min(440px,52vw);margin:10px 0;border:1px solid var(--sv-hair);
  overflow:hidden;display:flex;align-items:flex-end;}
.sv-cine video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;}
.sv-cine::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(15,17,19,.82) 0%,rgba(15,17,19,.25) 55%,rgba(15,17,19,.55) 100%);}
.sv-cine-in{position:relative;z-index:2;padding:46px 44px;text-align:left;}
.sv-cine-in .sv-h2{margin-bottom:22px!important;text-align:left;}
@media(max-width:640px){.sv-cine-in{padding:74px 22px 30px;}}
.sv-cine-cap{position:absolute;right:18px;top:14px;left:auto;bottom:auto;z-index:2;}

/* --- reels del mostrador (vertical) --- */
.sv-reels{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--sv-hair);border:1px solid var(--sv-hair);}
.sv-reel{position:relative;aspect-ratio:9/12;background:#101215;margin:0;display:grid;place-items:center;}
.sv-reel:nth-child(2){background:#12151a;}
.sv-play-s{width:44px!important;height:44px!important;}
.sv-reel figcaption{position:absolute;left:14px;right:14px;bottom:12px;font-size:12.5px;color:var(--sv-muted);
  border-top:1px solid var(--sv-hair);padding-top:9px;}

/* --- ticker de valores (una linea, sin cajas) --- */
.sv-ticker{overflow:hidden;border-top:1px solid var(--sv-hair);border-bottom:1px solid var(--sv-hair);
  margin:30px 0 90px;padding:16px 0;white-space:nowrap;}
.sv-ticker-in{display:inline-flex;align-items:center;gap:26px;animation:sv-tick 36s linear infinite;will-change:transform;}
.sv-ticker-in span{font-family:'SupleDisplay',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:15px;letter-spacing:.06em;color:var(--sv-ink);}
.sv-ticker-in i{color:var(--sv-yellow);font-style:normal;font-size:12px;}
@keyframes sv-tick{to{transform:translateX(-50%);}}

/* el loop clásico usa floats y se rompe con alturas desiguales: forzar grid */
ul.products{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0 26px!important;width:100%;}
/* el clearfix del tema se vuelve una celda fantasma dentro del grid */
ul.products::before,ul.products::after{display:none!important;content:none!important;}
ul.products li.product{width:100%!important;float:none!important;margin:0!important;}
ul.products.columns-3{grid-template-columns:repeat(3,1fr)!important;}
@media(max-width:900px){ul.products,ul.products.columns-3{grid-template-columns:repeat(2,1fr)!important;gap:0 16px!important;}}
.sv-feat ul.products{margin:0!important;}

@media(max-width:900px){
  .sv-hero-saturn{opacity:.22;right:-42%;top:58%;width:74vw;}
  .sv-split{grid-template-columns:1fr;gap:26px;}
  .sv-ix{grid-template-columns:1fr auto;}
  .sv-ix-note{display:none;}
  .sv-reels{grid-template-columns:1fr;}
  .sv-reel{aspect-ratio:16/9;}
}
/* tienda: aire lateral (el tema deja el contenido pegado al borde) */
@media(min-width:769px) and (max-width:1280px){
  .woocommerce-shop main,body.archive.tax-product_cat main,body.single-product main{
    padding-left:28px!important;padding-right:28px!important;}
}
@media(max-width:768px){
  .woocommerce-shop main,body.archive.tax-product_cat main,body.single-product main{
    padding-left:18px!important;padding-right:18px!important;}
  ul.products li.product .button{font-size:12.5px!important;padding:.65em 1.1em!important;}
}
/* botones de producto compactos y en una línea hasta 1024px */
@media(max-width:1024px){
  .wc-block-components-product-button__button,ul.products li.product .button{
    width:100%;max-width:230px;white-space:nowrap;font-size:11px!important;
    padding:.72em .4em!important;letter-spacing:.02em!important;}
}
@media(max-width:560px){.sv-hero-saturn{display:none;}}
@media(prefers-reduced-motion:reduce){.sv-ring{animation:none;}.sv-ticker-in{animation:none;}}

/* =========================================================
   FILTROS de tienda (.sv-filtros) · MARCAS A-Z (.sv-marcas) · WhatsApp
   ========================================================= */
/* filtros planos: grupos separados por hairline, sin cajas */
.sv-filtros{position:sticky;top:110px;}
.sv-f-t{font-size:20px!important;margin:0 0 6px!important;}
details.sv-f{border:none;border-top:1px solid var(--sv-hair);border-radius:0;background:transparent;margin:0;}
details.sv-f summary{cursor:pointer;list-style:none;padding:14px 2px;font-weight:600;font-size:12px;
  text-transform:uppercase;letter-spacing:.12em;color:var(--sv-muted);display:flex;justify-content:space-between;align-items:center;}
details.sv-f summary::-webkit-details-marker{display:none;}
details.sv-f summary::after{content:"+";color:var(--sv-muted-2);font-size:15px;transition:transform .3s var(--sv-ease);}
details.sv-f[open] summary::after{transform:rotate(45deg);}
details.sv-f>div{padding:0 2px 16px;display:flex;flex-direction:column;gap:2px;}
details.sv-f a{font-size:13.5px;color:var(--sv-muted)!important;padding:5px 0;display:flex;justify-content:flex-start;align-items:center;gap:8px;
  transition:color .3s;}
details.sv-f a em{margin-left:auto;}
details.sv-f a:hover{color:var(--sv-ink)!important;}
details.sv-f a.sv-f-on{color:var(--sv-yellow)!important;font-weight:600;}
details.sv-f a.sv-f-on::before{content:"\25CF\00A0";font-size:9px;align-self:center;}
details.sv-f a em{font-style:normal;opacity:.5;font-variant-numeric:tabular-nums;}
.sv-f-marcas{max-height:340px;overflow-y:auto;}
.sv-f-todas{color:var(--sv-yellow)!important;font-weight:600;}

/* marcas A-Z: lista editorial (sin chips) */
.sv-marcas{max-width:960px;margin-bottom:70px;}
.sv-marcas-grupo{display:grid;grid-template-columns:64px 1fr;gap:6px 26px;padding:20px 0;border-top:1px solid var(--sv-hair);}
.sv-marcas-letra{font-family:'SupleDisplay',sans-serif;font-weight:700;font-size:42px;color:var(--sv-yellow);line-height:.9;}
.sv-marcas-lista{columns:3;column-gap:34px;}
.sv-marcas-lista a{display:flex;justify-content:space-between;gap:10px;break-inside:avoid;
  padding:6px 0;font-size:14.5px;color:var(--sv-ink)!important;border-bottom:1px solid rgba(255,255,255,.05);}
.sv-marcas-lista a:hover{color:var(--sv-yellow)!important;}
.sv-marcas-lista a em{font-style:normal;color:var(--sv-muted-2);font-size:12px;font-variant-numeric:tabular-nums;}
@media(max-width:700px){.sv-marcas-lista{columns:1;}}

/* fila de confianza del footer (texto plano, sin cajitas) */
.sv-trust{display:flex;flex-wrap:wrap;gap:10px 34px;justify-content:center;max-width:1120px;margin:0 auto 42px;
  padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.08);}
.sv-trust span{font-family:'SupleDisplay',sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.07em;font-size:13.5px;color:#cfd3d6;}
.sv-trust span::before{content:"\2726\00A0\00A0";color:var(--sv-yellow);font-size:11px;}
.sv-shop-cols{gap:34px;}
.sv-legal-sup{opacity:.55;font-size:11.5px!important;max-width:720px;margin-left:auto!important;margin-right:auto!important;}
.sv-wa{position:fixed;right:20px;bottom:20px;z-index:9999;width:54px;height:54px;border-radius:100px;
  background:#25D366;color:#fff!important;display:grid;place-items:center;
  box-shadow:0 10px 28px rgba(0,0,0,.45);transition:transform .4s var(--sv-ease);}
.sv-wa:hover{transform:translateY(-3px) scale(1.05);color:#fff!important;}

@media(max-width:781px){
  .sv-filtros{position:static;}
  details.sv-f{margin-bottom:8px;}
  details.sv-f:not(:first-of-type){/* colapsados por defecto en móvil vía JS no disponible: se quedan abiertos */}
  .sv-marcas-grupo{grid-template-columns:44px 1fr;}
}


/* =========================================================
   Formulario de contacto (Mayoreo/Contacto) — plano y legible
   ========================================================= */
.hts-contact-form,.hostinger-ai-contact-form-4 form,.wp-block-group form.hts-contact-form{max-width:620px;}
.hts-contact-form label{display:block!important;font-size:11px;text-transform:uppercase;
  letter-spacing:.14em;color:var(--sv-muted)!important;margin:20px 0 7px!important;font-weight:600;}
.hts-contact-form input:not([type=submit]):not([type=checkbox]),.hts-contact-form textarea{
  display:block;width:100%!important;padding:13px 15px!important;font-size:15px!important;
  border-radius:0!important;margin:0!important;}
.hts-contact-form textarea{min-height:130px;resize:vertical;}
.hts-contact-form .hts-privacy-agree{display:flex;gap:10px;align-items:flex-start;margin:18px 0 6px;}
.hts-contact-form .hts-privacy-agree span,.hts-contact-form .hts-privacy-agree label{
  text-transform:none!important;letter-spacing:0!important;margin:0!important;
  font-size:12.5px!important;color:var(--sv-muted)!important;line-height:1.5;font-weight:400!important;}
.hts-contact-form input[type=submit]{margin-top:14px;}

/* mapa (Nosotros/Contacto): tratamiento oscuro para no romper el tema */
iframe[src*="google.com/maps"]{
  filter:invert(.92) hue-rotate(180deg) grayscale(.22) contrast(.9);
  border:1px solid var(--sv-hair)!important;width:100%!important;display:block;}

/* ══════════════════════════════════════════════════════════════════════
   PÁGINAS LEGALES  ·  v2.6
   Índice pegado a la izquierda, secciones numeradas al margen.
   La idea: que un documento aburrido se lea, no que se vea "de plantilla".
   ══════════════════════════════════════════════════════════════════════ */

.sv-legal{max-width:1180px;margin:0 auto;padding:0 24px 100px;}

/* — cabecera editorial — */
.sv-legal-head{padding:78px 0 44px;border-bottom:1px solid var(--sv-hair);margin-bottom:52px;}
.sv-legal-kicker{font-family:'SupleDisplay',system-ui,sans-serif;font-size:12px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--sv-yellow);margin:0 0 14px;}
.sv-legal-head h1{font-size:clamp(38px,6vw,68px)!important;line-height:.95!important;margin:0 0 20px!important;
  text-transform:uppercase;letter-spacing:-.02em;}
.sv-legal-meta{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:13px;color:var(--sv-muted);margin:0;}
.sv-legal-meta strong{color:var(--sv-ink);font-weight:500;}

/* — dos columnas: índice + cuerpo — */
.sv-legal-cols{display:grid;grid-template-columns:220px 1fr;gap:64px;align-items:start;}
.sv-legal-nav{position:sticky;top:110px;font-size:13.5px;line-height:1.75;}
.sv-legal-nav p{font-family:'SupleDisplay',system-ui,sans-serif;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--sv-muted-2);margin:0 0 14px;}
.sv-legal-nav a{display:block;color:var(--sv-muted);padding:3px 0;border-left:1px solid transparent;
  padding-left:14px;margin-left:-14px;transition:all .3s var(--sv-ease);}
.sv-legal-nav a:hover{color:var(--sv-ink);border-left-color:var(--sv-yellow);}

/* — lo esencial, arriba del todo — */
.sv-legal-tldr{border:1px solid var(--sv-hair);border-left:2px solid var(--sv-yellow);
  background:var(--sv-carbon-2);padding:26px 30px;margin:0 0 54px;}
.sv-legal-tldr h2{font-size:15px!important;letter-spacing:.16em;text-transform:uppercase;
  margin:0 0 16px!important;color:var(--sv-yellow)!important;}
.sv-legal-tldr ul{margin:0;padding-left:19px;}
.sv-legal-tldr li{margin-bottom:9px;font-size:15px;line-height:1.65;}
.sv-legal-tldr li:last-child{margin-bottom:0;}

/* — secciones con el número al margen — */
.sv-legal-sec{position:relative;padding:0 0 46px;margin-bottom:46px;border-bottom:1px solid var(--sv-hair);}
.sv-legal-sec:last-of-type{border-bottom:none;}
.sv-legal-sec>h2{font-size:clamp(21px,2.4vw,27px)!important;text-transform:uppercase;
  margin:0 0 18px!important;letter-spacing:-.01em;scroll-margin-top:120px;}
.sv-legal-sec>h2::before{content:attr(data-n);font-family:'SupleDisplay',system-ui,sans-serif;
  color:var(--sv-yellow);opacity:.5;margin-right:14px;font-size:.72em;vertical-align:2px;}
.sv-legal-sec h3{font-size:16px!important;text-transform:none;margin:28px 0 10px!important;color:var(--sv-ink)!important;}
.sv-legal-sec p,.sv-legal-sec li{font-size:15.5px;line-height:1.72;color:#c9cfd4;}
.sv-legal-sec strong{color:var(--sv-ink);font-weight:600;}
.sv-legal-sec ul,.sv-legal-sec ol{padding-left:20px;margin:14px 0;}
.sv-legal-sec li{margin-bottom:8px;}
.sv-legal-sec a{color:var(--sv-yellow);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;text-decoration-color:rgba(255,255,0,.35);}
.sv-legal-sec a:hover{text-decoration-color:var(--sv-yellow);}

/* — tabla de plazos — */
.sv-legal table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14.5px;}
.sv-legal th{font-family:'SupleDisplay',system-ui,sans-serif;text-transform:uppercase;
  font-size:11.5px;letter-spacing:.14em;color:var(--sv-muted-2);text-align:left;
  padding:0 16px 11px 0;border-bottom:1px solid var(--sv-hair);font-weight:700;}
.sv-legal td{padding:14px 16px 14px 0;border-bottom:1px solid rgba(255,255,255,.05);
  vertical-align:top;color:#c9cfd4;}
.sv-legal td:first-child{color:var(--sv-ink);font-weight:500;}

/* — sí / no, sin iconos de librería — */
.sv-si::before{content:"SÍ";font-family:'SupleDisplay',system-ui,sans-serif;font-size:10.5px;
  letter-spacing:.1em;color:var(--sv-carbon);background:var(--sv-yellow);
  padding:2px 7px;margin-right:10px;position:relative;top:-1px;}
.sv-no::before{content:"NO";font-family:'SupleDisplay',system-ui,sans-serif;font-size:10.5px;
  letter-spacing:.1em;color:var(--sv-muted);border:1px solid var(--sv-hair);
  padding:2px 7px;margin-right:10px;position:relative;top:-1px;}
.sv-legal-sec li.sv-si,.sv-legal-sec li.sv-no{list-style:none;margin-left:-20px;margin-bottom:13px;}

/* — dato que el cliente todavía no entrega: tiene que doler verlo — */
.sv-falta{background:rgba(255,255,0,.13);color:var(--sv-yellow);border:1px dashed rgba(255,255,0,.45);
  padding:1px 7px;font-size:.9em;font-family:'SupleDisplay',system-ui,sans-serif;letter-spacing:.04em;}

/* — cierre con contacto — */
.sv-legal-cierre{margin-top:56px;padding:30px;border:1px solid var(--sv-hair);background:var(--sv-carbon-2);}
.sv-legal-cierre h2{font-size:17px!important;text-transform:uppercase;margin:0 0 14px!important;}
.sv-legal-cierre p{margin:0 0 8px;font-size:15px;}

@media(max-width:900px){
  .sv-legal-cols{grid-template-columns:1fr;gap:0;}
  .sv-legal-nav{position:static;margin-bottom:40px;padding-bottom:26px;border-bottom:1px solid var(--sv-hair);
    columns:2;column-gap:26px;}
  .sv-legal-head{padding:54px 0 32px;margin-bottom:36px;}
  .sv-legal{padding:0 18px 70px;}
}

/* ══════════════════════════════════════════════════════════════════════
   DISPONIBILIDAD Y CONFIANZA  ·  v2.7
   El catálogo tiene 1,912 productos y la mayoría va sobre pedido. Decirlo
   en la tarjeta evita que el cliente lo descubra después de pagar.
   ══════════════════════════════════════════════════════════════════════ */

.sv-disp{display:inline-block;font-family:'SupleDisplay',system-ui,sans-serif;
  font-size:10px;letter-spacing:.13em;text-transform:uppercase;padding:3px 8px;
  margin:0 0 10px;line-height:1.4;}
.sv-disp-ya{color:var(--sv-carbon);background:var(--sv-yellow);}
.sv-disp-poco{color:var(--sv-yellow);border:1px solid rgba(255,255,0,.5);background:rgba(255,255,0,.08);}
.sv-disp-ped{color:var(--sv-muted);border:1px solid var(--sv-hair);}

/* en la rejilla, centrado con la tarjeta */
ul.products li.product .sv-disp,.wc-block-product .sv-disp{display:block;width:fit-content;margin-inline:auto;}

/* aviso de sobre pedido en la ficha */
.sv-aviso{border:1px solid var(--sv-hair);border-left:2px solid var(--sv-yellow);
  background:var(--sv-carbon-2);padding:16px 20px;margin:0 0 24px;font-size:14.5px;line-height:1.65;
  color:#c9cfd4;max-width:560px;}
.sv-aviso strong{color:var(--sv-ink);}

/* garantías junto al botón de compra */
.sv-garantias{list-style:none;margin:26px 0 0;padding:20px 0 0;border-top:1px solid var(--sv-hair);
  max-width:560px;}
.sv-garantias li{position:relative;padding-left:20px;margin-bottom:9px;font-size:14px;color:var(--sv-muted);}
.sv-garantias li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;
  background:var(--sv-yellow);}
.sv-garantias a{color:var(--sv-ink);text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:rgba(255,255,255,.3);}
.sv-garantias a:hover{color:var(--sv-yellow);}

/* ══════════════════════════════════════════════════════════════════════
   AFINADO VISUAL  ·  v3
   Paginación, orden, scrollbars, sociales y sticky de compra en móvil.
   ══════════════════════════════════════════════════════════════════════ */

/* — paginación con marca (cubre loop clásico y bloque query) — */
.woocommerce-pagination{margin:44px 0 10px;}
.woocommerce-pagination ul.page-numbers{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
  list-style:none;margin:0;padding:0;border:none!important;}
.woocommerce-pagination ul.page-numbers li{margin:0!important;border:none!important;overflow:visible;}
.woocommerce-pagination .page-numbers a,.woocommerce-pagination .page-numbers span,
.wp-block-query-pagination a,.wp-block-query-pagination .wp-block-query-pagination-numbers span{
  display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 12px;
  border:1px solid var(--sv-hair);border-radius:100px;background:transparent;
  font-family:'SupleDisplay',sans-serif;font-size:13px;font-variant-numeric:tabular-nums;
  color:var(--sv-muted);transition:color var(--sv-fast) var(--sv-out),border-color var(--sv-fast) var(--sv-out);}
.woocommerce-pagination .page-numbers a:hover,.wp-block-query-pagination a:hover{
  color:var(--sv-ink);border-color:rgba(255,255,255,.3);}
.woocommerce-pagination .page-numbers span.current,
.wp-block-query-pagination .wp-block-query-pagination-numbers span.current{
  background:var(--sv-yellow);color:#141414;border-color:transparent;font-weight:700;}
.woocommerce-pagination .page-numbers span.dots{border:none;color:var(--sv-muted-2);min-width:auto;}

/* — select de orden: fuera el nativo blanco — */
.woocommerce-ordering select,select.orderby{
  appearance:none;-webkit-appearance:none;
  background:var(--sv-carbon-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239198a0' fill='none' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center!important;
  border:1px solid var(--sv-hair)!important;border-radius:100px!important;
  height:40px;padding:0 38px 0 16px!important;color:var(--sv-ink)!important;
  font-size:13px;cursor:pointer;transition:border-color var(--sv-fast) var(--sv-out);}
.woocommerce-ordering select:hover{border-color:rgba(255,255,255,.25)!important;}
.woocommerce-ordering select:focus{outline:none;border-color:rgba(255,255,0,.45)!important;}

/* — scrollbar del filtro de marcas, a juego con el fondo — */
.sv-f-marcas{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent;padding-right:8px;}
.sv-f-marcas::-webkit-scrollbar{width:3px;}
.sv-f-marcas::-webkit-scrollbar-track{background:transparent;}
.sv-f-marcas::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:10px;}

/* — iconos sociales (footer Y cuerpo): aro discreto, hover amarillo.
     Los colores de librería (FB azul, IG rosa) rompen la atmósfera carbón. — */
.wp-block-social-links .wp-social-link{
  background:transparent!important;border:1px solid var(--sv-hair);border-radius:100px;
  transition:border-color var(--sv-fast) var(--sv-out),transform var(--sv-fast) var(--sv-out);}
.wp-block-social-links .wp-social-link a{background:transparent!important;color:var(--sv-muted)!important;}
.wp-block-social-links .wp-social-link svg{fill:var(--sv-muted)!important;color:var(--sv-muted)!important;
  transition:fill var(--sv-fast) var(--sv-out);}
.wp-block-social-links .wp-social-link:hover{border-color:rgba(255,255,0,.5);transform:translateY(-2px);}
.wp-block-social-links .wp-social-link:hover svg{fill:var(--sv-yellow)!important;color:var(--sv-yellow)!important;}

/* — sticky de compra en móvil (lo pinta el mu-plugin en la ficha) — */
.sv-atc{position:fixed;left:0;right:0;bottom:0;z-index:9998;display:flex;align-items:center;gap:12px;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(17,19,22,.96);backdrop-filter:blur(8px);border-top:1px solid var(--sv-hair);
  transform:translateY(110%);transition:transform var(--sv-dur) var(--sv-out);}
.sv-atc.sv-atc-on{transform:none;}
.sv-atc-info{min-width:0;flex:1;}
.sv-atc-t{display:block;font-family:'SupleDisplay',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:12.5px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--sv-ink);}
.sv-atc-p{display:block;font-family:'SupleDisplay',sans-serif;font-weight:700;font-size:14px;color:var(--sv-yellow);}
.sv-atc button{flex:0 0 auto;font-size:12px!important;padding:.8em 1.4em!important;}
@media(min-width:769px){.sv-atc{display:none;}}
@media(prefers-reduced-motion:reduce){.sv-atc{transition:none;}}
/* que el WhatsApp flotante no tape el sticky en la ficha móvil */
@media(max-width:768px){body.single-product .sv-wa{bottom:88px;}}

/* — reduced motion global: si el usuario lo pide, nada se mueve — */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important;}
}

/* ══════════════════════════════════════════════════════════════════════
   CHECKOUT (bloques Woo)  ·  v5
   Aire vertical entre campos y badge de cantidad legible en oscuro.
   Sin !important en el spacing a propósito: los :first-of-type del core
   (que quitan el margen al primer campo de cada paso) deben seguir ganando.
   ══════════════════════════════════════════════════════════════════════ */
.wc-block-components-form .wc-block-components-text-input,
.wc-block-components-checkout-step .wc-block-components-text-input{margin-top:20px;}
.wc-block-checkout__form .wc-blocks-components-select{margin-top:20px;}
.wc-block-components-address-form .wc-block-components-checkbox{margin-top:20px;}
/* separación entre pasos (Contacto / Envío / Pago) y entre bloques dentro del paso */
.wc-block-components-form .wc-block-components-checkout-step{margin:0 0 34px;}
.wc-block-components-checkout-step__content>*{margin-bottom:20px;}

/* badge de cantidad sobre la miniatura: círculo claro sobre fondo claro, invisible.
   Amarillo + texto carbón + aro carbón para despegarlo de la esquina de la foto. */
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity{
  background:var(--sv-yellow)!important;box-shadow:0 0 0 2px var(--sv-carbon);
  min-width:22px;min-height:22px;}
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity span{
  color:#141414!important;font-weight:700;}

/* ══════════════════════════════════════════════════════════════════════
   ATMÓSFERA  ·  v4
   El sitio era un solo tono de carbón plano. Tres capas lo arreglan sin
   tocar la paleta: LUZ (pools radiales, como letrero de tienda de noche),
   TEXTURA (grano fino que mata el plástico) y una FIRMA gráfica: el anillo
   de Saturno del logo, repetido con disciplina en títulos, hover y footer.
   ══════════════════════════════════════════════════════════════════════ */

/* — luz ambiental: un resplandor cálido arriba a la derecha, apenas visible — */
html,body{background:
  radial-gradient(1200px 520px at 82% -140px,rgba(255,255,0,.045),transparent 62%),
  radial-gradient(900px 420px at -10% 12%,rgba(255,255,255,.02),transparent 55%),
  var(--sv-carbon)!important;background-attachment:fixed!important;}

/* — grano fotográfico global (SVG, sin peticiones extra) — */
body::after{content:"";position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* la itálica del wordmark es la voz display de TODO el sitio
   (el arco plano bajo el H1 de archivo se retiró en v5: ahora la banda de
   título con foto real y el anillo con blur viven en la sección TIENDA v5) */
h1,.sv-h1,.sv-h2{font-style:italic!important;}

/* resultado y orden como fila de meta, no texto suelto */
.woocommerce-result-count{font-size:12px!important;text-transform:uppercase;letter-spacing:.14em;
  color:var(--sv-muted-2)!important;}
@media(max-width:768px){.woocommerce-result-count{flex-basis:100%;width:100%;margin-bottom:10px!important;}}

/* — profundidad en el grid: los botes se asientan, no flotan en la nada — */
ul.products li.product img,.wc-block-product img{
  box-shadow:0 22px 34px -20px rgba(0,0,0,.75);}
/* estante de luz al pasar el cursor: el anillo ilumina el producto */
li.product [data-block-name="woocommerce/product-image"],
ul.products li.product .woocommerce-LoopProduct-link{position:relative;}
li.product [data-block-name="woocommerce/product-image"]::after{
  content:"";position:absolute;left:16%;right:16%;bottom:-7px;height:16px;
  background:radial-gradient(52% 100% at 50% 0,rgba(255,255,0,.14),transparent 72%);
  filter:blur(3px);opacity:0;transition:opacity var(--sv-dur) var(--sv-out);pointer-events:none;}
li.product:hover [data-block-name="woocommerce/product-image"]::after{opacity:1;}

/* — ficha: el producto bajo un pool de luz, precio con más presencia — */
body.single-product .woocommerce-product-gallery{position:relative;}
body.single-product .woocommerce-product-gallery::before{
  content:"";position:absolute;inset:-8% -12%;z-index:-1;
  background:radial-gradient(60% 52% at 50% 40%,rgba(255,255,255,.045),transparent 70%);}
body.single-product main h1,body.single-product .product_title{
  font-style:italic!important;font-size:clamp(34px,4.2vw,58px)!important;line-height:.95!important;}
/* el precio grande es SOLO el principal; los relacionados se quedan a escala de tarjeta */
body.single-product .summary p.price .woocommerce-Price-amount,
body.single-product main>*:not(.related) .wp-block-woocommerce-product-price .woocommerce-Price-amount{
  font-size:clamp(24px,2.4vw,32px);}
body.single-product li.product .woocommerce-Price-amount,
body.single-product ul.products .woocommerce-Price-amount{font-size:1rem!important;}
/* la foto grande de galería (placeholder pálido) se veía fantasma junto a las miniaturas */
body.single-product .woocommerce-product-gallery img{filter:brightness(1.28) contrast(1.06);}

/* — footer con el anillo de marca de agua y un pool de luz — */
footer.wp-block-template-part,footer,.site-footer{position:relative;overflow:hidden;}
footer::before{content:"";position:absolute;right:-140px;top:-40px;width:560px;height:560px;
  pointer-events:none;opacity:.05;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='560' viewBox='0 0 560 560'%3E%3Cellipse cx='280' cy='280' rx='262' ry='96' fill='none' stroke='%23FFFF00' stroke-width='7' transform='rotate(-16 280 280)'/%3E%3C/svg%3E") no-repeat center/contain;}
footer>*{position:relative;}

/* — foco visible con marca (teclado): calidad sin anunciarla — */
:focus-visible{outline:2px solid var(--sv-yellow)!important;outline-offset:3px;}
.dgwt-wcas-search-input:focus-visible{outline:none!important;}


/* ══════════════════════════════════════════════════════════════════════
   TIENDA · v5
   Banda de título con foto real del local, filtros v2 con multi-marca,
   chips de filtros activos, "ver N", grid a 3 columnas y badge mínimo.
   ══════════════════════════════════════════════════════════════════════ */

/* la banda sale a sangre con el truco 100vw: que no asome el ancho del scrollbar */
body{overflow-x:clip;}

/* — banda de título: interior de la tienda en /tienda/, fachada en categorías — */
.sv-arch-hero{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-bottom:26px;
  min-height:clamp(230px,30vw,370px);display:flex;align-items:flex-end;overflow:hidden;
  border-bottom:1px solid var(--sv-hair);background:var(--sv-carbon-2);}
.sv-arch-hero::before{content:"";position:absolute;inset:0;
  background-position:center 38%;background-size:cover;background-repeat:no-repeat;}
.sv-arch-hero--interior::before{background-image:url('./bg-interior.jpg');}
.sv-arch-hero--fachada::before{background-image:url('./bg-fachada.jpg');background-position:center 30%;}
/* overlay doble: legibilidad a la izquierda + fundido al carbón de la página abajo */
.sv-arch-hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(18,20,23,.88) 0%,rgba(18,20,23,.42) 55%,rgba(18,20,23,.62) 100%),
             linear-gradient(180deg,rgba(21,23,25,.55) 0%,rgba(21,23,25,.08) 42%,rgba(21,23,25,.96) 100%);}
.sv-arch-hero-in{position:relative;z-index:2;width:100%;max-width:1200px;margin:0 auto;
  min-height:inherit;display:flex;flex-direction:column;justify-content:flex-end;
  padding:20px 24px 30px;}
/* migas dentro de la banda, arriba */
.sv-arch-hero .wp-block-breadcrumbs{margin:0 0 auto;padding-bottom:22px;}
.sv-arch-hero .woocommerce-breadcrumb{font-size:11px!important;letter-spacing:.14em;text-transform:uppercase;
  color:var(--sv-muted)!important;text-shadow:0 1px 8px rgba(0,0,0,.6);}
.sv-arch-hero .woocommerce-breadcrumb a{color:#d9dde0!important;}
.sv-arch-hero .woocommerce-breadcrumb a:hover{color:var(--sv-yellow)!important;}
.sv-arch-kicker{font-family:'SupleDisplay',sans-serif;font-size:12px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--sv-yellow);margin:0 0 10px;
  text-shadow:0 1px 12px rgba(0,0,0,.65);}
/* el H1: itálica display blanca con profundidad por capas (sombra dura + caída + halo) */
main .sv-arch-hero h1.sv-arch-title{position:relative;z-index:1;font-style:italic!important;
  font-size:clamp(44px,6.2vw,92px)!important;line-height:.92!important;letter-spacing:-.015em;
  margin:0!important;padding:0!important;background:none!important;color:#fff!important;
  text-shadow:0 2px 3px rgba(10,12,14,.6),0 16px 46px rgba(0,0,0,.55),0 0 70px rgba(255,255,0,.12);}
/* el anillo de Saturno, rediseñado: gradiente y desenfoque DETRÁS del texto, no debajo */
main .sv-arch-hero h1.sv-arch-title::before{content:"";position:absolute;left:-5%;bottom:-16%;
  width:min(600px,85%);height:118%;z-index:-1;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='200' viewBox='0 0 560 200'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23FFFF00' stop-opacity='0'/%3E%3Cstop offset='.45' stop-color='%23FFFF00' stop-opacity='.85'/%3E%3Cstop offset='1' stop-color='%23FFE066' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cellipse cx='280' cy='100' rx='258' ry='56' fill='none' stroke='url(%23g)' stroke-width='10' transform='rotate(-14 280 100)'/%3E%3C/svg%3E") no-repeat center/contain;
  filter:blur(9px);opacity:.5;mix-blend-mode:screen;}
.sv-arch-meta{margin:14px 0 0;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--sv-muted)!important;font-variant-numeric:tabular-nums;
  text-shadow:0 1px 8px rgba(0,0,0,.6);}
@media(max-width:768px){
  .sv-arch-hero{min-height:210px;margin-bottom:18px;}
  .sv-arch-hero-in{padding:16px 18px 22px;}
  .sv-arch-hero .wp-block-breadcrumbs{padding-bottom:14px;}
  main .sv-arch-hero h1.sv-arch-title::before{filter:blur(6px);}
}

/* — fila de meta: conteo + chips a la izquierda; orden + "ver N" a la derecha — */
.wp-block-group:has(>.wc-block-product-results-count){flex-wrap:wrap!important;row-gap:12px;}
.wc-block-product-results-count{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.sv-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.sv-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--sv-hair);
  border-radius:100px;padding:4px 12px;font-size:12px;letter-spacing:.02em;color:var(--sv-ink)!important;
  transition:border-color var(--sv-fast) var(--sv-out),color var(--sv-fast) var(--sv-out);}
.sv-chip span[aria-hidden]{color:var(--sv-muted-2);font-size:14px;line-height:1;
  transition:color var(--sv-fast) var(--sv-out);}
.sv-chip:hover{border-color:rgba(255,255,0,.5);}
.sv-chip:hover span[aria-hidden]{color:var(--sv-yellow);}
.sv-chips-limpiar{font-size:12px;color:var(--sv-muted)!important;text-decoration:underline;
  text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.25);}
.sv-chips-limpiar:hover{color:var(--sv-yellow)!important;}

/* — "Ver 16/24/48" dentro del bloque de ordenamiento — */
.wc-block-catalog-sorting{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.sv-pp{display:flex;align-items:center;gap:2px;}
.sv-pp span{margin-right:6px;font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;
  color:var(--sv-muted-2);}
.sv-pp a{min-width:30px;height:30px;display:inline-grid;place-items:center;border-radius:100px;
  border:1px solid transparent;font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--sv-muted)!important;
  transition:color var(--sv-fast) var(--sv-out),border-color var(--sv-fast) var(--sv-out);}
.sv-pp a:hover{color:var(--sv-ink)!important;border-color:var(--sv-hair);}
.sv-pp a.sv-pp-on{background:var(--sv-yellow);color:#141414!important;font-weight:700;}

/* — filtros v2: precio libre — */
.sv-f-precio{display:flex;flex-direction:column;gap:10px;padding:0 2px 16px;}
.sv-f-rango{display:flex;align-items:center;gap:8px;}
.sv-f-rango i{color:var(--sv-muted-2);font-style:normal;flex:0 0 auto;}
.sv-filtros .sv-f-rango input[type=number]{width:100%;min-width:0;height:36px!important;
  padding:0 10px!important;font-size:13px!important;border-radius:8px!important;
  font-variant-numeric:tabular-nums;-moz-appearance:textfield;}
.sv-f-rango input::-webkit-outer-spin-button,
.sv-f-rango input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
button.sv-f-aplicar{align-self:flex-start;background:transparent;color:var(--sv-ink);
  border:1px solid var(--sv-hair);border-radius:100px;padding:.55em 1.4em;cursor:pointer;
  font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;
  transition:border-color var(--sv-fast) var(--sv-out),color var(--sv-fast) var(--sv-out);}
button.sv-f-aplicar:hover{border-color:rgba(255,255,0,.5);color:var(--sv-yellow);}
.sv-f-aplicar-m{margin-top:10px;}

/* — filtros v2: buscador y multi-selección de marca — */
.sv-filtros .sv-f-buscar{width:100%;height:34px!important;margin:2px 0 10px;
  padding:0 12px!important;font-size:12.5px!important;border-radius:100px!important;}
.sv-f-m{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:13.5px;
  color:var(--sv-muted);cursor:pointer;transition:color var(--sv-fast) var(--sv-out);}
.sv-f-m:hover{color:var(--sv-ink);}
.sv-f-m[hidden]{display:none!important;}
.sv-f-m input[type=checkbox]{appearance:none;-webkit-appearance:none;width:15px;height:15px;
  flex:0 0 15px;margin:0;background:transparent;border:1px solid rgba(255,255,255,.25);
  border-radius:3px;display:grid;place-items:center;cursor:pointer;
  transition:border-color var(--sv-fast) var(--sv-out),background var(--sv-fast) var(--sv-out);}
.sv-f-m input[type=checkbox]:checked{background:var(--sv-yellow);border-color:var(--sv-yellow);}
.sv-f-m input[type=checkbox]:checked::after{content:"";width:8px;height:5px;
  border-left:2px solid #141414;border-bottom:2px solid #141414;
  transform:rotate(-45deg) translateY(-1px);}
.sv-f-m.sv-f-on{color:var(--sv-yellow);font-weight:600;}
.sv-f-m span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sv-f-m em{font-style:normal;opacity:.5;font-size:12px;font-variant-numeric:tabular-nums;}
.sv-f-quitar{margin-top:8px;}
details.sv-f summary{justify-content:flex-start;gap:8px;}
details.sv-f summary::after{margin-left:auto;}
details.sv-f summary .sv-f-n{font-style:normal;background:var(--sv-yellow);color:#141414;
  border-radius:100px;font-size:10px;font-weight:700;padding:1px 7px;letter-spacing:0;}

/* — badge de disponibilidad: solo lo que aporta información — */
/* "En existencia" fuera: lo normal no se etiqueta (cubre mientras se aplica el diff de tienda) */
.sv-disp-ya{display:none!important;}
/* "Sobre pedido" mínimo: texto discreto, sin caja */
.sv-disp-ped{border:none!important;background:none!important;color:var(--sv-muted-2)!important;
  padding:0!important;font-size:10px;letter-spacing:.16em;}
/* "Últimas N" se queda en amarillo: es urgencia real, no decoración */

/* — grid del catálogo: 3 columnas, la imagen manda — */
body.woocommerce-shop .wc-block-product-template__responsive,
body.post-type-archive-product .wc-block-product-template__responsive,
body.tax-product_cat .wc-block-product-template__responsive,
body.tax-product_tag .wc-block-product-template__responsive{
  grid-template-columns:repeat(3,1fr)!important;gap:0 30px!important;}
body.woocommerce-shop .wc-block-product,
body.post-type-archive-product .wc-block-product,
body.tax-product_cat .wc-block-product,
body.tax-product_tag .wc-block-product{padding:18px 6px 24px!important;}
body.woocommerce-shop .wc-block-components-product-image,
body.post-type-archive-product .wc-block-components-product-image,
body.tax-product_cat .wc-block-components-product-image,
body.tax-product_tag .wc-block-components-product-image{width:100%;margin:0 0 6px!important;}
body.woocommerce-shop .wc-block-components-product-image img,
body.post-type-archive-product .wc-block-components-product-image img,
body.tax-product_cat .wc-block-components-product-image img,
body.tax-product_tag .wc-block-components-product-image img{
  /* contain, no cover: las fotos del cliente son verticales (1920×2560) y en
     caja cuadrada recortada se comían el bote. El ajuste de Woo también pasó a
     "uncropped" — con cover puesto aquí seguiría cortando aunque el archivo
     ya venga completo. */
  width:100%!important;height:100%!important;aspect-ratio:1/1;object-fit:contain;
  object-position:center;}
@media(max-width:900px){
  body.woocommerce-shop .wc-block-product-template__responsive,
  body.post-type-archive-product .wc-block-product-template__responsive,
  body.tax-product_cat .wc-block-product-template__responsive,
  body.tax-product_tag .wc-block-product-template__responsive{
    grid-template-columns:repeat(2,1fr)!important;gap:0 14px!important;}
}


/* ══════════════════════════════════════════════════════════════════════
   FICHA DE PRODUCTO  ·  v5
   Aire en el precio, cuerpo legible, "Comprar ahora" y relacionados
   en carrusel full-bleed de una sola fila.
   ══════════════════════════════════════════════════════════════════════ */

/* — 1 · aire entre el $ y la cifra (el markup los pega dentro del <bdi>) — */
.woocommerce-Price-currencySymbol{margin-right:.14em;}

/* — 2 · form de compra: cantidad + añadir en fila, Comprar ahora debajo — */
body.single-product form.cart{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;
  max-width:560px;margin:18px 0 0;}
body.single-product form.cart .quantity{margin:0;}
body.single-product form.cart .qty{height:100%;min-height:48px;width:78px;text-align:center;font-size:16px;}
body.single-product form.cart .single_add_to_cart_button{flex:1 1 auto;font-size:15px!important;}
form.cart .sv-comprar-ahora{flex:1 1 100%;display:inline-flex;align-items:center;justify-content:center;
  background:transparent;color:var(--sv-yellow);border:1px solid rgba(255,255,0,.55);
  border-radius:100px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;
  font-size:15px;padding:.72em 1.5em;cursor:pointer;
  transition:background var(--sv-dur) var(--sv-out),border-color var(--sv-dur) var(--sv-out),transform var(--sv-dur) var(--sv-out);}
form.cart .sv-comprar-ahora:hover{background:rgba(255,255,0,.08);border-color:var(--sv-yellow);
  color:var(--sv-yellow);transform:translateY(-2px);}

/* — 3 · cuerpo de la ficha más grande (el título no se toca) — */
body.single-product .sv-aviso{font-size:16px;line-height:1.7;}
body.single-product .sv-garantias li{font-size:15.5px;}
body.single-product p.stock{font-size:15.5px!important;color:var(--sv-muted)!important;}
body.single-product .wp-block-post-excerpt__excerpt{font-size:17px;line-height:1.7;color:#c9cfd4;}
body.single-product .wp-block-woocommerce-product-meta,
body.single-product .wp-block-woocommerce-product-meta .wp-block-post-terms,
body.single-product .wc-block-components-product-sku{font-size:15.5px!important;color:var(--sv-muted)!important;}
body.single-product .wp-block-post-terms__prefix{color:var(--sv-muted-2);}
body.single-product .wp-block-woocommerce-product-meta a{color:var(--sv-ink);}
body.single-product .wp-block-woocommerce-product-meta a:hover{color:var(--sv-yellow);}

/* — Información adicional (tabs clásicas dentro del bloque product-details) — */
body.single-product .woocommerce-tabs{margin-top:26px;}
body.single-product .woocommerce-tabs ul.wc-tabs li a{font-size:15.5px;}
/* con una sola pestaña, la ceja duplica al h2 del panel: fuera */
body.single-product .woocommerce-tabs ul.wc-tabs li:only-child{display:none;}
body.single-product .woocommerce-Tabs-panel{font-size:16px;}
body.single-product .woocommerce-Tabs-panel h2{font-size:20px!important;margin:14px 0 6px!important;}
body.single-product table.woocommerce-product-attributes{width:100%;max-width:560px;border-collapse:collapse;margin:8px 0 0;}
body.single-product table.woocommerce-product-attributes th,
body.single-product table.woocommerce-product-attributes td{
  font-size:15.5px!important;font-style:normal;line-height:1.6;padding:12px 16px 12px 0;
  border-bottom:1px solid rgba(255,255,255,.07);background:transparent!important;}
body.single-product table.woocommerce-product-attributes th{color:var(--sv-ink);font-weight:600;width:180px;}
body.single-product table.woocommerce-product-attributes td,
body.single-product table.woocommerce-product-attributes td p{color:#c9cfd4;margin:0;}

/* — 4 · relacionados: una sola fila full-bleed, carrusel con snap —
   El bloque es alignwide (1100px) dentro de layout constrained con
   márgenes auto !important del tema: por eso los !important de aquí. */
body.single-product{overflow-x:clip;}
.sv-rel{position:relative;width:100vw;max-width:none!important;
  margin:64px calc(50% - 50vw) 30px!important;
  --sv-rel-gut:max(24px,calc(50vw - 550px));}
.sv-rel>h2.wp-block-heading{font-style:italic;font-size:clamp(25px,3.8vw,48px)!important;
  line-height:1.04!important;border-top:1px solid var(--sv-hair);
  margin:0 var(--sv-rel-gut) 30px!important;padding:26px 118px 0 0;max-width:none!important;}
.sv-rel-nav{position:absolute;top:24px;right:var(--sv-rel-gut);display:flex;gap:10px;z-index:5;}
.sv-rel-btn{width:42px;height:42px;border-radius:100px;border:1px solid var(--sv-hair);
  background:transparent;color:var(--sv-ink);display:grid;place-items:center;padding:0;cursor:pointer;
  transition:border-color var(--sv-fast) var(--sv-out),color var(--sv-fast) var(--sv-out),opacity var(--sv-fast) var(--sv-out);}
.sv-rel-btn:hover{border-color:rgba(255,255,0,.55);color:var(--sv-yellow);}
.sv-rel-btn:disabled{opacity:.28;cursor:default;pointer-events:none;}
.sv-rel ul.wc-block-product-template{display:flex!important;flex-wrap:nowrap!important;gap:0 26px!important;
  overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;
  padding:0 var(--sv-rel-gut) 10px!important;margin:0!important;
  scroll-padding-left:var(--sv-rel-gut);scroll-padding-right:var(--sv-rel-gut);}
.sv-rel ul.wc-block-product-template::-webkit-scrollbar{display:none;}
.sv-rel ul.wc-block-product-template.sv-drag{scroll-snap-type:none;cursor:grabbing;user-select:none;}
.sv-rel li.wc-block-product{flex:0 0 clamp(205px,20vw,255px)!important;width:auto!important;
  max-width:none!important;margin:0!important;scroll-snap-align:start;}
.sv-rel li.wc-block-product img{-webkit-user-drag:none;user-drag:none;}
.sv-rel h3.wp-block-post-title{font-size:15px!important;line-height:1.25;margin:10px 0 8px!important;}
@media(max-width:768px){
  .sv-rel li.wc-block-product{flex-basis:min(58vw,230px)!important;}
  .sv-rel>h2.wp-block-heading{padding-right:104px;}
  .sv-rel-btn{width:38px;height:38px;}
  .sv-rel-nav{top:18px;}
}
@media(prefers-reduced-motion:reduce){
  .sv-rel ul.wc-block-product-template{scroll-behavior:auto;}
}


/* ══════════════════════════════════════════════════════════════════════
   HOME v5 · CARRUSELES
   Hero administrable por bloques cover, marquee de productos genérico,
   reels del mostrador y banda de confianza full-bleed. El JS vive en
   supleverse-brand.php; sin JS todo queda estático y completo.
   ══════════════════════════════════════════════════════════════════════ */

/* los full-bleed usan 100vw: que ningún redondeo abra scroll horizontal */
html{overflow-x:clip;}

/* — 1 · hero slider (.sv-slider) — */
.sv-slider{position:relative;width:100vw;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:0!important;
  overflow:hidden;background:var(--sv-carbon);}
.sv-slider .wp-block-cover{min-height:min(78vh,660px);padding:0;}
/* sin JS (o mientras carga): solo el primer slide, los demás ocultos */
.sv-slider:not(.sv-slider-on) .wp-block-cover:not(:first-child){display:none;}
.sv-slider-track{display:flex;transition:transform .56s var(--sv-out);will-change:transform;}
.sv-slider-track>.wp-block-cover{flex:0 0 100%;min-width:100%;}
.sv-slider .wp-block-cover__inner-container{width:100%;max-width:1200px!important;
  margin:0 auto!important;padding:96px 24px;text-align:left;}
.sv-slide-link{cursor:pointer;}
/* tipografía del slide */
.sv-slider .sv-slide-k{font-family:'SupleDisplay',sans-serif;font-size:12px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--sv-yellow)!important;margin:0 0 14px;}
.sv-slider h1,.sv-slider h2{font-style:italic!important;
  font-size:clamp(34px,5.6vw,72px)!important;line-height:1!important;
  margin:0 0 18px!important;max-width:15ch;}
/* cursiva dentro del titular = palabra en amarillo (así lo edita el admin) */
.sv-slider h1 em,.sv-slider h2 em{color:var(--sv-yellow);font-style:italic;}
.sv-slider .sv-slide-p{color:#d6dade!important;max-width:460px;
  font-size:clamp(15px,1.8vw,17.5px);line-height:1.6;margin:0 0 30px;}
.sv-slider .sv-slide-p strong{color:#fff;}
.sv-slider .wp-block-buttons{gap:13px;}
.sv-slider .sv-ghost .wp-block-button__link{background:transparent!important;
  color:var(--sv-ink)!important;border:1px solid rgba(255,255,255,.34)!important;}
.sv-slider .sv-ghost .wp-block-button__link:hover{color:var(--sv-yellow)!important;
  border-color:rgba(255,255,0,.45)!important;transform:none;}
/* controles */
.sv-slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:46px;height:46px;border-radius:100px;border:1px solid rgba(255,255,255,.3);
  background:rgba(21,23,25,.55);color:var(--sv-ink);font-size:18px;
  display:grid;place-items:center;padding:0;cursor:pointer;backdrop-filter:blur(4px);
  transition:border-color var(--sv-fast) var(--sv-out),color var(--sv-fast) var(--sv-out);}
.sv-slider-btn:hover{color:var(--sv-yellow);border-color:rgba(255,255,0,.5);}
.sv-slider-prev{left:18px;} .sv-slider-next{right:18px;}
.sv-slider-dots{position:absolute;left:0;right:0;bottom:20px;z-index:5;
  display:flex;gap:8px;justify-content:center;}
.sv-dot{width:22px;height:4px;border-radius:2px;border:none;padding:0;cursor:pointer;
  background:rgba(255,255,255,.28);transition:background var(--sv-fast) var(--sv-out);}
.sv-dot[aria-current="true"]{background:var(--sv-yellow);}
@media(max-width:640px){
  .sv-slider .wp-block-cover{min-height:72vh;}
  .sv-slider-btn{display:none;}   /* en táctil manda el swipe */
  .sv-slider .wp-block-cover__inner-container{padding:72px 20px;}
}

/* — 2 · carrusel de productos genérico (.sv-carrusel) — */
.sv-cab{max-width:1200px;margin:0 auto;padding:56px 24px 0;}
.sv-cab .sv-head{margin-bottom:26px;}
.sv-carrusel{position:relative;width:100vw;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:0!important;
  margin-bottom:72px;overflow:hidden;touch-action:pan-y;cursor:grab;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.sv-carrusel:active{cursor:grabbing;}
.sv-carrusel ul.products.sv-car-track{display:flex!important;flex-wrap:nowrap!important;
  grid-template-columns:none!important;width:max-content!important;
  gap:0 26px!important;margin:0!important;user-select:none;}
.sv-carrusel ul.products.sv-car-track li.product{width:250px!important;flex:0 0 250px;}
.sv-carrusel img{-webkit-user-drag:none;}
/* fallback (reduced motion o medición fallida): fila con scroll normal */
.sv-car-scroll{overflow-x:auto;scroll-snap-type:x proximity;cursor:auto;
  -webkit-mask-image:none;mask-image:none;scrollbar-width:thin;}
.sv-car-scroll ul.products.sv-car-track li.product{scroll-snap-align:start;}
@media(max-width:640px){
  .sv-carrusel ul.products.sv-car-track li.product{width:200px!important;flex-basis:200px;}
}

/* — 3 · la tienda, en vivo (.sv-vivo): Saturno + foto real + valores — */
.sv-vivo{position:relative;}
.sv-vivo-saturn{position:absolute;left:-130px;top:54%;width:min(440px,42vw);z-index:0;
  opacity:.55;pointer-events:none;filter:drop-shadow(0 0 46px rgba(255,255,0,.05));
  animation:sv-drift2 14s ease-in-out infinite alternate;}
@keyframes sv-drift2{from{transform:translateY(-52%);}to{transform:translateY(-47%);}}
.sv-vivo .sv-split{position:relative;z-index:1;}
.sv-valores{list-style:none;margin:0 0 28px;padding:18px 0 0;
  border-top:1px solid var(--sv-hair);max-width:430px;}
.sv-valores li{position:relative;padding-left:20px;margin-bottom:11px;
  font-size:14.5px;line-height:1.55;color:var(--sv-muted);}
.sv-valores li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;
  background:var(--sv-yellow);}
.sv-valores b{color:var(--sv-ink);font-weight:600;}
@media(max-width:900px){
  .sv-vivo-saturn{left:auto;right:-90px;top:-30px;width:240px;opacity:.3;animation:none;}
}
@media(max-width:560px){.sv-vivo-saturn{display:none;}}

/* — 4 · reels del mostrador (.sv-reels-wrap / .sv-reels-car) — */
.sv-reels-wrap{position:relative;width:100vw;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:0!important;}
.sv-reels-car{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;cursor:grab;scrollbar-width:none;
  padding:6px max(24px,calc(50vw - 576px)) 16px;
  scroll-padding-left:max(24px,calc(50vw - 576px));}
.sv-reels-car::-webkit-scrollbar{display:none;}
.sv-reels-car:active{cursor:grabbing;}
.sv-reelv{position:relative;flex:0 0 auto;width:min(280px,70vw);aspect-ratio:9/16;margin:0;
  background:#101215;border:1px solid var(--sv-hair);scroll-snap-align:start;overflow:hidden;}
.sv-reelv video{width:100%;height:100%;object-fit:cover;display:block;}
/* triángulo de play visible SOLO en pausa (nada de iconos de librería) */
.sv-reelv::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:rgba(13,15,17,.35) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='46' height='46' fill='%23f3f5f4'%3E%3Cpath d='M8 5.5v13l11-6.5z'/%3E%3C/svg%3E") no-repeat center;
  transition:opacity var(--sv-fast) var(--sv-out);}
.sv-reelv.sv-paused::after{opacity:1;}
.sv-reels-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:42px;height:42px;border-radius:100px;border:1px solid rgba(255,255,255,.3);
  background:rgba(21,23,25,.72);color:var(--sv-ink);display:grid;place-items:center;
  padding:0;cursor:pointer;
  transition:border-color var(--sv-fast) var(--sv-out),color var(--sv-fast) var(--sv-out);}
.sv-reels-btn:hover{color:var(--sv-yellow);border-color:rgba(255,255,0,.5);}
.sv-reels-prev{left:14px;} .sv-reels-next{right:14px;}
@media(max-width:768px){.sv-reels-btn{display:none;}}

/* — 5 · confianza en marquee full-bleed (la .sv-trust del footer) — */
.sv-trust.sv-trust-marquee{display:block;max-width:none;width:100vw;
  margin:0 0 42px calc(50% - 50vw);overflow:hidden;white-space:nowrap;
  padding:18px 0 26px;border-bottom:1px solid rgba(255,255,255,.08);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
/* sin gap: el margen por span hace exactas las dos mitades del bucle -50% */
.sv-trust-track{display:inline-flex;animation:sv-marq linear infinite;will-change:transform;}
.sv-trust-track span{flex:0 0 auto;margin-right:46px;}
@keyframes sv-marq{to{transform:translateX(-50%);}}

@media(prefers-reduced-motion:reduce){
  .sv-slider-track{transition:none;}
  .sv-trust-track{animation:none;}
  .sv-vivo-saturn{animation:none;}
}


/* ══════════════════════════════════════════════════════════════════════
   PÁGINAS INTERIORES · Nosotros / Mayoreo / Contacto
   Mismo lenguaje que la home: contenedor 1200, hairlines, sin tarjetas.
   ══════════════════════════════════════════════════════════════════════ */

.sv-page{max-width:1200px;margin:0 auto;padding:0 24px 60px;}

/* — banda fotográfica de apertura (hero con foto real del local) — */
.sv-ph{position:relative;min-height:min(460px,56vw);display:flex;align-items:flex-end;
  overflow:hidden;border:1px solid var(--sv-hair);margin:26px 0 8px;}
.sv-ph-alto{min-height:min(560px,66vw);}
.sv-ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;}
.sv-ph::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(13,15,17,.15) 0%,rgba(13,15,17,.4) 52%,rgba(13,15,17,.88) 100%);}
.sv-ph-in{position:relative;z-index:2;padding:60px 44px 44px;max-width:840px;}
.sv-ph-k{font-family:'SupleDisplay',sans-serif;font-size:12px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--sv-yellow);margin:0 0 13px;}
.sv-ph .sv-h1{text-shadow:0 2px 28px rgba(0,0,0,.55);margin-bottom:16px!important;}
.sv-ph .sv-sub{color:#d6dade!important;text-shadow:0 1px 14px rgba(0,0,0,.6);margin-bottom:0;}
.sv-ph .sv-cta{margin-top:28px;}
@media(max-width:640px){.sv-ph-in{padding:96px 18px 26px;}}

/* — hechos numerados: filas editoriales, número al margen (no tarjetas) — */
.sv-fact{display:grid;grid-template-columns:64px minmax(170px,.58fr) 1fr;gap:8px 28px;
  align-items:baseline;padding:24px 4px;border-bottom:1px solid var(--sv-hair);
  transition:background .35s var(--sv-ease);}
.sv-fact:first-of-type{border-top:1px solid var(--sv-hair);}
.sv-fact:hover{background:linear-gradient(90deg,rgba(255,255,0,.04),transparent 60%);}
.sv-fact-n{font-family:'SupleDisplay',sans-serif;font-style:italic;font-weight:700;
  font-size:28px;line-height:1;color:var(--sv-yellow);opacity:.55;}
.sv-fact-t{font-family:'SupleDisplay',sans-serif;font-weight:700;font-style:italic;
  text-transform:uppercase;font-size:clamp(17px,1.9vw,22px);line-height:1.12;color:var(--sv-ink);}
.sv-fact-p{margin:0;color:var(--sv-muted);font-size:14.5px;line-height:1.68;}
.sv-fact-p strong{color:var(--sv-ink);font-weight:600;}
.sv-fact-p a{color:var(--sv-ink);text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:rgba(255,255,255,.3);}
.sv-fact-p a:hover{color:var(--sv-yellow);}
@media(max-width:760px){
  .sv-fact{grid-template-columns:42px 1fr;row-gap:6px;}
  .sv-fact-p{grid-column:2;}
}

/* — galería asimétrica de gente real (Nosotros) — */
.sv-ab-gal-intro{max-width:520px;margin-bottom:28px;}
.sv-gal{display:grid;grid-template-columns:5fr 4fr 3fr;grid-auto-rows:clamp(180px,23vw,260px);gap:14px;}
.sv-gal figure{position:relative;margin:0;border:1px solid var(--sv-hair);overflow:hidden;background:#101215;}
.sv-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.6s var(--sv-ease);}
.sv-gal figure:hover img{transform:scale(1.03);}
.sv-gal figure::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(13,15,17,.62));pointer-events:none;}
.sv-gal figcaption{position:absolute;left:14px;right:14px;bottom:11px;z-index:2;font-size:10.5px;
  text-transform:uppercase;letter-spacing:.18em;color:#e6e9ea;text-shadow:0 1px 10px rgba(0,0,0,.85);}
.sv-g-alta{grid-row:span 2;}
.sv-g-ancha{grid-column:span 2;}
@media(max-width:760px){
  .sv-gal{grid-template-columns:1fr 1fr;grid-auto-rows:clamp(150px,38vw,220px);}
}

/* — variante del split de la home para foto vertical (Nosotros) — */
.sv-photo.sv-photo-alta img{aspect-ratio:4/5;object-position:center 28%;}

/* — banda de cierre con foto (reusa .sv-cine, que era solo de video) — */
.sv-cine-foto>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;}

/* — vías de contacto: filas con hairline, cada una distinta (Contacto) — */
.sv-via{display:grid;grid-template-columns:minmax(140px,.38fr) 1fr auto;gap:12px 32px;
  align-items:center;padding:28px 4px;border-bottom:1px solid var(--sv-hair);}
.sv-via:first-of-type{border-top:1px solid var(--sv-hair);}
.sv-via-name{font-family:'SupleDisplay',sans-serif;font-style:italic;font-weight:700;
  text-transform:uppercase;font-size:clamp(19px,2.2vw,27px);color:var(--sv-ink);line-height:1;}
.sv-via-txt{margin:0;color:var(--sv-muted);font-size:14.5px;line-height:1.68;max-width:520px;}
.sv-via-txt strong{color:var(--sv-ink);}
.sv-via-act{white-space:nowrap;}
.sv-via-act a[href^="mailto:"]{font-family:'SupleDisplay',sans-serif;font-weight:700;
  font-size:15px;color:var(--sv-yellow);white-space:nowrap;}
.sv-ct-head{padding:64px 0 26px;}
.sv-ct-head .sv-sub{max-width:520px;}
.sv-ct-tip{margin:26px 0 0;font-size:13px;color:var(--sv-muted-2);line-height:1.6;}
.sv-ct-tip strong{color:var(--sv-muted);}
.sv-ct-formhead{padding-bottom:0;}
.sv-ct-formhead .sv-p{margin-top:-12px;}
.sv-ct-formwrap{max-width:1200px;margin:0 auto;padding:6px 24px 90px;}
@media(max-width:820px){
  .sv-via{grid-template-columns:1fr;gap:10px;}
  .sv-via-act{white-space:normal;}
}

/* — mayoreo: formulario + costado de contacto directo — */
.sv-my-cols{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:start;}
.sv-my-aside{border-left:1px solid var(--sv-hair);padding:26px 0 10px 36px;position:sticky;top:130px;}
.sv-my-h3{font-size:19px!important;font-style:italic!important;text-transform:uppercase;margin:0 0 12px!important;}
.sv-my-btn{margin:20px 0 14px;}
.sv-my-mail{font-size:14px;color:var(--sv-muted);}
.sv-my-mail a{color:var(--sv-yellow);}
.sv-my-que{margin-top:30px;padding-top:22px;border-top:1px solid var(--sv-hair);}
.sv-my-que-t{font-family:'SupleDisplay',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:12px;letter-spacing:.14em;color:var(--sv-muted);margin:0 0 12px;}
.sv-my-que ul{list-style:none;margin:0;padding:0;}
.sv-my-que li{position:relative;padding-left:18px;margin-bottom:10px;font-size:13.5px;
  color:var(--sv-muted);line-height:1.6;}
.sv-my-que li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;background:var(--sv-yellow);}
@media(max-width:900px){
  .sv-my-cols{grid-template-columns:1fr;gap:34px;}
  .sv-my-aside{border-left:none;border-top:1px solid var(--sv-hair);padding:26px 0 0;position:static;}
}

/* — formulario de mayoreo (.sv-fm): plano, a juego con el hts del tema — */
.sv-fm{max-width:760px;position:relative;}
.sv-fm-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;}
.sv-fm-grid p{margin:0;min-width:0;}
.sv-fm-full{grid-column:1/-1;}
.sv-fm label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.14em;
  color:var(--sv-muted);margin:20px 0 7px;font-weight:600;}
/* box-sizing:border-box o el padding se suma al 100%: los campos medían 378px
   dentro de columnas de 345 y no solo se comían el gap de 24px, se traslapaban
   8px entre columnas. También dejaba el select más angosto que el textarea. */
.sv-fm input:not([type=hidden]),.sv-fm select,.sv-fm textarea{
  box-sizing:border-box!important;max-width:100%;
  display:block;width:100%;padding:13px 15px!important;font-size:15px!important;border-radius:0!important;}
.sv-fm textarea{min-height:120px;resize:vertical;}
.sv-fm select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239198a0' fill='none' stroke-width='1.5'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 14px center!important;padding-right:40px!important;}
.sv-fm select:invalid{color:var(--sv-muted);}
.sv-fm button{margin-top:28px;}
.sv-fm-nota{font-size:12.5px;color:var(--sv-muted-2);line-height:1.65;margin:20px 0 0;max-width:560px;}
.sv-fm-nota a{color:var(--sv-muted);text-decoration:underline;text-underline-offset:3px;}
.sv-fm-nota a:hover{color:var(--sv-yellow);}
/* honeypot: fuera de pantalla, no display:none (los bots listos lo detectan) */
.sv-fm-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;margin:0;}
.sv-fm-ok,.sv-fm-err{padding:16px 20px;margin:0 0 28px;font-size:14.5px;line-height:1.6;
  background:var(--sv-carbon-2);border:1px solid var(--sv-hair);}
.sv-fm-ok{border-left:2px solid var(--sv-yellow);}
.sv-fm-ok strong,.sv-fm-err strong{color:var(--sv-ink);}
.sv-fm-err{border-left:2px solid #ff7a7a;}
@media(max-width:640px){.sv-fm-grid{grid-template-columns:1fr;}}

/* ══════════════════════════════════════════════════════════════════════
   AJUSTES DE FEEDBACK  ·  v5.1
   Hero más alto y centrado, reels full-bleed en toda resolución, "la
   tienda en vivo" con foto grande y texto legible sobre el Saturno,
   contacto en dos columnas, formulario de mayoreo con más aire, y sin
   eyebrows en heros/títulos.
   ══════════════════════════════════════════════════════════════════════ */

/* — eyebrows fuera: solo los títulos — */
.sv-slide-k,.sv-arch-kicker,.sv-ph-k{display:none!important;}

/* — hero más alto y contenido centrado de verdad (vertical Y horizontal) — */
.sv-slider .wp-block-cover.sv-slide{min-height:min(92vh,860px)!important;
  display:flex!important;align-items:center!important;}
.sv-slider .wp-block-cover__inner-container{padding-top:40px!important;padding-bottom:52px!important;
  width:100%;display:flex;flex-direction:column;justify-content:center;
  align-items:center!important;text-align:center!important;}
/* los max-width del titular y del párrafo los descentraban aunque el texto fuera
   centrado: hay que centrar también la caja */
.sv-slider h1,.sv-slider h2{margin-inline:auto!important;}
.sv-slider .sv-slide-p{margin-inline:auto!important;max-width:52ch;}
.sv-slider .wp-block-buttons{justify-content:center!important;width:100%;}
@media(max-width:640px){
  .sv-slider .wp-block-cover.sv-slide{min-height:82vh!important;}
}

/* — reels: full-bleed a cualquier resolución (fuera el padding 50vw que
     dejaba huecos en pantallas grandes); el loop infinito llena el ancho — */
.sv-reels-car{padding-left:24px!important;padding-right:24px!important;
  scroll-padding-left:24px!important;scroll-padding-right:24px!important;}
.sv-reelv{width:min(300px,72vw);}
@media(min-width:1600px){.sv-reelv{width:320px;}}

/* — "la tienda en vivo": foto más grande a la derecha + texto con respaldo
     para contrastar con el Saturno de fondo — */
.sv-vivo .sv-split{grid-template-columns:minmax(240px,.6fr) 1.4fr!important;gap:44px;align-items:stretch;}
.sv-vivo .sv-photo{height:100%;}
.sv-vivo .sv-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto;min-height:clamp(360px,42vw,560px);}
.sv-vivo .sv-vivo-txt{position:relative;display:flex;flex-direction:column;justify-content:center;}
.sv-vivo .sv-vivo-txt::before{content:"";position:absolute;inset:-40px -60px -40px -50px;z-index:-1;
  background:radial-gradient(120% 100% at 22% 42%,rgba(15,17,19,.9),rgba(15,17,19,.5) 55%,transparent 78%);}
.sv-vivo-saturn{opacity:.7;filter:drop-shadow(0 0 60px rgba(255,255,0,.07));}
@media(max-width:900px){
  .sv-vivo .sv-split{grid-template-columns:1fr!important;}
  .sv-vivo .sv-photo img{min-height:clamp(300px,80vw,460px);}
  .sv-vivo .sv-vivo-txt::before{inset:-24px -20px;}
}

/* — contacto: "déjanos un mensaje" en dos columnas (título | formulario) — */
.sv-ct-msg{max-width:1200px;margin:0 auto;padding:44px 24px 90px;
  display:grid;grid-template-columns:.82fr 1.18fr;gap:20px 56px;align-items:start;}
.sv-ct-msg .sv-ct-msg-txt{position:sticky;top:130px;}
.sv-ct-msg .sv-ct-msg-txt .sv-h2{margin:0 0 14px!important;}
.sv-ct-msg .sv-ct-msg-txt .sv-p{margin:0 0 18px;max-width:38ch;}
.sv-ct-msg-alt{font-size:13.5px;color:var(--sv-muted-2);line-height:1.6;}
.sv-ct-msg-alt a{color:var(--sv-yellow);}
.sv-ct-msg .sv-ct-msg-form{min-width:0;}
.sv-ct-msg .hts-contact-form,.sv-ct-msg .hostinger-ai-contact-form-4 form{max-width:none;margin:0;}
@media(max-width:820px){
  .sv-ct-msg{grid-template-columns:1fr;gap:24px;padding:34px 18px 70px;}
  .sv-ct-msg .sv-ct-msg-txt{position:static;}
}

/* — formulario de mayoreo: más aire entre campos — */
.sv-fm-grid{row-gap:10px;}
.sv-fm label{margin:22px 0 9px;}
.sv-fm input:not([type=hidden]),.sv-fm select,.sv-fm textarea{margin-bottom:6px!important;}

/* — nosotros: sin descripciones dentro de las imágenes — */
/* — los pies de foto en la esquina fuera, en todo el sitio (decisión de Mario):
     la foto se explica sola y ese texto chico gris ensucia la esquina — */
.sv-photo figcaption,.sv-gal figcaption,.sv-reel figcaption,.sv-cine-cap{display:none!important;}
.sv-ab .sv-gal figure::after{background:none;}
/* — nosotros: banda "Pásale…" a todo el ancho de la pantalla — */
.sv-ab .sv-cine{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:0;
  min-height:min(460px,52vw);}
.sv-ab .sv-cine .sv-cine-in{width:100%;max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px;}
.sv-ab .sv-cine .sv-h2{font-size:clamp(30px,5vw,64px)!important;}
/* enlace WhatsApp inline dentro del texto de contacto (no es botón) */
.sv-ct-inline{color:var(--sv-yellow);text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:rgba(255,255,0,.4);font-weight:600;}
.sv-ct-inline:hover{text-decoration-color:var(--sv-yellow);}

/* ══════════════════════════════════════════════════════════════════════
   AJUSTES DE FEEDBACK  ·  v5.2  (2026-08-08)
   ══════════════════════════════════════════════════════════════════════ */

/* — la foto del producto COMPLETA, nunca recortada —
     Woo servía un recorte duro de 300×300 de originales verticales de
     1920×2560: el bote salía cortado. El ajuste del catálogo pasó a
     "uncropped" (miniatura 500×667) y aquí la caja deja de recortar.
     Va sin atar a un body concreto: antes solo cubría tienda y categorías y
     en resultados de búsqueda y relacionados seguía recortando. */
.wc-block-components-product-image img,
.wc-block-grid__product-image img,
ul.products li.product img{
  aspect-ratio:1/1;width:100%!important;height:auto!important;
  object-fit:contain!important;object-position:center!important;}
/* con la foto ya sin recorte, la sombra iba pegada a la caja cuadrada y no al
   bote: se apaga en el grid (el estante de luz del hover se queda) */
ul.products li.product img,.wc-block-product img{box-shadow:none!important;}

/* — precio del catálogo con presencia: medía 12px, más chico que el nombre
     del producto, y es el dato que la gente busca — */
body.woocommerce-shop .wc-block-components-product-price,
body.post-type-archive-product .wc-block-components-product-price,
body.tax-product_cat .wc-block-components-product-price,
body.tax-product_tag .wc-block-components-product-price,
body.search-results .wc-block-components-product-price,
ul.products li.product .price{
  font-size:clamp(19px,1.5vw,23px)!important;line-height:1.1!important;
  display:block;margin:6px 0 2px!important;}
/* el "$" va a escala del número, no del mismo tamaño (queda pesado) */
body.woocommerce-shop .wc-block-components-product-price .wc-block-formatted-money-amount,
body.tax-product_cat .wc-block-components-product-price .wc-block-formatted-money-amount{
  font-size:1em!important;}

/* — hero fotográfico de las páginas internas (Nosotros, Mayoreo) —
     Iba encajonado en el contenedor de 1200px: ahora va de borde a borde.
     Sobre el letrero blanco y amarillo de la fachada el título no se leía;
     se resuelve SOLO con contraste —un velo oscuro que baja de izquierda a
     derecha y sombra en el texto—. Aquí hubo un desenfoque de la foto detrás
     del título y se veía mal: se quitó, la foto va limpia. */
.sv-ph{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:0;
  border-left:none;border-right:none;}
.sv-ph::after{
  background:
    linear-gradient(100deg,rgba(11,13,15,.95) 0%,rgba(11,13,15,.86) 26%,
                    rgba(11,13,15,.6) 50%,rgba(11,13,15,.28) 72%,rgba(11,13,15,.52) 100%),
    linear-gradient(180deg,rgba(11,13,15,.4) 0%,transparent 32%,rgba(11,13,15,.8) 100%);}
.sv-ph-in{width:100%;max-width:1200px;margin:0 auto;
  padding:60px 24px 48px;box-sizing:border-box;}
.sv-ph .sv-h1{text-shadow:0 2px 30px rgba(0,0,0,.85),0 1px 4px rgba(0,0,0,.7);}
.sv-ph .sv-sub{text-shadow:0 1px 16px rgba(0,0,0,.9);max-width:56ch;}
@media(max-width:640px){.sv-ph-in{padding:96px 18px 30px;}}

/* ══════════════════════════════════════════════════════════════════════
   AJUSTES DE FEEDBACK  ·  v5.3  (2026-08-09)
   ══════════════════════════════════════════════════════════════════════ */

/* — banda de confianza: el texto no estaba centrado entre sus dos líneas —
     La de arriba es el border-top del footer y quedaba a 67px del texto,
     contra 39px de la de abajo, porque el grupo del footer mete 36px de
     padding antes de la banda. El JS marca ese grupo con .sv-trust-host
     (más fiable que un :has()) y aquí se le quita el padding de arriba. */
.sv-trust-host{padding-top:0!important;}
/* line-height:0 en la banda + vertical-align:top en el track: el track va en
   línea y el hueco de la base de texto le sumaba 14px muertos ARRIBA, que era
   justo lo que descuadraba el texto entre las dos líneas. */
.sv-trust.sv-trust-marquee{padding:24px 0!important;line-height:0!important;}
.sv-trust-track{vertical-align:top;}
.sv-trust-track span{line-height:1.25;}

/* — flechas de los carruseles de producto —
     Mismo lenguaje que las de reels y relacionados. */
.sv-carrusel{position:relative;}
/* el top exacto lo pone el JS midiendo el centro real de la foto: con 50%
   las flechas caen a la altura de los precios, porque la caja del carrusel
   incluye título, precio y botón */
.sv-car-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:44px;height:44px;border-radius:100px;border:1px solid rgba(255,255,255,.42);
  background:rgba(18,20,22,.9);color:var(--sv-ink);font-size:17px;
  display:grid;place-items:center;padding:0;cursor:pointer;backdrop-filter:blur(4px);
  transition:border-color var(--sv-fast) var(--sv-out),color var(--sv-fast) var(--sv-out);}
.sv-car-btn:hover{color:var(--sv-yellow);border-color:rgba(255,255,0,.5);}
.sv-car-prev{left:14px;} .sv-car-next{right:14px;}
@media(max-width:768px){.sv-car-btn{display:none;}}  /* en táctil manda el swipe */

/* — visor de foto ampliada (galería de Nosotros) — */
.sv-lupa{cursor:zoom-in;}
.sv-visor{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  background:rgba(8,9,10,.94);opacity:0;transition:opacity .22s var(--sv-out);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.sv-visor.sv-visor-on{opacity:1;}
.sv-visor img{max-width:min(1180px,92vw);max-height:88vh;width:auto;height:auto;display:block;
  border:1px solid var(--sv-hair);box-shadow:0 40px 90px rgba(0,0,0,.6);
  transform:scale(.985);transition:transform .22s var(--sv-out);}
.sv-visor.sv-visor-on img{transform:scale(1);}
.sv-visor-btn{position:absolute;width:46px;height:46px;border-radius:100px;padding:0;cursor:pointer;
  border:1px solid rgba(255,255,255,.28);background:rgba(21,23,25,.6);color:var(--sv-ink);
  font-size:18px;display:grid!important;place-items:center;
  transition:border-color var(--sv-fast) var(--sv-out),color var(--sv-fast) var(--sv-out);}
.sv-visor-btn:hover{color:var(--sv-yellow);border-color:rgba(255,255,0,.5);}
.sv-visor-x{top:22px;right:22px;font-size:22px;}
.sv-visor-prev{left:22px;top:50%;transform:translateY(-50%);}
.sv-visor-next{right:22px;top:50%;transform:translateY(-50%);}
.sv-visor-pie{position:absolute;left:0;right:0;bottom:20px;text-align:center;
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sv-muted-2);}
@media(max-width:640px){
  .sv-visor-prev{left:10px;} .sv-visor-next{right:10px;}
  .sv-visor-btn{width:40px;height:40px;}
  .sv-visor img{max-width:94vw;max-height:78vh;}
}
@media(prefers-reduced-motion:reduce){
  .sv-visor,.sv-visor img{transition:none;}
}
