/* ==========================================================================
   Pakto - hoja de estilos principal
   Papel parafinado y antigrasa - Medellin, Colombia
   ========================================================================== */

:root{
  --green:#7fb53a;          /* verde de marca: solo adornos (puntos, viñetas, iconos) */
  --green-600:#6aa02c;
  --green-700:#507c16;      /* verde de texto: 4,96 sobre blanco y 4,55 sobre verde-50 */
  --green-cta:#557a27;      /* relleno de botones: blanco encima da 5,00 */
  --green-cta-hover:#4b6a22;
  --green-50:#f2f7ea;
  --green-100:#e3efd2;

  --ink:#22262a;
  --body:#4e565c;
  --muted:#6a747a;          /* antes #79838a: 3,65 sobre bg-alt, no llegaba a 4,5 */
  --line:#e4e8e0;
  --bg:#ffffff;
  --bg-alt:#f7f9f4;
  --dark:#282c2e;
  --dark-2:#1d2021;

  --radius:14px;
  --radius-sm:10px;
  --radius-lg:22px;
  --shadow-sm:0 1px 2px rgba(20,25,20,.06), 0 2px 8px rgba(20,25,20,.05);
  --shadow-md:0 4px 12px rgba(20,25,20,.08), 0 12px 28px rgba(20,25,20,.07);
  --shadow-lg:0 12px 40px rgba(20,25,20,.16);

  --container:1200px;
  --header-h:74px;

  --font:"Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 12px);
  -webkit-text-size-adjust:100%;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}

body{
  margin:0;
  font-family:var(--font);
  font-size:17px;
  line-height:1.65;
  color:var(--body);
  background:var(--bg);
  overflow-x:hidden;
}

img{max-width:100%;height:auto;display:block}
a{color:var(--green-700);text-decoration:none}
a:hover{text-decoration:underline}

h1,h2,h3,h4{color:var(--ink);line-height:1.2;margin:0 0 .5em;font-weight:700;letter-spacing:-.015em}
h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.35rem);letter-spacing:-.03em}
h2{font-size:clamp(1.6rem,1.25rem + 1.5vw,2.4rem);letter-spacing:-.025em}
h3{font-size:clamp(1.15rem,1.05rem + .45vw,1.4rem)}
h4{font-size:1.02rem}
p{margin:0 0 1rem}
ul{margin:0 0 1rem;padding-left:1.15rem}
li{margin:.2rem 0}

:focus-visible{outline:3px solid var(--green-700);outline-offset:3px;border-radius:6px}

.container{width:min(100% - 2.5rem, var(--container));margin-inline:auto}
.container-narrow{width:min(100% - 2.5rem, 880px);margin-inline:auto}

.skip-link{
  position:absolute;left:50%;translate:-50% -120%;z-index:200;
  background:var(--ink);color:#fff;padding:.7rem 1.2rem;border-radius:0 0 10px 10px;
  transition:translate .2s;
}
.skip-link:focus{translate:-50% 0;text-decoration:none}

/* ------------------------------------------------------------------ Header */
.header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.93);
  backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid var(--line);
}
.header__bar{
  display:flex;align-items:center;gap:1.25rem;
  min-height:var(--header-h);
}
.header__logo{flex:0 0 auto;display:flex;align-items:center}
.header__logo img{width:150px;height:auto}
.header__spacer{flex:1 1 auto}

.header__nav{display:flex;align-items:center;gap:clamp(.5rem,1.4vw,1.4rem)}
.nav{display:flex;align-items:center;gap:.15rem;list-style:none;padding:0;margin:0}
.nav li{margin:0}
.nav a{
  display:flex;align-items:center;min-height:44px;padding:.55rem .8rem;border-radius:9px;
  color:var(--ink);font-size:.94rem;font-weight:600;white-space:nowrap;
  transition:background .16s,color .16s;
}
.nav a:hover{background:var(--green-50);color:var(--green-700);text-decoration:none}
.nav a[aria-current="true"]{color:var(--green-700);background:var(--green-50)}

