/* Homepage only */
.hero-inicio{position:relative;z-index:20;padding:66px 0 64px;background:linear-gradient(180deg,#f4f8fd 0%,#fff 100%)}
.hero-cuadricula{display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,610px);gap:58px;align-items:center}
.hero-texto{position:relative;z-index:4;min-width:0}
.sobrelinea{display:inline-flex;align-items:center;gap:9px;color:var(--azul);font-size:10px;font-weight:650;letter-spacing:.14em}
.sobrelinea i{width:28px;height:2px;background:var(--amarillo)}
.hero-texto h1{max-width:690px;margin:15px 0 16px;font-size:clamp(44px,5.2vw,72px);line-height:1.02;letter-spacing:-.055em;font-weight:700}
.hero-texto>p{max-width:560px;margin:0 0 25px;color:var(--muted);font-size:15px;line-height:1.7}
.buscador-hero{position:relative;display:flex;align-items:center;min-height:60px;padding:5px 5px 5px 51px;background:#fff;border:1px solid #d8e2ef;border-radius:15px;z-index:40;width:min(600px,100%)}.buscador-hero>svg{position:absolute;left:19px;width:20px;height:20px;fill:none;stroke:#7890ac;stroke-width:1.8;stroke-linecap:round}.buscador-hero input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--texto);font-weight:500}.buscador-hero button{min-height:48px;padding:0 20px;border:0;border-radius:11px;background:var(--amarillo);color:#10223b;font-size:13px;font-weight:650;cursor:pointer}.buscador-hero button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.buscador-hero.busqueda-activa button span{display:none}.buscador-hero:not(.busqueda-activa) button svg{display:none}
.hero-estadisticas{display:flex;align-items:stretch;gap:0;margin-top:28px}
.hero-estadisticas span{display:flex;flex-direction:column;min-width:128px;padding:0 22px;border-left:1px solid #dce5ef}
.hero-estadisticas span:first-child{padding-left:0;border-left:0}
.hero-estadisticas strong{font-size:25px;line-height:1.1;font-weight:700;color:var(--texto)}
.hero-estadisticas small{margin-top:5px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.hero-slider{position:relative;z-index:1;width:min(610px,100%);justify-self:end;aspect-ratio:3/2;overflow:hidden;border-radius:24px;background:#eef2f6;box-shadow:0 12px 32px rgba(28,49,76,.07)}
.hero-slide{position:absolute;inset:0;display:block;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .45s ease}
.hero-slide.activo{opacity:1;pointer-events:auto}
.hero-slide>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;background:#eef2f6}
.hero-slide::after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(12,27,45,0) 0%,rgba(12,27,45,.03) 43%,rgba(12,27,45,.36) 58%,rgba(12,27,45,.92) 100%);pointer-events:none}
.hero-banner-panel{position:absolute;z-index:4;top:0;right:0;bottom:0;width:47%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:28px 28px 28px 34px;color:#fff}
.hero-banner-kicker{color:#ffd84e;font-size:9.5px;font-weight:750;letter-spacing:.14em}
.hero-banner-logo{width:82px;height:82px;display:grid;place-items:center;overflow:hidden;margin-top:17px;padding:8px;border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 10px 26px rgba(0,0,0,.15)}
.hero-banner-logo img{width:100%;height:100%;object-fit:contain;border-radius:7px}.hero-banner-logo b{color:#3e73b9;font-size:23px}
.hero-banner-brand{display:block;width:100%;margin-top:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:16px;line-height:1.2}
.hero-banner-offer{display:-webkit-box;width:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;margin-top:8px;color:#fff;font-size:23px;font-weight:700;line-height:1.18;letter-spacing:-.025em;text-shadow:0 1px 2px rgba(0,0,0,.14)}
.hero-banner-cta{display:inline-flex;align-items:center;gap:9px;margin-top:18px;min-height:40px;padding:0;color:#fff;border-bottom:2px solid rgba(255,216,78,.95);font-size:12px;font-weight:700}.hero-banner-cta span{font-size:17px;transition:transform .16s ease}.hero-slide:hover .hero-banner-cta span{transform:translateX(3px)}
.slider-anterior,.slider-siguiente{position:absolute;z-index:5;top:50%;width:44px;height:44px;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:13px;background:rgba(255,255,255,.94);color:var(--texto);cursor:pointer}
.slider-anterior{left:16px}
.slider-siguiente{right:16px}
.slider-anterior svg,.slider-siguiente svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.slider-anterior:hover,.slider-siguiente:hover{background:#fff;color:var(--azul)}
.slider-puntos{position:absolute;z-index:6;left:50%;bottom:15px;display:flex;gap:7px;transform:translateX(-50%)}
.slider-puntos button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.62);cursor:pointer}
.slider-puntos button.activo{width:22px;border-radius:8px;background:#fff}

.seccion-inicio{padding:74px 0}
.seccion-codigos,.seccion-deals{background:#fff}
.seccion-tiendas,.seccion-categorias{background:#f7f9fc}
.titulo-seccion{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}
.titulo-seccion>div>span{color:var(--azul);font-size:10px;font-weight:650;letter-spacing:.13em}
.titulo-seccion h2{margin:8px 0 6px;font-size:36px;line-height:1.14;letter-spacing:-.035em;font-weight:700}
.titulo-seccion p{margin:0;color:var(--muted);font-size:13px}
.titulo-seccion>a{flex:0 0 auto;color:var(--azul);font-size:12.5px;font-weight:600}

.ofertas-cuadricula{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;align-items:start}
.tarjeta-oferta{align-self:start;min-width:0;overflow:hidden;border:1px solid #e3e9f1;border-radius:18px;background:#fff;transition:transform .2s ease,border-color .2s ease}
.tarjeta-oferta:hover{transform:translateY(-3px);border-color:#cbd8e8}
.tarjeta-oferta-superior{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;background:#f4f7fb}
.logo-oferta{width:82px;height:82px;flex:0 0 82px;display:grid;place-items:center;overflow:hidden;padding:5px;border:1px solid #e0e7f0;border-radius:15px;background:#fff}
.logo-oferta img{width:100%;height:100%;object-fit:contain;border-radius:10px}
.logo-oferta b{font-size:26px;color:var(--azul);font-weight:700}
.tipo-oferta{display:inline-flex;align-items:center;min-height:27px;padding:0 8px;border-radius:999px;background:#fff5bf;color:#6b5700;font-size:9px;font-weight:650;letter-spacing:.08em}
.tarjeta-oferta-cuerpo{display:flex;flex-direction:column;padding:14px 14px 15px}
.marca-oferta{color:var(--azul);font-size:10.5px;font-weight:650}
.titulo-oferta{display:-webkit-box;min-height:57px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin:7px 0 13px;padding:0;border:0;background:transparent;color:var(--texto);font-size:13.5px;line-height:1.42;text-align:left;font-weight:600;cursor:pointer}
.titulo-oferta:hover{color:var(--azul)}
.estado-oferta{display:inline-flex;align-items:center;align-self:flex-start;gap:5px;min-height:27px;padding:0 8px;border-radius:999px;background:#edf8f2;color:#257454;font-size:9px;font-weight:600;letter-spacing:.02em}
.estado-oferta svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.estado-deal{background:#eef4fb;color:#376da9}

.tiendas-cuadricula{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:start}
.tarjeta-tienda{display:flex;flex-direction:column;align-items:center;min-width:0;padding:14px 10px 13px;border:1px solid #e1e8f0;border-radius:17px;background:#fff;text-align:center;transition:transform .2s ease,border-color .2s ease}
.tarjeta-tienda:hover{transform:translateY(-3px);border-color:#cbd8e8}
.tarjeta-tienda img{width:100%;height:92px;object-fit:contain;padding:5px;border-radius:13px}
.tarjeta-tienda>span{width:100%;height:92px;display:grid;place-items:center;border-radius:13px;background:var(--azul-suave);color:var(--azul);font-size:28px;font-weight:700}
.tarjeta-tienda strong{display:block;max-width:100%;overflow:hidden;margin-top:10px;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650}
.tarjeta-tienda small{margin-top:3px;color:var(--muted);font-size:9.5px}

.categorias-cuadricula{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tarjeta-categoria{display:grid;grid-template-columns:78px minmax(0,1fr) 20px;gap:15px;align-items:center;min-height:108px;padding:14px 16px;border:1px solid #e1e8f0;border-radius:18px;background:#fff}
.categoria-icono{width:78px;height:78px;display:grid;place-items:center;overflow:hidden;border-radius:17px;background:#f0f5fb}
.categoria-icono img{width:62%;height:62%;object-fit:contain;border-radius:10px}
.categoria-icono svg{width:44%;height:44%;fill:none;stroke:var(--azul);stroke-width:1.6}
.tarjeta-categoria strong{display:block;font-size:14px;font-weight:650}
.tarjeta-categoria small{display:block;margin-top:5px;color:var(--muted);font-size:10px}
.tarjeta-categoria>b{color:var(--azul);font-size:18px;font-weight:500}

.mostrar-tiendas,.mostrar-ofertas{display:flex;justify-content:center;margin-top:24px}
.mostrar-tiendas button,.mostrar-ofertas button{min-height:48px;padding:0 18px;border:1px solid #d4deea;border-radius:12px;background:#fff;color:#34465e;font-size:12.5px;font-weight:600;cursor:pointer}
.mostrar-tiendas button:hover,.mostrar-ofertas button:hover{border-color:#b9c9dc;color:var(--azul)}
.mostrar-tiendas button span,.mostrar-ofertas button span{margin-left:5px;font-weight:500}
[data-offer-card][hidden],[data-store-index][hidden]{display:none!important}

.como-funciona{padding:76px 0;background:#fff}
.como-diseno{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:52px;align-items:center;padding:46px;border-radius:30px;background:#f4f8fc}
.como-introduccion>span{color:var(--azul);font-size:10px;font-weight:650;letter-spacing:.13em}
.como-introduccion h2{max-width:500px;margin:10px 0 14px;font-size:38px;line-height:1.12;letter-spacing:-.04em;font-weight:700}
.como-introduccion>p{max-width:520px;margin:0;color:var(--muted);font-size:13.5px;line-height:1.7}
.como-confianza{display:flex;align-items:center;gap:12px;margin-top:24px}
.como-confianza>svg{width:46px;height:46px;flex:0 0 46px;padding:10px;border-radius:14px;background:#fff;color:var(--azul);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.como-confianza strong{display:block;font-size:12px;font-weight:650}
.como-confianza small{display:block;margin-top:2px;color:var(--muted);font-size:10px}
.como-ruta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.como-ruta article{min-width:0;padding:20px 17px;border:1px solid #dfe8f2;border-radius:18px;background:#fff}
.paso-icono{width:52px;height:52px;display:grid;place-items:center;margin-bottom:16px;border-radius:15px;background:var(--azul-suave);color:var(--azul)}
.paso-icono svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.como-ruta h3{margin:0 0 7px;font-size:15px;font-weight:650}
.como-ruta p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}

.newsletter-inicio{position:relative;padding:88px 0 92px;background:#eaf2fb;text-align:center}
.newsletter-centro{max-width:930px}
.newsletter-sello{width:70px;height:70px;display:grid;place-items:center;margin:0 auto 18px;border-radius:21px;background:#fff;color:var(--azul)}
.newsletter-sello svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.newsletter-etiqueta{color:var(--azul);font-size:10px;font-weight:650;letter-spacing:.14em}
.newsletter-inicio h2{max-width:760px;margin:10px auto 11px;font-size:40px;line-height:1.12;letter-spacing:-.04em;font-weight:700}
.newsletter-inicio>div>p{max-width:650px;margin:0 auto;color:var(--muted);font-size:14px;line-height:1.65}
.newsletter-inicio .newsletter-formulario{width:min(650px,100%);margin:28px auto 0}
.newsletter-campo{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:7px;border:1px solid #cfdeee;border-radius:16px;background:#fff}
.newsletter-campo input{min-width:0;min-height:52px;padding:0 16px;border:0;outline:0;background:transparent;color:var(--texto)}
.newsletter-campo button{min-height:52px;padding:0 23px;border:0;border-radius:11px;background:var(--amarillo);color:#10223b;font-size:13px;font-weight:650;cursor:pointer}
.newsletter-campo button:hover{background:#e8bd00}
.newsletter-inicio .newsletter-formulario>p{min-height:18px;margin:7px 0 0;color:var(--muted);font-size:11px}
.newsletter-beneficios{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;margin-top:17px;color:#53667e;font-size:11px}
.newsletter-beneficios span{display:inline-flex;align-items:center;gap:6px}
.newsletter-beneficios b{color:var(--verde);font-weight:650}

@media(max-width:1180px){
  .hero-cuadricula{grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:40px}
  .hero-texto h1{font-size:58px}
  .ofertas-cuadricula{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tiendas-cuadricula{grid-template-columns:repeat(5,minmax(0,1fr))}
  .como-diseno{gap:34px;padding:38px}
}

@media(max-width:980px){
  .hero-inicio{padding:48px 0 54px}
  .hero-cuadricula{grid-template-columns:1fr;gap:34px}
  .hero-texto{max-width:760px}
  .hero-texto h1{font-size:56px}
  .hero-slider{width:min(610px,96%);justify-self:center;aspect-ratio:3/2}
  .ofertas-cuadricula{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tiendas-cuadricula{grid-template-columns:repeat(4,minmax(0,1fr))}
  .categorias-cuadricula{grid-template-columns:repeat(2,minmax(0,1fr))}
  .como-diseno{grid-template-columns:1fr;padding:36px}
  .como-introduccion{max-width:720px}
}

@media(max-width:700px){
  .hero-inicio{padding:36px 0 42px}
  .hero-cuadricula{gap:28px}
  .hero-texto h1{margin-top:12px;font-size:43px;line-height:1.04}
  .hero-texto>p{margin-bottom:20px;font-size:13px}
  .buscador-hero{width:100%;min-height:56px;padding-left:46px}
  .buscador-hero>svg{left:16px}
  .buscador-hero button{min-height:46px;padding:0 16px}
  .hero-estadisticas{margin-top:22px}
  .hero-estadisticas span{min-width:0;flex:1;padding:0 12px}
  .hero-estadisticas strong{font-size:21px}
  .hero-estadisticas small{font-size:8px}
  .hero-slider{width:min(610px,98%);aspect-ratio:3/2;border-radius:21px}
  .slider-anterior,.slider-siguiente{width:40px;height:40px}
  .slider-anterior{left:10px}
  .slider-siguiente{right:10px}
  .seccion-inicio{padding:52px 0}
  .titulo-seccion{display:block;margin-bottom:22px}
  .titulo-seccion h2{font-size:31px}
  .titulo-seccion p{font-size:11.5px}
  .titulo-seccion>a{display:inline-block;margin-top:11px}
  .ofertas-cuadricula{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .tarjeta-oferta{border-radius:15px}
  .tarjeta-oferta-superior{padding:9px}
  .logo-oferta{width:66px;height:66px;flex-basis:66px;padding:4px;border-radius:13px}
  .logo-oferta img{border-radius:9px}
  .tipo-oferta{min-height:24px;padding:0 6px;font-size:7.5px}
  .tarjeta-oferta-cuerpo{padding:11px 10px 12px}
  .marca-oferta{font-size:9px}
  .titulo-oferta{min-height:49px;margin:6px 0 10px;font-size:11.5px;line-height:1.42}
  .estado-oferta{min-height:24px;padding:0 6px;font-size:7.5px}
  .tiendas-cuadricula{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
  .tarjeta-tienda{padding:10px 7px;border-radius:14px}
  .tarjeta-tienda img,.tarjeta-tienda>span{height:72px;border-radius:10px}
  .tarjeta-tienda strong{margin-top:7px;font-size:10.5px}
  .tarjeta-tienda small{font-size:8px}
  .categorias-cuadricula{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .tarjeta-categoria{grid-template-columns:64px minmax(0,1fr);gap:10px;min-height:88px;padding:10px;border-radius:15px}
  .categoria-icono{width:64px;height:64px;border-radius:14px}
  .categoria-icono img{width:58%;height:58%;border-radius:8px}
  .tarjeta-categoria strong{font-size:11px;line-height:1.35}
  .tarjeta-categoria small,.tarjeta-categoria>b{display:none}
  .como-funciona{padding:54px 0;background:#fff}
  .como-diseno{gap:28px;padding:26px 20px;border-radius:22px}
  .como-introduccion h2{font-size:31px}
  .como-introduccion>p{font-size:12px}
  .como-ruta{grid-template-columns:1fr;gap:10px}
  .como-ruta article{display:grid;grid-template-columns:52px minmax(0,1fr);gap:13px;align-items:center;padding:14px}
  .paso-icono{margin:0}
  .como-ruta h3{font-size:13px}
  .como-ruta p{font-size:10px}
  .newsletter-inicio{padding:62px 0 66px}
  .newsletter-sello{width:62px;height:62px;border-radius:18px}
  .newsletter-inicio h2{font-size:32px}
  .newsletter-inicio>div>p{font-size:12px}
  .newsletter-campo{grid-template-columns:1fr;padding:6px}
  .newsletter-campo input,.newsletter-campo button{min-height:50px}
  .newsletter-campo button{width:100%}
}

@media(max-width:430px){
  .hero-texto h1{font-size:37px}
  .hero-estadisticas small{letter-spacing:.04em}
  .hero-slider{width:100%;aspect-ratio:3/2}
  .ofertas-cuadricula{gap:8px}
  .logo-oferta{width:61px;height:61px;flex-basis:61px}
  .titulo-oferta{font-size:10.8px}
  .estado-oferta{max-width:100%;white-space:normal;line-height:1.2;text-align:left}
  .tiendas-cuadricula{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tarjeta-tienda img,.tarjeta-tienda>span{height:78px}
  .tarjeta-categoria{grid-template-columns:58px minmax(0,1fr);min-height:80px}
  .categoria-icono{width:58px;height:58px}
  .como-introduccion h2{font-size:28px}
  .newsletter-inicio h2{font-size:29px}
  .newsletter-beneficios{display:grid;gap:7px;justify-content:center;text-align:left}
}

@media(max-width:620px){.hero-slider{width:100%}.hero-slide::after{background:linear-gradient(180deg,rgba(12,27,45,0) 38%,rgba(12,27,45,.86) 100%)}.hero-banner-panel{top:auto;left:0;right:0;bottom:0;width:100%;min-height:128px;padding:35px 18px 17px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:3px 10px;align-items:end;background:transparent}.hero-banner-kicker{display:none}.hero-banner-logo{grid-row:1/3;width:48px;height:48px;margin:0;padding:5px}.hero-banner-brand{align-self:end;margin:0;font-size:11px}.hero-banner-offer{grid-column:2;grid-row:2;margin:0;-webkit-line-clamp:2;font-size:13px;line-height:1.25}.hero-banner-cta{grid-column:3;grid-row:1/3;align-self:center;margin:0;min-height:34px;font-size:9px}}

.newsletter-formulario [data-newsletter-status].success{color:#267454}.newsletter-formulario [data-newsletter-status].warning{color:#8a642a}.newsletter-formulario [data-newsletter-status].error{color:#a14242}

.newsletter-inicio.suscripcion-completa .newsletter-beneficios{display:none!important}.newsletter-inicio.suscripcion-completa .newsletter-formulario{margin-top:24px}.newsletter-completa{display:block!important}.newsletter-exito-global{min-height:64px;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;border-radius:14px;background:#eef8f4;text-align:left}.newsletter-exito-global>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#d8f0e7;color:#187257;font-weight:800}.newsletter-exito-global strong{display:block;color:#173c32;font-size:13px}.newsletter-exito-global small{display:block;margin-top:3px;color:#55736a;font-size:10px}
