/* ============================================================
   VP — Restyle WooCommerce (Tienda /shop/ + Producto)
   Tarea 5 · Solo CSS · NO toca carrito/checkout/descargas
   Se aplica vía Customizer → CSS adicional (carga en <head>)
   ============================================================ */
/* fuentes: cargadas via <link> en la cabecera (WPCode), sin @import en cadena */

/* ============================================================
   FIX heredado: scroll horizontal en movil (paginas antiguas con Spectra)
   ============================================================ */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw;
}
@media (max-width: 1024px) {
  .uagb-is-root-container.alignfull,
  .wp-block-uagb-container.alignfull {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100vw !important;
    width: 100% !important;
  }
  .wp-block-uagb-image,
  .wp-block-uagb-image__figure,
  .wp-block-uagb-image img,
  .wp-block-uagb-testimonial {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
  }
}


:root{
  --vp-white:#FFFFFF;
  --vp-pearl:#F7F7F7;
  --vp-ink:#000000;
  --vp-taupe:#6A5950;
  --vp-deep:#26222F;
  --vp-sale:#D32F23;
  --vp-serif:'Playfair Display', Georgia, serif;
  --vp-quote:'Cormorant Garamond', Georgia, serif;
  --vp-sans:'Source Sans 3','Helvetica Neue',Arial,sans-serif;
}

/* ---------- base: aplanar la caja de Astra en tienda y producto ---------- */
body.woocommerce.archive,
body.single-product{
  background:var(--vp-white);
  font-family:var(--vp-sans);
}
body.woocommerce.archive #page,
body.single-product #page{overflow-x:clip;}
.ast-separate-container.woocommerce.archive .ast-article-post,
.ast-separate-container.woocommerce.archive .ast-woocommerce-container,
.ast-separate-container.single-product .ast-article-single,
.ast-separate-container.single-product .ast-woocommerce-container{
  background:transparent;
  padding:0;
  border:none;
  box-shadow:none;
}

/* ============================================================
   TIENDA (/shop/ y archivos de categoría)
   ============================================================ */

/* ocultar sidebar y ocupar todo el ancho */
body.woocommerce.archive .widget-area.secondary{display:none;}
body.woocommerce.archive #primary{
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
}

/* ---------- hero "Tienda" (full-bleed perla) ---------- */
body.woocommerce.archive .ast-archive-description{
  margin:0 calc(50% - 50vw) 36px;
  padding:44px max(24px,calc(50vw - 616px)) 38px;
  background:var(--vp-pearl);
  border-bottom:1px solid #e2ddd8;
  text-align:left;
}
body.woocommerce.archive .ast-archive-description::before{
  content:"El catálogo completo";
  display:block;
  margin-bottom:12px;
  font-family:var(--vp-sans);
  font-weight:600;font-size:12px;
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--vp-taupe);
}
body.woocommerce.archive .ast-archive-description .page-title{
  font-family:var(--vp-serif) !important;
  font-weight:800 !important;
  text-transform:uppercase;
  font-size:clamp(36px,7vw,64px) !important;
  line-height:.95;letter-spacing:.01em;
  color:var(--vp-ink);
  margin:0;
}
body.woocommerce.archive .ast-archive-description::after{
  content:"Elige tu guía y empieza hoy.";
  display:block;
  margin-top:12px;
  font-family:var(--vp-quote);
  font-style:italic;
  font-size:clamp(17px,2.2vw,21px);
  color:var(--vp-taupe);
  max-width:40ch;line-height:1.35;
}
@media(min-width:880px){
  body.woocommerce.archive .ast-archive-description{padding-top:60px;padding-bottom:48px;}
}

/* ---------- barra superior: contador + orden ---------- */
body.woocommerce.archive .woocommerce-result-count{
  font-family:var(--vp-sans);
  font-size:13px;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;
  color:var(--vp-taupe);
  margin-bottom:0;
}
body.woocommerce.archive .woocommerce-ordering{margin-bottom:28px;}
body.woocommerce.archive .woocommerce-ordering select{
  font-family:var(--vp-sans);
  font-weight:600;font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;
  padding:9px 18px;
  border:1.5px solid #d8d1cb;border-radius:0;
  background-color:transparent;
  color:var(--vp-deep);
  cursor:pointer;
}
body.woocommerce.archive .woocommerce-ordering select:hover{border-color:var(--vp-ink);}