.has-menu{position:relative}
.has-menu__btn{
  display:inline-flex;align-items:center;gap:.35rem;
  font:inherit;font-size:.94rem;font-weight:600;color:var(--ink);
  background:none;border:0;cursor:pointer;padding:.55rem .8rem;border-radius:9px;min-height:44px;
}
.has-menu__btn:hover{background:var(--green-50);color:var(--green-700)}
.has-menu__btn svg{width:11px;height:11px;transition:rotate .2s;fill:currentColor}
.has-menu[data-open="true"] .has-menu__btn svg{rotate:180deg}
.submenu{
  position:absolute;top:calc(100% + 2px);left:0;min-width:285px;z-index:2;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-md);padding:.4rem;
  display:none;list-style:none;margin:0;
}
.has-menu[data-open="true"] .submenu{display:block}
/* puente invisible sobre el hueco: sin el, al bajar el raton hacia el menu
   se sale del .has-menu, se dispara mouseleave y el menu se cierra solo */
.submenu::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}
.submenu a{padding:.6rem .75rem;font-weight:500;font-size:.93rem}

.header__cta{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--green-cta);color:#fff;font-weight:700;font-size:.93rem;
  padding:.65rem 1.05rem;border-radius:999px;box-shadow:var(--shadow-sm);
  white-space:nowrap;
  transition:background .16s,transform .16s;
}
.header__cta:hover{background:var(--green-cta-hover);text-decoration:none;transform:translateY(-1px);color:#fff}
.header__cta svg{width:17px;height:17px;fill:currentColor}

.burger{
  display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:11px;
  background:#fff;cursor:pointer;padding:0;place-items:center;
}
.burger span{display:block;width:19px;height:2px;background:var(--ink);border-radius:2px;margin:3.5px auto;transition:.22s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

@media (max-width:1100px){
  .burger{display:grid}
  .header__nav{
    position:fixed;inset:var(--header-h) 0 auto 0;
    background:#fff;border-bottom:1px solid var(--line);
    box-shadow:var(--shadow-md);
    padding:.75rem 1.25rem 1.5rem;
    display:none;max-height:calc(100dvh - var(--header-h));overflow-y:auto;
  }
  .header__nav[data-open="true"]{display:block}
  .nav{flex-direction:column;align-items:stretch;gap:.1rem}
  .nav a,.has-menu__btn{width:100%;padding:.8rem .75rem;font-size:1rem;text-align:left}
  .has-menu__btn{justify-content:space-between}
  .submenu{position:static;display:none;box-shadow:none;border:0;border-left:2px solid var(--green-100);border-radius:0;margin:.15rem 0 .5rem .75rem;padding:0 0 0 .35rem}
  .header__cta{margin-top:.85rem;width:100%;justify-content:center;padding:.85rem}
}

/* Franja estrecha de escritorio. Con ocho enlaces mas el boton de WhatsApp la
   barra pide unos 1100 px y aqui solo hay ~1055: se aprieta el espaciado solo
   en este rango. De 1241 px en adelante queda exactamente como estaba. */
@media (min-width:1101px) and (max-width:1240px){
  .header__nav{gap:.5rem}
  .nav a,.has-menu__btn{padding:.55rem .5rem;font-size:.9rem}
  .header__cta{padding:.6rem .85rem;font-size:.88rem}
}

/* -------------------------------------------------------------------- Hero */
.hero{position:relative;isolation:isolate;background:var(--dark-2);overflow:hidden}
.hero__slides{position:absolute;inset:0;z-index:-2}
.hero__slide{
  position:absolute;inset:0;display:block;
  opacity:0;transition:opacity .9s ease;
}
.hero__slide.is-active{opacity:1}
.hero__slide img{width:100%;height:100%;object-fit:cover;object-position:64% 52%}
.hero__slide:nth-child(2) img{object-position:52% 50%}
.hero__slide:nth-child(3) img{object-position:56% 50%}

.hero__dots{
  position:absolute;right:0;bottom:1.1rem;
  display:flex;align-items:center;gap:.45rem;
}
.hero__dots button{
  position:relative;display:inline-flex;align-items:center;
  height:34px;padding:0 .2rem;border:0;background:none;cursor:pointer;
}
.hero__dots button::after{
  content:"";display:block;width:30px;height:4px;border-radius:999px;
  background:rgba(255,255,255,.38);transition:background .2s,width .25s;
}
.hero__dots button:hover::after{background:rgba(255,255,255,.7)}
.hero__dots button[aria-selected="true"]::after{background:var(--green);width:52px}
/* boton de pausa del carrusel: no es un punto, no lleva la barrita */
.hero__pausa{
  display:grid;place-items:center;width:34px;height:34px;margin-left:.5rem;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.34);border-radius:50%;
  cursor:pointer;padding:0;backdrop-filter:blur(6px);transition:background .16s;
}
.hero__pausa::after{content:none}
.hero__pausa:hover{background:rgba(255,255,255,.28)}
.hero__pausa svg{width:14px;height:14px;fill:#fff}
.hero__veil{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(102deg,
      rgba(16,20,14,.95) 0%,
      rgba(16,20,14,.9) 34%,
      rgba(16,20,14,.58) 58%,
      rgba(16,20,14,.2) 84%,
      rgba(16,20,14,.3) 100%),
    radial-gradient(115% 85% at 6% 34%, rgba(127,181,58,.24), transparent 62%);
}
.hero__inner{position:relative;padding:clamp(2.75rem,1.75rem + 4.5vw,5.25rem) 0 clamp(2.5rem,1.75rem + 3vw,4rem)}
.hero__col{max-width:660px}
.hero h1{color:#fff;text-wrap:balance}
.hero__lead{font-size:clamp(1.03rem,.98rem + .3vw,1.2rem);max-width:54ch;color:rgba(255,255,255,.87)}
.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.6rem 0 1.5rem}
.hero .eyebrow{background:rgba(127,181,58,.2);border-color:rgba(127,181,58,.5);color:#d3ecab}
.hero .trustbar li{
  background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.24);color:#fff;
  box-shadow:none;backdrop-filter:blur(6px);
}

/* franja de datos al pie del hero */
.hero__ribbon{
  position:relative;
  border-top:1px solid rgba(255,255,255,.16);
  background:rgba(9,12,8,.52);backdrop-filter:blur(8px);
}
.hero__ribbon ul{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem 1.5rem;
  list-style:none;margin:0;padding:1.15rem 0;
}
.hero__ribbon li{display:flex;flex-direction:column;gap:.15rem;margin:0}
.hero__ribbon strong{color:#fff;font-size:clamp(1.15rem,1rem + .5vw,1.5rem);line-height:1.1}
.hero__ribbon span{color:rgba(255,255,255,.72);font-size:.84rem;font-weight:600;line-height:1.3}
.hero__conteo{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--green-50);color:var(--green-700);
  border:1px solid var(--green-100);
  font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  padding:.4rem .85rem;border-radius:999px;margin-bottom:1.15rem;
}

.trustbar{display:flex;flex-wrap:wrap;gap:.55rem;padding:0;margin:0}
.trustbar li{
  list-style:none;margin:0;
  display:inline-flex;align-items:center;gap:.45rem;
  background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:.4rem .85rem;font-size:.85rem;font-weight:600;color:var(--ink);
  box-shadow:var(--shadow-sm);
}
.trustbar li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);flex:0 0 auto}

