/*
Theme Name: Vitara
Theme URI: https://vitara.pe
Author: Vitara
Author URI: https://vitara.pe
Description: Tema a medida para Vitara — tienda de bienestar y suplementos (WooCommerce). Diseno propio basado en la identidad de marca de Vitara.
Version: 0.9.64
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vitara
WC requires at least: 8.0
WC tested up to: 9.0
*/

/* ============================================================
   1. TOKENS DE MARCA  (colores, tipografias, medidas)
   ============================================================ */
:root{
  --vt-teal:#77D3CB;
  --vt-teal-soft:#77D3CB;
  --vt-teal-dark:#026286;
  --vt-orange:#F6A656;
  --vt-orange-dark:#F6A656;
  --vt-tan:#E6C88A;
  --vt-navy:#1B446E;
  --vt-navy-deep:#1B446E;
  --vt-apricot:#F6A656;
  --vt-cream:#EDEAD9;
  --vt-gray:#F1F0EA;
  --vt-line:#e6e6e0;
  --vt-text:#1B446E;
  --vt-white:#ffffff;

  --vt-font-head:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --vt-font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

  --vt-container:1300px;
  --vt-radius-sm:10px;   /* elementos pequeños: chips, cajas de pago, marcas */
  --vt-radius:14px;      /* inputs, selects, avisos, tablas */
  --vt-radius-btn:10px;  /* botones: radio uniforme 10px */
  --vt-radius-lg:20px;   /* tarjetas y paneles: como categorias, un poco mas redondo */
  --vt-radius-pill:30px; /* solo insignias/estados pequeños tipo pill */
}

/* ============================================================
   2. RESET / BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;}
body{
  margin:0;
  font-family:var(--vt-font-body);
  color:var(--vt-text);
  font-size:16px;
  line-height:1.6;
  background:var(--vt-white);
}
h1,h2,h3,h4,h5,h6{font-family:var(--vt-font-head);color:var(--vt-navy);margin:0 0 .5em;line-height:1.2;}
a{color:var(--vt-navy);text-decoration:none;}
a:hover{color:var(--vt-orange);}
img{max-width:100%;height:auto;display:block;}
ul{margin:0;padding:0;list-style:none;}

.vt-container{max-width:var(--vt-container);margin:0 auto;padding:0 24px;}

.vt-btn{
  display:inline-block;font-family:var(--vt-font-head);font-weight:500;
  border:0;cursor:pointer;border-radius:var(--vt-radius-btn);
  padding:12px 26px;font-size:14px;line-height:1;transition:.2s;
}
.vt-btn--orange{background:var(--vt-orange);color:#fff;}
.vt-btn--orange:hover{background:var(--vt-orange-dark);color:#fff;}
.vt-btn--teal{background:var(--vt-teal);color:var(--vt-teal-dark);}
.vt-btn--teal:hover{background:var(--vt-teal);filter:brightness(.92);color:var(--vt-teal-dark);}

/* ============================================================
   3. BARRA SUPERIOR (anuncio)
   ============================================================ */
.vt-topbar{
  background:var(--vt-apricot);color:#fff;text-align:center;
  font-family:var(--vt-font-head);font-weight:500;font-size:13px;
  letter-spacing:.04em;padding:9px 16px;
}

/* ============================================================
   4. HEADER PRINCIPAL
   ============================================================ */