/* ============================================================
   TARJETAS DE PRODUCTO (tienda + relacionados del PDP)
   ============================================================ */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:48px 28px;
  margin:0 0 60px;
  width:100%;
  float:none;
}
@media(min-width:620px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{grid-template-columns:repeat(2,1fr) !important;}
}
@media(min-width:980px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{grid-template-columns:repeat(3,1fr) !important;}
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  display:flex;flex-direction:column;
  background:transparent !important;
  border:none !important;box-shadow:none !important;
  text-align:left;
}

/* imagen 3:4 con zoom y overlay "Ver guía" */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{
  position:relative;
  overflow:hidden;
  aspect-ratio:3/4;
  background:var(--vp-pearl);
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a.woocommerce-LoopProduct-link{
  display:block;height:100%;
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img{
  width:100% !important;height:100% !important;
  object-fit:contain; /* opcion A: imagen completa sobre perla, sin recorte */
  margin:0 !important;
  transition:transform 1.2s cubic-bezier(.16,1,.3,1);
}
.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap img{transform:scale(1.05);}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap::before{
  content:"";
  position:absolute;inset:0;z-index:1;
  background:rgba(106,89,80,0);
  transition:background .45s ease;
  pointer-events:none;
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap::after{
  content:"Ver guía";
  position:absolute;top:50%;left:50%;z-index:2;
  transform:translate(-50%,calc(-50% + 8px));
  color:#fff;
  font-family:var(--vp-sans);
  font-size:12px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  border:1.5px solid #fff;
  padding:12px 22px;
  opacity:0;
  transition:opacity .45s ease,transform .45s ease;
  pointer-events:none;
  white-space:nowrap;
}
.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap::before{background:rgba(106,89,80,.72);}
.woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap::after{opacity:1;transform:translate(-50%,-50%);}

/* fuera el botón-icono de carrito sobre la foto (Astra) */
.woocommerce ul.products li.product .ast-on-card-button{display:none !important;}

/* texto de la tarjeta */
.woocommerce ul.products li.product .astra-shop-summary-wrap{
  padding:15px 0 0;
  display:flex;flex-direction:column;flex:1;
  align-items:flex-start;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--vp-serif) !important;
  font-weight:700 !important;
  font-size:19px !important;
  line-height:1.25;
  text-transform:uppercase;letter-spacing:.02em;
  color:var(--vp-ink);
  padding:0 !important;margin:0 !important;
  transition:color .3s;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title{color:var(--vp-taupe);}
.woocommerce ul.products li.product .price{
  font-family:var(--vp-serif) !important;
  font-weight:800 !important;
  font-size:23px !important;
  letter-spacing:.01em;
  color:var(--vp-ink) !important;
  margin:12px 0 0 !important;
}
.woocommerce ul.products li.product .price del{
  font-weight:500;font-size:14px;
  color:#b5ada7;opacity:1;
  margin-right:7px;
}
.woocommerce ul.products li.product .price ins{
  text-decoration:none;font-weight:800;
  background:none;
}

/* botón Añadir al carrito — negro cuadrado */
.woocommerce ul.products li.product .button.add_to_cart_button{
  margin-top:15px;
  padding:13px 22px;
  font-family:var(--vp-sans);
  font-size:11px;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;
  background:var(--vp-ink) !important;
  color:#fff !important;
  border:1.5px solid var(--vp-ink) !important;
  border-radius:0 !important;
  transition:background .35s ease,border-color .35s ease;
}
.woocommerce ul.products li.product .button.add_to_cart_button:hover{
  background:var(--vp-taupe) !important;
  border-color:var(--vp-taupe) !important;
}
/* enlace "Ver carrito" tras añadir */
.woocommerce ul.products li.product .added_to_cart{
  margin-top:10px;
  font-size:12px;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;
  color:var(--vp-taupe);
  text-decoration:underline;text-underline-offset:3px;
}

/* badge oferta */
.woocommerce span.onsale{
  background:var(--vp-sale) !important;
  color:#fff !important;
  border-radius:0 !important;
  font-family:var(--vp-sans);
  font-size:10px !important;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  padding:5px 9px !important;
  min-height:0 !important;min-width:0 !important;
  line-height:1.4 !important;
  top:12px !important;left:12px !important;right:auto !important;
  margin:0 !important;
  z-index:3;
}

/* estrellas */
.woocommerce .star-rating span::before{color:var(--vp-taupe);}

/* avisos woo (añadido al carrito, etc.) */
body.woocommerce.archive .woocommerce-message,
body.single-product .woocommerce-message,
body.woocommerce.archive .woocommerce-info,
body.single-product .woocommerce-info{
  background:#fff;
  border:1.5px solid var(--vp-ink);
  border-top-color:var(--vp-ink);
  color:var(--vp-ink);
  font-family:var(--vp-sans);
  font-size:14px;
  border-radius:0;
}
body.woocommerce.archive .woocommerce-message::before,
body.single-product .woocommerce-message::before,
body.woocommerce.archive .woocommerce-info::before,
body.single-product .woocommerce-info::before{color:var(--vp-taupe);}
body.woocommerce.archive .woocommerce-message .button,
body.single-product .woocommerce-message .button,
body.woocommerce.archive .woocommerce-info .button,
body.single-product .woocommerce-info .button{
  background:var(--vp-ink);color:#fff;
  border-radius:0;
  font-size:11px;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;
}

/* ============================================================
   PÁGINA DE PRODUCTO (PDP)
   ============================================================ */

/* layout: galería + panel de compra en grid */
@media(min-width:900px){
  body.single-product div.product{
    display:grid !important;
    grid-template-columns:1.05fr .95fr;
    gap:58px;
    align-items:start;
  }
  body.single-product div.product .woocommerce-product-gallery{
    width:100% !important;float:none !important;margin:0 !important;
    position:sticky;top:90px;
  }
  body.single-product div.product .summary.entry-summary{
    width:100% !important;float:none !important;margin:0 !important;
  }
  body.single-product div.product .woocommerce-tabs,
  body.single-product div.product .related.products{grid-column:1 / -1;}
}

/* galería */
body.single-product .woocommerce-product-gallery__image{background:var(--vp-pearl);}
body.single-product .woocommerce-product-gallery .flex-control-thumbs{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
  margin-top:14px;
}
body.single-product .woocommerce-product-gallery .flex-control-thumbs li{
  width:100% !important;float:none !important;margin:0 !important;padding:0;
}
body.single-product .woocommerce-product-gallery .flex-control-thumbs img{
  border:1.5px solid transparent;
  opacity:.85;
  transition:opacity .3s,border-color .3s;
  cursor:pointer;
}
body.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
body.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover{
  border-color:var(--vp-taupe);
  opacity:1;
}

/* panel de compra */
body.single-product .summary .single-product-category{
  display:block;margin-bottom:14px;
}
body.single-product .summary .single-product-category a{
  font-family:var(--vp-sans);
  font-weight:600;font-size:12px;
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--vp-taupe);
}
body.single-product .summary h1.product_title{
  font-family:var(--vp-serif) !important;
  font-weight:800 !important;
  text-transform:uppercase;
  font-size:clamp(30px,5vw,46px) !important;
  line-height:1.02;letter-spacing:.01em;
  color:var(--vp-ink);
  margin:0 0 10px;
}
body.single-product .summary p.price{
  font-family:var(--vp-serif) !important;
  font-weight:800 !important;
  font-size:clamp(38px,7vw,54px) !important;
  line-height:1;
  color:var(--vp-ink) !important;
  margin:22px 0 0 !important;
}
body.single-product .summary p.price del{
  font-size:22px;color:#b5ada7;font-weight:500;opacity:1;
}
body.single-product .summary p.price ins{text-decoration:none;background:none;font-weight:800;}
body.single-product .summary p.price::after{
  content:"IVA incluido · Pago único · Descarga inmediata en PDF";
  display:block;
  margin-top:10px;
  font-family:var(--vp-sans);
  font-weight:400;font-size:12.5px;
  letter-spacing:.02em;text-transform:none;
  color:#9a928c;
}
body.single-product .summary .woocommerce-product-details__short-description{
  font-family:var(--vp-quote);
  font-style:italic;
  font-size:20px;line-height:1.45;
  color:var(--vp-taupe);
  margin-top:18px;
  max-width:42ch;
}
body.single-product .summary .woocommerce-product-details__short-description strong{font-weight:600;}

/* formulario de compra: sin cantidad (PDF), botón grande negro */
body.single-product .summary form.cart{margin:26px 0 0;}
body.single-product .summary form.cart .quantity{display:none !important;}
body.single-product .summary form.cart .single_add_to_cart_button{
  display:flex;align-items:center;justify-content:center;
  width:100%;
  padding:21px 38px;
  font-family:var(--vp-sans);
  font-size:14px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  background:var(--vp-ink) !important;
  color:#fff !important;
  border:1.5px solid var(--vp-ink) !important;
  border-radius:0 !important;
  transition:background .35s ease,border-color .35s ease;
}
body.single-product .summary form.cart .single_add_to_cart_button:hover{
  background:var(--vp-taupe) !important;
  border-color:var(--vp-taupe) !important;
}

/* fieldset pagos seguros */
body.single-product .summary .ast-single-product-payments{
  border:1px solid #ececec;
  border-radius:0;
  margin-top:18px;
}
body.single-product .summary .ast-single-product-payments legend{
  font-family:var(--vp-sans);
  font-size:11px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  color:#9a928c;
}

/* tabs descripción / valoraciones */
body.single-product .woocommerce-tabs{margin-top:70px;}
body.single-product .woocommerce-tabs ul.wc-tabs{
  display:flex;gap:30px;
  margin:0 !important;padding:0 !important;
  background:transparent !important;
  border:none !important;
  border-bottom:1px solid #e2ddd8 !important;
}
body.single-product .woocommerce-tabs ul.wc-tabs::before,
body.single-product .woocommerce-tabs ul.wc-tabs::after{display:none !important;}
body.single-product .woocommerce-tabs ul.wc-tabs li{
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  margin:0 !important;padding:0 !important;
}
body.single-product .woocommerce-tabs ul.wc-tabs li a{
  display:block;
  padding:14px 2px !important;
  font-family:var(--vp-sans);
  font-size:12px !important;font-weight:600 !important;
  letter-spacing:.16em;text-transform:uppercase;
  color:#9a928c !important;
  border-bottom:2px solid transparent;
  transition:color .3s,border-color .3s;
}
body.single-product .woocommerce-tabs ul.wc-tabs li.active a{
  color:var(--vp-ink) !important;
  border-bottom-color:var(--vp-ink);
}
body.single-product .woocommerce-Tabs-panel{
  padding:34px 0 0 !important;
  font-family:var(--vp-sans);
  font-size:16.5px;line-height:1.6;
  color:#4f4a45;
  max-width:760px;
}
body.single-product .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-Tabs-panel h3,
body.single-product .woocommerce-Tabs-panel h4{
  font-family:var(--vp-serif);
  font-weight:700;
  color:var(--vp-ink);
  line-height:1.15;
}
body.single-product .woocommerce-Tabs-panel h2{font-size:clamp(24px,3.5vw,32px);text-transform:uppercase;letter-spacing:.01em;}
/* forzar tipografía de la web en TODO el contenido de la descripción
   (el editor mete fuentes/estilos inline que desentonan) */
body.single-product .woocommerce-Tabs-panel p,
body.single-product .woocommerce-Tabs-panel li,
body.single-product .woocommerce-Tabs-panel span,
body.single-product .woocommerce-Tabs-panel em,
body.single-product .woocommerce-Tabs-panel strong,
body.single-product .woocommerce-Tabs-panel b{
  font-family:var(--vp-sans) !important;
  font-size:16.5px !important;
  line-height:1.65 !important;
  color:#4f4a45 !important;
  letter-spacing:0 !important;
}
body.single-product .woocommerce-Tabs-panel p{margin:0 0 1.1em !important;}
body.single-product .woocommerce-Tabs-panel strong,
body.single-product .woocommerce-Tabs-panel b{
  font-weight:600 !important;
  color:var(--vp-ink) !important;
}
body.single-product .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-Tabs-panel h3,
body.single-product .woocommerce-Tabs-panel h4,
body.single-product .woocommerce-Tabs-panel h5,
body.single-product .woocommerce-Tabs-panel h2 *,
body.single-product .woocommerce-Tabs-panel h3 *,
body.single-product .woocommerce-Tabs-panel h4 *,
body.single-product .woocommerce-Tabs-panel h5 *{
  font-family:var(--vp-serif) !important;
  color:var(--vp-ink) !important;
  line-height:1.15 !important;
  letter-spacing:.01em !important;
}
body.single-product .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-Tabs-panel h2 *{font-size:clamp(24px,3.5vw,32px) !important;font-weight:700 !important;}
body.single-product .woocommerce-Tabs-panel h3,
body.single-product .woocommerce-Tabs-panel h3 *,
body.single-product .woocommerce-Tabs-panel h4,
body.single-product .woocommerce-Tabs-panel h4 *{font-size:clamp(19px,2.6vw,23px) !important;font-weight:700 !important;}
body.single-product .woocommerce-Tabs-panel h2{margin:1.6em 0 .6em !important;}
body.single-product .woocommerce-Tabs-panel h3,
body.single-product .woocommerce-Tabs-panel h4{margin:1.5em 0 .5em !important;}
body.single-product .woocommerce-Tabs-panel > h2:first-child,
body.single-product .woocommerce-Tabs-panel > h3:first-child,
body.single-product .woocommerce-Tabs-panel > h4:first-child{margin-top:0 !important;}
/* idem en la descripción corta del panel de compra */
body.single-product .summary .woocommerce-product-details__short-description p,
body.single-product .summary .woocommerce-product-details__short-description span,
body.single-product .summary .woocommerce-product-details__short-description strong,
body.single-product .summary .woocommerce-product-details__short-description b,
body.single-product .summary .woocommerce-product-details__short-description em{
  font-family:var(--vp-quote) !important;
  font-style:italic !important;
  font-size:20px !important;
  line-height:1.45 !important;
  color:var(--vp-taupe) !important;
}
body.single-product .summary .woocommerce-product-details__short-description strong,
body.single-product .summary .woocommerce-product-details__short-description b{font-weight:600 !important;}

/* relacionados */
body.single-product section.related.products{margin-top:80px;}
body.single-product section.related.products > h2{
  font-family:var(--vp-serif) !important;
  font-weight:800 !important;
  text-transform:uppercase;
  font-size:clamp(26px,4.5vw,42px) !important;
  line-height:1;letter-spacing:.01em;
  color:var(--vp-ink);
  margin-bottom:38px;
}

/* ============================================================
   VP CHROME — cabecera y footer globales (Tarea 6)
   Inyectados via WPCode en TODAS las paginas; la Home (plantilla
   canvas) trae los suyos propios y aqui se ocultan los inyectados.
   ============================================================ */

/* fuera la cabecera y el footer de Astra en todo el sitio */
#masthead,#colophon{display:none !important;}

/* en la Home (canvas) se ocultan los inyectados para no duplicar */
body.page-template-elementor_canvas .vp-chrome,
body.page-template-elementor_canvas .vp-chrome-foot{display:none !important;}

.vp-chrome,.vp-chrome-foot{
  font-family:var(--vp-sans);
  color:var(--vp-ink);
  line-height:1.55;
}
.vp-chrome .wrap,.vp-chrome-foot .wrap{
  max-width:1280px;margin:0 auto;
  padding-left:24px;padding-right:24px;
}
.vp-chrome a,.vp-chrome-foot a{text-decoration:none;color:inherit;}

/* ---------- cabecera ---------- */
.vp-chrome header.site{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid #ececec;
}
.vp-chrome .nav{display:flex;align-items:center;justify-content:space-between;height:64px;}
.vp-chrome .logo{font-family:var(--vp-serif);font-weight:800;font-size:30px;line-height:1;letter-spacing:.02em;color:var(--vp-ink);}
.vp-chrome .nav-links{display:none;gap:34px;}
.vp-chrome .nav-links a{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:color .3s;}
.vp-chrome .nav-links a:hover{color:var(--vp-taupe);}
.vp-chrome .nav-icons{display:flex;align-items:center;gap:18px;}
.vp-chrome .nav-icons a{display:flex;align-items:center;color:var(--vp-ink);transition:color .3s;}
.vp-chrome .nav-icons a:hover{color:var(--vp-taupe);}
.vp-chrome .icn{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;}
.vp-chrome .cart-wrap{position:relative;}
.vp-chrome .cart-count{
  position:absolute;top:-7px;right:-9px;
  background:var(--vp-ink);color:#fff;
  font-size:10px;font-weight:700;width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-family:var(--vp-sans);
}
.vp-chrome .burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;}
.vp-chrome .burger span{width:22px;height:1.6px;background:var(--vp-ink);}
@media(min-width:880px){
  .vp-chrome .nav-links{display:flex;}
  .vp-chrome .burger{display:none;}
  .vp-chrome .nav{height:78px;}
  .vp-chrome .logo{font-size:34px;}
}

/* ---------- menu movil ---------- */
.vp-chrome .mnav{
  position:fixed;inset:0;z-index:300;background:var(--vp-white);
  display:flex;flex-direction:column;justify-content:center;
  padding:32px 28px;opacity:0;pointer-events:none;transition:opacity .35s ease;
}
.vp-chrome .mnav.open{opacity:1;pointer-events:auto;}
.vp-chrome .mnav nav{display:flex;flex-direction:column;gap:10px;}
.vp-chrome .mnav nav a{
  font-family:var(--vp-serif);font-weight:800;font-size:clamp(32px,8.5vw,42px);
  line-height:1.15;text-transform:uppercase;letter-spacing:.01em;color:var(--vp-ink);
  transform:translateY(14px);opacity:0;
  transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .5s ease;
}
.vp-chrome .mnav.open nav a{transform:none;opacity:1;}
.vp-chrome .mnav.open nav a:nth-child(2){transition-delay:60ms;}
.vp-chrome .mnav.open nav a:nth-child(3){transition-delay:120ms;}
.vp-chrome .mnav.open nav a:nth-child(4){transition-delay:180ms;}
.vp-chrome .mnav.open nav a:nth-child(5){transition-delay:240ms;}
.vp-chrome .mnav nav a:active{color:var(--vp-taupe);}
.vp-chrome .mnav-close{
  position:absolute;top:16px;right:22px;width:44px;height:44px;
  background:none;border:none;cursor:pointer;color:var(--vp-ink);
  font-family:var(--vp-sans);font-size:38px;font-weight:300;line-height:1;padding:0;
}
.vp-chrome .mnav-foot{margin-top:48px;display:flex;gap:18px;align-items:center;}
.vp-chrome .mnav-foot a{display:flex;color:var(--vp-ink);}
.vp-chrome .mnav-eyebrow{
  font-family:var(--vp-sans);font-weight:600;font-size:11px;
  letter-spacing:.28em;text-transform:uppercase;color:var(--vp-taupe);margin-bottom:22px;
}

/* ---------- footer ---------- */
.vp-chrome-foot footer.site{background:var(--vp-ink);color:#fff;padding:70px 0 36px;}
.vp-chrome-foot .foot-top{
  display:grid;grid-template-columns:1fr;gap:42px;
  padding-bottom:50px;border-bottom:1px solid #2a2a2a;
}
.vp-chrome-foot .foot-logo{font-family:var(--vp-serif);font-weight:800;font-size:48px;line-height:1;}
.vp-chrome-foot .foot-tag{font-family:var(--vp-quote);font-style:italic;font-size:19px;color:#bdb6b0;margin:12px 0 0;max-width:30ch;}
.vp-chrome-foot .foot-col h4{
  font-family:var(--vp-sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:#8d847d;margin:0 0 18px;font-weight:600;
}
.vp-chrome-foot .foot-col a{display:block;padding:7px 0;font-size:15px;color:#e6e2de;transition:color .3s;}
.vp-chrome-foot .foot-col a:hover{color:var(--vp-taupe);}
.vp-chrome-foot .foot-social{display:flex;gap:16px;margin-top:8px;}
.vp-chrome-foot .foot-social a{display:flex;color:#e6e2de;transition:color .3s;}
.vp-chrome-foot .foot-social a:hover{color:var(--vp-taupe);}
.vp-chrome-foot .icn{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;}
.vp-chrome-foot .foot-bot{
  display:flex;flex-direction:column;gap:12px;padding-top:28px;
  font-size:12.5px;color:#807870;letter-spacing:.04em;
}
@media(min-width:880px){
  .vp-chrome-foot .foot-top{grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;}
  .vp-chrome-foot .foot-bot{flex-direction:row;justify-content:space-between;align-items:center;}
}

/* ============================================================
   CONTACTO (page-id-1015) — armonizar con el rediseño
   ============================================================ */
body.page-id-1015{background:var(--vp-white);font-family:var(--vp-sans);}
body.page-id-1015 #page{overflow-x:clip;}
body.page-id-1015 .entry-content h1.uagb-heading-text{
  font-family:var(--vp-serif) !important;
  font-weight:800 !important;
  text-transform:uppercase;
  font-size:clamp(36px,7vw,64px) !important;
  line-height:.95 !important;letter-spacing:.01em;
  color:var(--vp-ink) !important;
}
body.page-id-1015 .entry-content h2.uagb-heading-text,
body.page-id-1015 .entry-content h3.uagb-heading-text,
body.page-id-1015 .entry-content h4.uagb-heading-text,
body.page-id-1015 .uagb-ifb-title{
  font-family:var(--vp-serif) !important;
  font-weight:700 !important;
  color:var(--vp-ink) !important;
  letter-spacing:.01em;
}
body.page-id-1015 .entry-content h5.uagb-heading-text{
  font-family:var(--vp-sans) !important;
  font-weight:600 !important;
  font-size:12px !important;
  letter-spacing:.28em !important;text-transform:uppercase;
  color:var(--vp-taupe) !important;
}
body.page-id-1015 .entry-content p,
body.page-id-1015 .uagb-ifb-desc,
body.page-id-1015 .uagb-icon-list__label,
body.page-id-1015 .entry-content label{
  font-family:var(--vp-sans) !important;
  color:#4f4a45 !important;
}
body.page-id-1015 .uagb-separator{
  background:var(--vp-ink) !important;border-color:var(--vp-ink) !important;
  height:2px !important;max-width:64px;
}
body.page-id-1015 .uagb-iconbox-icon-wrap.uagb-infobox-shape-circle{
  background:var(--vp-pearl) !important;
}
body.page-id-1015 .uagb-iconbox-icon-wrap svg{fill:var(--vp-taupe) !important;}
body.page-id-1015 .uagb-forms-main-form input[type="text"],
body.page-id-1015 .uagb-forms-main-form input[type="email"],
body.page-id-1015 .uagb-forms-main-form input[type="tel"],
body.page-id-1015 .uagb-forms-main-form input[type="number"],
body.page-id-1015 .uagb-forms-main-form textarea{
  border:1.5px solid #d8d1cb !important;
  border-radius:0 !important;
  background:#fff !important;
  font-family:var(--vp-sans) !important;
  font-size:15px !important;
  padding:13px 14px !important;
  color:var(--vp-ink) !important;
}
body.page-id-1015 .uagb-forms-main-form input:focus,
body.page-id-1015 .uagb-forms-main-form textarea:focus{
  border-color:var(--vp-ink) !important;outline:none !important;box-shadow:none !important;
}
body.page-id-1015 .uagb-forms-main-submit-button{
  font-family:var(--vp-sans) !important;
  font-weight:600 !important;font-size:13px !important;
  letter-spacing:.16em !important;text-transform:uppercase;
  padding:16px 38px !important;
  background:var(--vp-ink) !important;color:#fff !important;
  border:1.5px solid var(--vp-ink) !important;border-radius:0 !important;
  transition:background .35s ease,border-color .35s ease;
  cursor:pointer;
}
body.page-id-1015 .uagb-forms-main-submit-button:hover{
  background:var(--vp-taupe) !important;border-color:var(--vp-taupe) !important;
}

/* Contacto: bloques Spectra con anchos fijos de escritorio (ifb-desc 994px) — limitar al viewport */
body.page-id-1015 .uagb-ifb-desc,
body.page-id-1015 .uagb-ifb-content,
body.page-id-1015 .uagb-infobox__content-wrap,
body.page-id-1015 .uagb-forms__outer-wrap,
body.page-id-1015 .uagb-forms-main-form,
body.page-id-1015 .uagb-icon-list__wrap{
  max-width:100% !important;
  width:auto !important;
}
body.page-id-1015 .entry-content{overflow-x:clip;}

/* Contacto movil: apilar columnas Spectra y campos de formulario al 100% */
@media(max-width:768px){
  body.page-id-1015 .uagb-is-root-container > .uagb-container-inner-blocks-wrap{
    display:flex !important;flex-direction:column !important;
    align-items:stretch !important;
  }
  body.page-id-1015 .uagb-container-inner-blocks-wrap > .wp-block-uagb-container{
    width:100% !important;max-width:100% !important;min-width:0 !important;
  }
  body.page-id-1015 .uagb-forms-input,
  body.page-id-1015 .uagb-forms-main-form textarea{
    width:100% !important;box-sizing:border-box !important;
  }
  body.page-id-1015 .uagb-forms-field-set{width:100% !important;max-width:100% !important;}
  body.page-id-1015 .uagb-forms-inline-field .uagb-forms-main-form{
    display:flex !important;flex-wrap:wrap !important;gap:12px !important;
  }
  body.page-id-1015 .uagb-forms-main-submit-button-wrap,
  body.page-id-1015 .uagb-forms-main-submit-button{width:100% !important;}
  body.page-id-1015 .uagb-infobox-icon-left{flex-direction:row !important;}
}

/* ============================================================
   CONTACTO — pulido movil + iconos (feedback usuario 2026-06-10)
   ============================================================ */

/* iconos en taupe (venian en beige claro que no combina) */
body.page-id-1015 .uagb-ifb-icon-wrap svg,
body.page-id-1015 .uagb-ifb-icon-wrap svg *,
body.page-id-1015 .uagb-icon-list__source-wrap svg,
body.page-id-1015 .uagb-icon-list__source-wrap svg *{
  fill:var(--vp-taupe) !important;
  color:var(--vp-taupe) !important;
}
/* chips de icono cuadrados y perla, como el lenguaje visual de la web */
body.page-id-1015 .uagb-iconbox-icon-wrap.uagb-infobox-shape-circle{
  background:var(--vp-pearl) !important;
  border-radius:0 !important;
}

/* el email no debe romperse letra a letra */
body.page-id-1015 .uagb-ifb-desc{
  word-break:normal !important;
  overflow-wrap:anywhere;
}

/* PAGO PROTEGIDO / DESCARGA AL INSTANTE: icono + texto centrados y en eyebrow */
body.page-id-1015 .uagb-infobox-icon-above-title .uagb-ifb-content{
  display:flex !important;flex-direction:column !important;
  align-items:center !important;text-align:center !important;gap:10px !important;
}
body.page-id-1015 .uagb-infobox-icon-above-title .uagb-ifb-icon-wrap{margin:0 auto !important;}
body.page-id-1015 h6.uagb-ifb-title,
body.page-id-1015 h6.uagb-ifb-title strong{
  font-family:var(--vp-sans) !important;
  font-weight:600 !important;
  font-size:12px !important;
  letter-spacing:.22em !important;
  text-transform:uppercase;
  color:var(--vp-taupe) !important;
}

/* movil: bloques alineados a la izquierda, sin sangrias heredadas del desktop */
@media(max-width:768px){
  body.page-id-1015 .uagb-is-root-container > .uagb-container-inner-blocks-wrap{gap:26px !important;}
  body.page-id-1015 .uagb-container-inner-blocks-wrap > .wp-block-uagb-container{
    margin-left:0 !important;margin-right:0 !important;
    padding-left:0 !important;padding-right:0 !important;
  }
  body.page-id-1015 .wp-block-uagb-info-box{padding-left:0 !important;padding-right:0 !important;}
  body.page-id-1015 .uagb-infobox-icon-left .uagb-ifb-content{text-align:left !important;}
}

/* Contacto movil: fuera margenes fijos de Spectra en los info-box (Email quedaba sangrado 140px) */
@media(max-width:768px){
  body.page-id-1015 .uagb-container-inner-blocks-wrap .wp-block-uagb-container,
  body.page-id-1015 .wp-block-uagb-info-box,
  body.page-id-1015 .uagb-infobox__content-wrap{
    margin-left:0 !important;margin-right:0 !important;
  }
  body.page-id-1015 .uagb-infobox-icon-left .uagb-ifb-content{width:100% !important;}
  body.page-id-1015 .wp-block-uagb-info-box{width:100% !important;max-width:100% !important;}
}

/* Contacto desktop: fila Direccion/Email con anchos naturales (la columna Email
   media ~85px y rompia el correo letra a letra) */
@media(min-width:769px){
  body.page-id-1015 .uagb-block-25f7d8ea > .uagb-container-inner-blocks-wrap{
    display:flex !important;
    justify-content:center !important;
    align-items:flex-start !important;
    gap:72px !important;
  }
  body.page-id-1015 .uagb-block-25f7d8ea .wp-block-uagb-container{
    width:auto !important;max-width:none !important;min-width:0 !important;
    margin:0 !important;padding:0 !important;flex:0 0 auto !important;
  }
}
body.page-id-1015 .uagb-ifb-desc{min-width:0;}

/* Contacto desktop: cajas Direccion/Email a su ancho natural; el email no se
   rompe letra a letra (anula el overflow-wrap:anywhere anterior) */
body.page-id-1015 .uagb-ifb-desc{overflow-wrap:break-word !important;word-break:keep-all !important;}
@media(min-width:769px){
  body.page-id-1015 .uagb-block-bd98441f,
  body.page-id-1015 .uagb-block-4958758d{
    width:max-content !important;
  }
}

/* Contacto desktop: el bloque Email de Spectra traia un ancho fijo de 64px en
   su contenido; se expande a su ancho natural */
@media(min-width:769px){
  body.page-id-1015 .uagb-block-4958758d .uagb-ifb-content,
  body.page-id-1015 .uagb-block-4958758d .uagb-infobox__content-wrap,
  body.page-id-1015 .uagb-block-4958758d .uagb-ifb-desc{
    width:max-content !important;max-width:none !important;
  }
}