@media (max-width:860px){
  .hero__ribbon ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
}
@media (max-width:700px){
  /* fundido mas corto: en pantalla pequena .9s se siente lento */
  .hero__slide{transition:opacity .5s ease}
  .hero__slide img,
  .hero__slide:nth-child(2) img,
  .hero__slide:nth-child(3) img{object-position:50% 50%}
  .hero__dots{position:static;justify-content:center;margin-top:1.5rem}
  /* velo mas claro que en escritorio: en el telefono la foto ocupa toda la
     pantalla y con .86-.92 no se veia. El minimo es .60 porque ahi el blanco
     conserva 5,07:1 incluso si el pixel de la foto fuera blanco puro. */
  .hero__veil{background:
    linear-gradient(180deg,
      rgba(14,18,12,.78) 0%,
      rgba(14,18,12,.64) 45%,
      rgba(14,18,12,.60) 75%,
      rgba(14,18,12,.68) 100%),
    radial-gradient(120% 70% at 50% 0%, rgba(127,181,58,.16), transparent 62%);}
}

/* ------------------------------------------------------------------ Botones */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font:inherit;font-weight:700;font-size:1rem;line-height:1;
  padding:.95rem 1.55rem;border-radius:999px;border:1.5px solid transparent;cursor:pointer;
  transition:background .16s,color .16s,border-color .16s,transform .16s,box-shadow .16s;
}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn svg{width:19px;height:19px;fill:currentColor;flex:0 0 auto}
.btn--primary{background:var(--green-cta);color:#fff;box-shadow:0 6px 18px rgba(85,122,39,.34)}
.btn--primary:hover{background:var(--green-cta-hover);box-shadow:0 10px 24px rgba(75,106,34,.4);color:#fff}
.btn--ghost{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-sm)}
.btn--ghost:hover{border-color:var(--green);color:var(--green-700)}
.btn--glass{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.34);backdrop-filter:blur(6px)}
.btn--glass:hover{background:rgba(255,255,255,.2);border-color:#fff;color:#fff}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:#000;color:#fff}
.btn--block{width:100%}

/* ----------------------------------------------------------------- Secciones */
.section{padding:clamp(3rem,2rem + 3.5vw,5.5rem) 0}
.section--alt{background:var(--bg-alt);border-block:1px solid var(--line)}
.section--dark{background:var(--dark);border-block:1px solid var(--dark-2)}
.section--dark h2,.section--dark h3{color:#fff}
.section--dark p,.section--dark li{color:#c7cec9}
.section--dark .eyebrow{background:rgba(127,181,58,.16);border-color:rgba(127,181,58,.3);color:#a9d572}

.section__head{max-width:62ch;margin-bottom:2.5rem}
.section__head--center{margin-inline:auto;text-align:center}
.section__head p{font-size:1.05rem;margin-bottom:0}

/* ------------------------------------------------------------- Categorias */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1.1rem}
.cat-card{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-sm);
  transition:transform .18s,box-shadow .18s,border-color .18s;
  color:inherit;
}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--green-100);text-decoration:none}
.cat-card img{width:100%;aspect-ratio:5/4;object-fit:cover;background:var(--dark-2)}
.cat-card__body{padding:1rem 1.15rem 1.25rem}
.cat-card h3{font-size:1.06rem;margin-bottom:.25rem}
.cat-card p{font-size:.9rem;color:var(--muted);margin:0}
.cat-card__more{display:inline-flex;align-items:center;gap:.35rem;margin-top:.7rem;font-size:.88rem;font-weight:700;color:var(--green-700)}

