/*
Theme Name: Vexibot
Theme URI: https://vexibot.com
Description: Child theme de Bricks para Vexibot — chatbots, asistentes virtuales y automatizacion con IA. Identidad propia: teal + menta, tipografia redondeada, motivos de burbuja de chat.
Author: Vexibot
Template: bricks
Version: 1.0.0
*/

/* ============================================================
   VEXIBOT DESIGN SYSTEM
   ============================================================ */
:root{
  --vx-teal:#0FA968;
  --vx-teal-deep:#0B8A53;
  --vx-teal-700:#0A704A;
  --vx-teal-ink:#0A2E22;
  --vx-ink:#122A22;
  --vx-ink-soft:#536b61;
  --vx-mint:#E8F7EF;
  --vx-mint-soft:#F4FBF8;
  --vx-mint-deep:#D6EFE2;
  --vx-line:#E1EEE7;
  --vx-line-strong:#CFE4D9;
  --vx-white:#ffffff;
  --vx-amber:#F2A93B; /* solo dato/acento funcional, uso minimo */

  --vx-r:16px;
  --vx-r-sm:12px;
  --vx-r-lg:24px;
  --vx-r-pill:999px;

  --vx-shadow-sm:0 1px 2px rgba(10,46,34,.05);
  --vx-shadow:0 1px 2px rgba(10,46,34,.04), 0 10px 30px -16px rgba(10,46,34,.18);
  --vx-shadow-lg:0 2px 4px rgba(10,46,34,.04), 0 24px 48px -22px rgba(10,46,34,.22);

  --vx-head:'Poppins',system-ui,-apple-system,Segoe UI,sans-serif;
  --vx-body:'Nunito',system-ui,-apple-system,Segoe UI,sans-serif;

  --vx-maxw:1200px;
}

/* ---------- Base ---------- */
html{scroll-behavior:smooth;}
body{
  font-family:var(--vx-body);
  color:var(--vx-ink);
  background:var(--vx-white);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  letter-spacing:.005em;
}
h1,h2,h3,h4,h5,.vx-head{font-family:var(--vx-head);color:var(--vx-teal-ink);font-weight:600;line-height:1.15;letter-spacing:-.015em;}
h1{font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:700;}
h2{font-size:clamp(1.7rem,3vw,2.5rem);}
h3{font-size:clamp(1.2rem,2vw,1.5rem);}
a{color:var(--vx-teal-deep);text-decoration:none;transition:color .15s ease;}
a:hover{color:var(--vx-teal-700);}
p{margin:0 0 1rem;}
::selection{background:var(--vx-mint-deep);color:var(--vx-teal-ink);}

.vx-wrap{max-width:var(--vx-maxw);margin-inline:auto;padding-inline:24px;}
.vx-eyebrow{font-family:var(--vx-head);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vx-teal-deep);display:inline-block;}
.vx-lead{font-size:1.18rem;color:var(--vx-ink-soft);max-width:60ch;}
.vx-muted{color:var(--vx-ink-soft);}

/* ---------- Buttons ---------- */
.vx-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.wp-element-button,
.woocommerce-page a.button{
  font-family:var(--vx-head);
  font-weight:600;
  font-size:.97rem;
  letter-spacing:.005em;
  border-radius:var(--vx-r-pill);
  padding:.78em 1.5em;
  display:inline-flex;align-items:center;gap:.5em;
  line-height:1.1;
  border:1.5px solid transparent;
  cursor:pointer;
  transition:transform .12s ease, background .15s ease, box-shadow .15s ease, border-color .15s ease;
  text-align:center;
}
.vx-btn--primary,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce-page #payment #place_order,
.wp-element-button,
.woocommerce a.button.checkout-button{
  background:var(--vx-teal);
  color:#fff;
  box-shadow:var(--vx-shadow-sm);
}
.vx-btn--primary:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce-page #payment #place_order:hover,
.wp-element-button:hover,
.woocommerce a.button.checkout-button:hover{
  background:var(--vx-teal-deep);
  color:#fff;
  transform:translateY(-1px);
}
.vx-btn--ghost,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  background:var(--vx-white);
  color:var(--vx-teal-ink);
  border-color:var(--vx-line-strong);
}
.vx-btn--ghost:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover{
  background:var(--vx-mint-soft);
  border-color:var(--vx-teal);
  color:var(--vx-teal-ink);
}
.vx-btn--light{background:var(--vx-white);color:var(--vx-teal-ink);}
.vx-btn--light:hover{background:var(--vx-mint);transform:translateY(-1px);}
.vx-btn svg{width:18px;height:18px;flex:0 0 auto;}