.vt-header{background:#fff;border-bottom:1px solid var(--vt-line);}
.vt-header__inner{
  display:flex;align-items:center;gap:32px;
  padding-top:22px;padding-bottom:22px;
}
.vt-logo{flex:0 0 auto;display:flex;align-items:center;}
.vt-logo img,.vt-logo .custom-logo{max-height:47px;width:auto;}
.vt-logo__text{font-family:var(--vt-font-head);font-weight:700;font-size:22px;color:var(--vt-navy);letter-spacing:.02em;}
.vt-logo__text small{display:block;font-size:9px;font-weight:400;letter-spacing:.18em;color:var(--vt-teal);}

.vt-search{flex:1 1 auto;max-width:560px;}
.vt-search form{display:flex;position:relative;}
.vt-search input[type="search"]{
  width:100%;border:1px solid var(--vt-line);border-radius:var(--vt-radius);
  padding:15px 60px 15px 26px;font-family:var(--vt-font-body);font-size:16px;color:var(--vt-text);
  background:#f7f7f4;outline:none;
}
.vt-search input[type="search"]:focus{border-color:var(--vt-teal);}
.vt-search__btn{
  position:absolute;top:4px;bottom:4px;right:4px;
  width:auto;aspect-ratio:1/1;padding:0;border-radius:50%;border:0;cursor:pointer;
  background:var(--vt-navy);color:#fff;display:flex;align-items:center;justify-content:center;
}
.vt-search__btn svg{width:22px;height:22px;}
.vt-search__btn:hover{background:var(--vt-orange);}

.vt-actions{flex:0 0 auto;display:flex;align-items:center;gap:26px;margin-left:auto;}
.vt-actions a{display:flex;align-items:center;gap:9px;color:var(--vt-navy);font-size:16px;}
.vt-actions a:hover{color:var(--vt-orange);}
.vt-actions svg{width:28px;height:28px;}
.vt-cart{position:relative;}
.vt-cart__count{
  position:absolute;top:-8px;right:-10px;background:var(--vt-orange);color:#fff;
  font-size:11px;font-weight:600;min-width:18px;height:18px;line-height:18px;
  text-align:center;border-radius:50%;padding:0 4px;
}
.vt-cart__count[hidden]{display:none;}

/* Mini-carrito lateral */
.vt-mini-cart{position:fixed;inset:0;z-index:100000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility 0s linear .24s;}
.vt-mini-cart-open{overflow:hidden;}
.vt-mini-cart-open .vt-mini-cart{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .24s ease,visibility 0s linear 0s;}
.vt-mini-cart__backdrop{position:absolute;inset:0;border:0;background:rgba(8,24,36,.52);backdrop-filter:blur(2px);cursor:pointer;}
.vt-mini-cart__shell{
  position:absolute;top:0;right:0;height:100dvh;display:grid;grid-template-columns:280px minmax(460px,500px);
  align-items:stretch;transform:translateX(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1);
  box-shadow:-26px 0 54px rgba(15,39,56,.22);
}
.vt-mini-cart-open .vt-mini-cart__shell{transform:translateX(0);}
.vt-mini-cart__reco{
  align-self:stretch;height:100dvh;max-height:none;overflow-y:auto;background:var(--vt-cream);
  border:0;border-right:1px solid rgba(27,68,110,.10);border-radius:0;padding:26px 18px;display:flex;flex-direction:column;gap:16px;
}
.vt-mini-cart__eyebrow{display:block;font-family:var(--vt-font-head);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--vt-orange);margin-bottom:2px;}
.vt-mini-cart__reco-item{
  display:flex;flex-direction:column;flex:0 0 auto;padding:0;margin:0;overflow:hidden;
  border:1px solid #EDE6D8;border-radius:18px;background:#fff;color:var(--vt-navy);
  box-shadow:0 10px 24px -14px rgba(27,68,110,.18);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.vt-mini-cart__reco-item:hover{transform:translateY(-3px);border-color:var(--vt-teal);box-shadow:0 18px 34px -16px rgba(27,68,110,.26);}
.vt-mini-cart__reco-img{
  width:100%;height:150px;border-radius:0;background:linear-gradient(160deg,#F4F8F7 0%,#EAF2F0 100%);border:0;border-bottom:1px solid #EDE6D8;
  display:flex;align-items:center;justify-content:center;overflow:hidden;padding:16px;
}
.vt-mini-cart__reco-img img{
  width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;display:block;
  filter:drop-shadow(0 8px 14px rgba(27,68,110,.14));transition:transform .3s ease;
}
.vt-mini-cart__reco-item:hover .vt-mini-cart__reco-img img{transform:scale(1.05);}
.vt-mini-cart__reco-info{min-width:0;display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;}
.vt-mini-cart__reco-info em{font-style:normal;font-family:var(--vt-font-head);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--vt-teal);}
.vt-mini-cart__reco-info strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--vt-font-head);font-size:14px;font-weight:600;line-height:1.3;color:var(--vt-navy);margin:0;}
.vt-mini-cart__reco-info small{display:flex;align-items:baseline;gap:7px;color:var(--vt-orange);font-family:var(--vt-font-head);font-weight:700;font-size:15px;}
.vt-mini-cart__reco-info small del{color:#a8a69c;font-weight:400;font-size:.8em;}
.vt-mini-cart__reco-info small ins{text-decoration:none;color:inherit;}
.vt-mini-cart__reco-btn{margin-top:6px;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;border-radius:999px;background:var(--vt-orange);color:#fff;font-family:var(--vt-font-head);font-size:12.5px;font-weight:600;text-decoration:none;transition:background .18s ease;}
.vt-mini-cart__reco-item:hover .vt-mini-cart__reco-btn{background:var(--vt-orange-dark,#d47f28);}
.vt-mini-cart__panel{height:100dvh;background:#fff;display:flex;flex-direction:column;padding:0;}
.vt-mini-cart__head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 28px 18px;border-bottom:1px solid var(--vt-line);}
.vt-mini-cart__head h2{margin:0;font-size:24px;line-height:1.1;color:var(--vt-navy);}
.vt-mini-cart__close{width:44px;height:44px;border:1px solid var(--vt-line);border-radius:50%;background:#fff;color:var(--vt-navy);display:grid;place-items:center;cursor:pointer;transition:border-color .18s ease,color .18s ease,transform .18s ease;}
.vt-mini-cart__close svg{width:20px;height:20px;}
.vt-mini-cart__close:hover{border-color:var(--vt-orange);color:var(--vt-orange);transform:rotate(4deg);}
.vt-mini-cart__items{flex:1;min-height:0;overflow:auto;padding:12px 28px 0;display:flex;flex-direction:column;scrollbar-gutter:stable;}
.vt-mini-cart__items,
.vt-mini-cart__reco{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}
.vt-mini-cart__item{
  display:grid;grid-template-columns:68px minmax(0,1fr) 92px;gap:14px;align-items:center;min-height:94px;
  padding:14px 0;border-bottom:1px solid var(--vt-line);background:#fff;
}
.vt-mini-cart__thumb{width:68px;height:68px;border-radius:14px;background:var(--vt-gray);display:grid;place-items:center;overflow:hidden;}
.vt-mini-cart__thumb img{width:100%;height:100%;object-fit:contain;}
.vt-mini-cart__meta{min-width:0;display:grid;align-content:center;gap:7px;}
.vt-mini-cart__meta a,.vt-mini-cart__meta strong{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-family:var(--vt-font-head);font-size:14px;font-weight:800;line-height:1.28;color:var(--vt-navy);margin:0;
}
.vt-mini-cart__unitline{display:flex;align-items:center;gap:10px;font-size:13px;color:#667786;white-space:nowrap;}
.vt-mini-cart__unitline .amount{font-family:var(--vt-font-head);font-weight:700;color:#40566a;}
.vt-mini-cart__unitprice{display:inline-flex;align-items:center;gap:6px;min-width:0;}
.vt-mini-cart__x{color:#9aa6b0;}
.vt-mini-cart__qty{display:inline-flex;align-items:center;height:30px;border:1px solid var(--vt-line);border-radius:999px;background:#fff;overflow:hidden;}
.vt-mini-cart__qty button{width:28px;height:28px;border:0;background:#fff;color:var(--vt-navy);font-family:var(--vt-font-head);font-weight:800;cursor:pointer;}
.vt-mini-cart__qty button:hover{background:#fff4e8;color:var(--vt-orange);}
.vt-mini-cart__qty span{min-width:28px;text-align:center;font-family:var(--vt-font-head);font-size:13px;font-weight:700;color:var(--vt-navy);}
.vt-mini-cart__item.is-updating{opacity:.55;pointer-events:none;}
.vt-mini-cart__line-total{font-family:var(--vt-font-head);font-weight:800;color:var(--vt-orange);white-space:nowrap;font-size:15px;align-self:center;justify-self:end;text-align:right;}
.vt-mini-cart__total{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--vt-line);padding:18px 28px 16px;font-family:var(--vt-font-head);}
.vt-mini-cart__total span{color:var(--vt-navy);font-weight:700;}
.vt-mini-cart__total strong{color:var(--vt-navy);font-size:24px;}
.vt-mini-cart__checkout{display:flex;align-items:center;justify-content:center;margin:0 28px 24px;min-height:54px;border-radius:14px;background:var(--vt-orange);color:#fff;font-family:var(--vt-font-head);font-weight:800;text-align:center;box-shadow:0 14px 28px rgba(246,166,86,.24);}
.vt-mini-cart__checkout:hover{background:var(--vt-orange-dark);color:#fff;transform:translateY(-1px);}
.vt-mini-cart__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#111;}
.vt-mini-cart__empty svg{width:74px;height:74px;color:var(--vt-navy);margin-bottom:18px;}
.vt-mini-cart__empty p{font-family:var(--vt-font-head);font-size:20px;font-weight:700;margin:0;}
@media(max-width:860px){
  .vt-mini-cart__shell{
    left:0;right:0;width:100vw;max-width:100vw;height:100dvh;min-height:0;
    display:flex;flex-direction:column;overflow:hidden;background:#fff;box-shadow:none;
  }
  .vt-mini-cart__panel{order:1;flex:1 1 auto;height:100%;min-height:0;}
  .vt-mini-cart__reco{display:none;}
  .vt-mini-cart__eyebrow{grid-column:1/-1;margin:0 0 2px;}
  .vt-mini-cart__reco-item{display:flex;flex-direction:column;flex:none;min-height:0;height:auto;margin:0;padding:0;gap:0;overflow:hidden;}
  .vt-mini-cart__reco-img{width:100%;height:118px;min-height:118px;flex:0 0 auto;padding:14px;}
  .vt-mini-cart__reco-info{display:flex;flex-direction:column;gap:6px;flex:0 0 auto;padding:12px 13px 13px;}
  .vt-mini-cart__reco-info em{font-size:9.5px;}
  .vt-mini-cart__reco-info strong{font-size:12.5px;line-height:1.28;}
  .vt-mini-cart__reco-info small{font-size:12.5px;}
  .vt-mini-cart__reco-btn{min-height:36px;font-size:11.5px;}
  .vt-mini-cart__head{padding:20px 18px 16px;}
  .vt-mini-cart__items{flex:1 1 auto;min-height:0;overflow:auto;scrollbar-gutter:stable;padding-left:18px;padding-right:18px;}
  .vt-mini-cart__item{grid-template-columns:62px minmax(0,1fr) 74px;gap:10px;min-height:88px;}
  .vt-mini-cart__thumb{width:62px;height:62px;}
  .vt-mini-cart__unitline{gap:7px;}
  .vt-mini-cart__qty{height:28px;}
  .vt-mini-cart__qty button{width:26px;height:26px;}
  .vt-mini-cart__qty span{min-width:26px;}
  .vt-mini-cart__line-total{font-size:13px;}
  .vt-mini-cart__total{padding-left:18px;padding-right:18px;}
  .vt-mini-cart__checkout{margin-left:18px;margin-right:18px;}
}
@media(max-width:600px){
  .vt-mini-cart__reco{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:420px){
  .vt-mini-cart__head h2{font-size:23px;}
  .vt-mini-cart__item{grid-template-columns:58px minmax(0,1fr);min-height:auto;}
  .vt-mini-cart__thumb{width:58px;height:58px;}
  .vt-mini-cart__line-total{grid-column:2;justify-self:start;margin-top:2px;}
  .vt-mini-cart__unitline{flex-wrap:wrap;}
  .vt-mini-cart__reco{grid-template-columns:1fr;max-height:46dvh;gap:12px;}
  .vt-mini-cart__reco-item{display:flex;flex-direction:column;overflow:hidden;}
  .vt-mini-cart__reco-img{width:100%;height:120px;min-height:120px;border-bottom:1px solid #EDE6D8;border-right:0;padding:12px;}
  .vt-mini-cart__reco-info{padding:12px 14px 14px;justify-content:flex-start;gap:5px;}
  .vt-mini-cart__reco-info em{font-size:9.5px;}
  .vt-mini-cart__reco-info strong{min-height:0;font-size:13px;-webkit-line-clamp:2;}
  .vt-mini-cart__reco-info small{font-size:13px;}
  .vt-mini-cart__reco-btn{display:inline-flex;width:100%;min-height:38px;font-size:12px;margin-top:8px;}
}

/* ============================================================
   5. NAV (menu principal)
   ============================================================ */
.vt-nav{background:#f4f4f1;border-bottom:1px solid var(--vt-line);position:relative;}
.vt-nav__inner{display:flex;align-items:center;justify-content:flex-start;padding-top:0;padding-bottom:0;}
.vt-nav__menu{flex:1 1 auto;min-width:0;}
.vt-nav-toggle{display:none;}
.vt-menu{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:100%;gap:8px;}
.vt-menu li{flex:0 0 auto;}
.vt-menu li a{
  display:block;padding:18px 4px;font-size:15px;color:var(--vt-navy);white-space:nowrap;
}
.vt-menu li a:hover,.vt-menu li.current-menu-item a{color:var(--vt-orange);}

/* ============================================================
   6. FOOTER
   ============================================================ */
.vt-footer{background:var(--vt-navy-deep);color:#cfd8e2;padding:54px 0 0;font-size:14px;}
.vt-footer a{color:#cfd8e2;}
.vt-footer a:hover{color:#fff;}
.vt-footer__grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:32px;
  padding-bottom:40px;
}
.vt-footer__logo{font-family:var(--vt-font-head);font-weight:700;font-size:24px;color:#fff;margin-bottom:18px;display:inline-block;}
.vt-footer__logo img{max-height:56px;width:auto;display:block;}
.vt-footer__logo small{display:block;font-size:10px;font-weight:400;letter-spacing:.18em;color:var(--vt-teal);}
.vt-footer__social{display:flex;gap:12px;margin:14px 0 18px;}
.vt-footer__social a{display:flex;width:30px;height:30px;border:1px solid #3a567a;border-radius:50%;align-items:center;justify-content:center;}
.vt-footer__social svg{width:15px;height:15px;}
.vt-footer h4{color:#fff;font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;}
.vt-footer ul li{margin-bottom:10px;}
.vt-footer__contact p{margin:4px 0;display:flex;align-items:center;gap:8px;}
.vt-pay{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:8px;}
.vt-pay__card{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:6px;height:48px;padding:0 8px;box-shadow:0 1px 3px rgba(0,0,0,.18);}
.vt-pay__card svg,.vt-pay__card img{max-width:60px;max-height:36px;width:auto;height:auto;display:block;}
.vt-footer__bottom{border-top:1px solid #2b496b;padding:16px 0;font-size:13px;color:#9fb1c4;}

/* ============================================================
   7. HOME (portada)
   ============================================================ */
.vt-section{padding:56px 0;}
.vt-section__title{text-align:center;font-size:30px;font-weight:600;color:var(--vt-navy);margin-bottom:40px;}
.vt-section__title--light{color:#fff;}

/* Hero */
.vt-hero{position:relative;z-index:1;background:var(--vt-cream);overflow:hidden;padding-top:44px;}
.vt-hero__panel{position:absolute;top:0;bottom:0;right:0;width:33%;background:var(--vt-teal-soft);z-index:1;}
.vt-hero__inner{position:relative;z-index:2;max-width:1300px;margin:0 auto;padding:0 24px;min-height:620px;display:flex;align-items:center;}
.vt-hero__text{position:relative;z-index:3;max-width:560px;}
.vt-hero__text h1{font-size:52px;font-weight:600;line-height:1.1;color:var(--vt-navy);margin-bottom:16px;}
.vt-hero__text p{font-size:18px;line-height:1.6;color:#5d6f7e;margin-bottom:28px;max-width:480px;}
.vt-hero__img{position:absolute;z-index:2;right:17%;top:50%;transform:translateY(-50%);max-height:520px;width:auto;}
.vt-hero__word{position:absolute;z-index:3;right:7%;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;white-space:nowrap;font-family:var(--vt-font-head);font-weight:600;font-size:46px;line-height:1;color:var(--vt-navy);letter-spacing:.01em;}
.vt-hero__cta{display:inline-flex;align-items:center;gap:11px;padding:15px 32px;border-radius:var(--vt-radius-pill);font-size:15px;font-weight:600;}
.vt-hero__bullets + .vt-hero__cta{margin-top:28px;}
.vt-hero__cta svg{width:20px;height:20px;flex:none;transition:transform .2s ease;}
.vt-hero__cta:hover svg{transform:translateY(-1px) scale(1.06);}
.vt-btn.vt-hero__cta:hover{box-shadow:none;}
.vt-hero__text .added_to_cart{display:none!important;}
.vt-hero__bullets{list-style:none;margin:26px 0 0;padding:0;max-width:44ch;}
.vt-hero__bullets[hidden]{display:none;}
.vt-hero__bullets li{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:500;color:var(--vt-navy);line-height:1.4;padding:7px 0;}
.vt-hero__bullets li::first-letter{text-transform:uppercase;}
.vt-hero__bullets li::before{content:"";flex:none;width:18px;height:18px;background:var(--vt-teal);border-radius:50%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-size:12px;background-position:center;background-repeat:no-repeat;}

/* Categorias */
.vt-cats__carousel{position:relative;display:flex;align-items:center;gap:10px;}
.vt-cats__track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-y;}
.vt-cats__track::-webkit-scrollbar{display:none;}
.vt-cat-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;position:relative;border-radius:var(--vt-radius-lg);overflow:hidden;background:var(--vt-cream);}
.vt-cat-card img{width:100%;aspect-ratio:600/580;height:auto;object-fit:cover;display:block;}
.vt-cat-card__label{display:block;width:100%;background:var(--vt-navy);color:#fff;font-family:var(--vt-font-head);font-weight:500;font-size:15px;padding:13px 18px;}
.vt-cats__arrow{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:0;background:transparent;color:var(--vt-orange);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.vt-cats__arrow:hover{background:var(--vt-gray);}
.vt-cats__arrow svg{width:24px;height:24px;}

/* Carrusel generico (productos relacionados, etc.) — todo en una fila */
.vt-carousel{position:relative;display:flex;align-items:stretch;gap:10px;}
.vt-carousel__track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 10px;flex:1 1 auto;min-width:0;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-y;}
.vt-carousel__track::-webkit-scrollbar{display:none;}
.vt-carousel__track > .vt-product-card{flex:0 0 calc((100% - 72px)/4);scroll-snap-align:start;}
.vt-carousel__arrow{align-self:center;flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:1px solid var(--vt-line);background:#fff;color:var(--vt-orange);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,box-shadow .2s,opacity .2s;}
.vt-carousel__track{order:1;}
.vt-carousel__arrow--prev{order:2;}
.vt-carousel__arrow--next{order:3;}
.vt-carousel__arrow:hover{background:var(--vt-gray);box-shadow:0 6px 16px rgba(27,68,110,.12);}
.vt-carousel__arrow svg{width:22px;height:22px;}
.vt-carousel__arrow[disabled]{opacity:.3;cursor:default;box-shadow:none;background:#fff;}
.vt-carousel.is-static .vt-carousel__arrow{display:none;}
.vt-cats__track.is-dragging,
.vt-carousel__track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none;}

/* Beneficios */
.vt-benefits{background:var(--vt-teal-soft);padding:50px 0;}
.vt-benefits__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.vt-benefit{text-align:center;color:var(--vt-navy);}
.vt-benefit svg{width:56px;height:56px;margin-bottom:14px;color:var(--vt-navy);}
.vt-benefit h3{color:var(--vt-navy);font-size:17px;font-weight:600;margin-bottom:4px;}
.vt-benefit p{margin:0;font-size:14px;color:var(--vt-navy);opacity:.82;}

/* Producto mas vendido + novedades por categoria */
.vt-section.vt-topseller{padding:72px 0;}
.vt-topseller__grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,7fr);gap:44px;align-items:stretch;}

/* --- 30%: producto mas vendido --- */
.vt-topseller__best{position:relative;overflow:hidden;background:#fff;border:1px solid #EFE7DA;border-radius:var(--vt-radius-lg);padding:32px 26px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 10px 30px -12px rgba(27,68,110,.14);transition:box-shadow .35s ease,transform .35s ease;}
.vt-topseller__best:hover{box-shadow:0 16px 40px -14px rgba(27,68,110,.2);transform:translateY(-3px);}
.vt-topseller__eyebrow{font-family:var(--vt-font-head);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--vt-orange);margin-bottom:16px;}
.vt-topseller__best-img{display:block;width:100%;max-width:270px;margin:0 auto 18px;}
.vt-topseller__best-img img{width:100%;height:auto;object-fit:contain;transition:transform .5s cubic-bezier(.2,.7,.3,1);}
.vt-topseller__best-img:hover img{transform:scale(1.05) rotate(-1deg);}
.vt-topseller__best h3{font-size:19px;line-height:1.25;color:var(--vt-navy);margin-bottom:8px;}
.vt-topseller__best-price{font-family:var(--vt-font-head);font-weight:600;color:var(--vt-orange);font-size:20px;margin-bottom:0;display:flex;align-items:baseline;justify-content:center;gap:10px;flex-wrap:wrap;}
.vt-topseller__best-price del{color:#9a9a90;font-weight:400;font-size:.78em;}
.vt-topseller__best-price ins{text-decoration:none;color:inherit;}
.vt-topseller__best .vt-btn{margin:26px 0 28px;padding:14px 40px;font-size:15px;}
.vt-topseller__chips{display:flex;justify-content:center;gap:18px;margin-top:auto;padding-top:2px;}
.vt-topseller__chip{display:flex;flex-direction:column;align-items:center;gap:6px;width:60px;font-family:var(--vt-font-head);font-size:11px;font-weight:600;color:var(--vt-navy);text-align:center;line-height:1.2;}
.vt-topseller__chip svg{width:20px;height:20px;color:#fff;flex:none;padding:9px;box-sizing:content-box;background:var(--vt-teal);border-radius:50%;transition:transform .18s ease;}
.vt-topseller__chip:hover svg{transform:translateY(-2px);}
.vt-topseller__chip b{font-weight:600;}

/* --- 70%: novedades por categoria (tabs + carrusel) --- */
.vt-topseller__recent{display:flex;flex-direction:column;min-width:0;height:100%;}
.vt-topseller__head{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:20px;}
.vt-topseller__head h2{font-size:26px;color:var(--vt-navy);margin:0;}
.vt-topseller__tabswrap{display:flex;align-items:center;gap:8px;width:100%;min-width:0;}
.vt-topseller__tabarrow{display:none;}
.vt-topseller__tabarrow[hidden]{display:none;}
.vt-topseller__tabs{display:flex;flex-wrap:nowrap;gap:8px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;}
.vt-topseller__tabs::-webkit-scrollbar{display:none;}
.vt-topseller__tabs::-webkit-scrollbar{display:none;}
.vt-topseller__select-wrap{display:none;width:100%;position:relative;}
.vt-topseller__select{
  width:100%;min-height:48px;border:1px solid var(--vt-line);border-radius:16px;background:#fff;
  color:var(--vt-navy);font-family:var(--vt-font-head);font-weight:600;font-size:14px;
  padding:0 44px 0 16px;appearance:none;outline:none;
}
.vt-cattab{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap;font-family:var(--vt-font-head);font-weight:500;font-size:13px;color:var(--vt-navy);background:#fff;border:1px solid var(--vt-line);border-radius:var(--vt-radius-pill);padding:8px 15px;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;}
.vt-cattab:hover{border-color:var(--vt-teal);}
.vt-cattab.is-active{background:var(--vt-orange);border-color:var(--vt-orange);color:#fff;}
.vt-catpanel{display:none;}
.vt-catpanel.is-active{display:block;animation:vt-tabfade .4s ease;}
.vt-topseller__recent .vt-carousel__track > .vt-product-card{flex:0 0 calc((100% - 2 * 24px) / 3);}
.vt-carousel--footnav{flex-direction:column;gap:0;}
.vt-carousel--footnav .vt-carousel__track{order:0;}
.vt-carousel--footnav .vt-carousel__nav{order:1;display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px;}
.vt-carousel--footnav .vt-carousel__arrow{order:0;width:36px;height:36px;}
.vt-carousel--footnav .vt-carousel__arrow svg{width:19px;height:19px;}
.vt-carousel__dots{display:flex;align-items:center;gap:7px;}
.vt-carousel__dots:empty{display:none;}
.vt-carousel__dot{width:7px;height:7px;padding:0;border:0;border-radius:4px;background:#d4d7d0;cursor:pointer;transition:width .25s ease,background .25s ease;}
.vt-carousel__dot:hover{background:#bfc3ba;}
.vt-carousel__dot.is-active{width:22px;background:var(--vt-orange);}
.vt-carousel--footnav.is-static .vt-carousel__nav{display:none;}
.vt-topseller__panels{flex:1;display:flex;min-height:0;}
.vt-topseller__panels .vt-catpanel.is-active{display:flex;flex:1;}
.vt-topseller__panels .vt-catpanel.is-active .vt-carousel{flex:1;height:100%;}
.vt-topseller__recent .vt-carousel__track{align-items:stretch;}
.vt-topseller__recent .vt-product-card__media{aspect-ratio:auto;flex:1 1 auto;min-height:170px;padding:22px 16px 12px;}
.vt-topseller__recent .vt-product-card__name{min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.vt-topseller__recent .vt-product-card__media img{transform:scale(1);}
.vt-topseller__recent .vt-product-card:hover .vt-product-card__media img{transform:scale(1.05);}
.vt-topseller__recent .vt-product-card__badge{top:14px;left:14px;z-index:2;max-width:calc(100% - 28px);}

/* Marcas */
.vt-brands{background:var(--vt-orange);padding:54px 0;text-align:center;}
.vt-brands__marquee{position:relative;overflow:hidden;margin:8px 0 24px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.vt-brands__track{display:flex;flex-wrap:nowrap;align-items:center;width:max-content;will-change:transform;animation:vt-marquee 32s linear infinite;}
.vt-brands__marquee:hover .vt-brands__track{animation-play-state:paused;}
.vt-brands__clone{display:contents;}
.vt-brand{display:inline-flex;align-items:center;flex:0 0 auto;margin:0 34px;}
.vt-brands__track img{height:68px;width:auto;max-width:180px;object-fit:contain;opacity:.96;}
.vt-brand__name{font-family:var(--vt-font-head);font-weight:700;font-size:24px;color:#fff;letter-spacing:.02em;white-space:nowrap;}
.vt-brands__note{color:#fff6ee;font-size:14px;max-width:900px;padding:0 24px;margin:0 auto;}
@keyframes vt-marquee{from{transform:translateX(-50%);}to{transform:translateX(0);}}

/* ============================================================
   7b. CATALOGO / TIENDA  (archive-product)
   ============================================================ */
.vt-shop{padding:40px 0 64px;}
.vt-shop__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px;}
.vt-shop__title{font-size:32px;font-weight:600;color:var(--vt-navy);margin:0 0 4px;}
.vt-shop__count{margin:0;font-size:14px;color:#6c7c89;}
.vt-shop__tools{display:flex;align-items:center;gap:12px;}
.vt-filtros-toggle{display:none;align-items:center;gap:8px;background:var(--vt-navy);color:#fff;border:0;border-radius:var(--vt-radius-btn);font-family:var(--vt-font-head);font-weight:500;font-size:14px;padding:11px 20px;cursor:pointer;}
.vt-filtros-toggle svg{width:18px;height:18px;}
.vt-orderby{position:relative;}
.vt-orderby select{appearance:none;-webkit-appearance:none;font-family:var(--vt-font-body);font-size:14px;color:var(--vt-navy);background:#f7f7f4;border:1px solid var(--vt-line);border-radius:var(--vt-radius);padding:11px 42px 11px 18px;cursor:pointer;outline:none;}
.vt-orderby select:focus{border-color:var(--vt-teal);}
.vt-orderby::after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;border-right:2px solid var(--vt-navy);border-bottom:2px solid var(--vt-navy);transform:translateY(-65%) rotate(45deg);pointer-events:none;}

.vt-shop__layout{display:grid;grid-template-columns:264px 1fr;gap:34px;align-items:start;}

/* Sidebar de filtros */
.vt-filters{background:#fff;border:1px solid var(--vt-line);border-radius:var(--vt-radius-lg);padding:8px 22px 22px;box-shadow:0 4px 16px rgba(27,68,110,.05);position:sticky;top:18px;max-height:calc(100vh - 36px);overflow-y:auto;}
.vt-filters__group{padding:20px 0;border-bottom:1px solid var(--vt-line);}
.vt-filters__group:last-of-type{border-bottom:0;}
.vt-filters__title{font-family:var(--vt-font-head);font-weight:600;font-size:15px;color:var(--vt-navy);margin:0 0 14px;}
.vt-check{display:flex;align-items:center;gap:10px;margin-bottom:11px;font-size:14px;color:var(--vt-text);cursor:pointer;}
.vt-check:last-child{margin-bottom:0;}
.vt-check input{position:absolute;opacity:0;width:0;height:0;}
.vt-check__box{flex:0 0 auto;width:19px;height:19px;border:1.6px solid #c4ccd2;border-radius:5px;display:flex;align-items:center;justify-content:center;transition:.18s;}
.vt-check__box svg{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.6);transition:.18s;}
.vt-check input:checked + .vt-check__box{background:var(--vt-teal);border-color:var(--vt-teal);}
.vt-check input:checked + .vt-check__box svg{opacity:1;transform:scale(1);}
.vt-check input:focus-visible + .vt-check__box{outline:2px solid var(--vt-navy);outline-offset:2px;}
.vt-check:hover .vt-check__box{border-color:var(--vt-teal);}
.vt-check a{text-decoration:none;}
.vt-check a:hover{text-decoration:none;}

.vt-price{display:flex;align-items:center;gap:10px;}
.vt-price__field{flex:1;display:flex;align-items:center;background:#f7f7f4;border:1px solid var(--vt-line);border-radius:9px;padding:0 10px;}
.vt-price__field span{font-size:13px;color:#9aa6b0;}
.vt-price__field input{width:100%;border:0;background:transparent;padding:10px 4px;font-family:var(--vt-font-body);font-size:14px;color:var(--vt-navy);outline:none;-moz-appearance:textfield;}
.vt-price__field input::-webkit-outer-spin-button,.vt-price__field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.vt-price__sep{color:#c4ccd2;}

.vt-filters__actions{display:flex;flex-direction:column;gap:10px;padding-top:20px;}
.vt-filters__apply{width:100%;text-align:center;}
.vt-filters__clear{text-align:center;font-size:13px;color:#6c7c89;}
.vt-filters__clear:hover{color:var(--vt-orange);}

/* Grilla de productos */
.vt-products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.vt-product-card{position:relative;background:#fff;border:1px solid var(--vt-line);border-radius:var(--vt-radius-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 14px rgba(27,68,110,.05);transition:transform .4s cubic-bezier(.2,.7,.3,1),box-shadow .4s ease;}
.vt-product-card:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(27,68,110,.13);}
.vt-product-card__media{position:relative;display:block;background:#fff;padding:26px;aspect-ratio:1/1;border-bottom:1px solid var(--vt-line);}
.vt-product-card__media img{width:100%;height:100%;object-fit:contain;transition:transform .6s cubic-bezier(.2,.7,.3,1);}
.vt-product-card:hover .vt-product-card__media img{transform:scale(1.06);}
.vt-product-card__badge{position:absolute;top:14px;left:14px;background:var(--vt-teal-soft);color:var(--vt-navy);font-family:var(--vt-font-head);font-weight:600;font-size:11px;letter-spacing:.01em;padding:6px 12px;border-radius:var(--vt-radius-pill);box-shadow:0 4px 10px rgba(27,68,110,.12);}
/* Boton de favoritos (corazon) */
.vt-fav{position:absolute;top:12px;right:12px;z-index:3;width:40px;height:40px;border:0;border-radius:50%;background:#fff;box-shadow:0 5px 14px rgba(27,68,110,.16);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;}
.vt-fav:hover{transform:scale(1.08);box-shadow:0 7px 18px rgba(27,68,110,.2);}
.vt-fav svg{width:20px;height:20px;fill:transparent;stroke:var(--vt-navy);stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;transition:fill .2s ease,stroke .2s ease,transform .2s ease;}
.vt-fav.is-active{background:#fff6ee;}
.vt-fav.is-active svg{fill:var(--vt-orange);stroke:var(--vt-orange);transform:scale(1.04);}
.vt-fav:active{transform:scale(.92);}
.vt-product-card__discount{position:absolute;top:12px;left:12px;z-index:3;background:var(--vt-orange,#E58A3A);color:#fff;font-weight:700;font-size:12.5px;line-height:1;padding:6px 9px;border-radius:100px;box-shadow:0 5px 14px rgba(27,68,110,.16);letter-spacing:.2px;}
/* Caja de beneficio principal */
.vt-product-card__benefit{display:flex;align-items:flex-start;gap:8px;background:transparent;border-radius:0;padding:0;margin:2px 0 16px;}
.vt-product-card__benefit-ico{flex:0 0 auto;width:18px;height:18px;border-radius:0;background:transparent;display:flex;align-items:center;justify-content:center;box-shadow:none;margin-top:1px;color:var(--vt-teal);}
.vt-product-card__benefit-ico svg{width:18px;height:18px;fill:none;stroke:currentColor;}
.vt-product-card__benefit-txt{font-family:var(--vt-font-body);font-size:13px;line-height:1.4;color:var(--vt-navy);}
.vt-product-card__benefit-txt strong{font-family:var(--vt-font-head);font-weight:600;}
.vt-product-card__body{display:flex;flex-direction:column;flex:1;padding:18px 20px 22px;}
.vt-product-card__brand{font-family:var(--vt-font-head);font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--vt-teal);margin-bottom:7px;}
.vt-product-card__name{font-family:var(--vt-font-head);font-weight:600;font-size:16px;line-height:1.3;color:var(--vt-navy);margin:0 0 12px;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.vt-product-card__sub{font-family:var(--vt-font-body);font-size:12.5px;line-height:1.5;color:var(--vt-navy);margin:12px 0 16px;padding:10px 13px;background:#DDF5F2;border-radius:10px;min-height:calc(4.5em + 20px);display:flex;flex-direction:column;justify-content:center;}
.vt-product-card__sub span{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.vt-product-card__name a{color:inherit;}
.vt-product-card__name a:hover{color:var(--vt-orange);}
.vt-product-card__price{font-family:var(--vt-font-head);font-weight:600;font-size:18px;color:var(--vt-orange);margin-bottom:18px;margin-top:auto;}
.vt-product-card__price ins{text-decoration:none;color:inherit;}
/* WooCommerce subraya el precio actual (<ins>) por defecto; lo quitamos en todo el tema. */
.price ins,.woocommerce-Price-amount ~ ins,ins.woocommerce-Price-amount,ins .woocommerce-Price-amount{text-decoration:none;}
.vt-product-card__price .vt-soon{color:#9aa6b0;font-weight:500;font-size:14px;}
.vt-product-card__price del{color:#aab4bd;font-weight:400;font-size:14px;margin-right:6px;}
.vt-product-card__cart{width:100%;text-align:center;order:20;}
.vt-product-card .added_to_cart.wc-forward{order:15;display:block;width:100%;text-align:center;margin:0 0 12px;font-family:var(--vt-font-head);font-weight:600;font-size:14px;color:var(--vt-navy);}
.vt-product-card .added_to_cart.wc-forward:hover{color:var(--vt-orange);}

/* Sin resultados */
.vt-shop__empty{background:#fff;border:1px dashed var(--vt-line);border-radius:var(--vt-radius-lg);padding:48px 24px;text-align:center;color:#6c7c89;}
.vt-shop__empty h3{color:var(--vt-navy);margin-bottom:8px;}

/* Paginacion */
.vt-shop .woocommerce-pagination{margin-top:46px;text-align:center;}
.vt-shop .woocommerce-pagination ul.page-numbers{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;border:0;list-style:none;}
.vt-shop .woocommerce-pagination ul.page-numbers li{margin:0;padding:0;border:0;overflow:visible;}
.vt-shop .woocommerce-pagination ul.page-numbers li .page-numbers{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;padding:0;border:1px solid var(--vt-line);border-radius:50%;background:#fff;font-family:var(--vt-font-head);font-weight:500;font-size:15px;line-height:1;color:var(--vt-navy);text-decoration:none;transition:border-color .2s ease,color .2s ease,background .2s ease;}
.vt-shop .woocommerce-pagination ul.page-numbers li a.page-numbers:hover{border-color:var(--vt-teal);color:var(--vt-orange);background:#fff;}
.vt-shop .woocommerce-pagination ul.page-numbers li .page-numbers.current{background:var(--vt-navy);border-color:var(--vt-navy);color:#fff;}
.vt-shop .woocommerce-pagination ul.page-numbers li .page-numbers.dots{border-color:transparent;background:transparent;}
.vt-shop .woocommerce-pagination ul.page-numbers li .next,.vt-shop .woocommerce-pagination ul.page-numbers li .prev{font-size:19px;line-height:1;padding-bottom:4px;}
.vt-shop .woocommerce-pagination ul.page-numbers li a.page-numbers:focus-visible{outline:2px solid var(--vt-navy);outline-offset:2px;}

/* ============================================================
   7c. FICHA DE PRODUCTO  (single-product)
   ============================================================ */
.vt-single{padding:26px 0 64px;}
.vt-crumbs{font-size:13px;color:#6c7c89;margin-bottom:24px;}
.vt-crumbs a{color:#6c7c89;}
.vt-crumbs a:hover{color:var(--vt-orange);}
.vt-crumbs__sep{margin:0 4px;color:#c4ccd2;}
.vt-single__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:52px;align-items:start;margin-bottom:60px;}

/* Galeria */
.vt-single__gallery{position:relative;}
.vt-single__gallery .woocommerce-product-gallery{background:#fff;border:1px solid var(--vt-line);border-radius:var(--vt-radius-lg);padding:18px;position:relative;width:100%;max-width:100%;margin:0;}
.vt-single__gallery .woocommerce-product-gallery__wrapper{margin:0;}
.vt-single__gallery .woocommerce-product-gallery__image{border-radius:12px;overflow:hidden;}
.vt-single__gallery .woocommerce-product-gallery__image img{width:100%;height:auto;display:block;border-radius:10px;}
.vt-single__gallery .flex-control-thumbs{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 0;padding:0;list-style:none;}
.vt-single__gallery .flex-control-thumbs li{width:74px;margin:0;}
.vt-single__gallery .flex-control-thumbs img{border:1px solid var(--vt-line);border-radius:10px;cursor:pointer;opacity:.65;transition:.2s;background:#fff;}
.vt-single__gallery .flex-control-thumbs img.flex-active,.vt-single__gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--vt-teal);}
.vt-single__gallery .woocommerce-product-gallery__trigger{position:absolute;top:18px;right:18px;z-index:5;width:40px;height:40px;background:#fff;border-radius:50%;box-shadow:0 4px 12px rgba(27,68,110,.14);text-align:center;line-height:40px;}

/* Resumen */
.vt-single__brand{font-family:var(--vt-font-head);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--vt-teal);display:block;margin-bottom:10px;}
.vt-single__name{font-family:var(--vt-font-head);font-weight:600;font-size:34px;line-height:1.15;color:var(--vt-navy);margin:0 0 14px;}
.vt-single__price{font-family:var(--vt-font-head);font-weight:600;font-size:28px;color:var(--vt-orange);margin-bottom:22px;}
.vt-single__price .vt-soon{color:#9aa6b0;font-size:18px;}
.vt-single__price del{color:#aab4bd;font-weight:400;font-size:20px;margin-right:8px;}
.vt-single__price ins{text-decoration:none;}
.vt-single__excerpt{font-size:15px;color:#5d6f7e;line-height:1.75;margin-bottom:26px;}
.vt-single__excerpt p{margin:0 0 10px;}

/* Formulario de compra (WooCommerce) */
.vt-single__summary form.cart{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 26px;}
.vt-single__summary form.cart .quantity{display:flex;align-items:center;}
.vt-single__summary form.cart .quantity input.qty{width:78px;height:54px;border:1px solid var(--vt-line);border-radius:var(--vt-radius);text-align:center;font-family:var(--vt-font-body);font-size:16px;color:var(--vt-navy);background:#f7f7f4;outline:none;}
.vt-single__summary form.cart .quantity input.qty:focus{border-color:var(--vt-teal);}
.vt-single__summary .single_add_to_cart_button,.vt-single__summary form.cart button.button{background:var(--vt-orange);color:#fff;border:0;border-radius:var(--vt-radius-btn);font-family:var(--vt-font-head);font-weight:500;font-size:15px;padding:17px 38px;cursor:pointer;transition:transform .25s ease,background .2s ease,box-shadow .25s ease;}
.vt-single__summary .single_add_to_cart_button:hover,.vt-single__summary form.cart button.button:hover{background:var(--vt-orange-dark);transform:translateY(-2px);box-shadow:0 10px 22px rgba(246,166,86,.35);}
.vt-single__summary a.button{display:inline-block;background:var(--vt-orange);color:#fff;border-radius:var(--vt-radius-btn);font-family:var(--vt-font-head);font-weight:500;font-size:15px;padding:17px 38px;}
.vt-single__summary a.button:hover{background:var(--vt-orange-dark);color:#fff;}

/* Meta y confianza */
.vt-single__meta{border-top:1px solid var(--vt-line);padding-top:20px;font-size:14px;color:#6c7c89;}
.vt-single__meta span{display:block;margin-bottom:7px;}
.vt-single__meta strong{color:var(--vt-navy);font-weight:600;font-family:var(--vt-font-head);font-size:13px;}
.vt-single__meta a{color:var(--vt-teal);}
.vt-single__meta a:hover{color:var(--vt-orange);}
.vt-single__trust{display:flex;gap:24px;flex-wrap:wrap;margin-top:22px;}
.vt-single__trust div{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--vt-navy);font-weight:500;}
.vt-single__trust svg{width:22px;height:22px;color:var(--vt-teal);flex:0 0 auto;}

/* Pestanas */
.vt-tabs{margin-bottom:64px;}
.vt-tabs__nav{display:flex;flex-wrap:wrap;gap:6px;border-bottom:2px solid var(--vt-line);margin-bottom:28px;}
.vt-tabs__nav button{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-2px;font-family:var(--vt-font-head);font-weight:500;font-size:16px;color:#6c7c89;padding:13px 20px;cursor:pointer;transition:color .2s ease,border-color .2s ease;}
.vt-tabs__nav button:hover{color:var(--vt-navy);}
.vt-tabs__nav button.is-active{color:var(--vt-navy);border-bottom-color:var(--vt-orange);}
.vt-tab{display:none;font-size:15px;color:#4a5a67;line-height:1.85;max-width:900px;}
.vt-tab.is-active{display:block;}
.vt-js .vt-tab.is-active{animation:vt-tabfade .4s ease;}
.vt-tab h2,.vt-tab h3{color:var(--vt-navy);font-size:19px;margin:0 0 12px;}
.vt-tab p{margin:0 0 14px;}
.vt-tab ul,.vt-tab ol{padding-left:22px;margin:0 0 14px;}
.vt-tab ul{list-style:disc;}
.vt-tab li{margin-bottom:8px;}
.vt-tab table{width:100%;border-collapse:collapse;margin:0 0 16px;}
.vt-tab th,.vt-tab td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--vt-line);font-size:14px;}
.vt-tab th{font-family:var(--vt-font-head);color:var(--vt-navy);background:#f7f7f4;}
.vt-tab__empty{color:#9aa6b0;font-style:italic;}
@keyframes vt-tabfade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* Relacionados */
.vt-related h2{font-family:var(--vt-font-head);font-weight:600;font-size:26px;color:var(--vt-navy);margin:0 0 28px;text-align:center;}

/* ============================================================
   8. ANIMACIONES Y MICRO-INTERACCIONES
   ============================================================ */
/* Entrada al hacer scroll (solo se oculta si hay JS) */
.vt-js .vt-reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1);}
.vt-js .vt-reveal.is-visible{opacity:1;transform:none;}

/* Entrada escalonada (stagger) para grupos */
.vt-js .vt-stagger > *{opacity:0;transform:translateY(26px);transition:opacity .6s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1);}
.vt-js .vt-stagger.is-visible > *{opacity:1;transform:none;}
.vt-js .vt-stagger.is-visible > *:nth-child(1){transition-delay:.05s;}
.vt-js .vt-stagger.is-visible > *:nth-child(2){transition-delay:.15s;}
.vt-js .vt-stagger.is-visible > *:nth-child(3){transition-delay:.25s;}
.vt-js .vt-stagger.is-visible > *:nth-child(4){transition-delay:.35s;}

/* Flotacion sutil del frasco del hero */
@keyframes vt-float{0%,100%{transform:translateY(-50%);}50%{transform:translateY(calc(-50% - 14px));}}
.vt-hero__img{animation:vt-float 5s ease-in-out infinite;}

/* Boton: leve elevacion */
.vt-btn{transition:transform .25s ease,background .2s ease,box-shadow .25s ease;}
.vt-btn--orange:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(246,166,86,.35);}
.vt-btn--teal:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(119,211,203,.35);}

/* Tarjetas de categoria: elevacion + zoom de imagen */
.vt-cat-card{transition:transform .4s cubic-bezier(.2,.7,.3,1);}
.vt-cat-card img{transition:transform .6s cubic-bezier(.2,.7,.3,1);}
.vt-cat-card:hover{transform:translateY(-6px);}
.vt-cat-card:hover img{transform:scale(1.07);}

/* Marca: leve realce al pasar el mouse */
.vt-brand{transition:transform .3s ease,opacity .3s ease;opacity:.92;}
.vt-brand:hover{transform:translateY(-3px);opacity:1;}

/* Accesibilidad: respetar preferencia de menos movimiento */
@media (prefers-reduced-motion: reduce){
  .vt-reveal,.vt-stagger > *{opacity:1 !important;transform:none !important;transition:none !important;}
  .vt-hero__img{animation:none;}
  .vt-btn,.vt-cat-card,.vt-cat-card img,.vt-topseller__best-img img,.vt-brand{transition:none;}
  .vt-brands__track{animation:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:26px 40px;width:auto;}
  .vt-brand{margin:0;}
  .vt-brands__clone{display:none;}
}

/* ============================================================
   9. RESPONSIVE
   ============================================================ */
@media(max-width:1180px){
  .vt-menu li a{padding:16px 9px;font-size:14.5px;}
  .vt-hero__text h1{font-size:45px;}
  .vt-hero__showcase{left:64%;width:360px;max-width:42vw;}
  .vt-hero__wheel{width:100%;height:420px;}
}

/* --- Navbar: menu hamburguesa desde tablet --- */
@media(max-width:1024px){
  .vt-nav-toggle{display:inline-flex;align-items:center;gap:10px;background:none;border:0;cursor:pointer;padding:14px 0;font-family:var(--vt-font-head);font-weight:500;font-size:15px;color:var(--vt-navy);}
  .vt-nav-toggle__bars{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:22px;height:16px;}
  .vt-nav-toggle__bars span{display:block;height:2px;width:100%;background:var(--vt-navy);border-radius:2px;transition:transform .25s ease,opacity .2s ease;}
  .vt-nav-toggle.is-open .vt-nav-toggle__bars span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .vt-nav-toggle.is-open .vt-nav-toggle__bars span:nth-child(2){opacity:0;}
  .vt-nav-toggle.is-open .vt-nav-toggle__bars span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .vt-nav__menu{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--vt-line);box-shadow:0 18px 30px rgba(27,68,110,.10);max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:max-height .3s ease,opacity .25s ease,visibility .25s ease;z-index:60;}
  .vt-nav__menu.is-open{max-height:82vh;overflow-y:auto;opacity:1;visibility:visible;}
  .vt-menu{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;padding:4px 0;}
  .vt-menu li a{padding:14px 24px;font-size:16px;border-bottom:1px solid var(--vt-line);}
  .vt-menu li:last-child a{border-bottom:0;}
}

@media(max-width:980px){
  .vt-header__inner{flex-wrap:wrap;gap:18px 22px;padding-top:20px;padding-bottom:20px;justify-content:center;}
  .vt-logo img{max-height:52px;}
  .vt-logo__text{font-size:26px;}
  .vt-logo{flex:1 1 auto;min-width:0;}
  .vt-search{order:3;flex:0 1 520px;width:100%;max-width:520px;margin:0 auto;}
  .vt-actions{gap:24px;margin-left:0;}
  .vt-footer__grid{grid-template-columns:1fr 1fr;gap:26px 40px;align-items:start;}
  .vt-footer__contact{grid-column:1;grid-row:1;}
  .vt-footer__grid > div:nth-child(2){grid-column:1;grid-row:2;}
  .vt-footer__grid > div:nth-child(3){grid-column:2;grid-row:1;}
  .vt-footer__payband{grid-column:2;grid-row:2;}
  .vt-hero{min-height:auto;background:var(--vt-cream);padding-top:0;}
  .vt-hero__panel,.vt-hero__word{display:none;}
  .vt-hero__inner{min-height:auto;flex-direction:column;text-align:center;padding:38px 0 6px;}
  .vt-hero__text{max-width:520px;margin:0 auto;text-align:center;}
  .vt-hero__text p{margin-left:auto;margin-right:auto;}
  .vt-hero__img{position:static;transform:none;animation:none;margin:24px auto 0;max-height:300px;display:block;}
  .vt-cat-card{flex:0 0 62%;}
  .vt-benefits__grid{grid-template-columns:repeat(2,1fr);gap:32px;}
  .vt-topseller__grid{grid-template-columns:1fr;gap:30px;}
  .vt-topseller__recent .vt-carousel__track > .vt-product-card{flex:0 0 calc((100% - 24px)/2);}
  .vt-topseller__tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;}
  .vt-topseller__tabs::-webkit-scrollbar{display:none;}
  .vt-cattab{white-space:nowrap;}
}

/* --- Hero móvil: ritmo vertical y alineación de la lista ---
   En móvil el bloque de texto va centrado. Antes la lista conservaba el
   espaciado de escritorio (alineada a la izquierda dentro de un bloque
   centrado y con gaps pensados para copys cortos), así que los productos
   con título/bajada largos (p. ej. Creatina) se veían "pegados" y
   desalineados. Aquí centramos toda la columna como bloque y damos un
   respiro constante que no depende del largo del texto. */
@media(max-width:980px){
  .vt-hero__text{display:flex;flex-direction:column;align-items:center;}
  .vt-hero__text h1{margin-bottom:14px;}
  .vt-hero__text p{margin-bottom:0;max-width:40ch;}
  .vt-hero__bullets{margin:24px auto 0;max-width:min(38ch,100%);text-align:left;}
  .vt-hero__bullets li{font-size:15px;line-height:1.5;padding:9px 0;gap:12px;}
  .vt-hero__bullets li::before{margin-top:1px;}
  .vt-hero__cta,
  .vt-hero__bullets + .vt-hero__cta{margin-top:26px;}
}

@media(max-width:680px){
  .vt-topbar{font-size:11.5px;line-height:1.45;letter-spacing:.02em;padding:10px 28px;}
  .vt-header__inner{
    display:grid;grid-template-columns:1fr;gap:20px;padding-top:24px;padding-bottom:24px;
    justify-items:center;align-items:center;
  }
  .vt-logo{justify-content:center;width:100%;}
  .vt-logo__text{font-size:23px;}
  .vt-logo img{max-height:56px;}
  .vt-actions{width:100%;justify-content:center;gap:34px;margin:0;}
  .vt-actions svg{width:28px;height:28px;}
  .vt-actions a span{display:none;}
  .vt-search{width:100%;max-width:100%;padding:0;}
  .vt-search input[type="search"]{min-height:52px;padding:15px 60px 15px 22px;font-size:15px;border-radius:17px;}
  .vt-search__btn{top:5px;bottom:5px;right:5px;}
  .vt-footer__grid{grid-template-columns:1fr;justify-items:center;text-align:center;gap:16px;}
  .vt-footer__contact,
  .vt-footer__grid > div:nth-child(2),
  .vt-footer__grid > div:nth-child(3),
  .vt-footer__payband{grid-column:auto;grid-row:auto;}
  .vt-footer__contact{display:block;text-align:center;}
  .vt-footer__logo{display:inline-block;margin:0 0 8px;}
  .vt-footer__logo img{max-height:52px;}
  .vt-footer__social{justify-content:center;margin:12px 0;}
  .vt-footer__contact p{justify-content:center;margin:3px 0;}
  .vt-footer__grid > div:not(.vt-footer__contact):not(.vt-footer__payband) h4{display:none;}
  .vt-footer__grid > div:not(.vt-footer__contact):not(.vt-footer__payband) ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:0;}
  .vt-footer__grid > div:not(.vt-footer__contact):not(.vt-footer__payband) li{margin:0;}
  .vt-footer__payband{text-align:center;margin-top:8px;padding-top:22px;border-top:1px solid #2b496b;}
  .vt-pay{justify-content:center;}
  .vt-footer__payband .vt-lr__link{justify-content:center;margin-top:30px;}
  .vt-footer .vt-lr__img{max-width:230px;height:auto;}
  .vt-section__title{font-size:24px;margin-bottom:28px;}
  .vt-hero__text h1{font-size:31px;}
  .vt-cat-card{flex:0 0 78%;}
  .vt-topseller__panels,
  .vt-catpanel,
  .vt-carousel{width:100%;max-width:100%;min-width:0;overflow:hidden;}
  .vt-carousel{display:block;padding:0;position:relative;}
  .vt-carousel__track{width:100%;max-width:100%;padding:4px 46px 14px;box-sizing:border-box;}
  .vt-carousel__arrow{
    position:absolute;top:42%;z-index:20;width:40px;height:40px;background:#fff;
    border:1px solid rgba(27,68,110,.14);box-shadow:0 10px 24px rgba(27,68,110,.18);
  }
  .vt-carousel__arrow--prev{left:8px;}
  .vt-carousel__arrow--next{right:8px;}
  .vt-carousel__arrow[disabled]{opacity:.42;}
  .vt-topseller__tabswrap{display:none;}
  .vt-topseller__select-wrap{display:block;}
  .vt-topseller__head{gap:12px;margin-bottom:16px;}
  .vt-topseller__recent .vt-carousel__track{gap:14px;padding-bottom:14px;}
  .vt-topseller__recent .vt-carousel__track > .vt-product-card{flex:0 0 min(72%,290px);}
  .vt-topseller__recent .vt-product-card__media{aspect-ratio:4/3;padding:24px 14px 12px;}
  .vt-topseller__recent .vt-product-card__media img,
  .vt-topseller__recent .vt-product-card:hover .vt-product-card__media img{transform:none;}
  .vt-topseller__recent .vt-product-card__body{padding:14px 14px 16px;}
  .vt-topseller__recent .vt-product-card__name{font-size:14px;}
  .vt-topseller__recent .vt-product-card__price{font-size:17px;margin-bottom:14px;}
  .vt-topseller__head h2{font-size:22px;}
  /* Marcas en móvil: el marquee (fila que se desplaza) no funciona bien en
     pantallas estrechas y, con "reducir movimiento" activo, quedaba amontonado
     en filas irregulares. Lo convertimos en una grilla ordenada de 2 columnas
     con logos de altura uniforme, para que se vea bien con o sin animación. */
  .vt-brands__marquee{overflow:visible;-webkit-mask-image:none;mask-image:none;margin:6px 0 18px;}
  .vt-brands__track{animation:none;display:grid;grid-template-columns:repeat(2,1fr);align-items:center;justify-items:center;gap:30px 16px;width:auto;}
  .vt-brands__clone{display:none;}
  .vt-brand{margin:0;width:100%;justify-content:center;}
  .vt-brands__track img{height:40px;max-width:118px;width:auto;object-fit:contain;}
  .vt-brand__name{font-size:19px;}
}

@media(max-width:420px){
  .vt-container{padding:0 16px;}
  .vt-header__inner{padding:24px 8px;gap:20px;}
  .vt-logo img{max-height:58px;}
  .vt-actions{gap:34px;}
  .vt-topseller__recent .vt-carousel__track{padding-left:44px;padding-right:44px;}
  .vt-topseller__recent .vt-carousel__track > .vt-product-card{flex:0 0 min(76%,270px);}
  .vt-benefits__grid{grid-template-columns:1fr 1fr;gap:22px 16px;}
  .vt-hero__text h1{font-size:29px;}
}

/* ---- Responsive: catalogo ---- */
@media(max-width:980px){
  .vt-shop__layout{grid-template-columns:1fr;}
  .vt-filtros-toggle{display:inline-flex;}
  .vt-filters{position:fixed;inset:0;z-index:1000;border-radius:0;border:0;max-width:340px;width:86%;max-height:none;overflow-y:auto;transform:translateX(-100%);transition:transform .3s cubic-bezier(.2,.7,.3,1);box-shadow:0 0 40px rgba(0,0,0,.25);padding-top:64px;}
  .vt-filters.is-open{transform:none;}
  .vt-filters__close{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:1px solid var(--vt-line);background:#fff;color:var(--vt-navy);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
  .vt-filters-backdrop{position:fixed;inset:0;background:rgba(16,57,91,.45);z-index:999;opacity:0;visibility:hidden;transition:.25s;}
  .vt-filters-backdrop.is-open{opacity:1;visibility:visible;}
  .vt-products-grid{grid-template-columns:repeat(2,1fr);gap:20px;}
  .vt-wishlist__grid.vt-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .vt-carousel__track > .vt-product-card{flex-basis:calc((100% - 24px)/2);}
}
@media(max-width:600px){
  .vt-shop__title{font-size:26px;}
  .vt-products-grid{grid-template-columns:1fr 1fr;gap:14px;}
  .vt-wishlist__grid.vt-products-grid{grid-template-columns:1fr;justify-content:stretch;}
  .vt-carousel__track > .vt-product-card{flex-basis:86%;}
  .vt-product-card__media{padding:16px;}
  .vt-product-card__body{padding:14px 14px 18px;}
  .vt-product-card__name{font-size:14px;}
  .vt-shop__tools{width:100%;justify-content:space-between;}
}
@media(min-width:981px){
  .vt-filters__close,.vt-filters-backdrop{display:none;}
}

/* ---- Responsive: ficha de producto ---- */
@media(max-width:980px){
  .vt-single__top{grid-template-columns:1fr;gap:30px;margin-bottom:44px;}
  .vt-single__name{font-size:28px;}
}
@media(max-width:600px){
  .vt-single__name{font-size:24px;}
  .vt-single__price{font-size:24px;}
  .vt-single__gallery .woocommerce-product-gallery{padding:12px;}
  .vt-tabs__nav{gap:2px;}
  .vt-tabs__nav button{font-size:14px;padding:11px 12px;}
  .vt-single__summary form.cart{gap:10px;}
  .vt-single__summary .single_add_to_cart_button{flex:1;}
}
@media (prefers-reduced-motion: reduce){
  .vt-js .vt-tab.is-active{animation:none;}
}

/* ============================================================
   12. PAGINAS  (page.php)  +  WooCommerce: Carrito / Checkout / Mi cuenta
   ============================================================ */

/* ---- Banda de cabecera de pagina ---- */
.vt-page{padding:38px 0 70px;}

/* ---- Página de Contacto ---- */
.vt-contact__head{max-width:640px;margin:0 auto 42px;text-align:center;}
.vt-contact__eyebrow{display:inline-block;font-family:var(--vt-font-head);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--vt-orange);margin-bottom:12px;}
.vt-contact__head h1{font-size:40px;line-height:1.12;color:var(--vt-navy);margin:0 0 14px;}
.vt-contact__head p{font-size:16px;line-height:1.6;color:#5d6f7e;margin:0;}
.vt-contact__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:32px;align-items:start;max-width:1060px;margin:0 auto;}
.vt-contact__info{background:var(--vt-teal-soft);border-radius:var(--vt-radius-lg);padding:30px 26px;}
.vt-contact__info-title{font-size:17px;color:var(--vt-navy);margin:0 0 20px;}
.vt-contact__item{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid rgba(27,68,110,.12);color:var(--vt-navy);}
.vt-contact__item:last-child{border-bottom:0;}
.vt-contact__item:hover:not(.vt-contact__item--static){color:var(--vt-navy);}
.vt-contact__item:hover:not(.vt-contact__item--static) .vt-contact__ic{background:var(--vt-navy);color:#fff;}
.vt-contact__ic{flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--vt-navy);display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease;}
.vt-contact__ic svg{width:20px;height:20px;}
.vt-contact__item-body{display:flex;flex-direction:column;gap:3px;padding-top:2px;}
.vt-contact__item-body b{font-family:var(--vt-font-head);font-weight:600;font-size:13px;color:var(--vt-navy);}
.vt-contact__item-body span{font-size:13.5px;line-height:1.45;color:#3f5a70;word-break:break-word;}
.vt-contact__formwrap{background:#fff;border:1px solid var(--vt-line);border-radius:var(--vt-radius-lg);padding:32px 30px;box-shadow:0 10px 30px -14px rgba(27,68,110,.14);}
.vt-contact__grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:18px;}
.vt-contact__form .vt-field{margin-bottom:18px;}
.vt-contact__grid2 .vt-field{margin-bottom:0;}
.vt-contact__form .vt-check{margin:6px 0 22px;align-items:flex-start;}
.vt-contact__form .vt-check span a{color:var(--vt-teal-dark);text-decoration:none;}
.vt-contact__form .vt-check span a:hover{text-decoration:none;color:var(--vt-teal-dark);}
.vt-contact__submit{width:100%;padding:15px;font-size:15px;}
.vt-contact__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.vt-contact__errs{background:#fbeeee;border:1px solid #f0d6d6;border-radius:var(--vt-radius);padding:14px 18px;margin-bottom:22px;}
.vt-contact__errs b{font-size:13.5px;color:#9c3b3b;}
.vt-contact__errs ul{margin:8px 0 0;padding-left:18px;font-size:13.5px;color:#9c3b3b;}
.vt-contact__errs li{margin-bottom:4px;}
.vt-contact__ok{text-align:center;padding:24px 10px;}
.vt-contact__ok-ic{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--vt-teal-soft);color:var(--vt-teal-dark);margin-bottom:18px;}
.vt-contact__ok-ic svg{width:30px;height:30px;}
.vt-contact__ok h2{font-size:24px;color:var(--vt-navy);margin:0 0 10px;}
.vt-contact__ok p{font-size:15px;line-height:1.6;color:#5d6f7e;margin:0 auto 22px;max-width:420px;}
@media(max-width:860px){
	.vt-contact__grid{grid-template-columns:1fr;gap:24px;}
	.vt-contact__head h1{font-size:32px;}
	.vt-contact__formwrap{padding:26px 20px;}
}
.vt-page__head{margin-bottom:30px;}
.vt-page__head .vt-crumbs{margin-bottom:14px;}
.vt-page__title{font-size:34px;font-weight:600;color:var(--vt-navy);margin:0;position:relative;padding-bottom:16px;}
.vt-page__title::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:4px;border-radius:4px;background:var(--vt-orange);}
.vt-page__content{font-size:16px;color:var(--vt-text);}
.vt-page__content > p{margin:0 0 1em;}

/* ---- Avisos globales de WooCommerce (notices) ---- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  list-style:none;font-family:var(--vt-font-body);font-size:14.5px;line-height:1.5;
  border:0;border-radius:var(--vt-radius);padding:16px 20px 16px 52px;margin:0 0 24px;position:relative;
  background:var(--vt-cream);color:var(--vt-navy);box-shadow:0 6px 18px rgba(27,68,110,.06);
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{
  content:"";position:absolute;left:18px;top:50%;transform:translateY(-50%);
  width:22px;height:22px;background-size:contain;background-repeat:no-repeat;background-position:center;
}
.woocommerce-message{border-left:4px solid var(--vt-teal);}
.woocommerce-message::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235DBDB6' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");}
.woocommerce-info{border-left:4px solid var(--vt-navy);}
.woocommerce-info::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B4B6B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E");}
.woocommerce-error{border-left:4px solid #d9534f;background:#fbeceb;color:#8a2b27;}
.woocommerce-error::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d9534f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E");}
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button{float:right;margin-top:-2px;}

/* ---- Botones WooCommerce dentro de paginas ---- */
.vt-page__content .woocommerce .button,
.vt-page__content .woocommerce button.button,
.vt-page__content .woocommerce input.button,
.vt-page__content .woocommerce a.button,
.vt-page__content .woocommerce #place_order{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--vt-navy);color:#fff;border:0;cursor:pointer;
  font-family:var(--vt-font-head);font-weight:500;font-size:15px;line-height:1;
  border-radius:var(--vt-radius-btn);padding:15px 30px;text-decoration:none;
  transition:background .2s ease,transform .25s ease,box-shadow .25s ease;
}
.vt-page__content .woocommerce .button:hover,
.vt-page__content .woocommerce button.button:hover,
.vt-page__content .woocommerce input.button:hover,
.vt-page__content .woocommerce a.button:hover,
.vt-page__content .woocommerce #place_order:hover{
  background:#163a55;color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px rgba(27,68,110,.25);
}
/* Botones de accion primaria en naranja (alt) */
.vt-page__content .woocommerce .button.alt,
.vt-page__content .woocommerce button.button.alt,
.vt-page__content .woocommerce input.button.alt,
.vt-page__content .woocommerce a.button.alt,
.vt-page__content .woocommerce #place_order{
  background:var(--vt-orange);color:#fff;
}
.vt-page__content .woocommerce .button.alt:hover,
.vt-page__content .woocommerce button.button.alt:hover,
.vt-page__content .woocommerce input.button.alt:hover,
.vt-page__content .woocommerce a.button.alt:hover,
.vt-page__content .woocommerce #place_order:hover{
  background:var(--vt-orange-dark);color:#fff;box-shadow:0 10px 22px rgba(246,166,86,.32);
}
.vt-page__content .woocommerce .button:disabled,
.vt-page__content .woocommerce .button.disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;}

/* ---- Campos de formulario WooCommerce ---- */
.vt-page__content .woocommerce form .form-row{margin:0 0 16px;padding:0;display:flex;flex-direction:column;}
.vt-page__content .woocommerce label{font-family:var(--vt-font-head);font-weight:500;font-size:13.5px;color:var(--vt-navy);margin-bottom:7px;}
.vt-page__content .woocommerce .required{color:var(--vt-orange);border:0;}
.vt-page__content .woocommerce input.input-text,
.vt-page__content .woocommerce input[type="text"],
.vt-page__content .woocommerce input[type="email"],
.vt-page__content .woocommerce input[type="tel"],
.vt-page__content .woocommerce input[type="password"],
.vt-page__content .woocommerce input[type="number"],
.vt-page__content .woocommerce textarea,
.vt-page__content .woocommerce select,
.vt-page__content .woocommerce .select2-selection{
  width:100%;border:1px solid var(--vt-line);border-radius:var(--vt-radius);
  padding:13px 16px;font-family:var(--vt-font-body);font-size:15px;color:var(--vt-text);
  background:#f7f7f4;outline:none;transition:border-color .2s ease,background .2s ease;min-height:48px;line-height:1.4;
}
.vt-page__content .woocommerce .form-row .woocommerce-input-wrapper{display:block;width:100%;}
.vt-page__content .woocommerce select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:48px;line-height:normal;padding:0 40px 0 16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B446E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;}
.vt-page__content .woocommerce textarea{min-height:110px;line-height:1.5;}
.vt-page__content .woocommerce input.input-text:focus,
.vt-page__content .woocommerce textarea:focus,
.vt-page__content .woocommerce select:focus{border-color:var(--vt-teal);background-color:#fff;}
/* Select2 (País/Región y Provincia que WooCommerce mejora) */
.vt-page__content .woocommerce .select2-container{width:100%!important;}
.vt-page__content .woocommerce .select2-container--default .select2-selection--single{height:48px;padding:0;border:1px solid var(--vt-line);border-radius:var(--vt-radius);background:#f7f7f4;line-height:normal;display:block;}
.vt-page__content .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{height:48px;line-height:48px;padding:0 40px 0 16px;color:var(--vt-text);font-size:15px;}
.vt-page__content .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{height:46px;right:12px;}
.vt-page__content .woocommerce .select2-container--default.select2-container--open .select2-selection--single,
.vt-page__content .woocommerce .select2-container--default.select2-container--focus .select2-selection--single{border-color:var(--vt-teal);background:#fff;}
/* Desplegable */
.select2-container--default .select2-dropdown{border:1px solid var(--vt-line);border-radius:var(--vt-radius);box-shadow:0 12px 30px -10px rgba(27,68,110,.22);overflow:hidden;background:#fff;}
.select2-container--default .select2-search--dropdown{padding:10px;}
.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid var(--vt-line);border-radius:10px;padding:10px 12px;font-size:14.5px;color:var(--vt-navy);outline:none;background:#f7f7f4;}
.select2-container--default .select2-search--dropdown .select2-search__field:focus{border-color:var(--vt-teal);background:#fff;}
.select2-container--default .select2-results__options{padding:4px;max-height:240px;}
.select2-container--default .select2-results__option{padding:10px 12px;border-radius:8px;font-size:14.5px;color:var(--vt-navy);}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted{background:var(--vt-teal-soft)!important;color:var(--vt-teal-dark)!important;}
.select2-container--default .select2-results__option[aria-selected=true]{background:transparent;color:var(--vt-navy);font-weight:600;}
/* Fieldset "Cambio de contrasena": bordes redondos y separado del boton */
.vt-page__content .woocommerce form fieldset{
  border:1px solid var(--vt-line);border-radius:var(--vt-radius-lg);
  padding:22px 24px 10px;margin:22px 0 28px;
}
.vt-page__content .woocommerce form fieldset legend{
  padding:0 10px;font-family:var(--vt-font-head);font-weight:600;font-size:15px;color:var(--vt-navy);
}
.vt-page__content .woocommerce form fieldset .form-row:last-child{margin-bottom:12px;}
/* Texto de ayuda bajo un campo (ej. "Asi sera como se mostrara tu nombre...") */
.vt-page__content .woocommerce form .form-row em,
.vt-page__content .woocommerce form .form-row .description,
.vt-page__content .woocommerce form .form-row > span:not(.password-input){
  display:block;margin-top:9px;font-size:13px;color:#5d6f7e;line-height:1.5;
}
/* El boton "Guardar cambios" con su propio aire */
.vt-page__content .woocommerce form.edit-account > p:last-child,
.vt-page__content .woocommerce form.woocommerce-EditAccountForm > p:last-child{margin-top:4px;}

/* ============================================================
   12.1  CARRITO  (classic [woocommerce_cart])
   ============================================================ */
.vt-page--cart .woocommerce table.shop_table,
.vt-page__content .woocommerce table.cart{
  border:1px solid var(--vt-line);border-radius:var(--vt-radius);border-collapse:separate;border-spacing:0;
  width:100%;margin:0 0 28px;overflow:hidden;background:#fff;
}
.vt-page__content .woocommerce table.cart thead th{
  background:var(--vt-cream);font-family:var(--vt-font-head);font-weight:600;font-size:13px;
  text-transform:uppercase;letter-spacing:.04em;color:var(--vt-navy);padding:15px 18px;text-align:left;border:0;
}
.vt-page__content .woocommerce table.cart td{
  padding:18px;border-top:1px solid var(--vt-line);vertical-align:middle;background:#fff;
}
.vt-page__content .woocommerce table.cart td.product-thumbnail{width:96px;}
.vt-page__content .woocommerce table.cart td.product-thumbnail img{width:78px;height:78px;object-fit:cover;border-radius:12px;background:var(--vt-cream);}
.vt-page__content .woocommerce table.cart td.product-name a{font-family:var(--vt-font-head);font-weight:500;color:var(--vt-navy);}
.vt-page__content .woocommerce table.cart td.product-name a:hover{color:var(--vt-orange);}
.vt-page__content .woocommerce table.cart td.product-price,
.vt-page__content .woocommerce table.cart td.product-subtotal{font-weight:600;color:var(--vt-navy);}
.vt-page__content .woocommerce table.cart td.product-subtotal{font-size:16px;}
.vt-page__content .woocommerce a.remove{
  display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;
  background:#f1efe7;color:var(--vt-navy)!important;font-size:18px;line-height:1;text-decoration:none;transition:.2s;
}
.vt-page__content .woocommerce a.remove:hover{background:#d9534f;color:#fff!important;}
.vt-page__content .woocommerce table.cart td.product-quantity .quantity input.qty{
  width:84px;height:46px;border:1px solid var(--vt-line);border-radius:var(--vt-radius);
  text-align:center;font-family:var(--vt-font-body);font-size:15px;color:var(--vt-navy);background:#f7f7f4;
}
.vt-page__content .woocommerce table.cart td.actions{background:#fbfbf8;}
/* Cupon + actualizar */
.vt-page__content .woocommerce .cart .actions .coupon{display:flex;gap:10px;align-items:center;float:none;}
.vt-page__content .woocommerce .cart .actions .coupon input.input-text{max-width:230px;margin:0;}
.vt-page__content .woocommerce .cart .actions{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;}
.vt-page__content .woocommerce .cart .actions > button[name="update_cart"]{background:#fff;color:var(--vt-navy);border:1px solid var(--vt-navy);}
.vt-page__content .woocommerce .cart .actions > button[name="update_cart"]:hover{background:var(--vt-navy);color:#fff;}

/* Totales del carrito */
.vt-page__content .woocommerce .cart-collaterals{display:flex;justify-content:flex-end;width:100%;}
.vt-page__content .woocommerce .cart_totals{
  width:100%;max-width:420px;background:var(--vt-cream);border-radius:var(--vt-radius-lg);padding:26px 28px;
}
.vt-page__content .woocommerce .cart_totals h2{font-size:20px;font-weight:600;color:var(--vt-navy);margin:0 0 14px;}
.vt-page__content .woocommerce .cart_totals table{width:100%;border:0;margin:0;}
.vt-page__content .woocommerce .cart_totals table th,
.vt-page__content .woocommerce .cart_totals table td{padding:12px 0;border-top:1px solid rgba(27,68,110,.12);font-size:15px;vertical-align:top;}
.vt-page__content .woocommerce .cart_totals table th{text-align:left;white-space:nowrap;padding-right:16px;}
.vt-page__content .woocommerce .cart_totals table td{text-align:right;}
.vt-page__content .woocommerce .cart_totals table tr:first-child th,
.vt-page__content .woocommerce .cart_totals table tr:first-child td{border-top:0;}
.vt-page__content .woocommerce .cart_totals th{font-family:var(--vt-font-head);font-weight:500;color:var(--vt-navy);}
.vt-page__content .woocommerce .cart_totals td{text-align:right;color:var(--vt-text);}
.vt-page__content .woocommerce .cart_totals .order-total th,
.vt-page__content .woocommerce .cart_totals .order-total td{font-size:18px;font-weight:700;color:var(--vt-navy);}
.vt-page__content .woocommerce .cart_totals .order-total .amount{color:var(--vt-orange);}
.vt-page__content .woocommerce .wc-proceed-to-checkout{padding:18px 0 0;}
.vt-page__content .woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;font-size:16px;padding:17px 30px;}

/* Carrito vacio */
.vt-page__content .woocommerce .cart-empty{font-size:18px;color:var(--vt-navy);font-family:var(--vt-font-head);margin-bottom:18px;}
.vt-page__content .woocommerce .return-to-shop .button{background:var(--vt-orange);}
.vt-cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:260px;padding:42px 24px 30px;}
.vt-cart-empty__icon{width:104px;height:104px;border:1px solid var(--vt-line);border-radius:26px;display:grid;place-items:center;color:var(--vt-navy);background:#fff;margin-bottom:22px;}
.vt-cart-empty__icon svg{width:58px;height:58px;stroke:currentColor;}
.vt-cart-empty__title{font-family:var(--vt-font-head);font-size:24px;line-height:1.25;color:#111;margin:0 0 18px;font-weight:700;}
.vt-cart-empty .return-to-shop{margin:0;}
.vt-cart-empty .return-to-shop .button{background:var(--vt-orange);color:#fff;border-radius:14px;padding:14px 28px;}

/* Carrito Vitara: columnas reales + resumen lateral */
.vt-page--cart .vt-page__content .woocommerce{display:block;}
.vt-cart__layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start;}
.vt-cart__form{min-width:0;}
.vt-cart__table{display:flex;flex-direction:column;gap:12px;background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none;}
.vt-cart__head,.vt-cart__row{display:grid;grid-template-columns:minmax(300px,1fr) 104px 132px 104px;gap:18px;align-items:center;}
.vt-cart__head{background:#fbfaf6;padding:15px 22px;border:1px solid var(--vt-line);border-radius:14px;font-family:var(--vt-font-head);font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#617484;}
.vt-cart__head > div:nth-child(n+2){text-align:center;}
.vt-cart__head > div:last-child{text-align:right;}
.vt-cart__row{padding:20px 22px;background:#fff;border:1px solid var(--vt-line);border-radius:16px;box-shadow:0 8px 22px rgba(27,68,110,.045);}
.vt-cart__product{display:grid;grid-template-columns:78px minmax(0,1fr);gap:18px;align-items:center;min-width:0;}
.vt-cart__thumb{width:78px;height:78px;border-radius:14px;background:var(--vt-gray);display:grid;place-items:center;overflow:hidden;}
.vt-cart__thumb img{width:100%;height:100%;object-fit:contain;}
.vt-cart__info{min-width:0;color:#5d6f7e;font-size:13px;line-height:1.45;}
.vt-cart__info > a,.vt-cart__info .product-name a{display:block;font-family:var(--vt-font-head);font-weight:700;font-size:14px;line-height:1.35;color:var(--vt-navy);margin-bottom:4px;}
.vt-cart__info a:hover{color:var(--vt-orange);}
.vt-cart__info dl.variation{display:grid;grid-template-columns:auto 1fr;gap:2px 6px;margin:6px 0 0;font-size:12px;color:#6b7c89;}
.vt-cart__info dl.variation p{margin:0;}
.vt-cart__remove{display:inline-flex!important;margin-top:8px;color:#7b8b98!important;font-size:12.5px;font-weight:600;text-decoration:underline;text-underline-offset:3px;background:transparent!important;width:auto!important;height:auto!important;border-radius:0!important;}
.vt-page__content .woocommerce a.remove.vt-cart__remove:hover{color:#b4553e!important;background:transparent!important;}
.vt-cart__quantity{justify-self:center;}
.vt-cart__quantity .quantity{display:inline-flex;align-items:center;}
.vt-cart__quantity input.qty{width:76px;height:40px;border:1px solid #cfd8df;border-radius:10px;background:#fff;text-align:center;font-family:var(--vt-font-head);font-weight:600;color:var(--vt-navy);}
.vt-cart__price,.vt-cart__subtotal{font-family:var(--vt-font-head);font-weight:700;color:var(--vt-navy);white-space:nowrap;}
.vt-cart__price{text-align:center;}
.vt-cart__subtotal{color:var(--vt-orange);text-align:right;}
.vt-cart__actions{display:flex;justify-content:flex-end;align-items:flex-end;gap:18px;margin-top:22px;}
.vt-cart__coupon{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;}
.vt-cart__coupon label{width:100%;font-family:var(--vt-font-head);font-weight:600;font-size:13px;color:var(--vt-navy);margin:0;}
.vt-cart__coupon input.input-text{width:220px;min-height:42px;border:1px solid var(--vt-line);border-radius:12px;background:#f7f7f4;padding:0 14px;}
.vt-cart__coupon .button,.vt-cart__update{min-height:42px;padding:0 18px;border-radius:12px;font-size:13px;}
.vt-cart__update{background:#fff!important;color:var(--vt-navy)!important;border:1px solid var(--vt-navy)!important;}
.vt-cart__summary{position:sticky;top:18px;min-width:0;display:flex;flex-direction:column;gap:16px;}
.vt-page--cart .vt-cart__summary .cart_totals{
  max-width:none!important;width:100%;background:#fff!important;border:1px solid var(--vt-line)!important;border-radius:18px!important;
  padding:22px 24px!important;box-shadow:none!important;
}
.vt-page--cart .vt-cart__summary .cart_totals h2{font-size:13px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--vt-line);padding:0 0 14px;margin:0 0 14px;}
.vt-page--cart .vt-cart__summary .cart_totals table{background:transparent!important;border:0!important;border-radius:0!important;margin:0!important;}
.vt-page--cart .vt-cart__summary .cart_totals table th,
.vt-page--cart .vt-cart__summary .cart_totals table td{background:transparent!important;border-top:1px solid var(--vt-line)!important;padding:13px 0!important;}
.vt-page--cart .vt-cart__summary .cart_totals table tr:first-child th,
.vt-page--cart .vt-cart__summary .cart_totals table tr:first-child td{border-top:0!important;}
.vt-page--cart .vt-cart__summary .cart_totals .order-total th,
.vt-page--cart .vt-cart__summary .cart_totals .order-total td{font-size:18px!important;font-weight:700!important;color:var(--vt-navy)!important;}
.vt-page--cart .vt-cart__summary .cart_totals .order-total .amount{color:var(--vt-orange)!important;}
.vt-page--cart .vt-cart__summary .wc-proceed-to-checkout a.checkout-button{background:var(--vt-orange);color:#fff;border-radius:12px;box-shadow:none;}
.vt-cart__coupon-panel{background:#fff;border:1px solid var(--vt-line);border-radius:18px;padding:18px 20px;box-shadow:none;}
.vt-cart__coupon-panel label{display:block;font-family:var(--vt-font-head);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--vt-navy);margin:0 0 12px;}
.vt-cart__coupon-panel input.input-text{width:100%;min-height:42px;border:1px solid var(--vt-line);border-radius:12px;background:#fff;padding:0 13px;margin:0 0 10px;color:var(--vt-navy);}
.vt-cart__coupon-panel .button{width:100%;min-height:42px;border-radius:12px;background:var(--vt-navy);color:#fff;font-size:13px;}
.vt-cart__coupon-panel .button:hover{background:var(--vt-orange);color:#fff;}
.vt-cart-reco{margin-top:58px;padding-top:36px;border-top:1px solid var(--vt-line);}
.vt-cart-reco__head{margin-bottom:22px;}
.vt-cart-reco__head span{display:block;font-family:var(--vt-font-head);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vt-orange);margin-bottom:6px;}
.vt-cart-reco__head h2{font-size:24px;line-height:1.2;color:var(--vt-navy);margin:0;}
.vt-cart-reco__grid{grid-template-columns:repeat(4,minmax(0,1fr));}

/* Carrito WooCommerce Block: estructura nativa con header y estilo limpio */
.vt-page--cart .wp-block-woocommerce-cart{margin-top:4px;}
.vt-page--cart .wc-block-components-sidebar-layout{
  display:grid!important;grid-template-columns:minmax(0,1fr) 340px!important;
  gap:48px!important;align-items:start!important;width:100%!important;
}
.vt-page--cart .wc-block-components-main,
.vt-page--cart .wc-block-cart__main{grid-column:1!important;width:auto!important;max-width:none!important;padding-right:0!important;}
.vt-page--cart .wc-block-components-sidebar,
.vt-page--cart .wc-block-cart__sidebar{grid-column:2!important;width:auto!important;max-width:none!important;margin:0!important;position:sticky;top:18px;}
.vt-page--cart .wc-block-cart-items{
  width:100%;border:0;border-collapse:separate!important;border-spacing:0 14px!important;
}
.vt-page--cart .wc-block-cart-items thead{display:table-header-group!important;}
.vt-page--cart .wc-block-cart-items__header th{
  padding:0 22px 14px!important;border-bottom:1px solid var(--vt-line)!important;
  font-family:var(--vt-font-head);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--vt-navy);
}
.vt-page--cart .wc-block-cart-items__header th:first-child{padding-left:22px!important;}
.vt-page--cart .wc-block-cart-items__header th:last-child{padding-right:22px!important;text-align:right;}
.vt-page--cart .wc-block-cart-items__row{background:#fff;box-shadow:0 0 0 1px var(--vt-line);border-radius:16px;}
.vt-page--cart .wc-block-cart-items__row td{padding:22px!important;border:0!important;vertical-align:middle!important;}
.vt-page--cart .wc-block-cart-items__row td:first-child{border-radius:16px 0 0 16px;}
.vt-page--cart .wc-block-cart-items__row td:last-child{border-radius:0 16px 16px 0;text-align:right;}
.vt-page--cart .wc-block-cart-item__image img{border-radius:14px;background:var(--vt-gray);object-fit:contain;}
.vt-page--cart .wc-block-components-product-name{font-family:var(--vt-font-head);font-weight:700;color:var(--vt-navy);line-height:1.35;}
.vt-page--cart .wc-block-components-product-metadata{color:#5d6f7e;font-size:12.5px;line-height:1.45;}
.vt-page--cart .wc-block-cart-item__prices{font-family:var(--vt-font-head);font-weight:700;color:var(--vt-navy);}
.vt-page--cart .wc-block-cart-item__total{font-family:var(--vt-font-head);font-weight:700;color:var(--vt-orange);}
.vt-page--cart .wc-block-components-quantity-selector{border-color:#cfd8df;border-radius:10px;}
.vt-page--cart .wc-block-cart-item__remove-link{color:#7b8b98!important;font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.vt-page--cart .wc-block-cart__totals-title{font-family:var(--vt-font-head);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--vt-navy);}
.vt-page--cart .wc-block-components-totals-wrapper{border-color:var(--vt-line);}
.vt-page--cart .wc-block-cart__submit-button{background:#2f363c;color:#fff;border-radius:0;box-shadow:none;}

/* ============================================================
   12.2  CHECKOUT  (classic [woocommerce_checkout])
   ============================================================ */
.vt-page--checkout .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info{background:var(--vt-cream);border-left-color:var(--vt-orange);}
.vt-page__content .woocommerce form.checkout{display:block;}
.vt-page__content .woocommerce form.checkout::after{content:"";display:block;clear:both;}
.vt-page__content .woocommerce form.checkout #customer_details{float:left;width:57%;min-width:0;}
.vt-page__content .woocommerce form.checkout #order_review_heading{float:right;width:39%;clear:right;margin:0 0 16px;}
.vt-page__content .woocommerce form.checkout #order_review{float:right;width:39%;clear:right;min-width:0;}
.vt-page__content .woocommerce form.checkout .col2-set .col-1,
.vt-page__content .woocommerce form.checkout .col2-set .col-2{width:100%;float:none;}
.vt-page__content .woocommerce form.checkout h3{font-size:19px;font-weight:600;color:var(--vt-navy);margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid var(--vt-line);}
.vt-page__content .woocommerce #order_review_heading{font-size:19px;font-weight:600;color:var(--vt-navy);margin:0 0 16px;}
.vt-page__content .woocommerce form.checkout .woocommerce-checkout-review-order{
  background:var(--vt-cream);border-radius:var(--vt-radius-lg);padding:26px 28px;position:sticky;top:18px;
}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table{border:0;background:transparent;margin:0 0 18px;}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table th,
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table td{padding:11px 0;border-top:0;font-size:15px;text-align:left;}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table thead th{background:transparent;font-family:var(--vt-font-head);font-size:12px;text-transform:uppercase;letter-spacing:.04em;border-top:0;}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table td{text-align:right;}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table .product-name{text-align:left;color:var(--vt-navy);}
.vt-co-item{display:flex;align-items:center;gap:11px;}
.vt-co-item img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:#fff;flex:none;margin:0;}
.vt-co-item__name{font-size:13px;line-height:1.35;color:var(--vt-navy);}
/* Miniatura del producto (WooCommerce añade la imagen si el tema lo permite;
   si no hay imagen, mantenemos el nombre bien alineado). */
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table .cart-item{position:relative;}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table .product-name .product-quantity{color:var(--vt-orange);font-weight:600;margin-left:4px;}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot th{font-family:var(--vt-font-head);font-weight:500;color:var(--vt-navy);}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot .cart-subtotal th,
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot .cart-subtotal td{font-size:14px;color:#5f5c50;font-weight:500;}
/* Fila de envío: el valor "Gratis"/precio en chip verde. */
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot .woocommerce-shipping-totals td{text-align:right;}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot .woocommerce-shipping-totals td .woocommerce-Price-amount,
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot .woocommerce-shipping-totals td li{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;background:#d7f0e6;color:#0F6E56;
  padding:6px 14px;border-radius:100px;font-size:12.5px;font-weight:600;line-height:1;list-style:none;white-space:nowrap;
}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot .woocommerce-shipping-totals td li label,
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot .woocommerce-shipping-totals td li input{margin:0;padding:0;line-height:1;vertical-align:middle;}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot .woocommerce-shipping-totals ul#shipping_method{margin:0;padding:0;}
/* Total destacado en caja azul. */
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot .order-total th,
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot .order-total td{
  font-size:18px;font-weight:700;color:#fff;background:var(--vt-navy);padding:16px 18px;border-top:0;
}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot .order-total th{border-radius:12px 0 0 12px;}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot .order-total td{border-radius:0 12px 12px 0;}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot .order-total .amount{color:#fff;}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot .order-total{position:relative;}
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot tr:not(.order-total) th,
.vt-page__content .woocommerce table.woocommerce-checkout-review-order-table tfoot tr:not(.order-total) td{padding:9px 0;border-top:0;}
/* Metodos de pago */
.vt-page__content .woocommerce #payment{background:#fff;border-radius:var(--vt-radius-lg);border:1px solid var(--vt-line);padding:8px 20px;}
.vt-page__content .woocommerce #payment ul.payment_methods{border:0;padding:14px 0;margin:0;list-style:none;}
.vt-page__content .woocommerce #payment ul.payment_methods li{margin:0 0 8px;}
.vt-page__content .woocommerce #payment ul.payment_methods li label{font-family:var(--vt-font-body);font-weight:500;color:var(--vt-navy);display:inline;margin:0 0 0 6px;}
.vt-page__content .woocommerce #payment div.payment_box{background:var(--vt-cream);border-radius:var(--vt-radius);font-size:13.5px;color:#5b6b78;margin-top:8px;}
.vt-page__content .woocommerce #payment div.payment_box::before{display:none;}
.vt-page__content .woocommerce #payment .place-order{padding:18px 0 6px;}
.vt-page__content .woocommerce #payment #place_order{width:100%;font-size:16px;padding:17px 30px;}
.vt-page__content .woocommerce form.checkout .woocommerce-terms-and-conditions-wrapper{margin:6px 0 14px;font-size:13.5px;}

/* ============================================================
   12.3  MI CUENTA  (classic [woocommerce_my_account])
   ============================================================ */
.vt-page--account .woocommerce-account .woocommerce{display:block;}
.vt-account{width:100%;}
.vt-account__grid{display:grid;grid-template-columns:288px minmax(0,1fr);gap:34px;align-items:start;}
.vt-account__aside{min-width:0;}
.vt-account__main{min-width:0;}
/* Reset de floats/anchos por defecto de WooCommerce que rompian el grid
   (WooCommerce da float:left; width:30% a la navegacion y width:68% al contenido). */
.vt-account .woocommerce-MyAccount-navigation,
.vt-account .woocommerce-MyAccount-content{float:none !important;width:100% !important;max-width:none !important;margin:0 !important;}
/* El contenido de la cuenta nunca depende de la animacion de aparicion. */
.vt-page--account .vt-page__content{opacity:1;transform:none;}
/* Cuando NO has iniciado sesion (formularios login/registro) ocupan todo */
.vt-page--account .woocommerce-account.logged-out .woocommerce,
.vt-page--account .woocommerce form.woocommerce-form-login,
.vt-page--account .woocommerce .woocommerce-ResetPassword{display:block;}
/* "¿Olvidaste la contraseña?": separarlo arriba y abajo para que no quede pegado al botón. */
.vt-page--account .woocommerce .woocommerce-LostPassword.lost_password,
.vt-auth .woocommerce-LostPassword.lost_password{margin:10px 0 24px;}
/* Navegacion lateral (tarjetas con icono, estilo Falabella) */
.vt-page__content .vt-account-nav{background:transparent;border-radius:0;padding:0;}
.vt-account-nav__select{
  display:none;width:100%;min-height:50px;border:1px solid var(--vt-line);border-radius:16px;background:#fff;
  color:var(--vt-navy);font-family:var(--vt-font-head);font-weight:600;font-size:15px;
  padding:0 44px 0 16px;appearance:none;outline:none;margin-bottom:18px;
}
.vt-page__content .vt-account-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.vt-page__content .vt-account-nav li{margin:0;}
.vt-page__content .vt-account-nav__item a{
  display:flex;align-items:center;gap:14px;width:100%;box-sizing:border-box;
  background:#fff;border:1.5px solid var(--vt-line);border-radius:var(--vt-radius-lg);
  padding:12px 16px;min-height:64px;color:var(--vt-navy);font-family:var(--vt-font-head);
  font-weight:500;font-size:15px;line-height:1.25;text-decoration:none;
  transition:border-color .2s,box-shadow .2s,transform .2s,background .2s;
}
.vt-page__content .vt-account-nav__item a:hover{border-color:var(--vt-teal);box-shadow:0 6px 18px rgba(27,68,110,.08);color:var(--vt-navy);transform:translateY(-1px);}
.vt-page__content .vt-account-nav__item.is-active a{border-color:var(--vt-teal);background:rgba(119,211,203,.08);}
.vt-account-nav__ic{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:50%;background:var(--vt-gray);color:var(--vt-navy);transition:background .2s,color .2s;}
.vt-account-nav__ic svg{width:19px;height:19px;}
.vt-account-nav__item.is-active .vt-account-nav__ic{background:var(--vt-teal);color:#fff;}
/* La etiqueta se ajusta a un maximo de 2 lineas SIN alterar la altura de la tarjeta */
.vt-account-nav__label{flex:1 1 auto;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.25;}
.vt-account-nav__chevron{width:16px;height:16px;color:#b4bfc7;flex:0 0 auto;}
.vt-account-nav__item.woocommerce-MyAccount-navigation-link--customer-logout a,
.vt-account-nav__item.woocommerce-MyAccount-navigation-link--customer-logout .vt-account-nav__ic{color:#b4553e;}

/* Datos personales (dashboard) */
.vt-profile__title,.vt-orders__title{font-size:26px;color:var(--vt-navy);margin:0 0 18px;}
.vt-profile__card{background:#fff;border:1px solid var(--vt-line);border-radius:var(--vt-radius-lg);padding:2px 24px;}
.vt-profile__row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 0;border-bottom:1px solid var(--vt-line);}
.vt-profile__row:last-child{border-bottom:0;}
.vt-profile__label{color:#5d6f7e;font-size:13.5px;margin-bottom:6px;}
.vt-profile__value{color:var(--vt-navy);font-size:16px;font-weight:500;}
.vt-profile__muted{color:#9aa7b1;font-weight:400;}
.vt-profile__edit{color:var(--vt-navy);font-weight:600;font-family:var(--vt-font-head);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}
.vt-profile__edit:hover{color:var(--vt-orange);}
.vt-profile__cta{margin-top:22px;}

/* Mis compras (tarjetas de pedido) */
.vt-order-card{background:#fff;border:1px solid var(--vt-line);border-radius:var(--vt-radius-lg);margin:0 0 20px;overflow:hidden;}
.vt-order-card__top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--vt-line);}
.vt-order-card__date{font-family:var(--vt-font-head);font-weight:600;color:var(--vt-navy);font-size:17px;}
.vt-order-card__total{font-family:var(--vt-font-head);font-weight:700;color:var(--vt-navy);font-size:18px;}
.vt-order-card__body{display:grid;grid-template-columns:auto 1fr minmax(200px,auto);gap:26px;padding:22px 24px;align-items:center;}
.vt-order-card__media{display:flex;flex-direction:column;align-items:center;gap:10px;}
.vt-order-card__thumb{width:96px;height:96px;border-radius:14px;overflow:hidden;background:var(--vt-gray);display:grid;place-items:center;}
.vt-order-card__thumb img{width:100%;height:100%;object-fit:contain;}
.vt-order-card__noimg{width:40px;height:40px;border-radius:8px;background:#dfe4e0;display:block;}
.vt-order-pill{font-size:11.5px;font-weight:600;font-family:var(--vt-font-head);padding:4px 12px;border-radius:20px;background:rgba(119,211,203,.16);color:var(--vt-teal-dark);text-align:center;}
.vt-order-pill--processing{background:rgba(246,166,86,.18);color:var(--vt-orange-dark);}
.vt-order-pill--on-hold,.vt-order-pill--pending{background:rgba(27,68,110,.1);color:var(--vt-navy);}
.vt-order-pill--cancelled,.vt-order-pill--failed,.vt-order-pill--refunded{background:rgba(180,85,62,.15);color:#b4553e;}
.vt-order-card__num{color:#5d6f7e;font-size:13px;margin-bottom:6px;}
.vt-order-card__status{font-family:var(--vt-font-head);font-weight:600;color:var(--vt-navy);font-size:17px;margin-bottom:6px;}
.vt-order-card__meta{color:#5d6f7e;font-size:14px;margin-bottom:6px;}
.vt-order-card__seller{color:#5d6f7e;font-size:14px;}
.vt-order-card__seller strong{color:var(--vt-navy);font-weight:600;}
.vt-order-card__actions{display:flex;flex-direction:column;gap:12px;}
.vt-order-btn{display:inline-flex;justify-content:center;align-items:center;padding:13px 24px;border-radius:var(--vt-radius-btn);font-family:var(--vt-font-head);font-weight:600;font-size:15px;line-height:1;text-align:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s;}
.vt-order-btn--solid{background:var(--vt-navy);color:#fff;border:1.5px solid var(--vt-navy);}
.vt-order-btn--solid:hover{background:var(--vt-navy-deep);border-color:var(--vt-navy-deep);color:#fff;}
.vt-order-btn--outline{background:#fff;color:var(--vt-navy);border:1.5px solid var(--vt-navy);}
.vt-order-btn--outline:hover{background:var(--vt-navy);color:#fff;}
.vt-orders__pager{display:flex;gap:12px;justify-content:center;margin-top:8px;}
.vt-orders__empty{background:#fff;border:1px solid var(--vt-line);border-radius:var(--vt-radius-lg);padding:44px 24px;text-align:center;color:#5d6f7e;}
.vt-orders__empty p{margin:0 0 18px;font-size:16px;}
/* Contenido */
.vt-page__content .woocommerce-MyAccount-content{min-width:0;}
.vt-page__content .woocommerce-MyAccount-content p{margin:0 0 1em;}
.vt-page__content .woocommerce-MyAccount-content mark{background:var(--vt-cream);color:var(--vt-navy);padding:1px 6px;border-radius:4px;}
/* Tabla de pedidos / direcciones */
.vt-page__content .woocommerce table.woocommerce-orders-table,
.vt-page__content .woocommerce table.shop_table_responsive{border:1px solid var(--vt-line);border-radius:var(--vt-radius);border-collapse:separate;border-spacing:0;overflow:hidden;width:100%;}
.vt-page__content .woocommerce table.woocommerce-orders-table th{background:var(--vt-cream);font-family:var(--vt-font-head);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--vt-navy);padding:14px 16px;text-align:left;border:0;}
.vt-page__content .woocommerce table.woocommerce-orders-table td{padding:15px 16px;border-top:1px solid var(--vt-line);font-size:14.5px;}
/* Direcciones (plantilla propia my-address.php) */
.vt-address__intro{color:#5d6f7e;margin:0 0 20px;}
.vt-address__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.vt-address-card{background:#fff;border:1px solid var(--vt-line);border-radius:var(--vt-radius-lg);padding:24px 26px;display:flex;flex-direction:column;}
.vt-address-card.is-empty{background:#fbfbf9;border-style:dashed;}
.vt-address-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.vt-address-card__title{font-size:18px;color:var(--vt-navy);margin:0;}
.vt-address-card__edit{color:var(--vt-navy);font-weight:600;font-family:var(--vt-font-head);font-size:14px;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}
.vt-address-card__edit:hover{color:var(--vt-orange);}
.vt-address-card__body{font-style:normal;line-height:1.7;color:var(--vt-text);margin:0;}
.vt-address-card__empty{color:#8a97a1;margin:0 0 18px;font-size:14.5px;}
.vt-address-card__add{align-self:flex-start;margin-top:auto;padding:11px 20px;font-size:14px;}
.vt-address-card__plus{font-size:18px;line-height:0;position:relative;top:1px;margin-right:2px;}

/* Lista de deseos / Favoritos */
.vt-page--wishlist .vt-wishlist{margin-top:28px;}
.vt-wishlist__grid{margin-top:0;}
/* Cards de favoritos: mismo ancho que la tienda, sin estirarse con pocos ítems. */
.vt-wishlist__grid.vt-products-grid{grid-template-columns:repeat(auto-fill,minmax(240px,280px));justify-content:start;gap:26px;}
/* Título del producto en navy (evita el color de enlace global del tema). */
.vt-page--wishlist .vt-product-card__name,
.vt-page--wishlist .vt-product-card__name a{color:var(--vt-navy)!important;}
.vt-page--wishlist .vt-product-card__name a:hover{color:var(--vt-orange)!important;}
.vt-wishlist__state{text-align:center;padding:64px 20px;color:#5d6f7e;}
.vt-wishlist__state p{margin:0;}
.vt-wishlist__empty h3{font-size:22px;color:var(--vt-navy);margin:0 0 8px;}
.vt-wishlist__empty p{margin:0 0 22px;max-width:420px;margin-left:auto;margin-right:auto;}
.vt-wishlist__empty-ic{width:74px;height:74px;margin:0 auto 18px;border-radius:50%;background:rgba(119,211,203,.14);display:grid;place-items:center;color:var(--vt-teal);}
.vt-wishlist__empty-ic svg{width:34px;height:34px;}
.vt-wishlist__spinner{display:inline-block;width:34px;height:34px;margin-bottom:14px;border:3px solid var(--vt-line);border-top-color:var(--vt-teal);border-radius:50%;animation:vt-spin .8s linear infinite;}
@keyframes vt-spin{to{transform:rotate(360deg);}}
.vt-account__main > p:first-child,
.vt-account__main .woocommerce-MyAccount-content > p:first-child{margin-bottom:18px;color:#5d6f7e;}
/* Login / registro */
.vt-page__content .woocommerce form.woocommerce-form-login,
.vt-page__content .woocommerce form.woocommerce-form-register{
  border:1px solid var(--vt-line);border-radius:var(--vt-radius-lg);padding:30px 32px;max-width:none;margin:0;background:#fff;
  display:flex;flex-direction:column;flex:1 1 auto;
}
/* Login/registro: dos columnas de igual altura, botones alineados al fondo */
.vt-page__content .woocommerce #customer_login{display:flex;flex-wrap:wrap;gap:34px;align-items:stretch;width:100%;margin:0;}
.vt-page__content .woocommerce #customer_login .col-1,
.vt-page__content .woocommerce #customer_login .col-2{flex:1 1 320px;float:none;width:auto;max-width:none;margin:0;display:flex;flex-direction:column;}
.vt-page__content .woocommerce #customer_login .col-1 > h2,
.vt-page__content .woocommerce #customer_login .col-2 > h2{margin-top:0;}
.vt-page__content .woocommerce form.woocommerce-form-login .form-row:has(button[type="submit"]){order:1;margin-top:auto;margin-bottom:0;}
.vt-page__content .woocommerce form.woocommerce-form-register .form-row:has(button[type="submit"]){margin-top:auto;margin-bottom:0;}
.vt-page__content .woocommerce form.woocommerce-form-login .woocommerce-LostPassword{margin:14px 0 0;}
.vt-page__content .woocommerce form.login .lost_password a,
.vt-page__content .woocommerce form.register .lost_password a{color:var(--vt-teal);}
.vt-page__content .woocommerce .woocommerce-form-login__rememberme{font-weight:400;}
.vt-page__content .woocommerce form .form-row.woocommerce-form-login__submit,
.vt-page__content .woocommerce form .form-row label.checkbox{flex-direction:row;align-items:center;gap:8px;}

/* Acceso premium: panel de marca + contenido */
.vt-auth{width:100%;max-width:1120px;margin:4px auto 0;transition:max-width .22s ease;}
.vt-auth[data-active="login"]{max-width:980px;}
.vt-auth__card{
  display:grid;grid-template-columns:310px minmax(0,1fr);min-height:640px;overflow:hidden;
  background:#fff;border:1px solid #e4e5df;border-radius:24px;box-shadow:0 20px 55px rgba(27,68,110,.10);
}
.vt-auth__brand{
  position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-width:0;
  padding:34px 30px;background:var(--vt-navy);color:#fff;
}
.vt-auth__brand::before{
  content:"";position:absolute;z-index:-1;width:280px;height:280px;right:-160px;top:80px;border:1px solid rgba(119,211,203,.18);
  border-radius:48% 52% 62% 38%;transform:rotate(30deg);
}
.vt-auth__brand::after{
  content:"";position:absolute;z-index:-1;left:-14%;right:-20%;height:165px;bottom:-80px;
  border-radius:50% 45% 0 0;background:linear-gradient(110deg,#77d3cb 0%,#77d3cb 54%,#9edfd8 100%);transform:rotate(5deg);
}
.vt-auth__brand-logo{display:flex;align-items:center;gap:13px;margin-bottom:78px;}
.vt-auth__brand-logo img{width:52px;height:52px;object-fit:contain;}
.vt-auth__brand-logo div{display:flex;flex-direction:column;gap:1px;}
.vt-auth__brand-logo strong{font:700 23px/1 var(--vt-font-head);letter-spacing:.08em;color:#fff;}
.vt-auth__brand-logo small,.vt-auth__brand-logo span{font:500 10px/1.2 var(--vt-font-head);letter-spacing:.06em;color:#b9d7e4;}
.vt-auth__brand-copy{display:none;animation:vtAuthCopy .25s ease;}
.vt-auth[data-active="login"] [data-brand-panel="login"],
.vt-auth[data-active="register"] [data-brand-panel="register"]{display:block;}
.vt-auth__eyebrow{display:block;margin-bottom:12px;font:700 10px/1 var(--vt-font-head);letter-spacing:.14em;color:var(--vt-orange);}
.vt-auth__brand-copy h2{max-width:250px;margin:0 0 15px;font-size:27px;line-height:1.22;color:#fff;}
.vt-auth__brand-copy p{max-width:235px;margin:0;color:#d9e6ef;font-size:13.5px;line-height:1.65;}
.vt-auth__benefits{display:flex;flex-direction:column;gap:16px;margin:auto 0 74px;padding:0;list-style:none;}
.vt-auth__benefits li{display:flex;align-items:center;gap:11px;margin:0;color:#fff;font-size:12.5px;font-weight:500;}
.vt-auth__benefits li > span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:rgba(119,211,203,.18);color:#8fe0d8;}
.vt-auth__benefits svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
@keyframes vtAuthCopy{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

.vt-auth__content{min-width:0;padding:34px 42px 38px;}
.vt-auth__tabs{display:flex;max-width:430px;margin:0 auto 30px;padding:4px;background:#eef1f2;border-radius:999px;}
.vt-auth__tab{
  flex:1;min-height:40px;padding:8px 14px;border:0;border-radius:999px;background:transparent;color:#68798a;
  font:700 14px/1 var(--vt-font-head);cursor:pointer;transition:background .18s,color .18s,box-shadow .18s;
}
.vt-auth__tab.is-active{background:var(--vt-navy);color:#fff;box-shadow:0 4px 12px rgba(27,68,110,.18);}
.vt-auth__panel{display:none;}
.vt-auth__panel.is-active{display:block;animation:vtAuthPanel .22s ease;}
@keyframes vtAuthPanel{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.vt-auth__heading{margin-bottom:24px;}
.vt-auth__heading > span{display:block;margin-bottom:7px;font:700 10px/1 var(--vt-font-head);letter-spacing:.12em;color:var(--vt-orange);}
.vt-auth__heading h2{margin:0 0 7px;font-size:28px;line-height:1.2;color:var(--vt-navy);}
.vt-auth__heading p{margin:0!important;color:#718292;font-size:13.5px;line-height:1.5;}
.vt-page__content .woocommerce .vt-auth form.woocommerce-form-login,
.vt-page__content .woocommerce .vt-auth form.woocommerce-form-register{
  display:block;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;
}
.vt-auth form .form-row{margin:0 0 17px;}
.vt-auth form .form-row label{display:block;margin-bottom:7px;color:var(--vt-navy);font-size:12.5px;font-weight:600;}
.vt-auth form input.input-text,
.vt-auth form select,
.vt-page__content .woocommerce .vt-auth form input.input-text,
.vt-page__content .woocommerce .vt-auth form select{
  width:100%;box-sizing:border-box;min-height:50px;border:1px solid #dfe2df;border-radius:13px;background-color:#fbfbf8;color:var(--vt-navy);
  padding:0 14px;font:500 14px/1 var(--vt-font-body);outline:none;transition:border-color .18s,box-shadow .18s,background-color .18s;
}
/* El selector comparte alto, borde, radio, fondo y tipografia con el input. */
.vt-auth form select,
.vt-page__content .woocommerce .vt-auth form select{
  height:50px;line-height:normal;padding:0 42px 0 14px;cursor:pointer;
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231B446E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;background-size:12px;
}
.vt-auth form select:required:invalid,
.vt-page__content .woocommerce .vt-auth form select:required:invalid{color:#8f9ba6;}
.vt-auth form input.input-text:focus,
.vt-auth form select:focus,
.vt-page__content .woocommerce .vt-auth form input.input-text:focus,
.vt-page__content .woocommerce .vt-auth form select:focus{background-color:#fff;border-color:var(--vt-teal);box-shadow:0 0 0 3px rgba(119,211,203,.16);}
.vt-auth .vt-pass{display:block;position:relative;}
.vt-auth .vt-pass input{padding-right:48px!important;}
.vt-auth .vt-pass-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;padding:8px;border:0;background:transparent;color:var(--vt-navy);}
.vt-auth .vt-pass-toggle svg{display:block;width:20px;height:20px;}
.vt-auth .woocommerce-password-strength{margin-top:9px;padding:9px 12px;border-radius:9px;font-size:12px;line-height:1.4;}
.vt-auth .woocommerce-password-hint{display:block;margin-top:7px;color:#7a8794;font-size:11.5px;line-height:1.45;}
.vt-auth__login-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:2px 0 22px;font-size:12.5px;}
.vt-auth__login-meta label{display:flex!important;align-items:center;gap:7px;margin:0!important;font-weight:500!important;color:#596d7f!important;}
.vt-auth__login-meta input{margin:0!important;}
.vt-auth__login-meta a{color:var(--vt-orange);font-weight:600;}
.vt-auth__submit-row{margin:0!important;}
.vt-auth .vt-auth__submit,
.vt-auth .vt-register__next{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;margin:0;border:1px solid var(--vt-navy);
  border-radius:13px;background:var(--vt-navy);color:#fff;font:700 14px/1 var(--vt-font-head);box-shadow:none;cursor:pointer;
}
.vt-auth .vt-auth__submit span,.vt-auth .vt-register__next span{margin:0;font-size:20px;line-height:0;color:var(--vt-orange);}
.vt-auth .vt-auth__submit:hover,.vt-auth .vt-register__next:hover{background:#12385f;color:#fff;transform:translateY(-1px);}

/* Registro por pasos */
.vt-register__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.95fr);gap:28px;align-items:center;margin-bottom:22px;}
.vt-register__top .vt-auth__heading{margin:0;}
.vt-register__progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:start;}
.vt-register__progress button{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:62px;padding:0;border:0;background:transparent;color:#8a98a4;font:600 10.5px/1 var(--vt-font-head);cursor:pointer;}
.vt-register__progress button > span{display:grid;place-items:center;width:30px;height:30px;border:1.5px solid #cbd2d6;border-radius:50%;background:#fff;color:#748391;font-size:12px;transition:all .2s;}
.vt-register__progress button small{font:inherit;white-space:nowrap;}
.vt-register__progress button.is-active{color:var(--vt-navy);}
.vt-register__progress button.is-active > span{border-color:var(--vt-teal);background:var(--vt-teal);color:#fff;box-shadow:0 0 0 4px rgba(119,211,203,.14);}
.vt-register__progress button.is-complete{color:#2b816f;}
.vt-register__progress button.is-complete > span{border-color:#52bfa9;background:#e5f6f1;color:#247b6a;}
.vt-register__progress button.is-complete > span{
  font-size:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23247b6a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.4 6.6 11.5 12.5 5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;background-size:13px;
}
.vt-register__progress i{height:1.5px;margin-top:15px;background:#d8dddf;}
.woocommerce-form-register[data-current-step="2"] .vt-register__progress i:first-of-type,
.woocommerce-form-register[data-current-step="3"] .vt-register__progress i{background:#77d3cb;}
.woocommerce-form-register.is-stepped .vt-register-step{display:none;}
.woocommerce-form-register.is-stepped .vt-register-step.is-active{display:block;animation:vtStepIn .2s ease;}
@keyframes vtStepIn{from{opacity:0;transform:translateX(6px)}to{opacity:1;transform:none}}
.vt-register-step{min-height:378px;}
.vt-register-step__title{margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid #ecece7;}
.vt-register-step__title h3{margin:0 0 5px;font-size:17px;color:var(--vt-navy);outline:none;}
.vt-register-step__title p{margin:0!important;color:#718292;font-size:12.5px;line-height:1.5;}
.vt-auth__names{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.vt-auth__names .form-row{width:auto!important;float:none!important;}
.vt-register__summary{display:flex;align-items:center;gap:11px;margin-bottom:18px;padding:11px 13px;border:1px solid #cce8df;border-radius:12px;background:#f2faf7;}
.vt-register__summary > .vt-check{flex:0 0 28px;width:28px;height:28px;background:#52b98e;color:#fff;}
.vt-register__summary > .vt-check svg{width:15px;height:15px;}
.vt-register__summary div{display:flex;flex-direction:column;gap:2px;min-width:0;}
.vt-register__summary strong{color:#207662;font-size:12.5px;}
.vt-register__summary small{overflow:hidden;color:#627b75;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap;}
.vt-register__actions{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:center;margin-top:22px;}
.vt-register__actions--end{display:flex;justify-content:flex-end;}
.vt-register__actions--end .vt-register__next{max-width:250px;}
.vt-register__back{min-height:50px;padding:0 20px;border:1px solid var(--vt-navy);border-radius:13px;background:#fff;color:var(--vt-navy);font:700 14px/1 var(--vt-font-head);cursor:pointer;}
.vt-register__back:hover{background:#f3f7f9;}
.vt-register__generated-pass{padding:12px 14px;border-radius:11px;background:#f4f8f8;color:#567080;font-size:12.5px;}
.vt-register__secure{display:flex;justify-content:center;align-items:center;gap:7px;margin:13px 0 0!important;color:#6c7d89;font-size:11.5px;}
.vt-register__secure .vt-check{width:18px;height:18px;border:1px solid var(--vt-teal);color:#258d7d;}
.vt-register__secure .vt-check svg{width:10px;height:10px;}
/* Check optico del registro: SVG centrado de verdad dentro del circulo (el glifo
 * tipografico se apoya en la linea base y se veia desplazado).
 *
 * Va acotado a .vt-register__summary y .vt-register__secure a proposito. Sin ese
 * acotamiento la regla pisaba al .vt-check general de la linea 453 (misma
 * especificidad, pero esta va despues en el archivo) y convertia en inline-flex
 * TODOS los checkbox del sitio: los filtros de la tienda, el libro de
 * reclamaciones y el panel de administracion. En la tienda eso hacia que dos
 * marcas o dos categorias entraran en la misma fila. */
.vt-register__summary > .vt-check,
.vt-register__secure .vt-check{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;line-height:0;flex-shrink:0;}
.vt-register__summary > .vt-check svg,
.vt-register__secure .vt-check svg{display:block;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;overflow:visible;}
.vt-auth .woocommerce-privacy-policy-text{margin-top:16px;color:#718292;font-size:11.5px;line-height:1.55;}
.vt-auth .woocommerce-privacy-policy-text p{margin:0!important;}
/* Paso 2 y paso 3: los selectores se ven exactamente igual que los inputs de
 * texto del formulario, por encima de cualquier estilo de WooCommerce. */
.vt-auth form .vt-document-grid select,
.vt-auth form .vt-ubigeo__grid select,
.vt-auth form .vt-ubigeo select,
.vt-auth form select{
  width:100%!important;box-sizing:border-box!important;height:50px!important;min-height:50px!important;line-height:normal!important;
  padding:0 42px 0 14px!important;border:1px solid #dfe2df!important;border-radius:13px!important;
  background-color:#fbfbf8!important;color:var(--vt-navy)!important;font:500 14px/1 var(--vt-font-body)!important;
  -webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231B446E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 15px center!important;background-size:12px!important;
  cursor:pointer;outline:none;text-overflow:ellipsis;
}
.vt-auth form select:focus{background-color:#fff!important;border-color:var(--vt-teal)!important;box-shadow:0 0 0 3px rgba(119,211,203,.16);}
.vt-auth form select:required:invalid{color:#8f9ba6!important;}
.vt-auth form select:disabled{background-color:#f2f3f1!important;color:#9aa7b1!important;cursor:not-allowed;}
.vt-auth [data-vt-register-panel="2"] .vt-document-grid{margin-top:2px;}
.vt-auth [data-vt-register-panel="3"] .vt-ubigeo{padding:0;margin:0;border:0;}
.vt-auth [data-vt-register-panel="3"] .vt-ubigeo legend{display:none;}
.vt-auth [data-vt-register-panel="3"] .vt-ubigeo__grid{grid-template-columns:repeat(3,minmax(0,1fr));}

/* Registro: documento y ubicación por ubigeo */
.vt-customer-data{margin:4px 0 18px;}
.vt-document-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px;align-items:start;}
/* El teléfono ocupa su propia fila bajo tipo y número de documento. */
.vt-document-grid .vt-document-phone{grid-column:1/-1;}
.vt-document-grid .form-row,
.vt-ubigeo__grid .form-row{float:none!important;width:auto!important;margin:0!important;}
/* Fuera del bloque de acceso, el selector copia el estilo de los inputs
 * de WooCommerce (mismo alto, radio, fondo y tipografia). */
.vt-customer-data select,
.vt-document-grid select,
.vt-ubigeo__grid select,
.vt-page__content .woocommerce .vt-customer-data select,
.vt-page__content .woocommerce .vt-document-grid select,
.vt-page__content .woocommerce .vt-ubigeo__grid select{
  width:100%;box-sizing:border-box;min-height:48px;height:48px;line-height:normal;
  border:1px solid var(--vt-line);border-radius:var(--vt-radius);background-color:#f7f7f4;
  color:var(--vt-text);padding:0 42px 0 16px;font-family:var(--vt-font-body);font-size:15px;
  outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231B446E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:12px;
  transition:border-color .2s ease,background-color .2s ease;
}
.vt-customer-data select:required:invalid,
.vt-document-grid select:required:invalid,
.vt-ubigeo__grid select:required:invalid{color:#8f9ba6;}
.vt-customer-data select:focus,
.vt-document-grid select:focus,
.vt-ubigeo__grid select:focus,
.vt-page__content .woocommerce .vt-customer-data select:focus,
.vt-page__content .woocommerce .vt-document-grid select:focus,
.vt-page__content .woocommerce .vt-ubigeo__grid select:focus{border-color:var(--vt-teal);background-color:#fff;box-shadow:0 0 0 3px rgba(119,211,203,.16);}
.vt-customer-data select:disabled,
.vt-document-grid select:disabled,
.vt-ubigeo__grid select:disabled{color:#9aa7b1;background-color:#f1f3f2;cursor:not-allowed;}
.vt-ubigeo{min-width:0;border:0;border-top:1px solid var(--vt-line);padding:18px 0 0;margin:18px 0 0;}
.vt-ubigeo legend{padding:0;margin:0 0 13px;font-family:var(--vt-font-head);font-size:15px;font-weight:700;color:var(--vt-navy);}
.vt-ubigeo__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.vt-ubigeo__status{margin:9px 0 0!important;color:#718292;font-size:12px;line-height:1.45;}
.vt-ubigeo__status.is-error{color:#a3334e;}
.vt-customer-data .required{color:#c33;}

/* ============================================================
   12.4  RESPONSIVE  (paginas WooCommerce)
   ============================================================ */
@media(max-width:980px){
  .vt-page__title{font-size:28px;}
	.vt-auth__card{grid-template-columns:255px minmax(0,1fr);}
	.vt-auth__brand{padding:30px 24px;}
	.vt-auth__content{padding:30px 30px 34px;}
	.vt-register__top{grid-template-columns:1fr;gap:18px;}
  .vt-page__content .woocommerce form.checkout #customer_details,
  .vt-page__content .woocommerce form.checkout #order_review_heading,
  .vt-page__content .woocommerce form.checkout #order_review{float:none;width:100%;clear:both;}
  .vt-page__content .woocommerce form.checkout #order_review_heading{margin-top:24px;}
  .vt-page__content .woocommerce form.checkout .woocommerce-checkout-review-order{position:static;}
  .vt-account__grid{grid-template-columns:1fr;gap:20px;}
  /* Menu como chips visibles en filas */
  .vt-page__content .vt-account-nav{max-width:100%;overflow:visible;}
  .vt-page__content .vt-account-nav ul{
    flex-direction:row;flex-wrap:wrap;gap:10px;max-width:100%;overflow:visible;
    padding:2px 0 12px;
  }
  .vt-page__content .vt-account-nav ul::-webkit-scrollbar{display:none;}
  .vt-page__content .vt-account-nav__item{flex:1 1 calc(50% - 5px);min-width:0;}
  .vt-page__content .vt-account-nav__item a{min-height:0;padding:10px 12px;gap:10px;justify-content:center;}
  /* En modo chip la etiqueta va en una sola linea */
  .vt-account-nav__label{flex:0 1 auto;display:block;-webkit-line-clamp:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .vt-account-nav__ic{width:34px;height:34px;flex:0 0 34px;}
  .vt-account-nav__ic svg{width:17px;height:17px;}
  .vt-account-nav__chevron{display:none;}
  .vt-order-card__body{grid-template-columns:1fr;gap:18px;text-align:center;}
  .vt-order-card__media{flex-direction:row;justify-content:center;gap:16px;}
  .vt-order-card__actions{width:100%;}
  .vt-order-card__seller{text-align:center;}
  .vt-account__main .vt-address__grid{grid-template-columns:1fr;}
  /* Formularios de la cuenta: campos en dos columnas se apilan */
  .vt-page__content .woocommerce form .form-row-first,
  .vt-page__content .woocommerce form .form-row-last{width:100%;float:none;margin-right:0;}
  .vt-page__content .woocommerce .cart-collaterals .cart_totals{max-width:none;}
  .vt-cart__layout{grid-template-columns:1fr;gap:34px;}
  .vt-cart__summary{position:static;}
  .vt-cart-reco__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .vt-page--cart .wc-block-components-sidebar-layout,
  .vt-page--cart .wc-block-components-sidebar-layout.is-mobile{grid-template-columns:1fr!important;gap:34px!important;}
  .vt-page--cart .wc-block-cart__main,
  .vt-page--cart .wc-block-components-main,
  .vt-page--cart .wc-block-cart__sidebar,
  .vt-page--cart .wc-block-components-sidebar{grid-column:1!important;position:static;}
}
@media(max-width:760px){
	.vt-auth{margin-top:0;}
	.vt-auth__card{grid-template-columns:1fr;min-height:0;border-radius:20px;}
	.vt-auth__brand{display:block;min-height:150px;padding:23px 25px;}
	.vt-auth__brand::after{height:110px;bottom:-77px;}
	.vt-auth__brand-logo{margin-bottom:20px;}
	.vt-auth__brand-copy h2{max-width:520px;margin-bottom:7px;font-size:22px;}
	.vt-auth__brand-copy p{max-width:560px;font-size:12.5px;line-height:1.45;}
	.vt-auth__benefits{display:none;}
	.vt-auth__content{padding:27px 25px 32px;}
}
@media(max-width:600px){
  .vt-page{padding:26px 0 54px;}
  .vt-page__title{font-size:24px;}
	.vt-auth__brand{min-height:138px;padding:20px;}
	.vt-auth__brand-logo{margin-bottom:17px;}
	.vt-auth__brand-logo img{width:42px;height:42px;}
	.vt-auth__brand-logo strong{font-size:20px;}
	.vt-auth__brand-copy p{display:none;}
	.vt-auth__content{padding:23px 18px 27px;}
	.vt-auth__tabs{margin-bottom:24px;}
	.vt-auth__heading h2{font-size:23px;}
	.vt-register__progress{grid-template-columns:auto 1fr auto 1fr auto;}
	.vt-register__progress button{min-width:48px;font-size:9.5px;}
	.vt-register__progress button > span{width:27px;height:27px;}
	.vt-register__progress i{margin-top:13px;}
	.vt-register-step{min-height:0;}
	.vt-auth__names,
	.vt-auth [data-vt-register-panel="3"] .vt-ubigeo__grid{grid-template-columns:1fr;gap:12px;}
	.vt-register__actions{grid-template-columns:1fr;}
	.vt-register__actions--end{display:grid;}
	.vt-register__actions--end .vt-register__next{max-width:none;}
	.vt-register__back{order:2;}
  .vt-page--account .vt-page__content{overflow:visible;}
  .vt-page__content .vt-account-nav{width:100%;}
  .vt-account-nav__select{display:block;}
  .vt-page__content .vt-account-nav ul{display:none;}
  .vt-page__content .vt-account-nav__item a{padding:9px 10px;gap:8px;font-size:14px;}
  .vt-account-nav__ic{width:30px;height:30px;flex-basis:30px;}
  .vt-account-nav__ic svg{width:15px;height:15px;}
  /* Datos personales: mas aire y el enlace "Editar" no se pega */
  .vt-profile__title,.vt-orders__title{font-size:22px;}
  .vt-profile__card{padding:2px 18px;}
  .vt-profile__row{padding:16px 0;gap:12px;}
  .vt-profile__value{font-size:15px;word-break:break-word;}
  .vt-profile__cta .vt-order-btn{display:flex;width:100%;}
  .vt-page__content .woocommerce .cart .actions{flex-direction:column;align-items:stretch;}
  .vt-page__content .woocommerce .cart .actions .coupon{flex-wrap:wrap;}

  .vt-document-grid,
  .vt-ubigeo__grid{grid-template-columns:1fr;gap:12px;}
  .vt-page__content .woocommerce .cart .actions .coupon input.input-text{max-width:none;flex:1;}

  /* Tablas apiladas: cada fila se vuelve una tarjeta con etiquetas */
  .vt-page__content .woocommerce table.cart thead,
  .vt-page__content .woocommerce table.woocommerce-orders-table thead,
  .vt-page__content .woocommerce table.shop_table_responsive thead{position:absolute;left:-9999px;}
  .vt-page__content .woocommerce table.cart tr,
  .vt-page__content .woocommerce table.woocommerce-orders-table tr,
  .vt-page__content .woocommerce table.shop_table_responsive tbody tr{display:block;border:1px solid var(--vt-line);border-radius:14px;margin:0 0 14px;padding:6px 4px;background:#fff;}
  .vt-page__content .woocommerce table.cart td,
  .vt-page__content .woocommerce table.woocommerce-orders-table td,
  .vt-page__content .woocommerce table.shop_table_responsive tbody td{display:flex;align-items:center;justify-content:space-between;gap:14px;width:auto;border:0;border-top:1px solid var(--vt-line);padding:11px 14px;text-align:right;}
  .vt-page__content .woocommerce table.cart tr td:first-child,
  .vt-page__content .woocommerce table.woocommerce-orders-table tr td:first-child,
  .vt-page__content .woocommerce table.shop_table_responsive tbody tr td:first-child{border-top:0;}
  .vt-page__content .woocommerce table.cart td::before,
  .vt-page__content .woocommerce table.woocommerce-orders-table td::before,
  .vt-page__content .woocommerce table.shop_table_responsive tbody td::before{content:attr(data-title);font-family:var(--vt-font-head);font-weight:600;font-size:12.5px;color:var(--vt-navy);text-align:left;}
  .vt-page__content .woocommerce table.cart td.product-remove{justify-content:flex-end;}
  .vt-page__content .woocommerce table.cart td.product-remove::before{display:none;}
  .vt-page__content .woocommerce table.cart td.product-thumbnail{justify-content:center;}
  .vt-page__content .woocommerce table.cart td.product-thumbnail::before{display:none;}
  .vt-page__content .woocommerce table.cart td.actions{display:block;text-align:left;}
  .vt-page__content .woocommerce table.cart td.actions::before{display:none;}
  .vt-cart__head{display:none;}
  .vt-cart__row{grid-template-columns:1fr 1fr;gap:14px 12px;padding:18px;}
  .vt-cart__product{grid-column:1/-1;grid-template-columns:70px minmax(0,1fr);gap:14px;}
  .vt-cart__thumb{width:70px;height:70px;}
  .vt-cart__quantity,.vt-cart__price,.vt-cart__subtotal{display:flex;flex-direction:column;gap:6px;font-size:14px;}
  .vt-cart__quantity::before,.vt-cart__price::before,.vt-cart__subtotal::before{content:attr(data-title);font-family:var(--vt-font-head);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6d7d89;}
  .vt-cart__actions{flex-direction:column;align-items:stretch;}
  .vt-cart__coupon{align-items:stretch;}
  .vt-cart__coupon input.input-text{width:100%;}
  .vt-cart__coupon .button,.vt-cart__update{width:100%;justify-content:center;}
  .vt-cart-reco__grid{grid-template-columns:1fr 1fr;gap:14px;}
  .vt-cart-reco__head h2{font-size:21px;}
  .vt-page--cart .wc-block-cart-items{border-spacing:0 12px!important;}
  .vt-page--cart .wc-block-cart-items__header th{padding-left:16px!important;padding-right:16px!important;}
  .vt-page--cart .wc-block-cart-items__row td{padding:16px!important;}
}

/* ============================================================
   13. HERO DINAMICO: cruz giratoria + zona derecha blanca
   ============================================================ */

/* Panel derecho: color de marca (como antes), no blanco */
.vt-hero--dynamic .vt-hero__panel{background:var(--vt-teal-soft);}

/* El ambiente de color cambia por producto: arcos, palabra, TEXTO y BOTON */
.vt-hero{--hero-arc:#77D3CB;--hero-word:#1B446E;--hero-text:#1B446E;--hero-btn:#77D3CB;--hero-btn-ink:#1B446E;}
.vt-hero[data-theme="0"]{--hero-arc:#77D3CB;--hero-word:#1B446E;--hero-text:#1B446E;--hero-btn:#77D3CB;--hero-btn-ink:#1B446E;}
.vt-hero[data-theme="1"]{--hero-arc:#F6A656;--hero-word:#1B446E;--hero-text:#1B446E;--hero-btn:#F6A656;--hero-btn-ink:#ffffff;}
.vt-hero[data-theme="2"]{--hero-arc:#1B446E;--hero-word:#1B446E;--hero-text:#1B446E;--hero-btn:#1B446E;--hero-btn-ink:#ffffff;}
.vt-hero[data-theme="3"]{--hero-arc:#E6C88A;--hero-word:#1B446E;--hero-text:#1B446E;--hero-btn:#E6C88A;--hero-btn-ink:#1B446E;}
.vt-hero--dynamic .vt-hero__word{color:var(--hero-word);transition:color .7s ease,opacity .25s ease;}
.vt-hero--dynamic .vt-hero__text h1{color:var(--hero-text);transition:color .7s ease;}
.vt-hero--dynamic .vt-hero__text .vt-btn{background:var(--hero-btn);color:var(--hero-btn-ink);transition:background .7s ease,color .7s ease,transform .25s ease,box-shadow .25s ease;}
.vt-hero--dynamic .vt-hero__text .vt-btn:hover{background:var(--hero-btn);color:var(--hero-btn-ink);filter:brightness(.95);transform:translateY(-2px);}

/* Vitrina (rueda + puntos) */
.vt-hero__showcase{position:absolute;z-index:2;left:67%;top:50%;transform:translate(-50%,-50%);width:480px;max-width:38vw;isolation:isolate;}
.vt-hero__showcase::after{
  content:"";position:absolute;left:50%;bottom:8%;width:58%;height:36px;
  background:radial-gradient(ellipse,rgba(27,68,110,.22) 0%,rgba(27,68,110,.08) 46%,transparent 72%);
  transform:translateX(-50%);filter:blur(8px);z-index:-1;opacity:.75;
}
.vt-hero.is-turning .vt-hero__showcase::after{animation:vt-shadow-breath 1.15s cubic-bezier(.2,.7,.2,1);}

/* Vitrina: producto central con lectura de orbita antihoraria. */
.vt-hero__wheel{position:relative;width:100%;height:560px;margin:0 auto;perspective:1100px;transform-style:preserve-3d;}
.vt-hero__slide{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transform:translate3d(0,0,0) scale(1) rotate(0deg);
  transform-origin:center;filter:none;pointer-events:none;z-index:1;
  transition:opacity .28s ease,visibility 0s linear .28s;
  will-change:opacity;
}
.vt-hero__slide.is-prev,.vt-hero__slide.is-next{opacity:0;visibility:hidden;}
.vt-hero__slide.is-front{opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0deg);filter:none;z-index:5;pointer-events:auto;}
.vt-hero__slide.is-front{visibility:visible;transition:opacity .35s ease,visibility 0s linear 0s;}
.vt-hero__slide.is-front.is-entering{animation:vt-hero-clock-in .78s cubic-bezier(.22,.9,.2,1) both;}
.vt-hero__slide.is-leaving{display:none;}
.vt-hero__slide-in{display:block;width:100%;height:100%;transform-origin:center;}
.vt-hero__slide.is-front .vt-hero__slide-in{animation:none;}
.vt-hero__slide.is-front.is-entering .vt-hero__slide-in{animation:none;}
.vt-hero__slide-in img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 26px 26px rgba(27,68,110,.18));}
.vt-hero__slide.is-front .vt-hero__slide-in img{animation:vt-product-float 4.6s ease-in-out infinite;}
@keyframes vt-hero-clock-in{
  0%{opacity:0;transform:translate3d(120px,96px,-110px) scale(.58) rotate(18deg);filter:blur(2px) saturate(.94);}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0deg);filter:none;}
}
@keyframes vt-product-float{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-12px) rotate(-.7deg);}}
@keyframes vt-shadow-breath{0%,100%{transform:translateX(-50%) scaleX(1);opacity:.72;}50%{transform:translateX(-50%) scaleX(.82);opacity:.42;}}

/* Puntos de navegacion: ocultos (el hero avanza solo) */
.vt-hero__dots{display:none;}
.vt-hero__dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(27,68,110,.28);cursor:pointer;transition:transform .2s ease,background .2s ease,width .2s ease;}
.vt-hero__dot:hover{background:rgba(27,68,110,.55);}
.vt-hero__dot.is-active{width:26px;border-radius:6px;background:var(--vt-orange);}

/* Reduced motion: cambia solo con fundido, sin giro ni flote */
@media (prefers-reduced-motion: reduce){
  .vt-hero__slide{transform:none;transition:opacity .35s ease;}
  .vt-hero__slide.is-front{transform:none;}
  .vt-hero__slide.is-leaving{transform:none;}
  .vt-hero__slide.is-next,
  .vt-hero__slide.is-prev{opacity:0;transform:none;}
  .vt-hero__slide.is-front .vt-hero__slide-in{animation:none;}
  .vt-hero.is-turning .vt-hero__showcase::after{animation:none;}
}

/* Responsive: mismo comportamiento, mas compacto */
@media(max-width:980px){
  .vt-hero__showcase{position:static;left:auto;transform:none;max-width:none;margin:6px auto 30px;width:min(340px,82%);}
  .vt-hero__wheel{width:100%;height:330px;}
  /* Misma animación de giro que escritorio, pero con arranque reducido: los
     120/96px de escritorio son demasiados para el ancho móvil y empujaban el
     producto fuera del recorte del hero. Se conserva perspectiva y overflow. */
  .vt-hero__slide.is-front.is-entering{animation:vt-hero-clock-in-sm .78s cubic-bezier(.22,.9,.2,1) both;}
}
@keyframes vt-hero-clock-in-sm{
  0%{opacity:0;transform:translate3d(38px,30px,-70px) scale(.66) rotate(12deg);filter:blur(2px) saturate(.94);}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0deg);filter:none;}
}


/* ============================================================
   FICHA JSON — precio en Poppins + badge/ahorro
   ============================================================ */
:root{
  --vt-font-price:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* Precio en PURO Poppins (antes heredaba Plus Jakarta Sans) */
.vt-single__price,
.vt-single__price del,
.vt-single__price ins,
.vt-single__price .amount{
  font-family:var(--vt-font-price);
  font-variant-numeric:tabular-nums;
}

/* Badge "-15% hoy" */
.vt-single__badge{
  display:inline-block;margin-left:10px;vertical-align:middle;
  font-family:var(--vt-font-price);font-weight:700;font-size:12px;
  color:#fff;background:var(--vt-orange);
  padding:3px 9px;border-radius:999px;letter-spacing:.02em;
}

/* Texto "Ahorras S/ X" */
.vt-single__save{
  display:block;margin-top:6px;
  font-family:var(--vt-font-price);font-weight:600;font-size:13px;
  color:var(--vt-teal);
}

/* Subtitulo del resumen (resumen.subtitulo del JSON) */
.vt-single__sub{
  font-family:var(--vt-font-body);font-size:15px;color:var(--vt-muted,#66707a);
  margin:-6px 0 14px;line-height:1.5;
}

/* Bullets del resumen (resumen.bullets del JSON) */
.vt-single__bullets{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px;}
.vt-single__bullets li{position:relative;padding-left:22px;font-size:14.5px;color:var(--vt-text);line-height:1.45;}
.vt-single__bullets li::before{
  content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;
  background:var(--vt-teal);
}

/* Subtitulo dentro de una pestana (seccion.subtitulo del JSON) */
.vt-tab__sub{font-size:14px;color:var(--vt-muted,#66707a);margin:0 0 12px;}

/* Nota gris al pie de una seccion (bloque tipo "nota") */
.ficha-nota{font-size:12.5px;color:var(--vt-muted,#66707a);margin:22px 0;}

/* ============================================================
   14. RESENAS DEL SITIO  (pagina /resenas + seccion del home)
   ============================================================ */

/* --- Estrellas (compartidas) --- */
.vt-stars{display:inline-flex;gap:2px;line-height:0;}
.vt-star{width:15px;height:15px;fill:#dcdad0;flex:none;}
.vt-star.is-on{fill:var(--vt-orange);}

/* --- Pagina /resenas --- */
.vt-resenas{padding:0 0 80px;}

/* Cabecera con resenas: titulo a la izquierda, calificacion al costado */
.vt-resenas__head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap;
  border-bottom:1px solid var(--vt-line);padding:14px 0 30px;margin-bottom:44px;}
.vt-resenas__head-main{flex:1;min-width:240px;}
.vt-resenas__eyebrow{margin:0 0 10px;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--vt-teal);font-weight:600;}
.vt-resenas__title{font-size:34px;font-weight:600;margin:0 0 18px;line-height:1.15;position:relative;padding-bottom:18px;}
.vt-resenas__title::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:4px;border-radius:4px;background:var(--vt-orange);}
.vt-resenas__score{text-align:right;flex:none;}
.vt-resenas__score b{display:block;font-family:var(--vt-font-head);font-size:40px;font-weight:600;color:var(--vt-navy);line-height:1;margin-bottom:8px;}
.vt-resenas__score .vt-star{width:16px;height:16px;}
.vt-resenas__score span{display:block;margin-top:8px;font-size:12.5px;color:#9a9a90;}

/* Cabecera sin resenas todavia: es una invitacion, no una vitrina vacia */
.vt-resenas__head--first{display:block;text-align:center;border-bottom:0;padding:26px 0 0;margin-bottom:32px;}
.vt-resenas__head--first .vt-resenas__title{font-size:32px;padding-bottom:0;margin-bottom:16px;}
.vt-resenas__head--first .vt-resenas__title::after{display:none;}
.vt-resenas__lead{max-width:460px;margin:0 auto;font-size:15px;line-height:1.65;color:#5f7d95;}

.vt-resenas__alert{border-radius:var(--vt-radius);padding:14px 18px;margin-bottom:24px;font-size:14px;}
.vt-resenas__alert--err{background:#fbeeee;color:#9c3b3b;border:1px solid #f0d6d6;}

.vt-resenas__box{background:var(--vt-white);border:1px solid var(--vt-line);border-radius:var(--vt-radius-lg);padding:34px 34px 32px;margin-bottom:52px;}
.vt-resenas__head--first + .vt-resenas__box{max-width:620px;margin-left:auto;margin-right:auto;}
.vt-resenas__box-t{font-size:20px;font-weight:600;margin:0 0 8px;}
.vt-resenas__box-p{margin:0 0 28px;font-size:14.5px;color:#5f7d95;line-height:1.6;}
.vt-resenas__grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;margin-bottom:22px;}
.vt-field{display:flex;flex-direction:column;gap:8px;}
.vt-field > span{font-size:13px;color:#5f7d95;}
.vt-field input,.vt-field textarea{width:100%;font:inherit;font-size:14.5px;color:var(--vt-text);background:var(--vt-white);border:1px solid var(--vt-line);border-radius:var(--vt-radius);padding:12px 14px;}
.vt-field input:focus,.vt-field textarea:focus{outline:none;border-color:var(--vt-teal);box-shadow:0 0 0 3px rgba(119,211,203,.18);}
.vt-field textarea{resize:vertical;min-height:130px;line-height:1.6;}

/* Pie del formulario: el boton necesita aire propio */
.vt-resenas__actions{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  margin-top:32px;padding-top:24px;border-top:1px solid #f2f0e9;}
.vt-resenas__actions .vt-btn{padding:14px 34px;font-size:14.5px;}
.vt-resenas__note{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:#8a8a80;max-width:340px;line-height:1.5;}
.vt-resenas__note svg{width:15px;height:15px;flex:none;}
.vt-resenas__hp{position:absolute;left:-9999px;height:1px;overflow:hidden;}

/* Calificacion con estrellas (radios en orden inverso para el hover) */
.vt-rate{border:0;padding:0;margin:0 0 30px;display:flex;align-items:center;flex-direction:row-reverse;justify-content:flex-end;gap:2px;}
.vt-rate legend{float:left;font-size:13px;color:#5f7d95;margin-right:16px;padding:0;line-height:32px;}
.vt-rate input{position:absolute;opacity:0;width:1px;height:1px;}
.vt-rate label{cursor:pointer;line-height:0;padding:2px;}
.vt-rate label svg{width:28px;height:28px;fill:#dcdad0;transition:fill .12s ease,transform .12s ease;}
.vt-rate label:hover svg,.vt-rate label:hover ~ label svg{fill:var(--vt-orange);transform:scale(1.08);}
.vt-rate input:checked ~ label svg{fill:var(--vt-orange);}
.vt-rate input:focus-visible + label svg{outline:2px solid var(--vt-teal);outline-offset:2px;}

/* Gracias */
.vt-resenas__thanks{text-align:center;padding:44px 34px 40px;}
.vt-resenas__thanks-ic{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:var(--vt-teal);color:var(--vt-teal-dark);margin-bottom:20px;}
.vt-resenas__thanks-ic svg{width:28px;height:28px;}
.vt-resenas__thanks h2{font-size:23px;margin:0 0 12px;}
.vt-resenas__thanks p{margin:0 auto 28px;max-width:420px;color:#5f7d95;font-size:14.5px;line-height:1.65;}
.vt-resenas__thanks .vt-btn{padding:14px 34px;font-size:14.5px;}
.vt-resenas__again{margin:0 auto 22px!important;font-size:13.5px;color:#5f7d95;}
.vt-resenas__skip{display:inline-block;margin-top:20px;font-size:13px;color:#5f7d95;text-decoration:underline;}

/* Listado */
.vt-resenas__list{display:flex;flex-direction:column;gap:16px;}
.vt-resena{border:1px solid var(--vt-line);border-radius:var(--vt-radius);padding:22px 24px;background:var(--vt-white);}
.vt-resena__head{display:flex;align-items:center;gap:13px;margin-bottom:14px;}
.vt-resena__av{width:36px;height:36px;border-radius:50%;background:var(--vt-teal);color:var(--vt-teal-dark);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600;flex:none;}
.vt-resena__who{flex:1;min-width:0;}
.vt-resena__name{margin:0;font-size:14.5px;font-weight:600;color:var(--vt-navy);}
.vt-resena__ok{display:inline-block;font-size:11px;font-weight:500;color:#0F6E56;background:#E1F5EE;padding:2px 9px;border-radius:var(--vt-radius-pill);margin-left:5px;vertical-align:1px;}
.vt-resena__meta{margin:0;font-size:12px;color:#9a9a90;}
.vt-resena__text{margin:0;font-size:14.5px;line-height:1.65;}

/* --- Seccion del home --- */
.vt-hresenas{background:var(--vt-gray);}
.vt-hresenas__eyebrow{text-align:center;margin:0 0 4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--vt-teal);font-weight:600;}
.vt-hresenas__title{margin-bottom:6px;}
.vt-hresenas__avg{text-align:center;margin:0 0 32px;font-size:14px;color:#5f7d95;}
.vt-hresenas__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
.vt-hresena{background:var(--vt-white);border-radius:var(--vt-radius-lg);padding:22px 20px;}
.vt-hresena__text{margin:12px 0 16px;font-size:14.5px;line-height:1.6;}
.vt-hresena__foot{display:flex;align-items:center;gap:10px;border-top:1px solid #ececE4;padding-top:14px;}
.vt-hresena__av{width:34px;height:34px;border-radius:50%;background:var(--vt-tan);color:#5F3A12;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex:none;}
.vt-hresena__who{display:flex;flex-direction:column;line-height:1.35;}
.vt-hresena__who b{font-size:14px;color:var(--vt-navy);font-weight:600;}
.vt-hresena__who small{font-size:11.5px;color:#9a9a90;}
.vt-hresenas__cta{text-align:center;margin-top:28px;}

@media(max-width:600px){
  .vt-resenas__title{font-size:25px;}
  .vt-resenas__head{gap:24px;padding-bottom:24px;margin-bottom:32px;}
  .vt-resenas__score{text-align:left;}
  .vt-resenas__box{padding:24px 20px;}
  .vt-resenas__actions{flex-direction:column-reverse;align-items:stretch;gap:18px;}
  .vt-resenas__actions .vt-btn{width:100%;text-align:center;}
  .vt-resenas__note{max-width:none;}
  .vt-rate legend{float:none;width:100%;margin:0 0 8px;}
  .vt-rate{flex-wrap:wrap-reverse;}
}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* Selector de pedido en /resenas */
.vt-pedidos{border:0;padding:0;margin:0 0 30px;}
.vt-pedidos legend{font-size:13px;color:#5f7d95;padding:0;margin-bottom:12px;}
.vt-pedido{display:block;cursor:pointer;margin-bottom:10px;}
.vt-pedido input{position:absolute;opacity:0;width:1px;height:1px;}
.vt-pedido__box{display:flex;flex-direction:column;gap:4px;border:1px solid var(--vt-line);border-radius:var(--vt-radius);padding:14px 16px;transition:border-color .15s ease,background .15s ease;}
.vt-pedido__box b{font-size:14px;font-weight:600;color:var(--vt-navy);}
.vt-pedido__box small{font-size:12px;color:#9a9a90;}
.vt-pedido:hover .vt-pedido__box{border-color:var(--vt-teal-soft);}
.vt-pedido input:checked + .vt-pedido__box{border-color:var(--vt-teal);background:rgba(119,211,203,.08);box-shadow:inset 3px 0 0 var(--vt-teal);}
.vt-pedido input:focus-visible + .vt-pedido__box{outline:2px solid var(--vt-teal);outline-offset:2px;}
.vt-pedidos__hint{margin:14px 0 0;font-size:12px;color:#9a9a90;}
.vt-pedidos__one{margin:0 0 30px;font-size:13.5px;color:#5f7d95;}
.vt-pedidos__one b{color:var(--vt-navy);}
.vt-resenas__again{margin:0 0 14px!important;font-size:13.5px;color:#5f7d95;}
.vt-resenas__skip{display:block;margin-top:14px;font-size:13px;color:#5f7d95;text-decoration:underline;}

/* ============================================================
   15. PROMOCIONES (home)
   ------------------------------------------------------------
   Las cards se leen como cards porque la SECCION tiene tono y
   ellas son blancas: el contraste lo pone el fondo, no una
   sombra. Las fotos son de ~300px: siempre contain y con tope.
   ============================================================ */
.vt-promos{background:var(--vt-promos-bg,#F2F7F7);padding:56px 0;}
.vt-promos__title{text-align:center;margin:0 0 28px;}

/* --- Promo principal --- */
.vt-promo--big{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,48%);align-items:center;gap:44px;
  background:linear-gradient(135deg,#ffffff 0%,#F7FBFB 58%,#EDF6F5 100%);border:1px solid #E2EDEC;border-radius:26px;
  padding:52px 56px;margin-bottom:20px;color:var(--vt-navy);overflow:hidden;
  box-shadow:0 24px 60px -24px rgba(27,68,110,.28);transition:transform .35s ease,box-shadow .35s ease;}
.vt-promo--big:hover{transform:translateY(-3px);box-shadow:0 30px 70px -22px rgba(27,68,110,.34);}
.vt-promo__body{position:relative;min-width:0;z-index:1;}
.vt-promo__flag{display:inline-flex;align-items:center;gap:7px;width:fit-content;background:linear-gradient(135deg,var(--vt-orange),var(--vt-orange-dark));color:#fff;
  font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:7px 15px;border-radius:var(--vt-radius-pill);margin-bottom:18px;box-shadow:0 8px 18px -6px rgba(246,166,86,.6);}
.vt-promo__flag svg{width:14px;height:14px;}
.vt-promo__name{margin:0 0 12px;font-size:clamp(28px,3vw,36px);font-weight:700;line-height:1.18;letter-spacing:-.01em;}
.vt-promo__name a{color:var(--vt-navy);}
.vt-promo__name a:hover{color:var(--vt-teal-dark);}
.vt-promo__desc{margin:0 0 28px;font-size:15.5px;line-height:1.65;color:#5f7d95;max-width:48ch;}
.vt-promo__buy{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.vt-promo__buy .vt-btn{padding:15px 34px;font-size:15px;border-radius:14px;box-shadow:0 14px 28px -10px rgba(119,211,203,.55);}
.vt-promo__price{font-size:26px;font-weight:700;color:var(--vt-navy);white-space:nowrap;}
.vt-promo__price del{font-weight:400;color:#9a9a90;font-size:.62em;margin-right:8px;}
.vt-promo__price ins{text-decoration:none;color:inherit;}
.vt-promo__ph{position:relative;display:flex;align-items:center;justify-content:center;z-index:1;}
.vt-promo__ph img{max-width:100%;max-height:400px;width:auto;height:auto;object-fit:contain;display:block;
  filter:drop-shadow(0 30px 44px rgba(27,68,110,.22));transition:transform .4s ease;}
.vt-promo--big:hover .vt-promo__ph img{transform:translateY(-6px) scale(1.02);}

/* --- Las otras tres --- */
.vt-promos__mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.vt-mini{display:flex;align-items:center;gap:16px;background:var(--vt-white);border:1px solid #E7EFEE;
  border-radius:20px;padding:16px 18px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
  box-shadow:0 10px 26px -18px rgba(27,68,110,.3);}
.vt-mini:hover{transform:translateY(-3px);border-color:var(--vt-teal);box-shadow:0 20px 38px -20px rgba(27,68,110,.34);}
.vt-mini__img{display:flex;align-items:center;justify-content:center;width:92px;height:92px;flex:none;
  background:transparent;border-radius:16px;padding:4px;}
.vt-mini__img img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;
  filter:drop-shadow(0 8px 14px rgba(27,68,110,.14));}
.vt-mini__body{display:flex;flex-direction:column;gap:4px;min-width:0;}
.vt-mini__off{display:inline-flex;width:fit-content;font-size:11px;font-weight:800;color:#fff;background:var(--vt-orange);padding:2px 9px;border-radius:var(--vt-radius-pill);letter-spacing:.03em;}
.vt-mini__name{font-size:14.5px;font-weight:700;color:var(--vt-navy);line-height:1.32;margin-top:2px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.vt-mini__price{font-size:15px;font-weight:700;color:var(--vt-navy);}
.vt-mini__price del{font-weight:400;color:#a8a69c;font-size:.72em;margin-right:5px;}
.vt-mini__price ins{text-decoration:none;color:inherit;}
.vt-mini__cta{display:inline-flex;align-items:center;gap:7px;margin-top:5px;font-size:12.5px;font-weight:700;color:var(--vt-teal-dark);}
.vt-mini__cta svg{width:19px;height:19px;padding:4px;background:var(--vt-orange);color:#fff;border-radius:50%;
  flex:none;transition:transform .18s ease;box-shadow:0 6px 12px -4px rgba(246,166,86,.6);}
.vt-mini:hover .vt-mini__cta svg{transform:translateX(3px);}

@media(max-width:1100px) and (min-width:901px){
  .vt-mini{gap:12px;padding:14px;}
  .vt-mini__img{width:74px;height:74px;}
  .vt-mini__name{font-size:13px;}
  .vt-mini__price{font-size:14px;}
}
@media(max-width:900px){
  .vt-promos{padding:40px 0;}
  .vt-promo--big{grid-template-columns:1fr;gap:24px;padding:30px 24px;border-radius:22px;}
  .vt-promo__ph{order:-1;}
  .vt-promo__ph img{max-height:260px;}
  .vt-promo__name{font-size:24px;}
  .vt-promos__mini{grid-template-columns:1fr;gap:12px;}
  .vt-mini{padding:14px;gap:14px;}
  .vt-mini__img{width:80px;height:80px;}
}

/* ============================================================
   16. PAGINAS LEGALES (terminos, privacidad, devoluciones)
   ============================================================ */
.vt-legal{padding:34px 0 80px;}
.vt-legal__head{margin-bottom:38px;}
.vt-legal__eyebrow{margin:0 0 8px;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--vt-teal);font-weight:600;}
.vt-legal__date{margin:16px 0 0;font-size:13px;color:#9a9a90;}

.vt-legal__cols{display:grid;grid-template-columns:250px minmax(0,1fr);gap:52px;align-items:start;}

/* Indice lateral */
.vt-legal__aside{position:sticky;top:24px;}
.vt-legal__toc-t{margin:0 0 12px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#9a9a90;font-weight:600;}
.vt-legal__toc ol{list-style:none;margin:0;padding:0;counter-reset:vtleg;}
.vt-legal__toc li{counter-increment:vtleg;}
.vt-legal__toc a{display:flex;gap:9px;padding:6px 0 6px 12px;font-size:13px;line-height:1.45;color:#6f7f8c;border-left:2px solid var(--vt-line);transition:.15s;}
.vt-legal__toc a::before{content:counter(vtleg);font-size:11px;color:#b9b7ad;flex:none;padding-top:1px;}
.vt-legal__toc a:hover{color:var(--vt-navy);border-left-color:var(--vt-teal-soft);}
.vt-legal__toc a.is-on{color:var(--vt-teal-dark);border-left-color:var(--vt-teal);font-weight:600;}
.vt-legal__toc a.is-on::before{color:var(--vt-teal);}
.vt-legal__otros{margin-top:28px;padding-top:20px;border-top:1px solid var(--vt-line);}
.vt-legal__otros ul{list-style:none;margin:0;padding:0;}
.vt-legal__otros a{display:block;padding:5px 0;font-size:13px;color:#6f7f8c;}
.vt-legal__otros a:hover{color:var(--vt-teal-dark);text-decoration:underline;}

/* Documento */
.vt-legal__doc{max-width:74ch;font-size:15px;line-height:1.75;color:#3f4a52;}
.vt-legal__doc p{margin:0 0 16px;}
.vt-legal__doc a{color:var(--vt-teal-dark);text-decoration:underline;text-underline-offset:2px;}
.vt-legal__doc a:hover{color:var(--vt-orange);}
.vt-legal__doc b{color:var(--vt-navy);font-weight:600;}
.vt-legal__doc ul,.vt-legal__doc ol{margin:0 0 18px;padding-left:22px;}
.vt-legal__doc li{margin-bottom:9px;}
.vt-legal__doc li::marker{color:var(--vt-teal);}

.vt-legal__intro{padding-bottom:8px;margin-bottom:14px;color:#5a656e;}
.vt-legal__intro p:first-child{font-size:15.5px;}

.vt-legal__sec{padding-top:26px;scroll-margin-top:96px;}
.vt-legal__sec h2{display:flex;align-items:baseline;gap:12px;margin:0 0 14px;font-size:19px;font-weight:600;color:var(--vt-navy);line-height:1.35;}
.vt-legal__num{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;border-radius:8px;
  background:var(--vt-cream);color:var(--vt-teal-dark);font-size:12.5px;font-weight:700;align-self:center;}

/* Bloque destacado */
.vt-legal__callout{background:var(--vt-cream);border-left:3px solid var(--vt-orange);border-radius:0 var(--vt-radius) var(--vt-radius) 0;padding:16px 20px;margin:0 0 18px;}
.vt-legal__callout p{margin:0;font-size:14.5px;color:#4a4a42;}

/* Contacto */
.vt-legal__contacto{list-style:none;padding:0;}
.vt-legal__contacto li{padding:9px 14px;background:var(--vt-gray);border-radius:var(--vt-radius);margin-bottom:8px;font-size:14px;}

/* Tabla de plazos */
.vt-legal__tabla{overflow-x:auto;margin:0 0 18px;border:1px solid var(--vt-line);border-radius:var(--vt-radius);}
.vt-legal__tabla table{width:100%;border-collapse:collapse;font-size:14px;}
.vt-legal__tabla th{background:var(--vt-cream);text-align:left;font-weight:600;color:var(--vt-navy);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;padding:11px 16px;}
.vt-legal__tabla td{padding:13px 16px;border-top:1px solid var(--vt-line);vertical-align:top;}
.vt-legal__tabla tr td:last-child{white-space:nowrap;color:var(--vt-navy);}

.vt-legal__foot{margin-top:44px;padding-top:22px;border-top:1px solid var(--vt-line);}
.vt-legal__foot p{margin:0;font-size:14px;color:#8a8a80;}

@media(max-width:960px){
  .vt-legal__cols{grid-template-columns:1fr;gap:26px;}
  .vt-legal__aside{position:static;background:var(--vt-gray);border-radius:var(--vt-radius-lg);padding:18px 20px;}
  .vt-legal__toc a{padding-left:10px;}
  .vt-legal__doc{max-width:none;font-size:14.5px;}
  .vt-legal__sec h2{font-size:17.5px;}
}
.vt-footer__legal{margin:0 0 4px;font-size:12px;opacity:.62;line-height:1.6;}
.vt-footer__copy{margin:0;}
.vt-footer__contact p a{display:inline-flex;align-items:center;gap:8px;color:inherit;}
.vt-footer__contact p a:hover{color:var(--vt-teal);}

/* ============================================================
   17. PREGUNTAS FRECUENTES
   ============================================================ */
.vt-faq__lead{margin:16px 0 0;font-size:15px;color:#5f7d95;max-width:56ch;line-height:1.65;}
.vt-faq__count{margin-left:auto;font-size:10.5px;color:#b9b7ad;background:var(--vt-gray);border-radius:100px;padding:1px 7px;}
.vt-legal__toc a.is-on .vt-faq__count{background:#e1f2f0;color:var(--vt-teal-dark);}

.vt-faq__doc{max-width:78ch;}
.vt-faq__grupo{margin-bottom:40px;scroll-margin-top:96px;}
.vt-faq__gt{display:flex;align-items:center;gap:11px;margin:0 0 16px;font-size:19px;font-weight:600;color:var(--vt-navy);}
.vt-faq__ic{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;
  background:var(--vt-cream);color:var(--vt-teal-dark);flex:none;}
.vt-faq__ic svg{width:17px;height:17px;}

.vt-faq__list{display:flex;flex-direction:column;gap:8px;}
.vt-faq__item{border:1px solid var(--vt-line);border-radius:var(--vt-radius);background:var(--vt-white);overflow:hidden;transition:border-color .15s ease;}
.vt-faq__item:hover{border-color:var(--vt-teal-soft);}
.vt-faq__item[open]{border-color:var(--vt-teal-soft);background:#fcfcfa;}
.vt-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;cursor:pointer;
  font-size:15px;font-weight:600;color:var(--vt-navy);line-height:1.45;list-style:none;}
.vt-faq__item summary::-webkit-details-marker{display:none;}
.vt-faq__item summary:focus-visible{outline:2px solid var(--vt-teal);outline-offset:-2px;border-radius:var(--vt-radius);}
.vt-faq__chev{width:17px;height:17px;flex:none;color:var(--vt-teal);transition:transform .2s ease;}
.vt-faq__item[open] .vt-faq__chev{transform:rotate(180deg);}
.vt-faq__a{padding:0 18px 17px;font-size:14.5px;line-height:1.7;color:#5a656e;}
.vt-faq__a p{margin:0 0 10px;}
.vt-faq__a p:last-child{margin-bottom:0;}
.vt-faq__a b{color:var(--vt-navy);font-weight:600;}
.vt-faq__a a{color:var(--vt-teal-dark);text-decoration:underline;text-underline-offset:2px;}
.vt-faq__a a:hover{color:var(--vt-orange);}
.vt-faq__ref{margin-top:12px!important;font-size:13px;}
.vt-faq__ref a{display:inline-flex;align-items:center;gap:5px;text-decoration:none;font-weight:600;}
.vt-faq__ref a::after{content:"→";font-weight:400;}
.vt-faq__ref a:hover{text-decoration:underline;}

/* Cierre: contacto */
.vt-faq__cta{background:var(--vt-cream);border-radius:var(--vt-radius-lg);padding:30px 28px;text-align:center;margin-top:8px;}
.vt-faq__cta h2{margin:0 0 8px;font-size:19px;font-weight:600;color:var(--vt-navy);}
.vt-faq__cta p{margin:0 0 20px;font-size:14.5px;color:#5f7d95;}
.vt-faq__cta-btns{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;}
.vt-faq__cta-btns .vt-btn{padding:12px 24px;font-size:14px;}
.vt-faq__cta-note{margin:18px 0 0!important;font-size:12.5px;color:#9a9a90;}

@media(max-width:960px){
  .vt-faq__doc{max-width:none;}
  .vt-faq__item summary{font-size:14.5px;padding:14px 16px;}
  .vt-faq__cta-btns .vt-btn{width:100%;text-align:center;}
}

/* ============================================================
   18. LIBRO DE RECLAMACIONES
   ============================================================ */
/* Enlace del pie, bajo medios de pago */
.vt-lr__link{display:inline-flex;align-items:center;margin-top:18px;color:inherit;transition:opacity .15s;}
.vt-lr__link:hover{opacity:.82;}
.vt-lr__img{display:block;width:auto;height:64px;max-width:100%;object-fit:contain;}

/* Página */
.vt-lr{padding:34px 0 80px;}
.vt-lr__form,.vt-lr__provider,.vt-lr__legal,.vt-lr__errs{max-width:860px;margin-left:auto;margin-right:auto;}

.vt-lr__masthead{text-align:center;margin:48px 0 34px;}
.vt-lr__maintitle{font-size:clamp(26px,4vw,34px);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--vt-navy);margin:0;}

.vt-lr__provider{display:flex;align-items:center;gap:20px;padding-bottom:22px;margin-bottom:30px;border-bottom:1px solid var(--vt-line);}
.vt-lr__provider-ic{flex:none;color:var(--vt-navy);}
.vt-lr__provider-ic svg{width:52px;height:52px;}
.vt-lr__provider-data{display:flex;flex-direction:column;gap:4px;}
.vt-lr__provider-data strong{font-family:var(--vt-font-head);font-size:16px;color:var(--vt-navy);}
.vt-lr__provider-data span{font-size:13px;color:#8a8a80;line-height:1.5;}

.vt-lr__errs{background:#fbeeee;border:1px solid #f0d6d6;border-radius:var(--vt-radius);padding:14px 18px;margin-bottom:22px;}
.vt-lr__errs b{font-size:13.5px;color:#9c3b3b;}
.vt-lr__errs ul{margin:8px 0 0;padding-left:18px;font-size:13.5px;color:#9c3b3b;}
.vt-lr__errs li{margin-bottom:4px;}

.vt-lr__hp{position:absolute;left:-9999px;height:1px;overflow:hidden;}
.vt-lr__block{margin-bottom:34px;}
.vt-lr__legend{font-family:var(--vt-font-head);font-size:18px;font-weight:700;color:var(--vt-navy);margin:0 0 22px;padding-bottom:10px;border-bottom:1px solid var(--vt-line);}

.vt-lr__grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:18px;}
.vt-lr__form .vt-field{margin-bottom:18px;}
.vt-lr__grid2 .vt-field{margin-bottom:0;}
.vt-field > span{display:block;font-family:var(--vt-font-head);font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#7a8792;margin-bottom:7px;}
.vt-field input,.vt-field textarea{width:100%;font:inherit;font-size:14.5px;color:var(--vt-navy);background:var(--vt-white);border:1px solid var(--vt-line);border-radius:var(--vt-radius);padding:12px 14px;transition:border-color .15s ease;}
.vt-field input:focus,.vt-field textarea:focus{outline:none;border-color:var(--vt-teal);}
.vt-field input::placeholder,.vt-field textarea::placeholder{color:#b5bcc2;}
.vt-field textarea{resize:vertical;min-height:70px;line-height:1.55;}
.vt-field.has-err input,.vt-field.has-err textarea,.has-err .vt-field input{border-color:#d99b9b;background:#fffafa;}
.vt-field select,.vt-lr__docrow select{width:100%;font:inherit;font-size:14.5px;color:var(--vt-navy);background:var(--vt-white);border:1px solid var(--vt-line);border-radius:var(--vt-radius);padding:12px 38px 12px 14px;min-height:48px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231B4B6B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px;}
.vt-field select:focus,.vt-lr__docrow select:focus{outline:none;border-color:var(--vt-teal);}
.vt-lr__docrow{display:grid;grid-template-columns:150px 1fr;gap:10px;}
.vt-lr__menor{border-left:2px solid var(--vt-teal-soft);padding-left:16px;margin:4px 0 18px;}

.vt-lr__inline{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:18px;}
.vt-lr__inline-label{font-family:var(--vt-font-head);font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#7a8792;flex:none;}
.vt-lr__inline.has-err .vt-lr__inline-label{color:#9c3b3b;}
.vt-radios{display:flex;gap:10px;flex-wrap:wrap;}
.vt-radio{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--vt-line);border-radius:var(--vt-radius-pill);padding:8px 18px;font-size:13.5px;color:var(--vt-navy);cursor:pointer;transition:border-color .15s ease,background .15s ease;}
.vt-radio:hover{border-color:var(--vt-teal-soft);}
.vt-radio input{accent-color:var(--vt-teal);}
.vt-radio:has(input:checked){border-color:var(--vt-teal);background:rgba(119,211,203,.08);}

.vt-lr .vt-check{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:#5f7d95;line-height:1.55;cursor:pointer;margin-bottom:4px;}
.vt-lr .vt-check a{color:var(--vt-teal-dark);text-decoration:underline;}
.vt-lr .vt-check.has-err{color:#9c3b3b;}

.vt-lr__foot{display:flex;flex-direction:column;align-items:center;gap:22px;padding:12px 0 0;}
.vt-lr__foot .vt-check{max-width:600px;justify-content:center;}
.vt-lr__submit{min-width:340px;max-width:100%;padding:15px 34px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;text-align:center;}

.vt-lr__legal{margin-top:36px;background:var(--vt-gray);border-radius:var(--vt-radius-lg);padding:22px 26px;}
.vt-lr__legal p{margin:0;padding:12px 0;font-size:13px;line-height:1.6;color:#5a5a52;border-bottom:1px solid rgba(0,0,0,.06);}
.vt-lr__legal p:first-child{padding-top:0;}
.vt-lr__legal p:last-child{padding-bottom:0;border-bottom:0;}
.vt-lr__legal b{color:var(--vt-navy);}

/* Confirmación */
.vt-lr--ok{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 180px);padding:56px 0;box-sizing:border-box;}
.vt-lr--ok .vt-container{width:100%;}
.vt-lr__ok{max-width:560px;margin:0 auto;text-align:center;background:var(--vt-white);border:1px solid var(--vt-line);border-radius:var(--vt-radius-lg);padding:52px 40px;display:flex;flex-direction:column;align-items:center;}
.vt-lr__ok-ic{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:var(--vt-teal);color:var(--vt-teal-dark);margin-bottom:20px;}
.vt-lr__ok-ic svg{width:28px;height:28px;}
.vt-lr__ok h1{font-size:24px;margin:0 0 10px;color:var(--vt-navy);text-align:center;}
.vt-lr__num{margin:0 0 16px!important;font-size:14px;color:#8a8a80;text-align:center;}
.vt-lr__num b{display:inline-block;font-size:17px;color:var(--vt-navy);background:var(--vt-cream);padding:4px 12px;border-radius:var(--vt-radius-pill);margin-left:4px;}
.vt-lr__ok p{margin:0 auto 24px;max-width:400px;font-size:14.5px;line-height:1.65;color:#5f7d95;text-align:center;}
.vt-lr__ok-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;width:100%;}

@media(max-width:700px){
  .vt-lr__foot .vt-btn{width:100%;text-align:center;}
  .vt-lr__submit{min-width:0;width:100%;}
  .vt-lr__ok-btns .vt-btn{width:100%;text-align:center;}
  .vt-lr__provider{gap:14px;}
  .vt-lr__provider-ic svg{width:42px;height:42px;}
}

/* ============================================================
   19. AJUSTES RESPONSIVE DE LO NUEVO
   ============================================================ */
/* 1. Correos y palabras largas no deben empujar el ancho en pantallas chicas */
.vt-legal__doc,.vt-faq__a,.vt-lr__provider-data span,.vt-hoja p,.vt-legal__contacto{overflow-wrap:anywhere;}

/* 2. La tabla de plazos avisa que se desliza en vez de cortarse en seco */
.vt-legal__tabla{-webkit-overflow-scrolling:touch;}
@media(max-width:600px){
  .vt-legal__tabla table{min-width:420px;}
  .vt-legal__tabla{position:relative;}
}

/* 3. Banners de promo: entre 900 y 1100 quedan apretados en 3 columnas */
@media(max-width:1100px) and (min-width:901px){
  .vt-mini{gap:11px;padding:12px;}
  .vt-mini__img{width:70px;height:70px;}
  .vt-mini__name{font-size:13px;}
  .vt-mini__price{font-size:13.5px;}
}

/* 4. En móvil el índice se pliega: 15 cláusulas empujaban el texto fuera de pantalla */
.vt-idx__sum{display:none;}
@media(max-width:960px){
  .vt-idx__sum{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;
    list-style:none;font-size:13.5px;font-weight:600;color:var(--vt-navy);}
  .vt-idx__sum::-webkit-details-marker{display:none;}
  .vt-idx__sum svg{width:16px;height:16px;color:var(--vt-teal);transition:transform .2s ease;}
  .vt-idx[open] .vt-idx__sum svg{transform:rotate(180deg);}
  .vt-idx[open] .vt-idx__sum{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--vt-line);}
  .vt-legal__toc-t{display:none;}
}

/* 5. Cabeceras y botones de las páginas nuevas en pantallas chicas */
@media(max-width:600px){
  .vt-lr__maintitle{font-size:24px;}
  .vt-lr__ok{padding:32px 20px;}
  .vt-lr__docrow{grid-template-columns:120px 1fr;}
  .vt-faq__lead{font-size:14px;}
  .vt-legal__date{font-size:12.5px;}
  /* El banner de promo con la foto de 88px y texto: en móvil da aire */
  .vt-mini{padding:12px;gap:12px;}
  .vt-mini__img{width:76px;height:76px;}
}

/* ============================================================
   20. HERO: RUEDA ORBITAL
   ------------------------------------------------------------
   Los 4 productos van montados en una rueda cuyo eje esta por
   DEBAJO del producto visible (--r). Al avanzar, la rueda gira
   -90deg: el saliente baja por la izquierda y el entrante sube
   por la derecha.

   Clave: el producto contra-rota exactamente lo mismo que la
   rueda, con IDENTICA duracion y curva. Por eso viaja por el
   arco pero nunca se inclina ni gira sobre si mismo.
   ============================================================ */
/* Sin overflow: el que recorta es .vt-hero. Asi el producto sale por el borde
   inferior del hero en vez de cortarse en el aire a media seccion.
   El eje va tan abajo que, en reposo, los tres que esperan quedan por DEBAJO
   del hero y el propio hero los tapa. Minimo: mitad del alto del hero (310) +
   mitad del alto del producto (280) = 590px. Por eso 660px. */
.vt-hero__wheel--cross{--r:660px;--dur:1.6s;--ease:cubic-bezier(.42,.02,.18,1);overflow:visible;}

/* Todos los productos estan siempre visibles y a plena opacidad. Lo que los
   oculta es la geometria, no un apagado: el eje esta tan abajo (--r) que en
   reposo los tres que esperan caen FUERA del recorte de la rueda. Solo entran
   a cuadro mientras gira, que es justo lo que se quiere ver.

   El radio no es decorativo: para que no asomen en reposo debe cumplirse
   --r >= (mitad del ancho de la rueda) + (mitad del ancho del producto).
   En el peor caso el producto llena el ancho de la rueda (foto cuadrada o
   apaisada, que se contiene a 480px), asi que el minimo es 240 + 240 = 480px.
   Por eso 520px, con margen. Si se baja de 480, vuelven a asomar en reposo. */
.vt-hero__wheel--cross .vt-hero__slide{
  position:absolute;inset:0;opacity:1;visibility:visible;
  transform-origin:50% calc(50% + var(--r));
  transform:rotate(calc((var(--i) * 90deg) + var(--w,0deg)));
  transition:transform var(--dur) var(--ease);
  animation:none;z-index:1;
}
.vt-hero__wheel--cross .vt-hero__slide.is-front{z-index:5;}
.vt-hero__wheel--cross .vt-hero__slide.is-front.is-entering{animation:none;}

/* La contra-rotacion: mismo tiempo y misma curva que la rueda. */
.vt-hero__wheel--cross .vt-hero__slide-in{
  transform-origin:50% 50%;
  transform:rotate(calc(-1 * ((var(--i) * 90deg) + var(--w,0deg))));
  transition:transform var(--dur) var(--ease);
  animation:none;
}

.vt-hero__wheel--cross .vt-hero__slide:nth-child(1){--i:0;}
.vt-hero__wheel--cross .vt-hero__slide:nth-child(2){--i:1;}
.vt-hero__wheel--cross .vt-hero__slide:nth-child(3){--i:2;}
.vt-hero__wheel--cross .vt-hero__slide:nth-child(4){--i:3;}

/* El flotar del producto vive en la imagen, no en el marco: asi no pelea
   con el giro de la rueda. Se pausa mientras gira. */
.vt-hero__wheel--cross .vt-hero__slide.is-front .vt-hero__slide-in img{animation:vt-product-float 4.6s ease-in-out infinite;}
.vt-hero.is-turning .vt-hero__slide-in img{animation-play-state:paused;}

/* El texto de la izquierda cambia con el producto */
.vt-hero__text h1,.vt-hero__text p{transition:opacity .32s ease,transform .32s ease;}
.vt-hero__text.is-swapping h1,.vt-hero__text.is-swapping p{opacity:0;transform:translateY(-8px);}

@media(prefers-reduced-motion:reduce){
  .vt-hero__wheel--cross .vt-hero__slide,
  .vt-hero__wheel--cross .vt-hero__slide-in{transition:none;}
  .vt-hero__wheel--cross .vt-hero__slide-in img{animation:none;}
}
@media(max-width:980px){
  /* La rueda NO recorta (igual que en escritorio): el recorte lo hace .vt-hero.
     Con overflow:hidden aquí, el producto se cortaba en el borde de la vitrina
     ANTES de completar su arco hacia el borde inferior del hero. El eje sube a
     460px para que, en una vitrina de 330px, los que esperan sigan cayendo
     fuera del hero en reposo (165 mitad vitrina + 150 mitad producto = 315). */
  .vt-hero__wheel--cross{--r:460px;overflow:visible;}
}

/* ============================================================
   TOASTS: avisos flotantes (agregar al carrito, etc.)
   ============================================================ */
.vt-toasts{position:fixed;right:20px;bottom:20px;z-index:2000;display:flex;flex-direction:column;gap:10px;max-width:min(360px,calc(100vw - 40px));pointer-events:none;}
.vt-toast{display:flex;align-items:flex-start;gap:11px;background:#fff;border:1px solid var(--vt-line);border-left:4px solid var(--vt-teal);border-radius:12px;padding:13px 14px;box-shadow:0 16px 38px -12px rgba(27,68,110,.28);pointer-events:auto;opacity:0;transform:translateX(20px);transition:opacity .3s ease,transform .3s ease;}
.vt-toast.is-in{opacity:1;transform:translateX(0);}
.vt-toast--err{border-left-color:#d9534f;}
.vt-toast__ic{flex:none;display:flex;color:var(--vt-teal);margin-top:1px;}
.vt-toast--err .vt-toast__ic{color:#d9534f;}
.vt-toast__ic svg{width:22px;height:22px;}
.vt-toast__msg{flex:1;min-width:0;font-family:var(--vt-font-head);font-size:13.5px;line-height:1.4;color:var(--vt-navy);}
.vt-toast__x{flex:none;background:none;border:0;color:#9aa6b0;font-size:20px;line-height:1;cursor:pointer;padding:0 2px;transition:color .15s ease;}
.vt-toast__x:hover{color:var(--vt-navy);}
@media(max-width:600px){
  .vt-toasts{right:12px;left:12px;bottom:12px;max-width:none;}
}

/* Hover: oscurecer/aclarar con filtro para no salir de la paleta. */
.vt-btn--orange:hover,.vt-mini-cart__checkout:hover,.vt-single__summary .single_add_to_cart_button:hover,.vt-single__summary form.cart button.button:hover{filter:brightness(.93);}
.vt-order-btn--solid:hover{filter:brightness(1.12);}

/* ====== Radio uniforme de botones: 10px ====== */
.vt-btn,.button,.vt-order-btn,.vt-hero__cta,.vt-mini-cart__reco-btn,.checkout-button,.wc-block-cart__submit-button,.vt-cart__update,.single_add_to_cart_button,.vt-single__summary form.cart button.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{border-radius:10px;}
/* Registro paso 3: la dirección va sobre los tres selectores, a fila completa. */
.vt-ubigeo .vt-ubigeo__address{float:none!important;width:auto!important;margin:0 0 14px!important;}
.vt-auth [data-vt-register-panel="3"] .vt-ubigeo__address{margin-bottom:16px!important;}