/* ------------------------------------------------------------- Beneficios */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem}
.feature{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.4rem;box-shadow:var(--shadow-sm)}
.feature__icon{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  background:var(--green-50);color:var(--green-700);margin-bottom:1rem;
}
.feature__icon svg{width:23px;height:23px;fill:currentColor}
.feature h3{font-size:1.05rem;margin-bottom:.35rem}
.feature p{font-size:.94rem;margin:0}

/* --------------------------------------------------------- Especificaciones */
.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.1rem;margin:2rem 0}
.spec-card{background:#fff;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:var(--radius-sm);padding:1.25rem 1.35rem}
.spec-card h3,.spec-card h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.09em;color:var(--green-700);margin-bottom:.7rem}
.spec-card ul{list-style:none;padding:0;margin:0}
.spec-card li{font-size:.93rem;color:var(--body);padding:.22rem 0 .22rem 1.05rem;position:relative}
.spec-card li::before{content:"";position:absolute;left:0;top:.78em;width:5px;height:5px;border-radius:50%;background:var(--green-100);border:1px solid var(--green)}

/* ----------------------------------------------------------------- Galeria */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.6rem}
.filter{
  font:inherit;font-size:.88rem;font-weight:600;color:var(--body);
  background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:.5rem 1rem;cursor:pointer;transition:.16s;
}
.filter:hover{border-color:var(--green);color:var(--green-700)}
.filter[aria-pressed="true"]{background:var(--green-cta);border-color:var(--green-cta);color:#fff}

.gallery{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem;
  list-style:none;padding:0;margin:0;
}
.gallery li{margin:0}
.tile{
  display:block;position:relative;width:100%;padding:0;border:1px solid var(--line);
  background:var(--dark-2);border-radius:var(--radius-sm);overflow:hidden;cursor:zoom-in;
  transition:transform .18s,box-shadow .18s;
}
.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.tile img{width:100%;aspect-ratio:5/4;object-fit:cover}
.tile__caption{
  position:absolute;inset:auto 0 0 0;
  background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.55) 55%,transparent);
  color:#fff;font-size:.82rem;font-weight:600;line-height:1.35;text-align:left;
  padding:2rem .8rem .7rem;
}
.tile__zoom{
  position:absolute;top:.6rem;right:.6rem;width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.92);display:grid;place-items:center;
  opacity:0;transition:opacity .18s;
}
.tile:hover .tile__zoom,.tile:focus-visible .tile__zoom{opacity:1}
.tile__zoom svg{width:15px;height:15px;fill:var(--ink)}

