/*
Theme Name: Crea Ventas
Theme URI: https://flowcode-ai.com
Author: FlowCode-AI
Description: Tienda Crea Ventas — distribuidora de alimentos y productos saludables (Nutrisa, Tika Foods, AMA). Block theme con identidad verde fresco + coral.
Version: 1.1.1
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.1
Text Domain: creaventas
*/

:root{
  --ww-cream:#f6f4ec;      /* crema cálida (fondo) */
  --ww-paper:#ffffff;      /* papel */
  --ww-mint:#e7f5f7;       /* verde tenue (banda suave) */
  --ww-ink:#16272e;        /* verde casi negro (texto) */
  --ww-green:#0c8ba3;      /* MARCA: verde hoja (botones, precios, links) */
  --ww-green-2:#17b3c9;    /* verde vivo */
  --ww-green-d:#0c5f77;    /* verde profundo (footer/bandas) */
  --ww-green-dd:#08394a;   /* verde noche */
  --ww-gold:#f5a80a;       /* coral mandarina (acento) */
  --ww-gold-d:#e07d00;     /* coral tostado */
  --ww-gold-soft:#ffcf6b;  /* coral suave */
  --ww-nut:#e8850a;        /* acento cálido */
  --ww-muted:#586a70;      /* gris verdoso */
  --ww-line:#e2e9ea;       /* línea suave */
  --ww-wa:#1f8a4c;
  --ww-radius:16px;
  --ww-shadow:0 22px 55px -26px rgba(12,95,119,.45);
  --ww-wrap:1180px;
  --ww-serif:"Sora", system-ui, sans-serif;
  --ww-sans:"Inter", system-ui, -apple-system, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; background:var(--ww-cream); color:var(--ww-ink); font-family:var(--ww-sans); font-size:17px; line-height:1.65; overflow-x:clip}
img{max-width:100%; height:auto; display:block}
a{color:var(--ww-green); text-decoration:none}
a:hover{color:var(--ww-gold-d)}
h1,h2,h3,h4{font-family:var(--ww-serif); font-weight:700; line-height:1.1; color:var(--ww-ink); margin:0 0 .4em; letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,6vw,4.4rem); font-weight:800}
h2{font-size:clamp(2rem,4vw,3.1rem)}
h3{font-size:1.3rem}
p{margin:0 0 1rem}
.ww-wrap{max-width:var(--ww-wrap); margin-inline:auto; padding-inline:22px}
.ww-rule{display:block; width:140px; height:16px; margin:.7rem 0 1.4rem}
.ww-eyebrow{font-family:var(--ww-sans); font-weight:700; letter-spacing:.2em; text-transform:uppercase; font-size:.74rem; color:var(--ww-gold-d)}
.ww-sec{padding:clamp(58px,8vw,108px) 0}
.ww-center{text-align:center}
.ww-center .ww-rule{margin-inline:auto}
.ww-lead{font-size:1.18rem; color:var(--ww-muted); max-width:64ch}
.ww-center .ww-lead{margin-inline:auto}

/* ===== Crest / logo ===== */
.ww-crest{display:block}
.ww-logo{display:inline-flex; align-items:center; gap:.65rem}
.ww-logo__img{height:96px; width:auto; display:block}
.ww-footer .ww-logo__img{height:96px}
@media(max-width:640px){.ww-logo__img{height:66px}}
.ww-logo__txt{display:flex; flex-direction:column; line-height:1.05}
.ww-logo__txt b{font-family:var(--ww-serif); font-weight:800; font-size:1.55rem; color:var(--ww-green-d); letter-spacing:-.02em}
.ww-logo__txt b i{font-style:normal; font-weight:600; color:var(--ww-gold-d)}
.ww-logo__sub{font-size:.56rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ww-green); margin-top:1px; font-weight:600}