/* ============================================================
   HEADER (sticky horizontal top bar)
   ============================================================ */
.vx-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,255,255,.86);
  backdrop-filter:saturate(150%) blur(12px);
  -webkit-backdrop-filter:saturate(150%) blur(12px);
  border-bottom:1px solid var(--vx-line);
}
.vx-header__inner{
  max-width:var(--vx-maxw);margin-inline:auto;
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;min-height:72px;padding:0 24px;
}
.vx-logo{display:inline-flex;align-items:center;gap:11px;font-family:var(--vx-head);font-weight:700;font-size:1.3rem;color:var(--vx-teal-ink);letter-spacing:-.02em;}
.vx-logo:hover{color:var(--vx-teal-ink);}
.vx-logo__mark{width:38px;height:38px;flex:0 0 auto;display:block;}
.vx-nav{display:flex;align-items:center;gap:30px;}
.vx-nav a{font-family:var(--vx-head);font-weight:500;font-size:.96rem;color:var(--vx-ink);}
.vx-nav a:hover{color:var(--vx-teal-deep);}
.vx-header__actions{display:flex;align-items:center;gap:16px;}
.vx-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--vx-r-pill);color:var(--vx-teal-ink);border:1px solid var(--vx-line);background:var(--vx-white);transition:border-color .15s, background .15s;}
.vx-cart:hover{border-color:var(--vx-teal);background:var(--vx-mint-soft);color:var(--vx-teal-ink);}
.vx-cart__count{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:var(--vx-r-pill);background:var(--vx-teal);color:#fff;font-family:var(--vx-head);font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;}
.vx-burger{display:none;width:42px;height:42px;border-radius:var(--vx-r-sm);border:1px solid var(--vx-line);background:#fff;align-items:center;justify-content:center;cursor:pointer;}

/* ============================================================
   HERO
   ============================================================ */
.vx-hero{position:relative;background:linear-gradient(180deg,var(--vx-mint-soft) 0%,#fff 78%);overflow:hidden;}
.vx-hero__inner{max-width:var(--vx-maxw);margin-inline:auto;padding:72px 24px 84px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.vx-hero h1{margin:.5rem 0 1.1rem;}
.vx-hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:1.8rem;}
.vx-hero__trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:1.8rem;color:var(--vx-ink-soft);font-size:.92rem;font-weight:600;}
.vx-hero__trust span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}
.vx-hero__trust svg{width:18px;height:18px;color:var(--vx-teal);flex:0 0 auto;}

/* chat mockup (brand motif, justified by giro) */
.vx-chat{background:#fff;border:1px solid var(--vx-line);border-radius:var(--vx-r-lg);box-shadow:var(--vx-shadow-lg);overflow:hidden;}
.vx-chat__bar{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--vx-line);background:var(--vx-mint-soft);}
.vx-chat__ava{width:36px;height:36px;border-radius:var(--vx-r-pill);background:var(--vx-teal);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.vx-chat__ava svg{width:20px;height:20px;color:#fff;}
.vx-chat__who{font-family:var(--vx-head);font-weight:600;font-size:.92rem;color:var(--vx-teal-ink);line-height:1.2;}
.vx-chat__status{font-size:.76rem;color:var(--vx-teal-deep);font-weight:700;display:flex;align-items:center;gap:5px;}
.vx-chat__dot{width:7px;height:7px;border-radius:50%;background:var(--vx-teal);display:inline-block;}
.vx-chat__body{padding:20px 18px;display:flex;flex-direction:column;gap:12px;background:#fff;}
.vx-bub{max-width:78%;padding:11px 15px;border-radius:18px;font-size:.95rem;line-height:1.45;}
.vx-bub--in{align-self:flex-start;background:var(--vx-mint);color:var(--vx-teal-ink);border-bottom-left-radius:5px;}
.vx-bub--out{align-self:flex-end;background:var(--vx-teal);color:#fff;border-bottom-right-radius:5px;}
.vx-chat__typing{align-self:flex-start;background:var(--vx-mint);border-bottom-left-radius:5px;padding:13px 16px;border-radius:18px;display:inline-flex;gap:4px;}
.vx-chat__typing i{width:7px;height:7px;border-radius:50%;background:var(--vx-teal);opacity:.5;animation:vxblink 1.2s infinite;}
.vx-chat__typing i:nth-child(2){animation-delay:.2s;}
.vx-chat__typing i:nth-child(3){animation-delay:.4s;}
@keyframes vxblink{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}

/* ============================================================
   SECTION + CARDS
   ============================================================ */
.vx-section{padding:84px 0;}
.vx-section--mint{background:var(--vx-mint-soft);}
.vx-section__head{max-width:62ch;margin:0 auto 48px;text-align:center;}
.vx-section__head .vx-lead{margin-inline:auto;}

.vx-grid{display:grid;gap:24px;}
.vx-grid--3{grid-template-columns:repeat(3,1fr);}
.vx-grid--4{grid-template-columns:repeat(4,1fr);}
.vx-grid--2{grid-template-columns:repeat(2,1fr);}

.vx-card{background:#fff;border:1px solid var(--vx-line);border-radius:var(--vx-r-lg);padding:30px 28px;transition:transform .15s ease, box-shadow .2s ease, border-color .2s ease;}
.vx-card:hover{transform:translateY(-3px);box-shadow:var(--vx-shadow);border-color:var(--vx-line-strong);}
.vx-card__icon{width:52px;height:52px;border-radius:var(--vx-r);background:var(--vx-mint);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.vx-card__icon svg{width:26px;height:26px;color:var(--vx-teal-deep);}
.vx-card h3{margin:0 0 9px;}
.vx-card p{color:var(--vx-ink-soft);margin:0 0 18px;font-size:1rem;}
.vx-card__link{font-family:var(--vx-head);font-weight:600;font-size:.95rem;display:inline-flex;align-items:center;gap:6px;}
.vx-card__link svg{width:16px;height:16px;transition:transform .15s ease;}
.vx-card__link:hover svg{transform:translateX(3px);}
.vx-card__from{font-family:var(--vx-head);font-size:.85rem;color:var(--vx-ink-soft);font-weight:600;}
.vx-card__from b{color:var(--vx-teal-ink);font-size:1.05rem;}

/* steps */
.vx-step{position:relative;padding-left:0;text-align:center;}
.vx-step__n{width:46px;height:46px;border-radius:var(--vx-r-pill);background:var(--vx-teal-ink);color:#fff;font-family:var(--vx-head);font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:1.1rem;}
.vx-step h3{font-size:1.15rem;}
.vx-step p{color:var(--vx-ink-soft);font-size:1rem;}

/* feature row with bubble check */
.vx-checklist{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.vx-checklist li{display:flex;gap:12px;align-items:flex-start;font-size:1.02rem;}
.vx-checklist svg{flex:0 0 auto;width:24px;height:24px;color:var(--vx-teal);margin-top:2px;}

/* CTA band */
.vx-cta{background:var(--vx-teal-ink);border-radius:var(--vx-r-lg);padding:56px 48px;text-align:center;color:#fff;position:relative;overflow:hidden;}
.vx-cta h2{color:#fff;}
.vx-cta p{color:#cdeada;max-width:54ch;margin-inline:auto;}
.vx-cta .vx-hero__cta{justify-content:center;}

/* ============================================================
   WOOCOMMERCE — catalog loop
   ============================================================ */
.woocommerce .products ul, .woocommerce ul.products{gap:24px;margin:0;display:grid !important;grid-template-columns:repeat(3,1fr);}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{
  width:auto !important;margin:0 !important;float:none !important;
  background:#fff;border:1px solid var(--vx-line);border-radius:var(--vx-r-lg);
  padding:24px 22px 26px;transition:transform .15s ease, box-shadow .2s ease, border-color .2s ease;
  display:flex;flex-direction:column;
}
.woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:var(--vx-shadow);border-color:var(--vx-line-strong);}
.woocommerce ul.products li.product a img{border-radius:var(--vx-r);margin-bottom:16px;background:var(--vx-mint-soft);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--vx-head);font-weight:600;font-size:1.12rem;color:var(--vx-teal-ink);padding:0;margin:0 0 6px;}
.woocommerce ul.products li.product .price{color:var(--vx-teal-ink);font-family:var(--vx-head);font-weight:700;font-size:1.25rem;margin-bottom:14px;}
.woocommerce ul.products li.product .price .woocommerce-Price-amount{font-weight:700;}
.woocommerce ul.products li.product .price del{color:var(--vx-ink-soft);font-weight:400;}
.woocommerce ul.products li.product .button{margin-top:auto;}
.woocommerce .star-rating{display:none;} /* sin reseñas */

/* category pills / woo result count + ordering */
.woocommerce .woocommerce-result-count{color:var(--vx-ink-soft);font-size:.95rem;}
.woocommerce .woocommerce-ordering select,
.vx-select{font-family:var(--vx-body);border:1px solid var(--vx-line-strong);border-radius:var(--vx-r-pill);padding:.5em 1em;color:var(--vx-ink);background:#fff;}

/* price suffix +IVA */
.woocommerce-Price-amount + .vx-iva{font-size:.7em;}
.price .woocommerce-price-suffix{color:var(--vx-ink-soft);font-family:var(--vx-body);font-weight:600;font-size:.7em;margin-left:4px;}

/* ============================================================
   WOOCOMMERCE — single product
   ============================================================ */
.single-product div.product{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.single-product div.product .woocommerce-product-gallery{margin:0;}
.single-product div.product .woocommerce-product-gallery img{border-radius:var(--vx-r-lg);background:var(--vx-mint-soft);}
.single-product div.product .product_title{font-family:var(--vx-head);font-weight:700;color:var(--vx-teal-ink);font-size:2rem;margin-bottom:.4em;}
.single-product div.product p.price,.single-product div.product span.price{color:var(--vx-teal-ink);font-family:var(--vx-head);font-weight:700;font-size:1.9rem;}
.single-product .woocommerce-product-details__short-description{color:var(--vx-ink-soft);font-size:1.05rem;}
.single-product .summary .vx-incluye{margin-top:8px;}
.single-product form.cart{margin-top:24px;}
.single-product .quantity input{border:1px solid var(--vx-line-strong);border-radius:var(--vx-r-sm);padding:.5em;font-family:var(--vx-body);}
.woocommerce-tabs ul.tabs{padding:0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--vx-mint-soft);border-radius:var(--vx-r-pill);border:1px solid var(--vx-line);margin-right:8px;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--vx-teal);border-color:var(--vx-teal);}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--vx-line);}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--vx-head);font-weight:600;}
.woocommerce-tabs .vx-incluye-list{list-style:none;padding:0;display:grid;gap:12px;}
.woocommerce-tabs .vx-incluye-list li{display:flex;gap:11px;align-items:flex-start;}
.woocommerce-tabs .vx-incluye-list svg{width:22px;height:22px;color:var(--vx-teal);flex:0 0 auto;margin-top:2px;}
.related.products>h2,.upsells>h2{font-family:var(--vx-head);}

/* breadcrumb */
.woocommerce .woocommerce-breadcrumb{color:var(--vx-ink-soft);font-size:.9rem;font-family:var(--vx-head);}
.woocommerce .woocommerce-breadcrumb a{color:var(--vx-teal-deep);}

/* ============================================================
   WOOCOMMERCE — cart & checkout
   ============================================================ */
.woocommerce table.shop_table{border:1px solid var(--vx-line);border-radius:var(--vx-r-lg);border-collapse:separate;overflow:hidden;}
.woocommerce table.shop_table th{font-family:var(--vx-head);color:var(--vx-teal-ink);background:var(--vx-mint-soft);}
.woocommerce table.shop_table td{background:transparent;}
.woocommerce table.cart td.product-thumbnail img{max-width:64px;}
.woocommerce-cart table.cart img{border-radius:var(--vx-r-sm);}
.woocommerce .cart-collaterals .cart_totals h2,.woocommerce-checkout h3{font-family:var(--vx-head);color:var(--vx-teal-ink);}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce-checkout select,.select2-container .select2-selection{
  border:1px solid var(--vx-line-strong) !important;border-radius:var(--vx-r-sm) !important;padding:.7em .9em;font-family:var(--vx-body);min-height:auto;
}
.woocommerce form .form-row label{font-family:var(--vx-head);font-weight:600;font-size:.92rem;color:var(--vx-ink);}
.woocommerce #payment,.woocommerce-checkout-review-order{background:var(--vx-mint-soft);border:1px solid var(--vx-line);border-radius:var(--vx-r-lg);padding:8px 22px 22px;}
.woocommerce #payment ul.payment_methods{border-color:var(--vx-line);}
.woocommerce .cart_totals .order-total .woocommerce-Price-amount,.woocommerce-checkout-review-order .order-total .woocommerce-Price-amount{color:var(--vx-teal-ink);font-family:var(--vx-head);}
.woocommerce-info,.woocommerce-message{border-top-color:var(--vx-teal);border-radius:var(--vx-r-sm);}
.woocommerce-message::before,.woocommerce-info::before{color:var(--vx-teal);}
.woocommerce .coupon .input-text{border-radius:var(--vx-r-pill) !important;}

/* notices */
.woocommerce-error{border-top-color:var(--vx-amber);}

/* ============================================================
   FOOTER
   ============================================================ */
.vx-footer{background:var(--vx-teal-ink);color:#bfe0cf;padding:64px 0 28px;margin-top:0;}
.vx-footer a{color:#d9efe2;}
.vx-footer a:hover{color:#fff;}
.vx-footer__grid{max-width:var(--vx-maxw);margin-inline:auto;padding:0 24px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;}
.vx-footer h4{font-family:var(--vx-head);color:#fff;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px;font-weight:600;}
.vx-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:11px;}
.vx-footer__brand .vx-logo{color:#fff;}
.vx-footer__brand p{color:#9fcdb6;max-width:34ch;margin-top:16px;font-size:.97rem;}
.vx-footer__contact li{display:flex;gap:10px;align-items:flex-start;color:#cfe7da;font-size:.97rem;}
.vx-footer__contact svg{width:18px;height:18px;color:var(--vx-teal);flex:0 0 auto;margin-top:3px;}
.vx-footer__bottom{max-width:var(--vx-maxw);margin:44px auto 0;padding:22px 24px 0;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.vx-footer__bottom p{margin:0;color:#9fcdb6;font-size:.9rem;}
.vx-pay{display:flex;align-items:center;gap:10px;}
.vx-pay svg{height:30px;width:auto;border-radius:5px;background:#fff;padding:3px 6px;display:block;}

/* ---------- Sector pills ---------- */
.vx-pillrow{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:880px;margin-inline:auto;}
.vx-pill{display:inline-flex;align-items:center;gap:9px;padding:.6em 1.15em;border-radius:var(--vx-r-pill);background:var(--vx-white);border:1px solid var(--vx-line-strong);font-family:var(--vx-head);font-weight:500;font-size:.95rem;color:var(--vx-teal-ink);transition:border-color .15s, background .15s;}
.vx-pill:hover{border-color:var(--vx-teal);background:var(--vx-mint-soft);}
.vx-pill svg{width:17px;height:17px;color:var(--vx-teal);}

/* ---------- Hero halves ---------- */
.vx-hero__copy{max-width:560px;}

/* ---------- Includes title on product ---------- */
.vx-incluye-title{font-family:var(--vx-head);font-size:1.15rem;color:var(--vx-teal-ink);margin:0 0 16px;}

/* ---------- Legal / prose pages ---------- */
.vx-legal{max-width:820px;margin:0 auto;padding:64px 24px 80px;}
.vx-legal h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:.3em;}
.vx-legal .vx-legal__meta{color:var(--vx-ink-soft);font-size:.95rem;margin-bottom:2.4rem;font-family:var(--vx-head);}
.vx-legal h2{font-size:1.4rem;margin:2.2rem 0 .7rem;}
.vx-legal h3{font-size:1.12rem;margin:1.6rem 0 .5rem;}
.vx-legal p,.vx-legal li{color:var(--vx-ink);font-size:1.04rem;}
.vx-legal ul{padding-left:1.2rem;display:grid;gap:.5rem;margin:0 0 1.2rem;}
.vx-legal a{color:var(--vx-teal-deep);text-decoration:underline;}
.vx-legal .vx-callout{background:var(--vx-mint-soft);border:1px solid var(--vx-line);border-radius:var(--vx-r);padding:18px 22px;margin:1.4rem 0;color:var(--vx-ink-soft);font-size:.97rem;}

/* ---------- Contact page ---------- */
.vx-contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:var(--vx-maxw);margin:0 auto;padding:64px 24px 80px;}
.vx-contact__card{background:var(--vx-mint-soft);border:1px solid var(--vx-line);border-radius:var(--vx-r-lg);padding:32px;}
.vx-contact__list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:18px;}
.vx-contact__list li{display:flex;gap:13px;align-items:flex-start;}
.vx-contact__list svg{width:22px;height:22px;color:var(--vx-teal);flex:0 0 auto;margin-top:2px;}
.vx-contact__list b{font-family:var(--vx-head);color:var(--vx-teal-ink);display:block;font-size:.95rem;}
.vx-contact__list span{color:var(--vx-ink-soft);}
@media(max-width:880px){.vx-contact{grid-template-columns:1fr;gap:28px;}}

/* ---------- Shop / archive header ---------- */
.woocommerce-products-header,.term-description{max-width:var(--vx-maxw);margin-inline:auto;padding-inline:24px;}
.woocommerce-products-header__title.page-title{font-family:var(--vx-head);font-weight:700;color:var(--vx-teal-ink);font-size:clamp(2rem,4vw,2.6rem);margin-bottom:.3em;}
.term-description{color:var(--vx-ink-soft);font-size:1.1rem;margin-bottom:2rem;}

/* main content vertical rhythm (Woo/legal inside Bricks content) */
.single-product main .product,.woocommerce-cart main,.woocommerce-checkout main,.woocommerce-account main,.archive.woocommerce main{max-width:var(--vx-maxw);margin-inline:auto;padding:48px 24px 72px;}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:1024px){
  .vx-grid--4{grid-template-columns:repeat(2,1fr);}
  .vx-grid--3{grid-template-columns:repeat(2,1fr);}
  .vx-footer__grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:880px){
  .vx-hero__inner{grid-template-columns:1fr;gap:40px;}
  .single-product div.product{grid-template-columns:1fr;gap:28px;}
  .woocommerce .products ul, .woocommerce ul.products{grid-template-columns:repeat(2,1fr);}
  .vx-nav{display:none;}
  .vx-burger{display:flex;}
}
@media(max-width:560px){
  body{font-size:16px;}
  .vx-section{padding:56px 0;}
  .vx-grid--3,.vx-grid--4,.vx-grid--2{grid-template-columns:1fr;}
  .vx-footer__grid{grid-template-columns:1fr;gap:30px;}
  .woocommerce .products ul, .woocommerce ul.products{grid-template-columns:1fr;}
  .vx-cta{padding:40px 24px;}
  .vx-footer__bottom{justify-content:flex-start;}
}

/* mobile menu (simple, toggled by header script) */
.vx-mobile{display:none;position:fixed;inset:72px 0 auto 0;background:#fff;border-bottom:1px solid var(--vx-line);box-shadow:var(--vx-shadow);z-index:999;padding:16px 24px 24px;}
.vx-mobile.open{display:block;}
.vx-mobile a{display:block;font-family:var(--vx-head);font-weight:600;padding:12px 0;color:var(--vx-ink);border-bottom:1px solid var(--vx-line);}
.vx-mobile a:last-child{border-bottom:0;}

/* ============================================================
   PREMIUM v2 — fotografía, overlays en degradado y capas
   ============================================================ */
:root{
  --vx-grad-teal:linear-gradient(135deg,rgba(15,169,104,.92),rgba(10,46,34,.72));
  --vx-grad-ink:linear-gradient(180deg,rgba(10,46,34,0) 0%,rgba(10,46,34,.78) 100%);
  --vx-shadow-float:0 30px 60px -28px rgba(10,46,34,.45);
}

/* ---- utilidades de foto con overlay ---- */
.vx-photo{position:relative;border-radius:var(--vx-r-lg);overflow:hidden;background:var(--vx-mint);}
.vx-photo img{display:block;width:100%;height:100%;object-fit:cover;}
.vx-photo--ink::after{content:"";position:absolute;inset:0;background:var(--vx-grad-ink);}
.vx-photo--teal::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,169,104,.34),rgba(10,46,34,.30));mix-blend-mode:multiply;}

/* ============================================================
   HERO v2 (foto + chat flotante + chip de estado)
   ============================================================ */
.vx-hero{padding-bottom:96px;}
.vx-hero__inner{align-items:center;}
.vx-hero__media{position:relative;}
.vx-hero__photo{position:relative;border-radius:var(--vx-r-lg);overflow:hidden;box-shadow:var(--vx-shadow-lg);aspect-ratio:4/3.4;background:var(--vx-mint);}
.vx-hero__photo img{width:100%;height:100%;object-fit:cover;display:block;}
.vx-hero__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(15,169,104,.18) 0%,rgba(10,46,34,0) 42%,rgba(10,46,34,.28) 100%);}
.vx-hero__chat{position:absolute;left:-26px;bottom:-34px;width:300px;max-width:78%;box-shadow:var(--vx-shadow-float);}
.vx-hero__chat .vx-chat__body{padding:16px 15px;gap:9px;}
.vx-hero__chat .vx-bub{font-size:.86rem;padding:9px 12px;}
.vx-float-chip{position:absolute;top:22px;right:-14px;background:#fff;border:1px solid var(--vx-line);border-radius:var(--vx-r-pill);padding:.6em 1.05em;font-family:var(--vx-head);font-weight:600;font-size:.83rem;color:var(--vx-teal-ink);box-shadow:var(--vx-shadow);display:inline-flex;align-items:center;gap:8px;z-index:2;}
.vx-float-chip .vx-dot{width:8px;height:8px;border-radius:50%;background:var(--vx-teal);box-shadow:0 0 0 4px var(--vx-mint);}

/* ============================================================
   SPLIT (foto + tarjeta superpuesta + texto)
   ============================================================ */
.vx-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.vx-split--rev .vx-split__media{order:2;}
.vx-split__media{position:relative;}
.vx-split__photo{position:relative;border-radius:var(--vx-r-lg);overflow:hidden;box-shadow:var(--vx-shadow-lg);aspect-ratio:1/1;}
.vx-split__photo img{width:100%;height:100%;object-fit:cover;display:block;}
.vx-split__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(15,169,104,.16),rgba(10,46,34,.30));}
.vx-split__card{position:absolute;right:-28px;bottom:-28px;background:#fff;border:1px solid var(--vx-line);border-radius:var(--vx-r);box-shadow:var(--vx-shadow-float);padding:20px 22px;width:270px;max-width:80%;}
.vx-split__card h4{font-family:var(--vx-head);font-size:.95rem;color:var(--vx-teal-ink);margin:0 0 12px;font-weight:600;}
.vx-split__card ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.vx-split__card li{display:flex;align-items:center;gap:10px;font-family:var(--vx-head);font-weight:500;font-size:.92rem;color:var(--vx-ink);}
.vx-split__card li svg{width:18px;height:18px;color:var(--vx-teal);flex:0 0 auto;}
.vx-split__body .vx-checklist{margin:22px 0 26px;}

/* ============================================================
   BANDA CTA con foto + overlay
   ============================================================ */
.vx-cta--photo{position:relative;overflow:hidden;background-size:cover;background-position:center;color:#fff;}
.vx-cta--photo::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(10,46,34,.92) 0%,rgba(11,138,83,.82) 100%);}
.vx-cta--photo .vx-cta__content{position:relative;z-index:1;}
.vx-cta--photo h2{color:#fff;}
.vx-cta--photo p{color:#d4efe1;}

/* acento de burbuja flotante (motivo de marca) */
.vx-bubble-accent{position:absolute;width:128px;height:128px;border-radius:28px 28px 28px 8px;overflow:hidden;box-shadow:var(--vx-shadow-float);border:5px solid #fff;}
.vx-bubble-accent img{width:100%;height:100%;object-fit:cover;}

/* ============================================================
   Responsive v2
   ============================================================ */
@media(max-width:880px){
  .vx-hero{padding-bottom:64px;}
  .vx-hero__photo{aspect-ratio:16/11;}
  .vx-hero__chat{position:static;width:100%;max-width:100%;margin-top:18px;left:0;bottom:0;}
  .vx-float-chip{right:12px;top:12px;}
  .vx-split{grid-template-columns:1fr;gap:28px;}
  .vx-split--rev .vx-split__media{order:0;}
  .vx-split__photo{aspect-ratio:16/11;}
  .vx-split__card{position:static;width:100%;max-width:100%;margin-top:16px;right:0;bottom:0;}
  .vx-bubble-accent{display:none;}
}

/* fix: imagen rellena por posición absoluta (evita colapso con aspect-ratio) */
.vx-hero__photo,.vx-split__photo,.vx-photo{position:relative;}
.vx-hero__photo img,.vx-split__photo img,.vx-photo img{position:absolute !important;inset:0;width:100%;height:100%;object-fit:cover;display:block;}

/* ============================================================
   AUDIT FIXES (forense 2026-06-30) — Top 5 + A/M
   ============================================================ */
/* C1 — reanclar escala tipográfica (Bricks ponía root a 62.5% → rem colapsado) */
html{font-size:100%;}

/* C5/C6 — sacar secciones del cajón de 1100px de Bricks: full-bleed + alineación con header */
body.home #brx-content,.vx-raw #brx-content{max-width:none !important;width:auto !important;margin:0 !important;}

/* C7/A6 — contraste: oscurecer CTA y eyebrow a >=4.5:1 sin tocar el teal de marca */
:root{--vx-cta:#0A7A45;--vx-cta-deep:#086938;}
.vx-btn--primary,
.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce #respond input#submit.alt,.woocommerce-page #payment #place_order,
.wp-element-button,.woocommerce a.button.checkout-button{background:var(--vx-cta);}
.vx-btn--primary:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.woocommerce-page #payment #place_order:hover,.wp-element-button:hover,
.woocommerce a.button.checkout-button:hover{background:var(--vx-cta-deep);}
.vx-eyebrow{color:var(--vx-cta);}
.vx-card__from b{color:var(--vx-teal-ink);}

/* A2/A3/A4 — tap targets >=44px */
.vx-btn{min-height:44px;}
.vx-nav a{padding-block:.7em;}
.vx-footer a{display:inline-block;padding-block:4px;}
.vx-cart{width:44px;height:44px;}

/* A1 — estados de foco de autor (antes: outline computado 'none', 0 reglas de mis componentes) */
.vx-btn:focus-visible,.vx-nav a:focus-visible,.vx-cart:focus-visible,
.vx-card__link:focus-visible,.vx-footer a:focus-visible,.vx-pill:focus-visible,
.vx-logo:focus-visible,.vx-burger:focus-visible,
.woocommerce a.button:focus-visible,.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.woocommerce form .form-row input:focus-visible,
.woocommerce-checkout select:focus-visible{outline:2px solid var(--vx-teal-ink);outline-offset:3px;border-radius:8px;}

/* A7 — prefers-reduced-motion (antes: ausente) */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* AUDIT FIX (robustez de render): foto en flujo + contenedor de altura fija
   (reemplaza el patrón absolute+aspect-ratio que renderizaba de forma inestable) */
.vx-hero__photo,.vx-split__photo,.vx-photo{aspect-ratio:auto !important;position:relative;}
.vx-hero__photo{height:clamp(400px,40vw,560px);}
.vx-split__photo{height:clamp(380px,38vw,520px);}
.vx-hero__photo img,.vx-split__photo img,.vx-photo img{position:static !important;inset:auto !important;width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:880px){.vx-hero__photo{height:300px;}.vx-split__photo{height:300px;}}

/* fotos decorativas como background-image (render fiable, a11y via role=img+aria-label) */
.vx-hero__photo,.vx-split__photo{background-size:cover;background-position:center;background-repeat:no-repeat;}

/* ============================================================
   AUTORÍA / anti-plantilla (dirección de arte 2026-06-30)
   ============================================================ */
:root{--vx-display:'Fraunces',Georgia,'Times New Roman',serif;}

/* I3 — tensión tipográfica: serif display de alto contraste en titulares */
.vx-hero h1,.vx-section__head h2,.vx-split__body h2,.vx-cta h2{
  font-family:var(--vx-display);font-optical-sizing:auto;font-weight:600;letter-spacing:-.018em;
}
.vx-hero h1{line-height:1.03;}
.vx-section__head h2,.vx-split__body h2,.vx-cta h2{line-height:1.06;}

/* I1 — section-heads asimétricos: alineados a la izquierda con índice 01–0N */
body.home #brx-content{counter-reset:vxsec;}
.vx-section__head{
  counter-increment:vxsec;
  text-align:left;max-width:none;margin:0 0 52px;
  display:grid;grid-template-columns:auto 1fr;column-gap:26px;align-items:start;
}
.vx-section__head::before{
  content:counter(vxsec,decimal-leading-zero);
  grid-column:1;grid-row:1/99;
  font-family:var(--vx-head);font-weight:700;font-size:1rem;letter-spacing:.12em;
  color:var(--vx-teal);padding-top:.55em;position:relative;
}
.vx-section__head::after{content:"";} /* reservado */
.vx-section__head>*{grid-column:2;}
.vx-section__head .vx-lead{margin-inline:0;max-width:60ch;}

/* I2 — grid asimétrico en Servicios: stagger vertical editorial (solo desktop) */
@media(min-width:881px){
  .vx-grid--4>*:nth-child(even){margin-top:40px;}
}

/* I4 — banda CTA autorada: split con mock de conversación (sin stock) */
.vx-cta--split{
  display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;
  text-align:left;background:var(--vx-teal-ink);
}
.vx-cta--split .vx-cta__content{text-align:left;}
.vx-cta--split .vx-cta__content .vx-eyebrow{color:#79dcae;}
.vx-cta--split .vx-cta__content p{margin-inline:0;}
.vx-cta--split .vx-hero__cta{justify-content:flex-start;}
.vx-cta__mock{position:relative;}
.vx-cta__mock .vx-chat{box-shadow:var(--vx-shadow-float);}
.vx-cta__mock::before{
  content:"";position:absolute;width:120px;height:120px;right:-18px;top:-26px;
  border-radius:26px 26px 26px 8px;background:rgba(121,220,174,.16);z-index:0;
}
@media(max-width:880px){
  .vx-cta--split{grid-template-columns:1fr;gap:30px;}
  .vx-cta__mock::before{display:none;}
}

/* botón outline sobre banda oscura (CTA autorada) */
.vx-cta--split .vx-btn--ghost{background:transparent;border-color:rgba(255,255,255,.45);color:#fff;}
.vx-cta--split .vx-btn--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff;}
.vx-cta--split .vx-btn--ghost svg{color:#fff;}

/* miniatura de catálogo bulletproof (background-image) */
.woocommerce ul.products li.product .vx-loop-thumb{display:block;width:100%;aspect-ratio:1/1;border-radius:var(--vx-r);margin-bottom:16px;background-color:var(--vx-mint-soft);background-size:cover;background-position:center;background-repeat:no-repeat;}

/* imagen principal de ficha bulletproof */
.single-product div.product .vx-single-thumb{display:block;width:100%;aspect-ratio:4/3;border-radius:var(--vx-r-lg);background-color:var(--vx-mint-soft);background-size:cover;background-position:center;background-repeat:no-repeat;}