/* ------------------------------------------------------------------- Cajas */
.box-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:1.1rem;list-style:none;padding:0;margin:0}
.box-grid li{margin:0}
.box-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);height:100%;display:flex;flex-direction:column}
.box-card .tile{border:0;border-radius:0}
.box-card__body{padding:.95rem 1.1rem 1.15rem}
.box-card h3{font-size:1rem;margin-bottom:.3rem}
.box-card dl{margin:0;font-size:.88rem;color:var(--muted);display:grid;grid-template-columns:auto 1fr;gap:.15rem .4rem}
.box-card dt{font-weight:700;color:var(--body)}
.box-card dd{margin:0}

/* --------------------------------------------------------------- Lightbox */
.lightbox{
  position:fixed;inset:0;z-index:200;display:none;
  background:rgba(12,14,12,.94);
  padding:clamp(1rem,4vw,3rem);
  place-items:center;
}
.lightbox.is-open{display:grid}
.lightbox__fig{margin:0;max-width:min(1000px,100%);text-align:center}
.lightbox__fig img{max-height:74dvh;width:auto;margin-inline:auto;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.lightbox__fig figcaption{color:#fff;font-size:.95rem;margin-top:1rem}
.lightbox__btn{
  position:absolute;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);
  color:#fff;width:46px;height:46px;border-radius:50%;cursor:pointer;display:grid;place-items:center;
  transition:background .16s;
}
.lightbox__btn:hover{background:rgba(255,255,255,.26)}
.lightbox__btn svg{width:18px;height:18px;fill:#fff}
.lightbox__close{top:clamp(.8rem,2vw,1.6rem);right:clamp(.8rem,2vw,1.6rem)}
.lightbox__prev{left:clamp(.5rem,2vw,1.6rem);top:50%;translate:0 -50%}
.lightbox__next{right:clamp(.5rem,2vw,1.6rem);top:50%;translate:0 -50%}

/* ---------------------------------------------------------------- Clientes */
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;gap:1.25rem;width:max-content;animation:marquee 36s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee img{
  /* caja fija e identica para todos: con width:auto los logos apaisados
     (barbacoa, casablanca) estiraban su tarjeta al doble y salian borrosos */
  width:190px;height:78px;object-fit:contain;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:.7rem 1.2rem;flex:0 0 auto;
}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* Quien pide menos movimiento (Accesibilidad > Reducir movimiento, o el Modo de
   bajo consumo del iPhone) no debe ver la marquesina girando sola. El respaldo
   anterior era una rejilla envuelta de 2 columnas: rompia el diseno y no parecia
   un carrusel. Ahora es una tira horizontal que se desliza con el dedo: se ve
   igual que la marquesina, pero el movimiento lo manda la persona, no la pagina. */
@media (prefers-reduced-motion:reduce){
  .marquee{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
           scroll-snap-type:x proximity;scrollbar-width:none}
  .marquee::-webkit-scrollbar{display:none}
  .marquee__track{animation:none;flex-wrap:nowrap;width:max-content;justify-content:flex-start}
  .marquee img{scroll-snap-align:center}
}
/* en el telefono una caja de 190px ocupa media pantalla y solo se ven dos logos:
   no parece un carrusel. Cajas mas pequenas y la misma velocidad aparente. */
@media (max-width:600px){
  .marquee__track{gap:.75rem;animation-duration:26s}
  .marquee img{width:142px;height:60px;padding:.5rem .75rem}
  .marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
           mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
}

/* --------------------------------------------------------- Cobertura */
.cobertura__nota{
  display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;
  margin-top:1.75rem;padding:1.4rem 1.6rem;
  background:#fff;border:1px solid var(--line);border-left:3px solid var(--green);
  border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);
}
.cobertura__nota p{flex:1 1 340px;margin:0;font-size:.96rem}
#envios-colombia .spec-card ul{columns:2;column-gap:1.1rem}
#envios-colombia .spec-card li{break-inside:avoid}
@media (max-width:520px){#envios-colombia .spec-card ul{columns:1}}

/* ------------------------------------------------------------------ Pasos */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.4rem;counter-reset:step;list-style:none;padding:0;margin:1rem 0 0}
.steps li{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.9rem 1.4rem 1.5rem;box-shadow:var(--shadow-sm);margin:0}
.steps li::before{
  counter-increment:step;content:counter(step);
  position:absolute;top:-19px;left:1.4rem;width:38px;height:38px;border-radius:50%;
  background:var(--green-cta);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.05rem;
  box-shadow:0 4px 12px rgba(127,181,58,.35);
}
.steps h3{font-size:1.03rem;margin-bottom:.3rem}
.steps p{font-size:.93rem;margin:0}

/* -------------------------------------------------------------------- FAQ */
.faq{max-width:830px;margin-inline:auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:.7rem;overflow:hidden}
.faq details[open]{border-color:var(--green-100);box-shadow:var(--shadow-sm)}
.faq summary{
  cursor:pointer;list-style:none;padding:1.05rem 3rem 1.05rem 1.25rem;position:relative;
  font-weight:700;color:var(--ink);font-size:1rem;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:1.3rem;top:50%;translate:0 -50%;
  width:9px;height:9px;border-right:2px solid var(--green-700);border-bottom:2px solid var(--green-700);
  rotate:45deg;transition:rotate .2s;
}
.faq details[open] summary::after{rotate:-135deg}
.faq__body{padding:0 1.25rem 1.2rem}
.faq__body p:last-child{margin-bottom:0}

/* ---------------------------------------------------------------- Contacto */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:2.25rem;align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}