/* ===== Botones ===== */
.ww-btn{display:inline-flex; align-items:center; gap:.5rem; font-family:var(--ww-sans); font-weight:600; font-size:.97rem; padding:.85em 1.6em; border-radius:999px; border:1px solid transparent; cursor:pointer; transition:.2s; line-height:1}
.ww-btn--primary{background:linear-gradient(135deg,var(--ww-green-2),var(--ww-green)); color:#fff; box-shadow:0 12px 26px -12px rgba(31,157,87,.8)}
.ww-btn--primary:hover{color:#fff; transform:translateY(-2px)}
.ww-btn--gold{background:linear-gradient(135deg,var(--ww-gold),var(--ww-gold-d)); color:#fff}
.ww-btn--gold:hover{color:#fff; transform:translateY(-2px)}
.ww-btn--ghost{background:transparent; border-color:currentColor; color:var(--ww-green)}
.ww-btn--ghost:hover{background:var(--ww-green); color:#fff; border-color:var(--ww-green)}
.ww-btn--light{background:#fff; color:var(--ww-green); border-color:var(--ww-line)}
.ww-btn--light:hover{color:var(--ww-green); border-color:var(--ww-gold)}
.ww-btn--wa{background:var(--ww-wa); color:#fff}
.ww-btn--wa:hover{color:#fff; filter:brightness(1.06); transform:translateY(-2px)}
.ww-btn--sm{padding:.62em 1.15em; font-size:.85rem}

/* ===== Barra anuncio ===== */
.ww-announce{background:var(--ww-green-dd); color:#c7e9f0; font-size:.8rem; font-weight:500}
.ww-announce .ww-wrap{display:flex; gap:1.6rem; justify-content:center; align-items:center; padding-block:.5rem; flex-wrap:wrap}
.ww-announce span{display:inline-flex; align-items:center; gap:.4rem}
.ww-announce b{color:var(--ww-gold-soft)}

/* ===== Header ===== */
.ww-header{position:sticky; top:0; z-index:50; background:rgba(246,244,236,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--ww-line)}
.ww-header__in{display:flex; align-items:center; gap:1.4rem; padding-block:.6rem}
.ww-nav{display:flex; gap:1.6rem; margin-left:auto; align-items:center}
.ww-nav a{color:var(--ww-ink); font-weight:500; font-size:.95rem}
.ww-nav a:hover{color:var(--ww-gold-d)}
.ww-header__cta{display:flex; align-items:center; gap:.8rem}
.ww-cart{position:relative; display:inline-flex; align-items:center; gap:.4rem; color:var(--ww-ink); font-weight:600}
.ww-cart__count{background:var(--ww-gold-d); color:#fff; border-radius:999px; font-size:.7rem; min-width:19px; height:19px; display:inline-flex; align-items:center; justify-content:center; padding:0 5px}
.ww-burger{display:none; width:44px; height:44px; border:1px solid var(--ww-line); border-radius:12px; background:var(--ww-paper); cursor:pointer; align-items:center; justify-content:center}
.ww-burger svg{width:22px;height:22px}
#ww-burger-chk{display:none}
.ww-mobile{position:fixed; top:0; left:0; right:0; bottom:0; width:100%; height:100%; background:var(--ww-green-dd); color:#e9f7f9; z-index:80; display:flex; flex-direction:column; gap:1.1rem; padding:5rem 2rem 2rem; transform:translateX(100%); transition:transform .3s; visibility:hidden}
#ww-burger-chk:checked ~ .ww-mobile{transform:translateX(0); visibility:visible}
.ww-mobile a{color:#e9f7f9; font-family:var(--ww-serif); font-size:1.7rem; font-weight:600}
.ww-mobile a.ww-btn--wa{font-family:var(--ww-sans); font-size:1rem; color:#fff; align-self:flex-start}
.ww-mobile__close{position:absolute; top:1.2rem; right:1.4rem; font-size:2rem; cursor:pointer; background:none; border:none; color:#e9f7f9}

/* ===== Hero (ilustrado) ===== */
.ww-hero{position:relative; min-height:clamp(560px,80vh,760px); display:flex; align-items:center; color:#fff; overflow:hidden;
  background:radial-gradient(120% 95% at 78% 8%, #17b3c9 0%, #0e7f9a 42%, #08394a 100%)}
.ww-hero__sky{position:absolute; inset:0; z-index:1; overflow:hidden}
.ww-hero__sky .star{position:absolute; background:var(--ww-gold-soft); border-radius:50%; opacity:.0; animation:wwTwinkle 3.4s ease-in-out infinite}
@keyframes wwTwinkle{0%,100%{opacity:.12; transform:scale(.7)}50%{opacity:.85; transform:scale(1.1)}}
/* sol/halo coral */
.ww-hero__moon{position:absolute; top:10%; right:8%; width:clamp(120px,17vw,220px); height:clamp(120px,17vw,220px); border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #ffe0a8, #f7b23c 60%, #f5a80a); box-shadow:0 0 90px -8px rgba(245,168,10,.5); z-index:0; opacity:.92}
/* burbujas/frutas flotantes */
.ww-hero__art{position:absolute; inset:0; z-index:0; pointer-events:none}
.ww-hero__art .blob{position:absolute; border-radius:46% 54% 60% 40%/52% 44% 56% 48%; opacity:.18; filter:blur(1px); animation:wwFloat 9s ease-in-out infinite}
@keyframes wwFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-22px) rotate(8deg)}}
.ww-hero__in{position:relative; z-index:2; max-width:680px; padding-block:4rem}
.ww-hero h1{color:#fff; text-shadow:0 2px 30px rgba(8,57,74,.4)}
.ww-hero h1 em{font-style:normal; color:var(--ww-gold-soft)}
.ww-hero .ww-eyebrow{color:#cfeef4}
.ww-hero__lead{font-size:1.2rem; color:#dff3f7; max-width:52ch; margin-bottom:1.6rem}
.ww-hero__cta{display:flex; gap:.8rem; flex-wrap:wrap}
.ww-hero__trust{display:flex; gap:1.4rem; flex-wrap:wrap; margin-top:1.9rem; font-size:.85rem; color:#c7e9f0}
.ww-hero__trust span{display:inline-flex; align-items:center; gap:.45rem}
.ww-hero__trust b{color:var(--ww-gold-soft); font-weight:600}
/* chips de marcas en hero */
.ww-hero__brands{display:flex; gap:.5rem; flex-wrap:wrap; margin-top:1.8rem}
.ww-hero__brands span{font-size:.74rem; font-weight:600; letter-spacing:.04em; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22); color:#e6f8fb; padding:.4em .9em; border-radius:999px}

/* ===== Marcas ===== */
.ww-brands{display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem; margin-top:2.4rem}
.ww-brand{position:relative; background:var(--ww-paper); border:1px solid var(--ww-line); border-radius:var(--ww-radius); padding:1.6rem 1.4rem 1.5rem; transition:.25s; overflow:hidden}
.ww-brand::before{content:""; position:absolute; top:0; left:0; right:0; height:5px; background:var(--bc,#17b3c9)}
.ww-brand:hover{transform:translateY(-5px); box-shadow:var(--ww-shadow)}
.ww-brand__badge{display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:14px; font-family:var(--ww-serif); font-weight:800; font-size:1.5rem; color:#fff; background:var(--bc,#17b3c9); margin-bottom:.9rem}
.ww-brand h3{font-size:1.25rem; margin:0 0 .35rem}
.ww-brand p{font-size:.88rem; color:var(--ww-muted); margin:0 0 .9rem}
.ww-brand__lnk{font-size:.8rem; font-weight:700; color:var(--bc,#17b3c9); letter-spacing:.02em}

/* ===== Categorías ===== */
.ww-cats{display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; margin-top:2.4rem}
.ww-cat{position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; gap:.7rem;
  background:var(--ww-paper); border:1px solid var(--ww-line); border-radius:var(--ww-radius); padding:1.8rem 1.1rem 1.5rem; transition:.25s}
.ww-cat:hover{transform:translateY(-5px); box-shadow:var(--ww-shadow); border-color:var(--ww-green-2)}
.ww-cat__ic{width:74px; height:74px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 35% 30%, #fff, var(--ww-mint)); border:1px solid var(--ww-line)}
.ww-cat__ic svg{width:42px; height:42px}
.ww-cat h3{font-size:1.18rem; margin:0; color:var(--ww-ink)}
.ww-cat p{font-size:.85rem; color:var(--ww-muted); margin:0}
.ww-cat__lnk{margin-top:.2rem; font-size:.8rem; font-weight:700; color:var(--ww-green); letter-spacing:.02em}

/* ===== Banda envío / promesa ===== */
.ww-ship{display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; margin-top:2.2rem}
.ww-ship__card{display:flex; gap:.95rem; align-items:flex-start; background:rgba(255,255,255,.07); border:1px solid rgba(255,179,122,.28); border-radius:var(--ww-radius); padding:1.3rem 1.4rem}
.ww-ship__ic{flex-shrink:0; width:44px; height:44px; border-radius:12px; background:rgba(255,179,122,.18); color:var(--ww-gold-soft); display:flex; align-items:center; justify-content:center}
.ww-ship__ic svg{width:24px; height:24px}
.ww-ship__card h3{color:#fff; font-size:1.08rem; margin:0 0 .2rem}
.ww-ship__card p{color:#d7ecdf; font-size:.86rem; margin:0}

/* ===== Tarjetas producto (home) ===== */
.ww-grid{display:grid; gap:1.6rem}
.ww-grid--3{grid-template-columns:repeat(3,1fr)}
.ww-grid--2{grid-template-columns:repeat(2,1fr)}
.ww-card{background:var(--ww-paper); border:1px solid var(--ww-line); border-radius:var(--ww-radius); overflow:hidden; display:flex; flex-direction:column; transition:.25s}
.ww-card:hover{transform:translateY(-4px); box-shadow:var(--ww-shadow)}
.ww-card__media{aspect-ratio:4/3; background:#fff; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden}
.ww-card__media img{width:100%; height:100%; object-fit:contain}
.ww-card__tag{position:absolute; top:.7rem; left:.7rem; background:var(--ww-gold-d); color:#fff; font-size:.66rem; font-weight:700; padding:.25em .7em; border-radius:999px; text-transform:uppercase; letter-spacing:.06em}
.ww-card__tag--soon{background:var(--ww-ink)}
.ww-card__body{padding:1.1rem 1.2rem 1.3rem; display:flex; flex-direction:column; flex:1}
.ww-card__cat{font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ww-gold-d); font-weight:700}
.ww-card__title{font-family:var(--ww-serif); font-size:1.25rem; font-weight:700; margin:.15rem 0 .35rem; line-height:1.15}
.ww-card__title a{color:var(--ww-ink)}
.ww-card__uso{font-size:.85rem; color:var(--ww-muted); margin-bottom:.8rem}
.ww-card__foot{margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:.6rem}
.ww-card__price{font-family:var(--ww-serif); font-weight:700; font-size:1.3rem; color:var(--ww-green-d)}
.ww-card .price{font-family:var(--ww-serif); color:var(--ww-green-d); font-weight:700}

/* ===== Historia / split ===== */
.ww-split{display:grid; grid-template-columns:1fr 1fr; gap:3.2rem; align-items:center}
.ww-split--rev .ww-split__media{order:2}
.ww-split__media{border-radius:var(--ww-radius); overflow:hidden; box-shadow:var(--ww-shadow); aspect-ratio:4/5}
.ww-split__media img{width:100%; height:100%; object-fit:cover}
.ww-stats{display:flex; gap:2.4rem; margin-top:1.6rem; flex-wrap:wrap}
.ww-stat b{font-family:var(--ww-serif); font-size:2.4rem; font-weight:800; color:var(--ww-gold-d); display:block; line-height:1}
.ww-stat span{font-size:.82rem; color:var(--ww-muted)}

/* ===== Bandas ===== */
.ww-paperbg{background:var(--ww-paper)}
.ww-mintbg{background:var(--ww-mint)}
.ww-greenbg{background:linear-gradient(140deg,var(--ww-green-d),var(--ww-green-dd)); color:#fff}
.ww-greenbg h2{color:#fff} .ww-greenbg .ww-lead{color:#d7ecdf}
.ww-greenbg .ww-eyebrow{color:var(--ww-gold-soft)}

/* ===== Valores ===== */
.ww-values{display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; margin-top:2.4rem}
.ww-value{text-align:center}
.ww-value__n{font-family:var(--ww-serif); font-size:1.6rem; font-weight:800; color:var(--ww-gold-soft); display:block}
.ww-value h3{color:#fff; font-size:1.1rem; margin:.3rem 0 .4rem}
.ww-value p{font-size:.85rem; color:#cfe1d4; margin:0}

/* ===== Misión / Visión ===== */
.ww-mv{display:grid; grid-template-columns:1fr 1fr; gap:1.6rem; margin-top:1rem}
.ww-mv__card{background:var(--ww-paper); border:1px solid var(--ww-line); border-left:4px solid var(--ww-gold); border-radius:10px; padding:1.8rem 2rem}
.ww-mv__card h3{color:var(--ww-green-d); font-size:1.4rem}
.ww-mv__card p:last-child{margin-bottom:0}
.ww-mv__card .q{font-family:var(--ww-serif); font-style:italic; font-size:1.35rem; color:var(--ww-ink); margin-bottom:.6rem}

/* ===== Contacto ===== */
.ww-contact{display:grid; grid-template-columns:1fr 1fr; gap:2.6rem}
.ww-form{display:grid; gap:.9rem}
.ww-form input, .ww-form textarea{width:100%; padding:.85em 1em; border:1px solid var(--ww-line); border-radius:12px; font-family:var(--ww-sans); font-size:1rem; background:var(--ww-paper)}
.ww-form textarea{min-height:130px; resize:vertical}
.hp{position:absolute; left:-9999px}
.ww-contact__data ul{padding:0; margin:0}
.ww-contact__data li{list-style:none; display:flex; gap:.7rem; align-items:flex-start; margin-bottom:1rem}
.ww-contact__data svg{color:var(--ww-gold-d); flex-shrink:0; margin-top:3px}
.ww-note{padding:.8rem 1rem; border-radius:8px; font-size:.9rem; margin-bottom:1rem}
.ww-note--ok{background:var(--ww-mint); color:#13602f; border:1px solid #b7ddc2}
.ww-note--err{background:#f6e2dc; color:#8a3520; border:1px solid #e0b6a8}

/* ===== Footer ===== */
.ww-footer{background:var(--ww-green-dd); color:#cfe1d4; padding-top:clamp(50px,7vw,80px)}
.ww-footer__top{display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:2rem; padding-bottom:2.5rem; border-bottom:1px solid rgba(255,255,255,.12)}
.ww-footer h4{color:#fff; font-family:var(--ww-sans); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; margin-bottom:1rem}
.ww-footer a{color:#cfe1d4; display:block; margin-bottom:.5rem; font-size:.93rem}
.ww-footer a:hover{color:var(--ww-gold-soft)}
.ww-footer .ww-logo__txt b{color:#fff} .ww-footer .ww-logo__txt b i{color:var(--ww-gold-soft)} .ww-footer .ww-logo__sub{color:#9fcdd6}
.ww-footer__bottom{display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding-block:1.4rem; font-size:.8rem; color:#7fa78f}

/* ===== Shop / archive ===== */
.ww-shop-head{background:var(--ww-mint); padding:clamp(40px,6vw,72px) 0 clamp(30px,4vw,44px); text-align:center}
.woocommerce-result-count{color:var(--ww-muted); font-size:.9rem}
.woocommerce ul.products{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; list-style:none; margin:0; padding:0}
.woocommerce ul.products::before, .woocommerce ul.products::after{display:none !important}
.woocommerce ul.products li.product{background:var(--ww-paper); border:1px solid var(--ww-line); border-radius:var(--ww-radius); overflow:hidden; text-align:left; padding:0; width:auto !important; float:none !important; margin:0 !important}
.woocommerce ul.products li.product:hover{box-shadow:var(--ww-shadow); transform:translateY(-4px); transition:.25s}
.woocommerce ul.products li.product a img{margin:0; aspect-ratio:4/3; object-fit:contain; background:#fff}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--ww-serif); font-size:1.2rem; font-weight:700; padding:.5rem 1rem 0; line-height:1.2}
.woocommerce ul.products li.product .price{padding:0 1rem; display:block}
.woocommerce ul.products li.product .button{margin:.8rem 1rem 1.2rem !important}
.woocommerce a.button, .woocommerce button.button, .woocommerce .button, .woocommerce #respond input#submit{
  background:linear-gradient(135deg,var(--ww-green-2),var(--ww-green)) !important; color:#fff !important; border-radius:999px !important; font-weight:600 !important; padding:.7em 1.3em !important; border:none !important}
.woocommerce a.button:hover, .woocommerce button.button:hover{filter:brightness(1.08)}
.woocommerce span.onsale{background:var(--ww-gold-d); border-radius:999px}
.woocommerce div.product div.images img{border-radius:var(--ww-radius)}
.woocommerce div.product .product_title{font-family:var(--ww-serif)}
.woocommerce div.product p.price, .woocommerce div.product span.price{color:var(--ww-green-d); font-family:var(--ww-serif); font-weight:700}
.woocommerce-message, .woocommerce-info{border-top-color:var(--ww-green) !important}
.woocommerce .quantity input.qty{width:74px !important; padding:.55em .3em !important; text-align:center !important; font-size:1rem !important; color:var(--ww-ink) !important; border:1px solid var(--ww-line); border-radius:8px; -moz-appearance:textfield; appearance:textfield; background:#fff}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none; margin:0}
.woocommerce-breadcrumb{color:var(--ww-muted); font-size:.85rem}
/* badge marca en ficha */
.ww-pbrand{display:inline-flex; align-items:center; gap:.4rem; font-size:.74rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ww-green-d); background:var(--ww-mint); padding:.3em .8em; border-radius:999px; margin-bottom:.6rem}

/* ===== Reveal ===== */
.ww-reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease}
.ww-reveal.is-in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){.ww-reveal{opacity:1; transform:none}}

/* ===== Toast carrito ===== */
.ww-toasts{position:fixed; z-index:90; right:18px; bottom:86px; display:flex; flex-direction:column; gap:.6rem; pointer-events:none}
.ww-toast{pointer-events:auto; display:flex; align-items:center; gap:.7rem; background:#fff; border:1px solid var(--ww-line); border-left:4px solid var(--ww-green); border-radius:12px; box-shadow:var(--ww-shadow); padding:.75rem .9rem; min-width:250px; max-width:340px; transform:translateX(125%); opacity:0; transition:transform .38s cubic-bezier(.2,.8,.2,1), opacity .38s; cursor:pointer}
.ww-toast.is-in{transform:none; opacity:1}
.ww-toast__ic{flex-shrink:0; width:30px; height:30px; border-radius:50%; background:linear-gradient(135deg,var(--ww-green-2),var(--ww-green)); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.95rem}
.ww-toast__txt{display:flex; flex-direction:column; line-height:1.25; flex:1; min-width:0}
.ww-toast__txt b{font-size:.92rem; color:var(--ww-ink)}
.ww-toast__txt span{font-size:.8rem; color:var(--ww-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.ww-toast__cta{flex-shrink:0; font-size:.8rem; font-weight:600; color:var(--ww-green); background:var(--ww-mint); padding:.45em .8em; border-radius:999px}
.ww-toast__cta:hover{background:var(--ww-green); color:#fff}
.ww-bump{display:inline-flex; animation:wwBump .45s ease}
@keyframes wwBump{0%{transform:scale(1)}40%{transform:scale(1.55)}100%{transform:scale(1)}}
@media (max-width:560px){ .ww-toasts{left:12px; right:12px; bottom:82px} .ww-toast{max-width:none; min-width:0} }
@media (prefers-reduced-motion:reduce){ .ww-toast{transition:opacity .2s} .ww-bump{animation:none} }

/* ===== FAB ===== */
.ww-fab{position:fixed; right:18px; bottom:18px; z-index:60; width:56px; height:56px; border-radius:50%; background:var(--ww-wa); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 26px -8px rgba(31,138,76,.7); animation:wwPulse 2.4s infinite}
.ww-fab:hover{color:#fff; filter:brightness(1.08)}
@keyframes wwPulse{0%{box-shadow:0 0 0 0 rgba(31,138,76,.5)}70%{box-shadow:0 0 0 16px rgba(31,138,76,0)}100%{box-shadow:0 0 0 0 rgba(31,138,76,0)}}

/* ===== Carrito / Checkout responsive (móvil) ===== */
@media (max-width:768px){
  /* CONTENCIÓN DURA: nada dentro de carrito/checkout puede exceder el viewport */
  .woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce,
  .woocommerce-cart .woocommerce *, .woocommerce-checkout .woocommerce *{ max-width:100%; }
  .woocommerce-cart .woocommerce table, .woocommerce-checkout .woocommerce table,
  .woocommerce-cart .woocommerce form, .woocommerce-checkout .woocommerce form,
  .woocommerce-cart .woocommerce-cart-form, .woocommerce-cart .cart-collaterals,
  .woocommerce-cart .cart_totals{ width:100% !important; max-width:100% !important; float:none !important; }
  /* tarjetas de fila más legibles */
  .woocommerce-cart table.shop_table_responsive tr{ display:block; background:var(--ww-paper); border:1px solid var(--ww-line); border-radius:14px; margin-bottom:1rem; padding:.4rem .9rem; }
  .woocommerce-cart table.shop_table_responsive td{ overflow-wrap:anywhere; word-break:break-word; }
  .woocommerce-cart table.shop_table_responsive td.product-thumbnail{ display:block !important; text-align:center !important; }
  .woocommerce-cart table.shop_table_responsive td.product-thumbnail img{ width:90px; height:90px; object-fit:cover; border-radius:12px; display:inline-block; }
  /* cupón: input arriba, botón abajo, full width */
  .woocommerce-cart table.cart td.actions .coupon{ display:flex !important; flex-wrap:wrap; gap:.5rem; float:none !important; width:100% !important; }
  .woocommerce-cart table.cart td.actions .coupon .input-text{ flex:1 1 100% !important; width:100% !important; min-width:0 !important; }
  .woocommerce-cart table.cart td.actions .coupon .button{ width:100% !important; float:none !important; }
  .woocommerce-cart table.cart td.actions > button.button,
  .woocommerce-cart table.cart td.actions > .button{ display:block; width:100% !important; float:none !important; margin-top:.6rem; }
  /* checkout: una columna */
  .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review,
  .woocommerce-checkout #order_review_heading{ width:100% !important; max-width:100% !important; float:none !important; }
  .woocommerce-checkout form .form-row-first, .woocommerce-checkout form .form-row-last{ width:100% !important; float:none !important; }
  .woocommerce .wc-proceed-to-checkout .button, .woocommerce #place_order{ width:100% !important; }
}

/* ===== Responsive ===== */
@media (max-width:980px){
  .ww-split,.ww-contact,.ww-mv{grid-template-columns:1fr}
  .ww-split--rev .ww-split__media{order:0}
  .ww-grid--3,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
  .ww-values,.ww-brands{grid-template-columns:repeat(2,1fr)}
  .ww-cats{grid-template-columns:repeat(2,1fr)}
  .ww-ship{grid-template-columns:1fr}
  .ww-footer__top{grid-template-columns:1fr 1fr}
}
@media (max-width:920px){
  .ww-nav{display:none}
  .ww-burger{display:inline-flex}
  .ww-header__cta .ww-btn--primary{display:none}
  .ww-announce span:nth-child(n+3){display:none}
}
@media (max-width:560px){
  .ww-logo__sub{display:none}
  .ww-grid--3,.ww-grid--2,.woocommerce ul.products{grid-template-columns:1fr}
  .ww-values{grid-template-columns:repeat(2,1fr)}
  .ww-cats,.ww-brands{grid-template-columns:1fr 1fr; gap:.9rem}
  .ww-cat{padding:1.3rem .8rem 1.1rem}
  .ww-footer__top{grid-template-columns:1fr}
}
@media (max-width:920px){
  .ww-card__foot{flex-wrap:wrap; gap:.8rem}
  .ww-card .ww-btn--sm{padding:.8em 1.4em; font-size:.9rem; flex:1; justify-content:center}
  .ww-cart{min-height:44px; padding-block:.55rem} /* tap target táctil ≥44px */
  .ww-btn--wa.ww-btn--sm{padding:.78em 1.3em}
}