.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.4rem,3vw,2.1rem);box-shadow:var(--shadow-sm)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
@media (max-width:560px){.form-row{grid-template-columns:1fr}}
.field{margin-bottom:1rem}
.field label{display:block;font-size:.86rem;font-weight:700;color:var(--ink);margin-bottom:.35rem}
.field .req{color:var(--green-700)}
.field input,.field select,.field textarea{
  width:100%;font:inherit;font-size:.97rem;color:var(--ink);
  background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  padding:.75rem .9rem;transition:border-color .16s,box-shadow .16s;
}
.field textarea{min-height:145px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(127,181,58,.18);
}
.field__hint{font-size:.82rem;color:var(--muted);margin:.35rem 0 0}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}

/* casilla anti-spam */
.check{
  display:flex;align-items:center;gap:.7rem;cursor:pointer;
  background:var(--green-50);border:1px solid var(--green-100);
  border-radius:var(--radius-sm);padding:.8rem 1rem;min-height:44px;
  font-size:.94rem;font-weight:600;color:var(--ink);
}
.check:hover{border-color:var(--green)}
.check input{
  width:20px;height:20px;flex:0 0 auto;margin:0;cursor:pointer;
  accent-color:var(--green-cta);
}
.check--error{border-color:#c0392b;background:#fdf2f1}
.form-error{
  display:none;margin:.5rem 0 0;font-size:.86rem;font-weight:600;color:#b03024;
}
.form-error.is-visible{display:block}

.info-card{background:var(--dark);color:#c7cec9;border-radius:var(--radius);padding:clamp(1.4rem,3vw,2rem)}
.info-card h3{color:#fff;font-size:1.1rem}
.info-list{list-style:none;padding:0;margin:0 0 1.5rem}
.info-list li{display:flex;gap:.8rem;align-items:flex-start;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.94rem;margin:0}
.info-list li:last-child{border-bottom:0}
.info-list svg{width:18px;height:18px;fill:var(--green);flex:0 0 auto;margin-top:.3rem}
.info-list a{color:#fff;text-decoration:none}
.info-list a:hover{color:#a9d572;text-decoration:underline}
.info-list strong{display:block;color:#fff;font-weight:700}

/* ------------------------------------------------------------------ Footer */
.footer{background:var(--dark-2);color:#a8b0ab;padding:3.25rem 0 0;font-size:.93rem}
.footer h2,.footer h3{color:#fff;font-size:1rem;margin-bottom:.9rem}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2rem}
@media (max-width:880px){.footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer__grid{grid-template-columns:1fr}}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{padding:.2rem 0;margin:0}
.footer a{color:#a8b0ab}
.footer a:hover{color:#fff}
.footer__logo{background:#fff;border-radius:10px;padding:.7rem .9rem;display:inline-block;margin-bottom:1rem}
.footer__logo img{width:135px}
.social{display:flex;gap:.6rem;margin-top:1rem;list-style:none;padding:0}
.social li{padding:0}
.social a{
  width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
  background:rgba(255,255,255,.07);transition:background .16s;
}
.social a:hover{background:var(--green-cta)}
.social svg{width:17px;height:17px;fill:#fff}

.coverage{border-top:1px solid rgba(255,255,255,.09);margin-top:2.5rem;padding:1.5rem 0}
.coverage p{font-size:.86rem;color:#8d948f;margin:0}
.footer__bottom{
  border-top:1px solid rgba(255,255,255,.09);padding:1.15rem 0 1.4rem;
  display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;font-size:.85rem;color:#8d948f;
}

/* --------------------------------------------------------------- Flotantes */
.fab{
  position:fixed;right:18px;bottom:18px;z-index:90;
  display:inline-flex;align-items:center;gap:.55rem;
  background:#188842;color:#fff;font-weight:700;font-size:.94rem;
  padding:.85rem 1.15rem;border-radius:999px;
  box-shadow:0 8px 26px rgba(24,136,66,.42);
  transition:transform .16s;
}
.fab:hover{transform:translateY(-2px);text-decoration:none;color:#fff}
.fab svg{width:22px;height:22px;fill:currentColor}
@media (max-width:520px){.fab span{display:none}.fab{padding:.9rem;border-radius:50%}}

.to-top{
  position:fixed;left:18px;bottom:18px;z-index:90;
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;
  cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-md);
  opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;
}
.to-top.is-visible{opacity:1;visibility:visible}
.to-top svg{width:17px;height:17px;fill:var(--ink)}

/* ----------------------------------------------------------------- Utils */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.text-center{text-align:center}
.mb-0{margin-bottom:0}
[hidden]{display:none !important}

@media print{
  .header,.fab,.to-top,.filters,.lightbox{display:none !important}
  body{font-size:12pt}
}

@media (prefers-reduced-motion:reduce){
  .hero__slide{transition:none}
}
