/* ==========================================================================
   HOME — sistema del prototipo «Pigyfante Home standalone.dc.html» (candidata B),
   la fuente aprobada por Dani el 2026-09-07. Portado literal.
   Referencia visual exacta: «Pigyfante Home.html», el mismo diseno aplanado.

   Se retiraron SOLO los reset globales: en el lienzo la pagina era suya entera;
   aqui habrian reescrito el resto del sitio, checkout incluido.
   ========================================================================== */
/* ===== RESPONSIVE SYSTEM — the only thing CSS owns. All visual styling is inline. ===== */
  .pfc{container-type:inline-size;container-name:pf}
  .pf{--pad:16px; --gut:12px; --sec:44px;
      --h1:30px; --h2:22px; --h3:17px; --body:14px; --small:12px;
      --hero-min:0px}
  .r-desk{display:none!important}
  .r-desk-f{display:none!important}
  .r-tab{display:none!important}
  .g-cat{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
    padding:0 0 6px}
  .g-cat::-webkit-scrollbar{display:none}
  .g-cat > *{flex:0 0 74%;scroll-snap-align:start}
  @container pf (min-width:600px){ .g-cat > *{flex:0 0 43%} }
  .up-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
  .up-grid > *:nth-child(n+7){display:none}
  @container pf (min-width:1024px){
    .up-grid{grid-template-columns:repeat(4,1fr)}
    .up-grid > *:nth-child(n+7){display:block}
  }
  .g-prod{display:grid;gap:var(--gut);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .g-prod h3{min-height:2.7em;flex:1}
  .g-prod h3 a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .g-prod > *{height:100%}
  .pf-wordmark{width:132px}
  /* BANNER DE CAMPAÑA · navy premium. Móvil: texto, CTA y dos agendas debajo. */
  .camp{position:relative;max-width:1400px;margin:0 auto;background:#1A2A6E;border-radius:28px;
    overflow:hidden;padding:24px 22px 0;display:flex;flex-direction:column;gap:14px}
  .camp-h{font-size:clamp(27px,6vw,34px)}
  .camp-txt{font-size:14px;max-width:44ch}
  .camp-stage{position:relative;height:152px;margin:0 -22px}
  .camp-glow{position:absolute;left:50%;top:-24%;transform:translateX(-50%);width:84%;aspect-ratio:1/1;z-index:0;
    background:radial-gradient(circle at 50% 45%,rgba(125,230,231,.34) 0%,rgba(125,230,231,.12) 46%,rgba(125,230,231,0) 70%)}
  .camp-art{position:absolute;inset:0;z-index:2}
  .camp-art img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
  .camp figure{margin:0;position:absolute;border-radius:14px 4px 4px 14px;overflow:hidden;background:#fff}
  .camp figure img{width:100%;height:100%;object-fit:cover;display:block}
  .camp-a{left:50%;bottom:0;width:104px;height:139px;transform:translateX(-64%);z-index:3;
    box-shadow:0 20px 38px -14px rgba(0,0,0,.5)}
  .camp-b{left:50%;bottom:12px;width:88px;height:117px;transform:translateX(14%) rotate(4deg);z-index:2;
    box-shadow:0 16px 30px -14px rgba(0,0,0,.45)}
  .camp-c{display:none}
  .camp img.camp-char{position:absolute;left:5%;bottom:-4px;width:72px;height:auto;object-fit:contain;z-index:4}
  .camp-heart{position:absolute;left:16%;top:12%;width:20px;height:20px;z-index:4;opacity:.95}
  .camp-spark{position:absolute;right:14%;top:20%;width:18px;height:18px;z-index:4;opacity:.95}

  @container pf (min-width:768px) and (max-width:1023px){
    .camp{flex-direction:row;align-items:center;gap:0;padding:0 0 0 26px}
    .camp-copy{flex:0 0 47%;padding:22px 0}
    .camp-h{font-size:26px}
    .camp-txt{font-size:13.5px;max-width:38ch}
    .camp-stage{flex:1;min-width:0;align-self:stretch;height:auto;margin:0}
    .camp-a{left:12%;bottom:0;width:34%;height:78%;transform:none}
    .camp-b{left:44%;bottom:12%;width:29%;height:60%;transform:rotate(3deg)}
    .camp img.camp-char{left:0;bottom:0;width:17%}
  }
  @container pf (min-width:768px){
    .camp{padding:30px 30px 0}
    .camp-stage{height:240px;margin:0 -30px}
    .camp-a{width:152px;height:203px}
    .camp-b{width:126px;height:168px}
    .camp img.camp-char{width:104px}
  }
  /* Escritorio: escena horizontal, tres agendas con escala distinta. */
  @container pf (min-width:1024px){
    .camp{flex-direction:row;align-items:center;gap:0;padding:0 0 0 clamp(34px,3.4vw,52px);
      border-radius:32px;min-height:308px}
    .camp-copy{flex:0 0 44%;padding:24px 0}
    .camp-h{font-size:clamp(34px,2.7vw,40px)}
    .camp-txt{font-size:15px;max-width:40ch}
    .camp-stage{flex:1;min-width:0;align-self:stretch;height:auto;margin:0}
    .camp-glow{left:52%;top:-14%;width:78%}
    .camp-a{left:14%;bottom:0;width:31%;height:82%;transform:none;z-index:3;
      transition:transform .2s;box-shadow:0 30px 60px -18px rgba(0,0,0,.55)}
    .camp-a:hover{transform:translateY(-3px)}
    .camp-b{left:41%;bottom:14%;width:26%;height:62%;transform:rotate(3deg);z-index:2}
    .camp-c{display:block;left:63%;bottom:26%;width:21%;height:48%;transform:rotate(-4deg);z-index:1;
      box-shadow:0 14px 28px -14px rgba(0,0,0,.4)}
    .camp img.camp-char{left:0;bottom:0;width:15%}
    .camp-heart{left:11%;top:16%;width:22px;height:22px}
    .camp-spark{right:20%;top:24%;width:20px;height:20px}
    .camp-cta:hover .camp-arrow{transform:translateX(3px)}
  }

  /* NAVY · una protagonista y tres secundarias, no una fila uniforme. */
  .navy-stage{position:relative;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .navy-stage > a{aspect-ratio:1/1}
  .navy-lead{grid-column:1/-1;aspect-ratio:4/3!important}
  .gf-shape{width:56px;height:56px;border-radius:99px}
  #newsletter-email:focus-visible,#newsletter-consent:focus-visible,form button[type="submit"]:focus-visible{
    outline:3px solid #FF5C8A;outline-offset:2px}
  .sr-h{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .conf-band{display:flex;flex-direction:column;gap:18px}
  .conf-sig{display:flex;flex-direction:column;gap:12px}
  .conf-track{min-width:0}
  @container pf (min-width:600px){ .conf-sig{flex-direction:row;gap:26px} }
  @container pf (min-width:1024px){
    .conf-band{flex-direction:row;align-items:center;justify-content:space-between;gap:30px;padding:18px 24px}
    .conf-sig{flex:0 0 auto;gap:30px}
    .conf-track{flex:1;max-width:460px}
  }
  /* HISTORIA · escena de marca con photobook y fotos que rompen el eje. */
  .emo-stage{position:relative;display:flex;justify-content:center;align-items:flex-end}
  img.emo-chars{position:relative;z-index:2;width:100%;max-width:420px;height:auto;display:block}
  @container pf (min-width:1024px){
    img.emo-chars{max-width:546px;width:100%}
  }

  /* NEWSLETTER · escena postal. Móvil: sobre y personajes en flujo, sin absolutos frágiles. */
  .news-scene{position:relative;display:flex;justify-content:center;align-items:flex-end;
    min-height:214px;padding-top:16px}
  .news-blob{position:absolute;right:50%;bottom:0;transform:translateX(50%);width:78%;aspect-ratio:1/.86;z-index:0;
    pointer-events:none;background:radial-gradient(58% 60% at 50% 55%,#DFF7F8 0%,#EAF8FA 54%,rgba(234,248,250,0) 74%);
    border-radius:56% 44% 50% 50%/48% 52% 48% 52%}
  .news-scene img.news-chars{position:relative;z-index:4;width:100%;max-width:250px;height:auto;
    object-fit:contain;display:block;margin-bottom:clamp(-30px,-2.4vw,-20px)}

  @container pf (min-width:768px){
    .news-scene{min-height:250px}
    .news-scene img.news-chars{max-width:280px}
  }
  @container pf (min-width:1024px){
    .news-scene{min-height:262px;align-items:flex-end;justify-content:flex-end;padding-top:12px}
    .news-blob{right:-4%;transform:none;width:82%}
    .news-scene img.news-chars{max-width:none;width:78%}
  }

  .nav-row{overflow-x:auto;scrollbar-width:none}
  .nav-row::-webkit-scrollbar{display:none}
  .gf-wide .gf-shape{width:64px;height:64px;border-radius:56% 44% 52% 48%/48% 52% 48% 52%}
  @container pf (min-width:1024px){
    .g-occ{grid-template-columns:repeat(4,minmax(0,1fr))!important}
    /* Seis ocasiones en cuatro columnas: si la primera y la ultima ocupan dos,
       suman ocho huecos y la rejilla cierra exacta, sin espacios muertos. */
    .gf-big{grid-column:span 2}
    .gf-wide{grid-column:span 2}
    .gf-wide .gf-shape{width:84px;height:84px}
  }
  .navy-d{grid-column:1/-1;aspect-ratio:16/7!important}
  .navy-star,.navy-heart,.navy-line{display:none}
  @container pf (min-width:768px){
    .navy-stage{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,132px);gap:14px}
    .navy-lead{grid-column:1/3;grid-row:1/4;aspect-ratio:auto!important}
    .navy-b{grid-column:3;grid-row:1}
    .navy-c{grid-column:3;grid-row:2}
    .navy-d{grid-column:3;grid-row:3;aspect-ratio:auto!important}
    .navy-stage > a:not(.navy-lead){aspect-ratio:auto!important}
  }
  @container pf (min-width:1024px){
    .navy-stage{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:250px 190px;gap:16px}
    .navy-lead{grid-column:1/8;grid-row:1/3;aspect-ratio:auto!important}
    .navy-b{grid-column:8/13;grid-row:1;aspect-ratio:auto!important}
    .navy-c{grid-column:8/11;grid-row:2;aspect-ratio:auto!important}
    .navy-d{grid-column:11/13;grid-row:2;aspect-ratio:auto!important}
    .navy-star{display:block;position:absolute;left:-18px;top:-14px;width:22px;height:22px;opacity:.9}
    .navy-heart{display:block;position:absolute;right:-14px;bottom:18%;width:20px;height:20px;opacity:.9}
    .navy-line{display:block;position:absolute;left:44%;bottom:-26px;width:24%;height:36px;opacity:.8}
  }

  /* ESCENA DE REGALO. Móvil: protagonista + un objeto delante, personajes discretos. */
  .scene{position:relative;padding:2px 0 22px}
  .scene figure{margin:0}
  .scene img{display:block;width:100%;height:100%;object-fit:cover}
  .scene-hero{position:relative;width:62%;margin-left:auto;border-radius:24px;overflow:hidden;background:#fff;
    box-shadow:0 22px 44px -18px rgba(26,42,110,.34);aspect-ratio:3/4;z-index:2}
  .scene-hero figcaption{position:absolute;left:12px;bottom:12px;padding:6px 12px;border-radius:99px;
    background:rgba(255,255,255,.94);font-size:11.5px;font-weight:800;color:#0A1F66;letter-spacing:.01em}
  .scene-back{display:none}
  .scene-front{position:absolute;left:0;bottom:36px;width:34%;border-radius:18px;overflow:hidden;
    background:#fff;aspect-ratio:1/1;box-shadow:0 16px 32px -16px rgba(26,42,110,.32);z-index:3}
  .scene img.scene-chars{position:absolute;left:1%;bottom:-4px;width:37%;height:auto;object-fit:contain;z-index:4}

  @container pf (min-width:768px){
    .scene{padding:10px 0 40px}
    .scene-hero{width:66%}
    .scene-front{width:34%;bottom:64px}
    .scene img.scene-chars{width:38%}
  }

  /* Escritorio: asimetría real — protagonista, objeto detrás, objeto delante,
     personajes interactuando y microelementos dirigiendo la mirada. */
  @container pf (min-width:1024px){
    .scene{padding:0}
    .scene-hero{position:relative;width:58%;margin-left:8%;aspect-ratio:4/5;border-radius:26px;z-index:3;
      transform:rotate(-1.2deg);box-shadow:0 30px 60px -22px rgba(26,42,110,.4)}
    .scene-hero figcaption{left:14px;bottom:14px;font-size:12.5px;padding:7px 14px}
    .scene-back{display:none;position:absolute;right:2%;top:6%;width:42%;aspect-ratio:4/5;z-index:2;
      border-radius:22px;overflow:hidden;background:#fff;transform:rotate(2deg);
      box-shadow:0 22px 44px -20px rgba(26,42,110,.32)}
    .scene-front{left:2%;bottom:14%;width:31%;aspect-ratio:1/1;border-radius:20px;z-index:4;
      transform:rotate(-2deg);box-shadow:0 20px 40px -18px rgba(26,42,110,.34)}
    .scene img.scene-chars{left:17%;bottom:-22px;width:40%;z-index:5}
  }

  .g-occ{display:grid;gap:var(--gut);grid-template-columns:repeat(2,minmax(0,1fr))}
  .g-step{display:grid;gap:var(--gut);grid-template-columns:repeat(2,minmax(0,1fr))}
  .g-rev{display:grid;gap:var(--gut);grid-template-columns:repeat(1,minmax(0,1fr))}
  .g-blog{display:grid;gap:var(--gut);grid-template-columns:repeat(1,minmax(0,1fr))}
  .g-trust{display:grid;gap:22px;grid-template-columns:repeat(1,minmax(0,1fr))}
  .g-hero{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
  .g-pers{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
  .g-emo{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
  .g-news{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
  .g-foot{display:grid;gap:0;grid-template-columns:minmax(0,1fr)}
  .swipe{display:flex;gap:var(--gut);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin:0 calc(var(--pad)*-1);padding-left:var(--pad);padding-right:var(--pad)}
  .swipe > *{scroll-snap-align:start;flex:0 0 74%;max-width:280px}

  @container pf (min-width:600px){
    .pf{--pad:24px;--gut:16px;--sec:46px;--h1:38px;--h2:26px;--h3:18px;--body:15px}
    .g-prod{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
    .g-occ{grid-template-columns:repeat(3,minmax(0,1fr))}
    .g-step{grid-template-columns:repeat(4,minmax(0,1fr))}
    .g-rev{grid-template-columns:repeat(2,minmax(0,1fr))}
    .g-blog{grid-template-columns:repeat(3,minmax(0,1fr))}
    .g-trust{grid-template-columns:repeat(2,minmax(0,1fr))}
    .swipe > *{flex:0 0 42%}
  }
  @container pf (min-width:768px){
    .pf{--pad:32px;--sec:52px;--h1:42px;--h2:29px;--hero-min:0px}
    .r-tab{display:block!important}
    .g-hero{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center}
    .hero-col{height:470px}
    .g-pers{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
    .g-emo{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center}
    .g-news{grid-template-columns:minmax(0,1fr) minmax(0,.82fr);align-items:center;gap:30px}
    .g-foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 32px}
  }
  @container pf (min-width:768px) and (max-width:1023px){
    .g-hero{grid-template-columns:minmax(0,1.24fr) minmax(0,.76fr);gap:18px;align-items:center}
    .g-hero > *:first-child > h1{font-size:38px}
    .scene{padding:0}
  }
  @container pf (min-width:860px){
    .g-prod{grid-template-columns:repeat(4,minmax(0,1fr))}
  }
  @container pf (min-width:1024px){
    .pf{--pad:40px;--gut:22px;--sec:54px;--h1:50px;--h2:38px;--h3:21px;--body:16.5px;--small:13px;--hero-min:0px}
    .r-desk{display:block!important}
    .r-desk-f{display:flex!important}
    .r-mob{display:none!important}
    .pf-wordmark{width:174px}
    .hero-col{height:660px}
    .g-cat{display:grid;gap:14px;grid-template-columns:repeat(6,minmax(0,1fr));
      overflow:visible;scroll-snap-type:none;padding:0}
    .g-cat > *{flex:auto;border:0!important;box-shadow:none!important}
    .g-cat img{aspect-ratio:4/3!important}
    .g-prod{grid-template-columns:repeat(4,minmax(0,1fr))}
    .g-occ{grid-template-columns:repeat(6,minmax(0,1fr))}
    .g-rev{grid-template-columns:repeat(3,minmax(0,1fr))}
    .g-trust{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
    .swipe{display:grid;gap:var(--gut);grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;margin:0;padding:0}
    .swipe > *{max-width:none;flex:none}
  }
  @container pf (min-width:1280px){
    .pf{--pad:48px;--h1:52px;--h2:40px}
  }
  @container pf (min-width:1600px){ .pf{--pad:56px;--sec:68px} }

  @keyframes pfBenefit{0%,26%{transform:translateY(0)}33%,59%{transform:translateY(-100%)}66%,92%{transform:translateY(-200%)}100%{transform:translateY(-300%)}}
  @keyframes pfPop{0%{transform:scale(1)}45%{transform:scale(1.35)}100%{transform:scale(1)}}
  @keyframes pfFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}}
  @keyframes pfIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  @keyframes pfSlide{from{transform:translateX(-100%)}to{transform:translateX(0)}}
  @keyframes pfRight{from{transform:translateX(100%)}to{transform:translateX(0)}}
  .pf-benefit-track{animation:pfBenefit 12s cubic-bezier(.6,0,.4,1) infinite}
  .pf-pop{animation:pfPop .4s ease}
  .pf-float{animation:pfFloat 6s ease-in-out infinite}
  .pf-in{animation:pfIn .28s ease both}
  @media (prefers-reduced-motion:reduce){*{animation-duration:.001s!important}}

/* --------------------------------------------------------------------------
   ANCHO A SANGRE. El diseno usa consultas de CONTENEDOR, no media queries, y
   Storefront lo encerraba en `.col-full` (max-width 1063,98 px): a 1440 se
   quedaba en el tramo de 1024 y todo salia un 26 % mas pequeno. Se le devuelve
   el ancho de ventana. Solo afecta a `.pigyhome`, que solo existe en la portada.
   -------------------------------------------------------------------------- */
.pigyhome{ width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); max-width:100vw; }
.site-content .col-full:has(> .pigyhome){ padding-left:0; padding-right:0; max-width:none; }

/* Mismo reset acotado que en el marco, y por el mismo motivo. */
.pigyhome ul,
.pigyhome ol{ margin:0; padding:0; list-style:none; }
.pigyhome li{ list-style:none; }
.pigyhome a{ text-decoration:none; }
.pigyhome p{ margin:0; }
.pigyhome h1,.pigyhome h2,.pigyhome h3,.pigyhome h4{ margin:0; }
.pigyhome button{ font:inherit; cursor:pointer; border:0; background:none; color:inherit; }

/* --------------------------------------------------------------------------
   «Hechos una sola vez, para una sola persona». Los nombres reales de categoria
   —«Cuadros familiares personalizados»— son mucho mas largos que los del
   prototipo y en la tarjeta estrecha se partian casi letra a letra.
   Se acotan a dos lineas, con un punto menos de tamaño SOLO aqui y corte por
   silaba. Ni una medida de la rejilla cambia.
   -------------------------------------------------------------------------- */
.pigyhome .g-cat .cat h3,
.pigyhome .pf-escena-nombre{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  hyphens: auto;
  line-height: 1.25;
}
/* La reduccion de tamano es SOLO en las escenas de la seccion 8, que es donde el
   nombre real desbordaba. Las tarjetas de categoria conservan el suyo.
   El `display` lleva `!important` porque el marcado del prototipo trae
   `display:block` EN LINEA, y un estilo en linea gana a una clase: sin esto el
   `-webkit-line-clamp` no recortaba nada y el nombre seguia en seis lineas. */
.pigyhome .pf-escena-nombre{
  font-size: 15px !important;
  display: -webkit-box !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   SECCIÓN 14 · NOVEDADES
   Port de `16_EVIDENCIAS/MIG-0179_NOVEDADES/REFERENCIA.png`. Colores
   muestreados del PNG. Todo cuelga de `.pf-news`, y esta hoja solo se encola
   en la portada: no puede afectar a ninguna otra pantalla.
   ══════════════════════════════════════════════════════════════════════════ */
/* La secuencia franja → novedades → pie tiene que leerse como una sola
   composición. Los 64px de `--sec * .8` abrían un desierto blanco justo antes
   del pie; abajo no se separa nada: la tarjeta entrega directamente al azul.

   MIG-0257 · al retirar el bloque de blog del pie, «Comprar aquí es seguro»
   quedó pegado al newsletter (14px medidos) y hubo que abrir este margen.
   MIG-0258 · y ahora se ajusta SOLO, que es lo que hacía falta: la sección de
   opiniones solo se pinta si Google ha contestado, así que el newsletter unas
   veces la tiene encima y otras no. Por defecto se separa; cuando las opiniones
   van justo antes, se pega a ellas, porque ese bloque ya trae su propio aire. */
.pf-news{ margin:calc(var(--sec)*.62) 0 0; padding-bottom:16px; background:#fff; }
.pfop + .pf-news{ margin-top:clamp(12px,1vw,15px); }
/* Respiro blanco antes del pie. Va como PADDING de la sección, no como margen:
   un margen inferior colapsaría a través de los contenedores y dejaría ver el
   fondo azul del documento en lugar de blanco. */
@container pf (min-width:760px){ .pf-news{ padding-bottom:20px; } }
@container pf (min-width:1080px){ .pf-news{ padding-bottom:24px; } }
/* MIG-0332 · Separación clara entre «Te avisamos antes que a nadie» y el footer (solo portada):
   el relleno inferior de la propia sección, que es blanca. Sin bloques vacíos, sin tocar el footer. */
.pigyhome .pf-news{ padding-bottom:64px; }
@media (max-width:1279px){ .pigyhome .pf-news{ padding-bottom:48px; } }
@media (max-width:1023px){ .pigyhome .pf-news{ padding-bottom:40px; } }
@media (max-width:767px){ .pigyhome .pf-news{ padding-bottom:32px; } }
/* Mismo contenedor que el pie: `min(1480, 100%) − 2×32` = 1376px de ancho útil
   a 1440. Antes eran 1296 y la tarjeta se veía angosta contra un pie a ancho
   completo. Centrada y sin llegar al borde. */
.pf-news-marco{ max-width:1480px; margin:0 auto; padding:0 var(--pad); }
/* Mismo acolchado que el contenedor del pie a partir de 900: así ambos dan
   exactamente el mismo ancho útil. Por debajo manda `--pad`, porque un valor
   fijo estrechaba la tarjeta en móvil (358 → 326px). */
@container pf (min-width:900px){ .pf-news-marco{ padding:0 32px; } }

.pf-news-tarjeta{
  position:relative; border-radius:30px; overflow:hidden;
  /* Degradado muy leve en vez de un plano: da profundidad sin tocar identidad
     ni recurrir a sombras. */
  background:linear-gradient(168deg,#F1F7FD 0%,#E9F2FB 46%,#E2EDF9 100%);
  display:grid; gap:22px; grid-template-columns:minmax(0,1fr);
  padding:clamp(18.5px,2vw,24px) clamp(20px,3vw,44px) clamp(16.5px,1.75vw,20px);
}

/* ── Columna izquierda ───────────────────────────────────────────────────── */
.pf-news-texto{ max-width:680px; }

/* Rótulo. En la referencia NO es una píldora: es un guion coral y la palabra en
   versalitas. Se replica tal cual. */
.pf-news-badge{
  display:flex; align-items:center; gap:11px; margin:0 0 9px;
  font-size:12px; font-weight:900; letter-spacing:.14em; text-transform:uppercase;
  color:#0A1F66;
}
.pf-news-badge span{ width:26px; height:3.5px; border-radius:99px; background:#FA3C78; flex:none; }

.pf-news-titulo{
  font-family:Nunito, sans-serif; font-size:clamp(27px,2.6vw,36px); font-weight:900;
  color:#0A1F66; line-height:1.12; letter-spacing:-.01em; margin:0 0 7px;
}
.pf-news-desc{ font-size:clamp(15px,1.15vw,17px); color:#4A5590; line-height:1.55; margin:0 0 14px; max-width:60ch; }

/* ── Formulario ──────────────────────────────────────────────────────────── */
/* El formulario ahora envuelve también la casilla (MIG-0183). La disposición
   en fila que antes tenía el propio <form> pasa a `.pf-news-fila`, con los
   mismos valores: la geometría aprobada no cambia. */
.pf-news-form{ display:block; max-width:640px; margin:0; }
/* Storefront da a todo <form> `margin-bottom:1.618em`. Antes, con la casilla
   FUERA, ese margen colapsaba con el de la casilla y fijaba el hueco entre la
   fila y la casilla (26px / 22,6px). Ahora que está dentro se reproduce el
   mismo hueco, con la misma unidad, y el formulario ya no suma nada debajo. */
.pf-news-form .pf-news-consent{ margin-top:1.618em; }
.pf-news-fila{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.pigyhome .pf-news-campo{
  flex:1 1 340px; min-width:0; display:flex; align-items:center; gap:13px;
  height:64px; padding:0 24px; border-radius:99px; background:#fff;
  border:1.5px solid #DCE6F3; transition:border-color .16s ease, box-shadow .16s ease;
}
.pf-news-campo svg{ flex:none; }
.pigyhome .pf-news-campo input{
  flex:1; min-width:0; height:100%; border:0; background:none; outline:none;
  font-size:16px; color:#0A1F66;
}
.pf-news-campo input::placeholder{ color:#8A93B8; }
.pf-news-campo:focus-within{ border-color:#FA3C78; box-shadow:0 0 0 4px rgba(250,60,120,.14); }

.pigyhome .pf-news-cta{
  flex:none; height:64px; padding:0 42px; border:0; border-radius:99px; cursor:pointer;
  background:#FA3C78; color:#fff; font-size:16.5px; font-weight:800; letter-spacing:.005em;
  box-shadow:0 12px 24px -14px rgba(250,60,120,.85);
  transition:background-color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.pigyhome .pf-news-cta:hover{ background:#E62C66; transform:translateY(-1px); box-shadow:0 16px 30px -14px rgba(250,60,120,.95); }
.pigyhome .pf-news-cta:focus-visible,
.pf-news-campo input:focus-visible,
.pf-news-consent input:focus-visible{ outline:3px solid #FA3C78; outline-offset:3px; }

/* ── Consentimiento ──────────────────────────────────────────────────────── */
.pf-news-consent{ display:flex; align-items:flex-start; gap:11px; margin-top:11px; max-width:52ch; cursor:pointer; }
.pigyhome .pf-news-consent input{
  width:20px; height:20px; margin:1px 0 0; flex:none; cursor:pointer;
  accent-color:#FA3C78; border:1.5px solid #B4BED2; border-radius:6px;
}
.pf-news-consent span{ font-size:13px; line-height:1.55; color:#5C6698; }
.pf-news-consent a{ color:#2C6ECB; text-decoration:underline; text-underline-offset:2px; }
.pf-news-consent a:hover{ color:#FA3C78; }

/* ── Columna derecha ─────────────────────────────────────────────────────── */
.pf-news-escena{ position:relative; display:flex; align-items:flex-end; justify-content:center; min-height:0; }
.pf-news-nube{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-48%);
  width:min(100%,380px); aspect-ratio:1/.9; border-radius:50%;
  background:radial-gradient(closest-side, #D2F0FA 58%, rgba(210,240,250,.45) 78%, rgba(210,240,250,0) 100%);
  z-index:0; pointer-events:none;
}
.pf-news-chispas{ position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none; }
.pf-news-chars{ position:relative; z-index:2; width:min(72%,260px); height:auto; display:block; }

/* Nota manuscrita. Caveat ya la carga el tema: no se añade ninguna fuente. */
.pf-news-nota{ display:none; }
.pf-news-nota p{
  font-family:Caveat, cursive; font-size:24px; font-weight:700; line-height:1.14;
  color:#0A1F66; margin:0; transform:rotate(-4deg);
}
.pf-news-nota svg{ width:22px; height:22px; margin:6px 0 0 6px; }
.pf-news-subrayado{ display:block; width:96px; height:3px; border-radius:99px; background:#7FB2F0; margin:8px 0 0 4px; transform:rotate(-3deg); }
.pf-news-huella{ display:none; }

/* ── Tramos ──────────────────────────────────────────────────────────────── */
@container pf (min-width:760px){
  .pf-news-tarjeta{ grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:center; gap:24px; }
  .pf-news-escena{ min-height:0; }
}
@container pf (min-width:1080px){
  /* 60/40 y la ilustración anclada al borde derecho: antes flotaba centrada y
     además era ella, con 400x320, la que fijaba el alto de toda la tarjeta
     -la columna de texto solo mide 191px-. */
  .pf-news-tarjeta{ grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:24px; }
  .pf-news-escena{ min-height:0; justify-content:flex-end; align-items:flex-end; padding:0; }
  .pf-news-chars{ width:min(100%,300px); }
  .pf-news-nube{ left:auto; right:2%; transform:translateY(-48%); width:min(100%,340px); }
  /* La nota y la huella solo aparecen donde hay sitio: apretadas competirían
     con la ilustración, que es lo que manda en esta columna. */
  /* Al anclar la ilustración al borde derecho, la nota se le montó encima.
     Pasa al hueco que queda a su izquierda. */
  .pf-news-nota{ display:block; position:absolute; left:0; right:auto; top:50%; transform:translateY(-54%);
                 z-index:3; text-align:left; max-width:200px; }
  .pf-news-huella{ display:block; position:absolute; right:1%; bottom:-10%; width:78px; height:78px; opacity:.45; z-index:0; }
}

@media (hover:none){ .pigyhome .pf-news-cta:hover{ transform:none; } }
@media (prefers-reduced-motion:reduce){ .pigyhome .pf-news-cta{ transition:none; } }

/* La franja de confianza usaba un contenedor de 1400px con 52px de acolchado:
   1296px a 1440, contra los 1376 de la tarjeta de novedades y del pie. Se
   alinea al MISMO ancho útil para que los tres bloques compartan borde.
   Acotado por `aria-labelledby`: no afecta a ninguna otra sección. */
.pigyhome section[aria-labelledby="h-conf"] > div{
  max-width:1480px!important;
}
@container pf (min-width:900px){
  .pigyhome section[aria-labelledby="h-conf"] > div{
    padding-left:32px!important; padding-right:32px!important;
  }
}

/* Ajuste óptico. Medido: a dos columnas el centro de la ilustración quedaba
   14px por DEBAJO del centro del bloque título→CTA. Se sube 8px, no los 14:
   los pies y la sombra de los personajes pesan abajo, y centrarla del todo la
   hacía parecer que flota. Se mueve la ilustración y su halo juntos; la nota
   manuscrita se queda donde está. En móvil va apilada: ahí no hay desfase. */
@container pf (min-width:760px){
  .pf-news-chars{ transform:translateY(-8px); }
  .pf-news-nube{ top:calc(50% - 8px); }
}

/* ══════════════════════════════════════════════════════════════════════════
   CAMPO DE EMAIL DE LA NEWSLETTER — un solo borde (MIG-0182)

   El borde y el foco viven en la PÍLDORA (`.pf-news-campo` + `:focus-within`).
   El `<input>` de dentro tiene que ser invisible, pero le llegaban cuatro capas
   de estilo que dibujaban una segunda caja:

     1. `#newsletter-email:focus-visible` (home.css y marco.css, heredado del
        prototipo) → contorno rosa de 3px. Con ID, ganaba a la regla del campo.
     2. `input:focus` (base.css) y el aro amarillo de Chilexpress → más contorno.
     3. Storefront: `input[type=email]{box-shadow:inset 0 1px 1px}` → la línea
        de caja interior visible incluso en reposo.
     4. base.css: `border-radius:8px` y `padding:.7em .9em` → daban a esa caja
        esquinas propias dentro de la píldora.

   Aquí se neutralizan solo para ESTE campo. Las reglas compartidas no se tocan:
   siguen dando foco al resto de formularios del sitio.
   ══════════════════════════════════════════════════════════════════════════ */
.pigyhome .pf-news-campo #newsletter-email,
.pigyhome .pf-news-campo #newsletter-email:hover,
.pigyhome .pf-news-campo #newsletter-email:focus,
.pigyhome .pf-news-campo #newsletter-email:focus-visible,
.pigyhome .pf-news-campo #newsletter-email:active,
.pigyhome .pf-news-campo #newsletter-email:invalid{
  outline:none!important; border:0!important; box-shadow:none!important;
  background:transparent!important; border-radius:0!important;
  padding:0!important; margin:0!important;
  -webkit-appearance:none; appearance:none;
}
/* Firefox pinta un aro rojo en campos inválidos mientras se escribe. */
.pigyhome .pf-news-campo #newsletter-email:-moz-ui-invalid{ box-shadow:none!important; }
.pigyhome .pf-news-campo #newsletter-email::-moz-focus-inner{ border:0; }

/* Autorrelleno. Chrome/Safari pintan un fondo azulado/amarillo en la caja del
   input, que dentro de la píldora se vería como un rectángulo. Se tapa con una
   sombra interior del mismo blanco del campo y se fija el color del texto.
   Firefox usa un filtro de color en su lugar: se anula. */
.pigyhome .pf-news-campo #newsletter-email:-webkit-autofill,
.pigyhome .pf-news-campo #newsletter-email:-webkit-autofill:hover,
.pigyhome .pf-news-campo #newsletter-email:-webkit-autofill:focus{
  -webkit-text-fill-color:#0A1F66; caret-color:#0A1F66;
  box-shadow:0 0 0 1000px #fff inset!important;
  transition:background-color 99999s ease-out 0s;
}
.pigyhome .pf-news-campo #newsletter-email:autofill{ filter:none!important; }

/* El foco, en un solo sitio: la píldora. Si el navegador no soporta
   `:focus-within`, el campo sigue teniendo caret y el borde en reposo. */
.pigyhome .pf-news-campo:focus-within{
  border-color:#FA3C78; box-shadow:0 0 0 4px rgba(250,60,120,.14);
}

/* ══════════════════════════════════════════════════════════════════════════
   NEWSLETTER · ESTADOS (MIG-0183). Solo carga, error y éxito, con la estética
   ya aprobada. No se toca nada del diseño en reposo.
   ══════════════════════════════════════════════════════════════════════════ */
.pf-news-trampa{ position:absolute!important; left:-9999px!important; width:1px; height:1px; overflow:hidden; }

/* Carga */
.pigyhome .pf-news-cta:disabled{ opacity:.78; cursor:progress; transform:none; }

/* Error: texto discreto bajo la casilla, en el coral de la marca oscurecido
   para que cumpla contraste sobre el celeste de la tarjeta. */
.pf-news-estado{ margin:10px 0 0; font-size:13.5px; line-height:1.45; font-weight:600; }
.pf-news-estado.es-error{ color:#B8184F; }
.pigyhome .pf-news-error-campo .pf-news-campo{ border-color:#E0457B; }
.pf-news-error-consent .pf-news-consent input{ outline:2px solid #E0457B; outline-offset:2px; border-radius:4px; }

/* Éxito: sustituye a la fila y a la casilla dentro de la misma tarjeta. */
.pf-news-ok .pf-news-fila,
.pf-news-ok .pf-news-consent,
.pf-news-ok .pf-news-estado{ display:none!important; }
.pf-news-exito{
  background:#fff; border:1.5px solid #DCE6F3; border-radius:22px;
  padding:16px 22px; max-width:640px; outline:none;
  animation:pfNewsEntra .28s cubic-bezier(.2,.8,.2,1);
}
.pf-news-exito-t{ margin:0 0 4px; font-family:Nunito, sans-serif; font-size:18px; font-weight:800; color:#0A1F66; line-height:1.3; }
.pf-news-exito-s{ margin:0; font-size:14.5px; color:#4A5590; line-height:1.5; }
@keyframes pfNewsEntra{ from{ opacity:0; transform:translateY(4px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .pf-news-exito{ animation:none; } }

/* ══════════════════════════════════════════════════════════════════════════
   BANNER PIGYFANTE · MIG-0184 (sustituye a la campaña Agenda 2027)
   Mismo contenedor que tenía `.camp`: ancho máx. 1400px, centrado, radio 28px.
   La imagen se muestra COMPLETA con su proporción (2040×764): sin recortes ni
   deformación. Todo el banner es un único enlace al catálogo.
   ══════════════════════════════════════════════════════════════════════════ */
.pigyhome .pf-banner{
  display:block; position:relative; max-width:1400px; margin:0 auto;
  border-radius:28px; overflow:hidden; background:#003063; text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease;
}
.pf-banner picture,
.pf-banner img{ display:block; width:100%; height:auto; }
.pigyhome .pf-banner:hover{ transform:translateY(-2px); box-shadow:0 18px 38px -22px rgba(0,48,99,.55); }
.pigyhome .pf-banner:focus-visible{ outline:3px solid #F0506A; outline-offset:4px; }
@media (hover:none){ .pigyhome .pf-banner:hover{ transform:none; box-shadow:none; } }
@media (prefers-reduced-motion:reduce){ .pigyhome .pf-banner{ transition:none; } }
@container pf (max-width:767px){ .pigyhome .pf-banner{ border-radius:20px; } }

/* ── MIG-0286 · H1 de la portada ──────────────────────────────────────────
   Una línea entre la guincha y el banner: visible y discreta, con la tipografía y
   el azul de la marca, sin competir con el arte. Mismo ancho que el banner. */
.pigyhome .pf-home-h1{
  max-width:1400px;margin:0 auto 12px;padding:0 4px;
  font-family:'Nunito',system-ui,sans-serif;font-weight:800;font-size:17px;line-height:1.35;
  letter-spacing:.005em;color:#0A1F66;text-align:center;text-wrap:balance;
}
@container pf (max-width:767px){
  .pigyhome .pf-home-h1{font-size:14.5px;margin-bottom:10px;}
}

/* ── MIG-0185 · Guincha de avisos sobre el banner ─────────────────────────
   Mismo ancho (1400px) y centrado que .pf-banner. Dos grupos iguales en una
   pista que se desplaza -50%: al terminar, la copia ocupa el sitio exacto del
   original y el bucle no salta. Sin JS. */
.pigyhome .pf-guincha{
  position:relative;max-width:1400px;margin:0 auto 12px;height:40px;
  display:flex;align-items:center;overflow:hidden;border-radius:999px;
  background:linear-gradient(90deg,#052766 0%,#0A1F66 50%,#052766 100%);
  color:#fff;box-shadow:inset 0 0 0 1px rgba(125,230,231,.14);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);
}
.pigyhome .pf-guincha-pista{
  display:flex;flex:none;width:max-content;
  animation:pf-guincha 48s linear infinite;will-change:transform;
}
.pigyhome .pf-guincha:hover .pf-guincha-pista,
.pigyhome .pf-guincha:focus-within .pf-guincha-pista{animation-play-state:paused;}
.pigyhome .pf-guincha-grupo{display:flex;flex:none;align-items:center;margin:0;padding:0;list-style:none;}
.pigyhome .pf-guincha-grupo li{
  display:flex;align-items:center;flex:none;margin:0;white-space:nowrap;
  font-family:'Nunito',system-ui,sans-serif;font-weight:700;font-size:14px;line-height:1.5;letter-spacing:.01em;
}
/* separador tras cada aviso (también el último, para que el hueco del empalme sea igual) */
.pigyhome .pf-guincha-grupo li::after{
  content:"";flex:none;width:6px;height:6px;margin:0 22px;border-radius:50%;background:#7DE6E7;
}
.pigyhome .pf-guincha-grupo li:nth-child(3n+2)::after{background:#FF8FA8;}
.pigyhome .pf-guincha-grupo li:nth-child(3n)::after{background:#FFD36A;}
@keyframes pf-guincha{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@container pf (max-width:767px){
  .pigyhome .pf-guincha{height:36px;margin-bottom:10px;}
  .pigyhome .pf-guincha-pista{animation-duration:40s;}
  .pigyhome .pf-guincha-grupo li{font-size:12.5px;}
  .pigyhome .pf-guincha-grupo li::after{width:5px;height:5px;margin:0 16px;}
}
/* Movimiento reducido: sin animación; la tira queda quieta y se puede recorrer
   deslizando, sin la copia ni el difuminado de bordes. */
@media (prefers-reduced-motion:reduce){
  .pigyhome .pf-guincha{-webkit-mask-image:none;mask-image:none;overflow-x:auto;scrollbar-width:none;padding:0 18px;}
  .pigyhome .pf-guincha::-webkit-scrollbar{display:none;}
  .pigyhome .pf-guincha-pista{animation:none;}
  .pigyhome .pf-guincha-grupo[aria-hidden="true"]{display:none;}
}

/* ── MIG-0185 · Espaciado menú → guincha → banner ─────────────────────────
   El hueco venía del margin-bottom de Storefront en .site-header (4.236em ≈
   68px; 59px en móvil) más el padding-top de 16px de la sección. Sin tocar el
   header: la sección sube con margen negativo, solo en la Home. */
.pigyhome section[aria-labelledby="h-camp"]{margin-top:-60px;}            /* 68+16-60 = 24 */
.pigyhome .pf-guincha{margin-bottom:10px;}
@media (max-width:1199px){
  .pigyhome section[aria-labelledby="h-camp"]{margin-top:-65px;}          /* ≈ 19 */
  .pigyhome .pf-guincha{margin-bottom:9px;}
}
@media (max-width:1023px){
  .pigyhome section[aria-labelledby="h-camp"]{margin-top:-61px;}          /* 768: 63.5+16-61 ≈ 18 */
}
@media (max-width:767px){
  .pigyhome section[aria-labelledby="h-camp"]{margin-top:-61px;}          /* 59+16-61 ≈ 14 */
  .pigyhome .pf-guincha{margin-bottom:7px;}
}

/* ══════════════════════════════════════════════════════════════════════════
   SECCIÓN 03 · ¿QUÉ ESTÁS BUSCANDO? (MIG-0186)
   Seis tarjetas fijas, cada una un único <a>. Todo cuelga de `.pf-cats`.
   Columnas: 2 (<600) · 3 (600–1099) · 6 (≥1100), por contenedor `pf`.
   ══════════════════════════════════════════════════════════════════════════ */
.pigyhome .pf-cats{ padding:calc(var(--sec)*.7) 0 0; }
.pigyhome .pf-cats-marco{ max-width:1400px; margin:0 auto; padding:0 var(--pad); }

.pigyhome .pf-cats-cabecera{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
  gap:8px 24px; margin-bottom:22px;
}
.pigyhome .pf-cats-titulo{
  position:relative; font-family:'Nunito',system-ui,sans-serif; font-size:var(--h2); font-weight:900;
  line-height:1.15; letter-spacing:-.01em; color:#0A1F66; margin:0 0 6px;
}
.pigyhome .pf-cats-trazos{
  position:absolute; left:-.62em; top:-.34em; width:.62em; height:.62em; pointer-events:none;
}
.pigyhome .pf-cats-bajada{ font-size:var(--body); font-weight:400; color:#5C6698; }
.pigyhome .pf-cats-todo{
  flex:none; font-size:15px; font-weight:800; color:#E0456A; white-space:nowrap;
  border-radius:8px; padding:6px 2px; transition:color .18s ease;
}
.pigyhome .pf-cats-todo span{ display:inline-block; transition:transform .18s ease; }
.pigyhome .pf-cats-todo:hover{ color:#C42558; }
.pigyhome .pf-cats-todo:hover span{ transform:translateX(3px); }
.pigyhome .pf-cats-todo:focus-visible{ outline:3px solid #F0506A; outline-offset:3px; }

.pigyhome .pf-cats-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 12px; }
.pigyhome .pf-cats-grid > li{ display:flex; min-width:0; }

.pigyhome .pf-cat{
  display:flex; flex-direction:column; align-items:stretch; width:100%;
  background:#fff; border-radius:22px; padding:7px 7px 14px; color:#0A1F66;
  border:1px solid rgba(10,31,102,.05);
  box-shadow:0 1px 2px rgba(10,31,102,.04), 0 8px 22px -16px rgba(10,31,102,.20);
  transition:transform .2s ease, box-shadow .2s ease;
}
.pigyhome .pf-cat-foto{
  position:relative; overflow:hidden; border-radius:16px; aspect-ratio:9/10; background:#F6F1F5;
}
.pigyhome .pf-cat-foto picture,
.pigyhome .pf-cat-foto img{ display:block; width:100%; height:100%; }
.pigyhome .pf-cat-foto img{ object-fit:cover; object-position:center; }

.pigyhome .pf-cat-texto{ padding:12px 4px 0; text-align:center; }
.pigyhome .pf-cat-nombre{
  font-family:'Nunito',system-ui,sans-serif; font-size:15px; font-weight:900; line-height:1.2;
  color:#0A1F66; margin:0 0 3px; text-wrap:balance;
}
.pigyhome .pf-cat-bajada{ font-size:12px; font-weight:600; line-height:1.3; color:#6B77A3; text-wrap:balance; }

.pigyhome .pf-cat-flecha{
  display:flex; align-items:center; justify-content:center; flex:none;
  width:40px; height:40px; margin:auto auto 0; border-radius:50%; color:#0A1F66;
  background:#FCE3EA; transition:transform .2s ease;
}
.pigyhome .pf-cat-texto + .pf-cat-flecha{ margin-top:auto; }
.pigyhome .pf-cat-texto{ margin-bottom:12px; }
.pigyhome .pf-cat-flecha svg{ width:20px; height:20px; }
.pigyhome .pf-cat--rosa    .pf-cat-flecha{ background:#FCE3EA; }
.pigyhome .pf-cat--celeste .pf-cat-flecha{ background:#DDF0FB; }
.pigyhome .pf-cat--crema   .pf-cat-flecha{ background:#FDF0D2; }
.pigyhome .pf-cat--lila    .pf-cat-flecha{ background:#E9E3FB; }

@media (hover:hover){
  .pigyhome .pf-cat:hover{
    transform:translateY(-3px);
    box-shadow:0 1px 2px rgba(10,31,102,.05), 0 16px 30px -18px rgba(10,31,102,.30);
  }
  .pigyhome .pf-cat:hover .pf-cat-flecha{ transform:translateX(3px); }
}
.pigyhome .pf-cat:focus-visible{ outline:3px solid #F0506A; outline-offset:3px; }
@media (prefers-reduced-motion:reduce){
  .pigyhome .pf-cat, .pigyhome .pf-cat-flecha, .pigyhome .pf-cats-todo span{ transition:none; }
}

@container pf (min-width:600px){
  .pigyhome .pf-cats-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
  .pigyhome .pf-cat{ border-radius:24px; padding:8px 8px 16px; }
  .pigyhome .pf-cat-foto{ border-radius:18px; }
  .pigyhome .pf-cat-nombre{ font-size:18px; }
  .pigyhome .pf-cat-bajada{ font-size:14px; }
  .pigyhome .pf-cat-flecha{ width:44px; height:44px; }
  .pigyhome .pf-cats-cabecera{ margin-bottom:26px; }
}
@container pf (min-width:1100px){
  .pigyhome .pf-cats-grid{ grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
  .pigyhome .pf-cat-nombre{ font-size:16.5px; }
  .pigyhome .pf-cat-bajada{ font-size:13px; }
  .pigyhome .pf-cats-cabecera{ margin-bottom:28px; }
}
@container pf (min-width:1300px){
  .pigyhome .pf-cats-grid{ gap:20px; }
  .pigyhome .pf-cat-nombre{ font-size:17.5px; }
  .pigyhome .pf-cat-bajada{ font-size:13.5px; }
}
@container pf (max-width:599px){
  .pigyhome .pf-cats-titulo{ margin-left:.5em; }
  .pigyhome .pf-cats-todo{ font-size:14px; padding:2px 0; }
}

/* MIG-0186 · pasada correctiva: la foto debe ocupar ~65 % del alto de la
   tarjeta (medía 54–59 %) y todas las filas deben medir lo mismo. */
.pigyhome .pf-cats-grid{ grid-auto-rows:1fr; }
.pigyhome .pf-cats-titulo{ padding-bottom:.08em; }
.pigyhome .pf-cat{ padding:6px 6px 10px; }
.pigyhome .pf-cat-texto{ padding:9px 2px 0; margin-bottom:8px; }
.pigyhome .pf-cat-nombre{ font-size:14.5px; margin-bottom:2px; }
.pigyhome .pf-cat-bajada{ font-size:11.5px; line-height:1.25; }
.pigyhome .pf-cat-flecha{ width:34px; height:34px; }
.pigyhome .pf-cat-flecha svg{ width:18px; height:18px; }
@container pf (min-width:600px){
  .pigyhome .pf-cat{ padding:7px 7px 12px; }
  .pigyhome .pf-cat-texto{ padding-top:11px; margin-bottom:10px; }
  .pigyhome .pf-cat-nombre{ font-size:17px; }
  .pigyhome .pf-cat-bajada{ font-size:13.5px; }
  .pigyhome .pf-cat-flecha{ width:40px; height:40px; }
}
@container pf (min-width:1100px){
  .pigyhome .pf-cat{ padding:6px 6px 11px; }
  .pigyhome .pf-cat-texto{ padding-top:10px; margin-bottom:9px; }
  .pigyhome .pf-cat-nombre{ font-size:16px; }
  .pigyhome .pf-cat-bajada{ font-size:12.5px; letter-spacing:-.005em; }
  .pigyhome .pf-cat-flecha{ width:36px; height:36px; }
}
@container pf (min-width:1300px){
  .pigyhome .pf-cat-nombre{ font-size:16.5px; }
  .pigyhome .pf-cat-bajada{ font-size:12.5px; }
}

/* ══════════════════════════════════════════════════════════════════════════
   SECCIÓN 04 · RECIÉN LLEGADOS (MIG-0187)
   Todo cuelga de `.pf-rec` / `.pf-prod`. Imagen SIEMPRE completa: contain.
   Columnas: carrusel táctil (<600) · 2 (600–759) · 3 (760–1199) · 4 (≥1200).
   ══════════════════════════════════════════════════════════════════════════ */
.pigyhome .pf-rec{ padding:calc(var(--sec)*.7) 0 0; }
.pigyhome .pf-rec-marco{ max-width:1400px; margin:0 auto; padding:0 var(--pad); }
.pigyhome .pf-rec-cabecera{ display:flex; align-items:flex-end; justify-content:space-between; gap:8px 24px; flex-wrap:wrap; }
.pigyhome .pf-rec-antetitulo{ font-size:11.5px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; color:#C42558; margin-bottom:7px; }
.pigyhome .pf-rec-titulo{ font-family:'Nunito',system-ui,sans-serif; font-size:var(--h2); font-weight:900; line-height:1.15; color:#0A1F66; }
.pigyhome .pf-rec-todos{ flex:none; font-size:15px; font-weight:800; color:#C42558; padding:6px 2px; border-radius:8px; white-space:nowrap; }
.pigyhome .pf-rec-todos span{ display:inline-block; transition:transform .18s ease; }
.pigyhome .pf-rec-todos:hover span{ transform:translateX(3px); }
.pigyhome .pf-rec-todos:focus-visible{ outline:3px solid #F0506A; outline-offset:3px; }

/* Rejilla: en móvil, carrusel táctil con la siguiente tarjeta asomando. */
.pigyhome .pf-rec-grid{
  display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain;
  margin:0 calc(var(--pad) * -1); padding:4px var(--pad) 14px; scroll-padding-left:var(--pad); scrollbar-width:none;
}
.pigyhome .pf-rec-grid::-webkit-scrollbar{ display:none; }
.pigyhome .pf-rec-grid > li{ flex:0 0 74%; display:flex; scroll-snap-align:start; min-width:0; }

@container pf (min-width:600px){
  .pigyhome .pf-rec-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; overflow:visible; margin:0; padding:4px 0 0; }
  .pigyhome .pf-rec-grid > li{ flex:none; }
}
@container pf (min-width:760px){
  .pigyhome .pf-rec-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pigyhome .pf-rec-grid > li:nth-child(n+4){ display:none; }
}
@container pf (min-width:1200px){
  .pigyhome .pf-rec-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
  .pigyhome .pf-rec-grid > li:nth-child(4){ display:flex; }
  
  
  
  
}

/* MIG-0187 · pasada correctiva: `aspect-ratio` es un mínimo y una foto vertical
   estiraba el área (308 → 399px). La imagen se posiciona dentro de un cuadrado
   fijo, siempre entera (contain), con el mismo aire en todas las tarjetas. */

/* MIG-0187 · ajuste de Dani: 5 columnas (≥1280), 3 (768–1279), 2 (<768).
   Sin carrusel. 10 productos: 5 × 2 en escritorio; en tablet se enseñan 9
   (3 × 3) para no dejar una tarjeta sola. La imagen sigue siendo contain. */
.pigyhome .pf-rec-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 12px;
  overflow:visible; margin:0; padding:4px 0 0; scroll-snap-type:none;
}
.pigyhome .pf-rec-grid > li,
.pigyhome .pf-rec-grid > li:nth-child(n){ display:flex; flex:none; }

@container pf (min-width:768px){
  .pigyhome .pf-rec-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
  .pigyhome .pf-rec-grid > li:nth-child(n+10){ display:none; }
  
  
  
  
  
  
  
  
}
@container pf (min-width:1280px){
  .pigyhome .pf-rec-grid{ grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px 18px; }
  .pigyhome .pf-rec-grid > li:nth-child(n+10){ display:flex; }
  
  
  
  
}

/* MIG-0187 · todas las filas con la misma altura (el nombre largo no desalinea filas). */
.pigyhome .pf-rec-grid{ grid-auto-rows:1fr; }

/* ══════════════════════════════════════════════════════════════════════════
   PÁGINA /recien-llegados/ (MIG-0188) · misma tarjeta que la sección 04.
   Rejilla propia (`.pf-rll-grid`): 5 (≥1280) · 3 (768–1279) · 2 (<768).
   ══════════════════════════════════════════════════════════════════════════ */
.pigyhome .pf-rll{ background:#FFFFFF; padding:calc(var(--sec)*.6) 0 calc(var(--sec)*1.1); } /* MIG-0193B: mismo blanco que los listados */

/* MIG-0188 · el H1 grande recortaba 1px de descendentes con line-height 1.1. */

/* ══════════════════════════════════════════════════════════════════════════
   /recien-llegados/ · FILTROS (MIG-0188)
   Escritorio (≥1000): barra lateral + resultados. Debajo: botón «Filtrar» que
   abre el mismo formulario en un <dialog> modal a la izquierda.
   Columnas del grid según el ancho REAL de resultados (contenedor `rll`):
   4 (≥860) · 3 (560–859) · 2 (<560).
   ══════════════════════════════════════════════════════════════════════════ */

/* Barra superior */

/* Chips de filtros activos */

/* Grid por ancho de resultados */

/* Panel de filtros (en escritorio, columna; en móvil, dentro del dialog) */

/* Móvil / tablet: el dialog abierto es un cajón a la izquierda. */

/* MIG-0188 · filtros, pasada correctiva: Storefront da a fieldset fondo gris y
   padding, a legend un margen negativo y a button un padding que aplastaba el
   icono de cerrar. El select de orden se cortaba a 390. */

/* ══════════════════════════════════════════════════════════════════════════
   SECCIÓN 07 · CÓMO FUNCIONA (MIG-0189)
   Colores muestreados de la referencia: fondo #FCF9F6, etiqueta #F6D4DC,
   CTA #E54A71. Una columna (<1000) · dos columnas texto/escena (≥1000).
   ══════════════════════════════════════════════════════════════════════════ */
.pigyhome .pf-cf{ padding:calc(var(--sec)*.7) 0 0; }
.pigyhome .pf-cf-marco{ max-width:1400px; margin:0 auto; padding:0 var(--pad); }
.pigyhome .pf-cf-tarjeta{
  position:relative; display:grid; grid-template-columns:minmax(0,1fr); overflow:hidden;
  background:#FCF9F6; border-radius:28px; border:1px solid #F3ECE4;
}
.pigyhome .pf-cf-texto{ position:relative; z-index:2; padding:28px 20px 8px; }
.pigyhome .pf-cf-etiqueta{
  display:inline-block; padding:7px 14px; border-radius:99px; background:#F9DDE4; color:#C42558;
  font-size:11.5px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; margin-bottom:14px;
}
.pigyhome .pf-cf-titulo{
  font-family:'Nunito',system-ui,sans-serif; font-size:30px; font-weight:900; line-height:1.1; letter-spacing:-.015em;
  color:#0A1F66; margin:0 0 12px; padding-bottom:.04em;
}
.pigyhome .pf-cf-simple{ color:#F0506A; }
.pigyhome .pf-cf-garabato{ display:inline-block; width:1.05em; height:.7em; margin-left:.18em; vertical-align:-.02em; }
.pigyhome .pf-cf-bajada{ font-size:15.5px; line-height:1.55; color:#4A5585; max-width:52ch; margin-bottom:20px; }

.pigyhome .pf-cf-pasos{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 20px; padding:0; list-style:none; }
.pigyhome .pf-cf-paso{
  display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:14px 12px 16px;
  background:#fff; border:1px solid #F1EAF1; border-radius:18px; box-shadow:0 8px 20px -18px rgba(10,31,102,.28);
}
.pigyhome .pf-cf-num{
  display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%;
  font-family:'Nunito',system-ui,sans-serif; font-size:15px; font-weight:900; line-height:1;
}
.pigyhome .pf-cf-ico{ width:30px; height:30px; margin:2px 0 2px; }
.pigyhome .pf-cf-paso-titulo{ font-size:14px; font-weight:900; line-height:1.25; color:#0A1F66; margin:0; }
.pigyhome .pf-cf-paso-texto{ font-size:12.5px; line-height:1.45; color:#5C6698; margin:0; }
.pigyhome .pf-cf-paso--rosa     .pf-cf-num{ background:#FCE1E8; color:#C42558; } .pigyhome .pf-cf-paso--rosa     .pf-cf-ico{ color:#E54A71; }
.pigyhome .pf-cf-paso--celeste  .pf-cf-num{ background:#DDEBFB; color:#1A2A6E; } .pigyhome .pf-cf-paso--celeste  .pf-cf-ico{ color:#1A2A6E; }
.pigyhome .pf-cf-paso--amarillo .pf-cf-num{ background:#FDF0CC; color:#8A6400; } .pigyhome .pf-cf-paso--amarillo .pf-cf-ico{ color:#E8A515; }
.pigyhome .pf-cf-paso--verde    .pf-cf-num{ background:#D9F3E6; color:#0B7C4F; } .pigyhome .pf-cf-paso--verde    .pf-cf-ico{ color:#1E9E63; }

.pigyhome .pf-cf-botones{ display:flex; flex-direction:column; gap:10px; }
.pigyhome .pf-cf-cta,
.pigyhome .pf-cf-video-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 26px;
  border-radius:99px; font-family:'Nunito',system-ui,sans-serif; font-size:16.5px; font-weight:900; line-height:1; cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.pigyhome .pf-cf-cta{ background:#E54A71; color:#fff; box-shadow:0 12px 24px -14px rgba(229,74,113,.8); }
.pigyhome .pf-cf-cta:hover{ background:#D63C63; color:#fff; }
.pigyhome .pf-cf-video-btn{ background:#fff; color:#0A1F66; border:2px solid #0A1F66; }
.pigyhome .pf-cf-video-btn:hover{ background:#F4F6FC; }
@media (hover:hover){ .pigyhome .pf-cf-cta:hover, .pigyhome .pf-cf-video-btn:hover{ transform:translateY(-2px); } }
.pigyhome .pf-cf-cta:focus-visible, .pigyhome .pf-cf-video-btn:focus-visible{ outline:3px solid #F0506A; outline-offset:3px; }
.pigyhome .pf-cf-play{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:#0A1F66; color:#fff; padding-left:2px; flex:none; }
.pigyhome .pf-cf-nota{
  display:flex; align-items:flex-end; gap:8px; margin:12px 0 0 18px;
  font-family:'Caveat',cursive; font-size:22px; font-weight:700; line-height:1; color:#0A1F66; transform:rotate(-2deg);
}
.pigyhome .pf-cf-nota svg{ flex:none; margin-bottom:-2px; }

.pigyhome .pf-cf-visual{ position:relative; z-index:1; margin:6px 0 0; }
.pigyhome .pf-cf-visual picture, .pigyhome .pf-cf-visual img{ display:block; width:100%; height:auto; }
.pigyhome .pf-cf-visual img{
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 7%,#000 88%,transparent 100%);
          mask-image:linear-gradient(180deg,transparent 0,#000 7%,#000 88%,transparent 100%);
}

.pigyhome .pf-cf-beneficios{
  position:relative; z-index:3; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 10px;
  margin:-8px 14px 14px; padding:16px 14px; list-style:none; background:#fff; border-radius:20px;
  border:1px solid #F1EAF1; box-shadow:0 14px 30px -24px rgba(10,31,102,.35);
}
.pigyhome .pf-cf-beneficio{ display:flex; align-items:center; gap:10px; min-width:0; }
.pigyhome .pf-cf-beneficio-ico{ display:inline-flex; align-items:center; justify-content:center; flex:none; width:42px; height:42px; border-radius:50%; }
.pigyhome .pf-cf-beneficio-ico svg{ width:22px; height:22px; }
.pigyhome .pf-cf-beneficio-txt{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.pigyhome .pf-cf-beneficio-txt strong{ font-size:13px; font-weight:900; line-height:1.2; color:#0A1F66; }
.pigyhome .pf-cf-beneficio-txt span{ font-size:12px; line-height:1.3; color:#6B77A3; }
.pigyhome .pf-cf-beneficio--rosa     .pf-cf-beneficio-ico{ background:#FCE1E8; color:#E54A71; }
.pigyhome .pf-cf-beneficio--celeste  .pf-cf-beneficio-ico{ background:#DDEBFB; color:#2B63C9; }
.pigyhome .pf-cf-beneficio--amarillo .pf-cf-beneficio-ico{ background:#FDF0CC; color:#E0980E; }
.pigyhome .pf-cf-beneficio--verde    .pf-cf-beneficio-ico{ background:#D9F3E6; color:#1E9E63; }
.pigyhome .pf-cf-beneficios-nota{
  grid-column:1 / -1; text-align:center; font-family:'Caveat',cursive; font-size:21px; font-weight:700; line-height:1.05;
  color:#0A1F66; transform:rotate(-3deg);
}

/* Modal de video */
.pigyhome .pf-cf-modal{ padding:0; border:0; background:transparent; max-width:none; max-height:none; width:min(960px, calc(100vw - 24px)); overflow:visible; }
.pigyhome .pf-cf-modal::backdrop{ background:rgba(6,16,48,.78); }
.pigyhome .pf-cf-modal-caja{ background:#fff; border-radius:22px; overflow:hidden; box-shadow:0 30px 70px -20px rgba(0,0,0,.55); }
.pigyhome .pf-cf-modal-cab{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 12px 12px 20px; }
.pigyhome .pf-cf-modal-titulo{ font-family:'Nunito',system-ui,sans-serif; font-size:17px; font-weight:900; color:#0A1F66; margin:0; }
.pigyhome .pf-cf-modal-cerrar{ display:inline-flex; align-items:center; justify-content:center; flex:none; width:44px; height:44px; padding:0; border-radius:50%; border:0; background:#F3F4FA; color:#1A2A6E; cursor:pointer; line-height:0; }
.pigyhome .pf-cf-modal-cerrar svg{ display:block; width:22px; height:22px; }
.pigyhome .pf-cf-modal-cerrar:focus{ outline:none; }
.pigyhome .pf-cf-modal-cerrar:focus-visible{ outline:3px solid #F0506A; outline-offset:2px; }
.pigyhome .pf-cf-modal-video{ position:relative; aspect-ratio:16/9; background:#0A1F66; }
.pigyhome .pf-cf-modal-video iframe, .pigyhome .pf-cf-modal-video video{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; background:#000; }
.pigyhome .pf-cf-modal-pronto{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:24px;
  text-align:center; background:radial-gradient(120% 90% at 50% 0%, #FDEFF3 0%, #FCF9F6 55%, #EEF3FB 100%);
}
.pigyhome .pf-cf-play--grande{ width:66px; height:66px; padding-left:4px; box-shadow:0 12px 26px -12px rgba(10,31,102,.6); }
.pigyhome .pf-cf-modal-pronto-titulo{ font-family:'Nunito',system-ui,sans-serif; font-size:20px; font-weight:900; line-height:1.25; color:#0A1F66; max-width:30ch; margin:6px 0 0; }
.pigyhome .pf-cf-modal-pronto-texto{ font-size:14.5px; color:#5C6698; max-width:40ch; margin:0 0 6px; }
.pigyhome .pf-cf-modal-pronto .pf-cf-cta{ min-height:46px; font-size:15px; padding:0 22px; }
@media (prefers-reduced-motion:reduce){ .pigyhome .pf-cf-cta, .pigyhome .pf-cf-video-btn{ transition:none; } }

@container pf (min-width:600px){
  .pigyhome .pf-cf-texto{ padding:40px 36px 8px; }
  .pigyhome .pf-cf-titulo{ font-size:40px; }
  .pigyhome .pf-cf-bajada{ font-size:17px; }
  .pigyhome .pf-cf-pasos{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
  .pigyhome .pf-cf-botones{ flex-direction:row; flex-wrap:wrap; }
  .pigyhome .pf-cf-visual{ margin:0 12px; }
  .pigyhome .pf-cf-beneficios{ grid-template-columns:repeat(4,minmax(0,1fr)) ; margin:-14px 24px 24px; padding:18px 20px; }
  .pigyhome .pf-cf-modal-pronto-titulo{ font-size:24px; }
}
@container pf (min-width:1200px){
  .pigyhome .pf-cf-tarjeta{ grid-template-columns:minmax(0,.92fr) minmax(0,1fr); border-radius:32px; }
  .pigyhome .pf-cf-texto{ padding:52px 8px 34px 48px; align-self:center; }
  .pigyhome .pf-cf-titulo{ font-size:44px; }
  .pigyhome .pf-cf-pasos{ gap:10px; }
  .pigyhome .pf-cf-paso{ padding:14px 11px 16px; }
  .pigyhome .pf-cf-visual{ margin:0; align-self:stretch; display:flex; align-items:flex-end; }
  .pigyhome .pf-cf-visual img{
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%),linear-gradient(180deg,transparent 0,#000 8%,#000 90%,transparent 100%);
            mask-image:linear-gradient(90deg,transparent 0,#000 9%),linear-gradient(180deg,transparent 0,#000 8%,#000 90%,transparent 100%);
    -webkit-mask-composite:source-in; mask-composite:intersect;
  }
  .pigyhome .pf-cf-beneficios{
    grid-column:1 / -1; display:flex; align-items:center; gap:0; margin:-30px 36px 32px; padding:18px 22px;
  }
  .pigyhome .pf-cf-beneficio{ flex:1 1 0; padding:0 18px; border-left:1px solid #EFEAF2; }
  .pigyhome .pf-cf-beneficio:first-child{ border-left:0; padding-left:4px; }
  .pigyhome .pf-cf-beneficios-nota{ flex:0 0 auto; padding:0 6px 0 18px; border-left:1px solid #EFEAF2; max-width:150px; }
}
@container pf (min-width:1300px){
  .pigyhome .pf-cf-titulo{ font-size:48px; }
  .pigyhome .pf-cf-texto{ padding:60px 12px 40px 56px; }
  .pigyhome .pf-cf-paso-titulo{ font-size:14.5px; }
  .pigyhome .pf-cf-paso-texto{ font-size:13px; }
  .pigyhome .pf-cf-beneficio-txt strong{ font-size:14.5px; }
  .pigyhome .pf-cf-beneficio-txt span{ font-size:13px; }
  .pigyhome .pf-cf-beneficios-nota{ font-size:23px; }
}

/* MIG-0189 · pasada correctiva: en tablet (600–1199) una sola columna con la
   escena centrada y acotada; la franja de beneficios queda en 4 columnas. */
@container pf (min-width:600px) and (max-width:1199px){
  .pigyhome .pf-cf-texto{ padding:40px 40px 8px; }
  .pigyhome .pf-cf-bajada{ max-width:60ch; }
  .pigyhome .pf-cf-visual{ max-width:760px; margin:8px auto 0; width:100%; }
}

/* MIG-0189 · el garabato y la flecha superaban la altura de línea (3–4px). */
.pigyhome .pf-cf-titulo{ line-height:1.14; padding-bottom:.08em; }
.pigyhome .pf-cf-garabato{ vertical-align:0; height:.62em; }
.pigyhome .pf-cf-nota{ align-items:center; line-height:1.25; }
.pigyhome .pf-cf-nota svg{ margin-bottom:0; height:24px; }
/* MIG-0189 · el aviso sin video no cabía en 16:9 en móvil; el 16:9 queda para videos reales. */
.pigyhome .pf-cf-modal[data-tipo="vacio"] .pf-cf-modal-video{ aspect-ratio:auto; }
.pigyhome .pf-cf-modal[data-tipo="vacio"] .pf-cf-modal-pronto{ position:relative; inset:auto; min-height:min(540px, 60vh); padding:36px 22px 32px; }
.pigyhome .pf-cf-modal{ max-height:calc(100dvh - 24px); }
.pigyhome .pf-cf-modal-caja{ max-height:calc(100dvh - 24px); overflow:auto; }
/* Tablet: la escena, más estrecha que la tarjeta, se funde también por los lados. */
@container pf (min-width:600px) and (max-width:1199px){
  .pigyhome .pf-cf-visual img{
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 88%,transparent 100%);
            mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 88%,transparent 100%);
    -webkit-mask-composite:source-in; mask-composite:intersect;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   MIG-0189 · INTEGRACIÓN (pedido de Dani): sin efecto «lámina».
   - Sin tarjeta: ni fondo, ni borde, ni radio; el contenido se alinea al mismo
     ancho útil que Categorías / Recién llegados (1400 − 2·--pad).
   - Escritorio (≥1200): 55 / 45. Título, texto, pasos y botones más grandes.
   - Beneficios: banda de ancho completo, fondo muy suave, sin sombra.
   - Respiro antes de la sección azul: 48 / 36 / 24 px.
   ══════════════════════════════════════════════════════════════════════════ */
.pigyhome .pf-cf{ padding-top:calc(var(--sec)*.7); margin-bottom:24px; }
.pigyhome .pf-cf-tarjeta{ background:transparent; border:0; border-radius:0; overflow:visible; }
.pigyhome .pf-cf-texto{ padding:0; }
.pigyhome .pf-cf-titulo{ font-size:32px; }
.pigyhome .pf-cf-bajada{ font-size:16.5px; }
.pigyhome .pf-cf-paso{ padding:16px 14px 18px; border-radius:20px; box-shadow:none; border-color:#EFE8EF; }
.pigyhome .pf-cf-num{ width:32px; height:32px; font-size:15.5px; }
.pigyhome .pf-cf-paso-titulo{ font-size:15px; }
.pigyhome .pf-cf-paso-texto{ font-size:13.5px; }
.pigyhome .pf-cf-cta, .pigyhome .pf-cf-video-btn{ min-height:56px; font-size:17px; padding:0 30px; }
.pigyhome .pf-cf-play{ width:30px; height:30px; }
.pigyhome .pf-cf-visual{ margin:24px 0 0; }
.pigyhome .pf-cf-beneficios{
  margin:20px 0 0; padding:18px 16px; background:#FBF7F3; border:1px solid #F3ECE5; border-radius:22px; box-shadow:none;
}

@container pf (min-width:600px){
  .pigyhome .pf-cf{ margin-bottom:36px; }
  .pigyhome .pf-cf-texto{ padding:0; }
  .pigyhome .pf-cf-titulo{ font-size:42px; }
  .pigyhome .pf-cf-bajada{ font-size:18px; max-width:62ch; }
  .pigyhome .pf-cf-pasos{ gap:14px; }
  .pigyhome .pf-cf-visual{ margin:28px auto 0; max-width:780px; }
  .pigyhome .pf-cf-beneficios{ margin:28px 0 0; padding:20px 24px; }
}
@container pf (min-width:1200px){
  .pigyhome .pf-cf{ margin-bottom:48px; }
  .pigyhome .pf-cf-tarjeta{ grid-template-columns:minmax(0,55fr) minmax(0,45fr); column-gap:36px; border-radius:0; align-items:center; }
  .pigyhome .pf-cf-texto{ padding:8px 0 0; align-self:center; }
  .pigyhome .pf-cf-titulo{ font-size:50px; margin-bottom:16px; }
  .pigyhome .pf-cf-bajada{ font-size:18.5px; margin-bottom:26px; }
  .pigyhome .pf-cf-pasos{ gap:14px; margin-bottom:28px; }
  .pigyhome .pf-cf-paso{ padding:18px 16px 20px; gap:8px; }
  .pigyhome .pf-cf-ico{ width:32px; height:32px; }
  .pigyhome .pf-cf-paso-titulo{ font-size:15.5px; }
  .pigyhome .pf-cf-paso-texto{ font-size:13.5px; }
  .pigyhome .pf-cf-botones{ gap:14px; }
  .pigyhome .pf-cf-cta, .pigyhome .pf-cf-video-btn{ min-height:58px; font-size:18px; padding:0 32px; }
  .pigyhome .pf-cf-nota{ margin-top:14px; font-size:24px; }
  .pigyhome .pf-cf-visual{ margin:0; max-width:none; align-self:center; display:block; }
  .pigyhome .pf-cf-visual img{
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 95%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 92%,transparent 100%);
            mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 95%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 92%,transparent 100%);
    -webkit-mask-composite:source-in; mask-composite:intersect;
  }
  .pigyhome .pf-cf-beneficios{ grid-column:1 / -1; margin:32px 0 0; padding:22px 28px; }
  .pigyhome .pf-cf-beneficio-ico{ width:48px; height:48px; }
  .pigyhome .pf-cf-beneficio-ico svg{ width:24px; height:24px; }
}
@container pf (min-width:1300px){
  .pigyhome .pf-cf-titulo{ font-size:54px; }
  .pigyhome .pf-cf-texto{ padding:8px 0 0; }
  .pigyhome .pf-cf-paso-titulo{ font-size:16px; }
  .pigyhome .pf-cf-paso-texto{ font-size:14px; }
  .pigyhome .pf-cf-beneficio-txt strong{ font-size:15.5px; }
  .pigyhome .pf-cf-beneficio-txt span{ font-size:13.5px; }
}
/* MIG-0189 · integración: número e icono del paso en la misma fila (tarjeta menos alta);
   en tablet la escena se acota para no dominar al título. */
.pigyhome .pf-cf-paso{ display:grid; grid-template-columns:auto 1fr; align-items:center; column-gap:10px; row-gap:6px; align-content:start; }
.pigyhome .pf-cf-paso .pf-cf-ico{ margin:0; justify-self:start; }
.pigyhome .pf-cf-paso-titulo, .pigyhome .pf-cf-paso-texto{ grid-column:1 / -1; }
.pigyhome .pf-cf-paso-titulo{ margin-top:6px; }
@container pf (min-width:600px) and (max-width:1199px){ .pigyhome .pf-cf-visual{ max-width:640px; } }

/* ══════════════════════════════════════════════════════════════════════════
   SECCIÓN 10 · NUESTRA HISTORIA (MIG-0191)
   Texto HTML a la izquierda; a la derecha un lienzo 900×760 (proporción de la
   referencia) con capas posicionadas en % y textos en cqw.
   1 columna (<760) · 2 columnas 50/50 (≥760).
   ══════════════════════════════════════════════════════════════════════════ */
.pigyhome .pf-nh{ padding:calc(var(--sec)*.7) 0 0; }
.pigyhome .pf-nh-marco{ max-width:1400px; margin:0 auto; padding:0 var(--pad); }
.pigyhome .pf-nh-caja{
  display:grid; grid-template-columns:minmax(0,1fr); gap:20px; align-items:center;
  padding:28px 20px 12px; border-radius:28px;
  background:linear-gradient(135deg,#FFFDFB 0%,#FBFCFE 55%,#F3F8FD 100%);
}
.pigyhome .pf-nh-kicker{ font-size:12px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; color:#E8385E; margin:0 0 12px; }
.pigyhome .pf-nh-titulo{ font-family:'Nunito',system-ui,sans-serif; font-size:30px; font-weight:900; line-height:1.12; letter-spacing:-.015em; color:#0A1F66; margin:0 0 16px; padding-bottom:.04em; text-wrap:balance; }
.pigyhome .pf-nh-parrafo{ font-size:16px; line-height:1.65; color:#4A5590; margin:0 0 12px; max-width:56ch; }
.pigyhome .pf-nh-cta{
  display:inline-flex; align-items:center; gap:12px; min-height:54px; margin-top:12px; padding:0 30px; border-radius:99px;
  background:#0A1F66; color:#fff; font-family:'Nunito',system-ui,sans-serif; font-size:17px; font-weight:900;
  box-shadow:0 12px 24px -16px rgba(10,31,102,.7); transition:transform .18s ease, background-color .18s ease;
}
.pigyhome .pf-nh-cta:hover{ background:#14307F; color:#fff; }
@media (hover:hover){ .pigyhome .pf-nh-cta:hover{ transform:translateY(-2px); } }
.pigyhome .pf-nh-cta:focus-visible{ outline:3px solid #F0506A; outline-offset:3px; }

/* Lienzo */
.pigyhome .pf-nh-visual{ min-width:0; }
.pigyhome .pf-nh-lienzo{ position:relative; width:100%; max-width:640px; margin:0 auto; aspect-ratio:900 / 760; container-type:inline-size; }
.pigyhome .pf-nh-lienzo > *{ position:absolute; margin:0; }
.pigyhome .pf-nh-mancha{ left:14%; top:12%; width:68%; height:76%; }
.pigyhome .pf-nh-sombra{ left:17%; top:86%; width:50%; height:8%; border-radius:50%; background:radial-gradient(closest-side,#FBDDE6 0%,#FCE9EF 60%,rgba(252,233,239,0) 100%); }
.pigyhome .pf-nh-personajes{ left:14.9%; top:35.7%; width:56.2%; height:auto; z-index:3; }

.pigyhome .pf-nh-pol{
  z-index:4; display:flex; flex-direction:column; padding:4.2cqw 4cqw 0; background:#fff; border-radius:2cqw;
  box-shadow:0 1.4cqw 3.6cqw -1.4cqw rgba(10,31,102,.28), 0 0 0 1px rgba(10,31,102,.04);
}
.pigyhome .pf-nh-pol img{ display:block; width:100%; height:auto; border-radius:1.2cqw; }
.pigyhome .pf-nh-pol figcaption{
  display:flex; align-items:flex-end; justify-content:space-between; gap:1cqw; padding:1.6cqw .4cqw 2.4cqw;
  font-family:'Caveat',cursive; font-size:3.1cqw; font-weight:700; line-height:1.05; color:#0A1F66;
}
.pigyhome .pf-nh-pol figcaption svg{ flex:none; width:2.6cqw; height:2.4cqw; color:#0A1F66; margin-bottom:.3cqw; }
.pigyhome .pf-nh-pol--bebe{ left:16.2%; top:1.8%; width:25.4%; transform:rotate(-11deg); }
.pigyhome .pf-nh-pol--agenda{ left:57.2%; top:4.4%; width:28.4%; transform:rotate(4deg); }
.pigyhome .pf-nh-pol--mascota{ left:73.4%; top:37.4%; width:22%; transform:rotate(10deg); }
.pigyhome .pf-nh-pol--bebe figcaption span{ max-width:9ch; }
.pigyhome .pf-nh-pol--mascota figcaption{ font-size:2.7cqw; }

.pigyhome .pf-nh-frase{
  z-index:5; left:1%; top:40%; width:15.5%; text-align:center; transform:rotate(-13deg);
  font-family:'Caveat',cursive; font-size:3.3cqw; font-weight:700; line-height:1.08; color:#0A1F66;
}
.pigyhome .pf-nh-frase svg{ display:block; width:2.8cqw; height:2.6cqw; margin:.8cqw auto 0; color:#0A1F66; }
.pigyhome .pf-nh-flecha{ z-index:5; left:10%; top:67%; width:7%; }
.pigyhome .pf-nh-globo{ z-index:5; left:71.4%; top:68%; width:22.2%; height:28.5%; }
.pigyhome .pf-nh-globo svg{ position:absolute; inset:0; width:100%; height:100%; }
.pigyhome .pf-nh-globo p{
  position:relative; margin:0; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:0 2.2cqw; text-align:center; transform:rotate(-8deg);
  font-family:'Caveat',cursive; font-size:3.1cqw; font-weight:700; line-height:1.08; color:#0A1F66;
}
.pigyhome .pf-nh-globo p svg{ position:static; width:2.8cqw; height:2.6cqw; margin-top:.8cqw; }
.pigyhome .pf-nh-deco{ z-index:2; }
.pigyhome .pf-nh-deco--corazon{ left:8.4%; top:26%; width:7.4%; transform:rotate(-12deg); z-index:5; }
.pigyhome .pf-nh-deco--relleno{ left:49.6%; top:20%; width:5%; }
.pigyhome .pf-nh-deco--amarillo1{ left:41.6%; top:5.4%; width:5.6%; }
.pigyhome .pf-nh-deco--amarillo2{ left:85.6%; top:17.4%; width:5.4%; z-index:5; }
.pigyhome .pf-nh-deco--azul{ left:90.2%; top:33.2%; width:5.2%; z-index:5; }

@container pf (min-width:600px){
  .pigyhome .pf-nh-caja{ padding:40px 36px 20px; }
  .pigyhome .pf-nh-titulo{ font-size:38px; }
  .pigyhome .pf-nh-parrafo{ font-size:17px; }
}
@container pf (min-width:760px){
  .pigyhome .pf-nh-caja{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; padding:44px 28px 36px 40px; }
  .pigyhome .pf-nh-titulo{ font-size:34px; }
  .pigyhome .pf-nh-parrafo{ font-size:16px; }
  .pigyhome .pf-nh-lienzo{ max-width:none; }
}
@container pf (min-width:1200px){
  .pigyhome .pf-nh-caja{ grid-template-columns:minmax(0,52fr) minmax(0,48fr); gap:40px; padding:56px 44px 44px 64px; border-radius:32px; }
  .pigyhome .pf-nh-titulo{ font-size:50px; margin-bottom:22px; }
  .pigyhome .pf-nh-parrafo{ font-size:18px; margin-bottom:14px; }
  .pigyhome .pf-nh-cta{ min-height:58px; font-size:18px; margin-top:16px; }
}
@container pf (min-width:1300px){ .pigyhome .pf-nh-titulo{ font-size:54px; } }
@media (prefers-reduced-motion:reduce){ .pigyhome .pf-nh-cta{ transition:none; } }
/* MIG-0191 · pasada correctiva: polaroids con la altura de la referencia (pie en 2 líneas fijas),
   escena con más presencia y textos manuscritos legibles en móvil. */
.pigyhome .pf-nh-pol{ padding:2.8cqw 2.8cqw 0; }
.pigyhome .pf-nh-pol figcaption{ padding:1.3cqw .2cqw 1.9cqw; font-size:2.9cqw; }
.pigyhome .pf-nh-pol figcaption span{ max-width:none !important; white-space:nowrap; }
.pigyhome .pf-nh-pol--mascota{ left:72.4%; top:38.6%; width:23.4%; }
.pigyhome .pf-nh-pol--mascota figcaption{ font-size:2.7cqw; }
@container pf (min-width:760px){ .pigyhome .pf-nh-lienzo{ width:106%; margin-left:-2%; } }
@container pf (max-width:599px){
  .pigyhome .pf-nh-caja{ padding-bottom:4px; }
  .pigyhome .pf-nh-visual{ margin:4px -14px 0; }
  .pigyhome .pf-nh-pol{ padding:3cqw 3cqw 0; }
  .pigyhome .pf-nh-pol figcaption{ font-size:3.5cqw; padding:1.2cqw 0 1.8cqw; }
  .pigyhome .pf-nh-pol figcaption svg{ width:3.2cqw; height:3cqw; }
  .pigyhome .pf-nh-pol--bebe{ left:12%; top:0; width:30%; }
  .pigyhome .pf-nh-pol--agenda{ left:55%; top:2%; width:33%; }
  .pigyhome .pf-nh-pol--mascota{ left:70%; top:39%; width:28%; }
  .pigyhome .pf-nh-pol--mascota figcaption{ font-size:3.3cqw; }
  .pigyhome .pf-nh-frase{ left:0; top:40%; width:18%; font-size:3.9cqw; }
  .pigyhome .pf-nh-globo{ left:68%; top:71%; width:28%; height:28%; }
  .pigyhome .pf-nh-globo p{ font-size:3.7cqw; padding:0 2cqw; }
  .pigyhome .pf-nh-deco--corazon{ left:3%; top:25%; }
}
/* MIG-0191 · móvil: lienzo más alto para que las polaroids no se monten y los pies quepan. */
@container pf (max-width:599px){
  .pigyhome .pf-nh-lienzo{ aspect-ratio:900 / 900; }
  .pigyhome .pf-nh-mancha{ left:12%; top:24%; width:70%; height:66%; }
  .pigyhome .pf-nh-sombra{ left:15%; top:88%; width:54%; height:7%; }
  .pigyhome .pf-nh-personajes{ left:11%; top:43%; width:61%; }
  .pigyhome .pf-nh-pol figcaption{ font-size:3.3cqw; }
  .pigyhome .pf-nh-pol--bebe{ left:7%; top:1%; width:33%; }
  .pigyhome .pf-nh-pol--agenda{ left:57%; top:2%; width:38%; }
  .pigyhome .pf-nh-pol--mascota{ left:68%; top:43.5%; width:31%; }
  .pigyhome .pf-nh-pol--mascota figcaption{ font-size:3.3cqw; }
  .pigyhome .pf-nh-frase{ left:0; top:37%; width:19%; }
  .pigyhome .pf-nh-flecha{ left:8%; top:63%; }
  .pigyhome .pf-nh-globo{ left:69%; top:76%; width:30%; height:23%; }
  .pigyhome .pf-nh-deco--corazon{ left:1%; top:27%; width:7%; }
  .pigyhome .pf-nh-deco--relleno{ left:45%; top:31%; }
  .pigyhome .pf-nh-deco--amarillo1{ left:44%; top:6%; }
  .pigyhome .pf-nh-deco--amarillo2{ left:52%; top:37%; }
  .pigyhome .pf-nh-deco--azul{ left:91%; top:37%; }
}
/* MIG-0191 · el título recortaba descendentes; a 768–899 el lienzo quedaba chico en 2 columnas → apila. */
.pigyhome .pf-nh-titulo{ line-height:1.16; padding-bottom:.1em; }
@container pf (min-width:600px) and (max-width:899px){
  .pigyhome .pf-nh-caja{ grid-template-columns:minmax(0,1fr); gap:16px; padding:40px 36px 20px; }
  .pigyhome .pf-nh-titulo{ font-size:38px; }
  .pigyhome .pf-nh-parrafo{ font-size:17px; max-width:62ch; }
  .pigyhome .pf-nh-lienzo{ width:100%; max-width:600px; margin:0 auto; }
}
@container pf (max-width:599px){
  .pigyhome .pf-nh-frase{ top:45%; width:18%; font-size:3.6cqw; }
  .pigyhome .pf-nh-flecha{ top:70%; }
  .pigyhome .pf-nh-globo{ left:66%; top:74%; width:33%; height:26%; }
  .pigyhome .pf-nh-globo p{ font-size:3.3cqw; padding:0 3.4cqw; }
}

/* ══════════════════════════════════════════════════════════════════════════
   SECCIÓN 05 · ESPECIAL DÍA DEL PROFESOR (MIG-0192)
   Banner con el mismo contenedor y radio que el principal. Grilla propia:
   2 (<768) · 4 (768–1279, 8 visibles) · 5 (≥1280, 10 visibles).
   Visibilidad inicial calculada en el servidor (funciona sin JS); el JS la recalcula al filtrar.
   ══════════════════════════════════════════════════════════════════════════ */
.pigyhome .pf-dp{ padding:calc(var(--sec)*.8) 0 0; }
.pigyhome .pf-dp-marco{ max-width:1400px; margin:0 auto; padding:0 var(--pad); }
.pigyhome .pf-dp-banner{ display:block; border-radius:28px; overflow:hidden; background:#FBF6F1; box-shadow:0 1px 2px rgba(10,31,102,.04); transition:transform .18s ease, box-shadow .18s ease; }
.pigyhome .pf-dp-banner picture, .pigyhome .pf-dp-banner img{ display:block; width:100%; height:auto; }
@media (hover:hover){ .pigyhome .pf-dp-banner:hover{ transform:translateY(-2px); box-shadow:0 18px 38px -24px rgba(10,31,102,.45); } }
.pigyhome .pf-dp-banner:focus-visible{ outline:3px solid #F0506A; outline-offset:4px; }
.pigyhome .pf-dp-cabecera{ display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:8px 24px; margin-top:36px; }
.pigyhome .pf-dp-cabecera .pf-rec-antetitulo{ color:#E8385E; }
.pigyhome .pf-dp-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:1fr; gap:14px 12px; margin:0; padding:4px 0 0; list-style:none; }
.pigyhome .pf-dp-grid > li{ display:flex; min-width:0; }
.pigyhome .pf-dp-grid > li[hidden]{ display:none; }
.pigyhome .pf-dp-grid > li.pf-dp-mas10{ display:none; }
@container pf (min-width:600px){ .pigyhome .pf-dp-banner{ border-radius:28px; } }
@container pf (max-width:599px){ .pigyhome .pf-dp-banner{ border-radius:20px; } .pigyhome .pf-dp-cabecera{ margin-top:26px; } }
@container pf (min-width:768px){
  .pigyhome .pf-dp-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
  .pigyhome .pf-dp-grid > li.pf-dp-mas8{ display:none; }
}
@container pf (min-width:1280px){
  .pigyhome .pf-dp-grid{ grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px 18px; }
  .pigyhome .pf-dp-grid > li.pf-dp-mas8:not(.pf-dp-mas10){ display:flex; }
}
@media (prefers-reduced-motion:reduce){ .pigyhome .pf-dp-banner{ transition:none; } }
.pigyhome .pf-dp-cabecera .pf-rec-titulo{ line-height:1.2; padding-bottom:.06em; }

/* ══════════════════════════════════════════════════════════════════════════
   SECCIÓN 08 · NUESTRA COMUNIDAD — Instagram real (MIG-0194 · MIG-0194A)
   Composición compacta sobre FRANJA AZUL MARINO de marca (3ª pasada, MIG-0194A):
   encabezado centrado y apretado, Pigy y Fante grandes pegados a él —con los pies
   a la altura de la primera fila—, seis publicaciones claras tan anchas como
   permite el contenedor de 1400, y el botón coral justo debajo.
   Paleta de la franja: fondo #0A1F66, antetítulo aqua #7DE6E7, título blanco con
   «aman Pigyfante» en coral #FF6F9C, bajada #C3D0EE, tarjetas blancas, botón coral.
   La decoración vive en `.pf-ig-deco` y en los dos <img>: `pointer-events:none`,
   nunca tapan las publicaciones.
   Columnas: 2 (<600) · 3 (600–1099, 3×2) · 6 (≥1100).
   ══════════════════════════════════════════════════════════════════════════ */
.pigyhome .pf-ig{
  position:relative; isolation:isolate; overflow:hidden;
  padding:calc(var(--sec)*.32) 0 calc(var(--sec)*.3); color:#fff;
  background:
    radial-gradient(38% 60% at 22% 38%, rgba(84,110,214,.22) 0%, rgba(84,110,214,0) 72%),
    radial-gradient(36% 58% at 78% 36%, rgba(120,98,214,.22) 0%, rgba(120,98,214,0) 72%),
    radial-gradient(60% 50% at 50% 110%, rgba(125,230,231,.08) 0%, rgba(125,230,231,0) 70%),
    #0A1F66;
}
.pigyhome .pf-ig-marco{ position:relative; z-index:1; max-width:1400px; margin:0 auto; padding:0 var(--pad); }
/* Remate inferior: la franja se aclara hacia el crema de «Los favoritos», para
   que el corte entre secciones no sea un canto duro. */
.pigyhome .pf-ig::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:64px; z-index:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(253,241,229,0) 0%, rgba(253,241,229,.09) 62%, rgba(253,241,229,.16) 100%);
}

/* ── Encabezado + personajes ──────────────────────────────────────────────── */
.pigyhome .pf-ig-encabezado{ position:relative; }
.pigyhome .pf-ig-pigy,
.pigyhome .pf-ig-fante{ position:absolute; height:auto; display:block; pointer-events:none; user-select:none; }
.pigyhome .pf-ig-pigy{ left:4px; top:8px; width:80px; transform:rotate(-4deg); }
.pigyhome .pf-ig-fante{ right:0; top:6px; width:128px; transform:rotate(4deg); }

.pigyhome .pf-ig-cabecera{ text-align:center; max-width:760px; margin:0 auto; padding-top:130px; }
.pigyhome .pf-ig-kicker{
  display:flex; align-items:center; justify-content:center; gap:11px;
  font-size:11.5px; font-weight:900; letter-spacing:.14em; text-transform:uppercase;
  color:#7DE6E7; margin:0 0 6px;
}
.pigyhome .pf-ig-kicker span{ display:block; width:34px; height:2px; border-radius:2px; background:rgba(125,230,231,.55); }
.pigyhome .pf-ig-titulo{
  font-family:'Nunito',system-ui,sans-serif; font-size:var(--h2); font-weight:900;
  line-height:1.14; letter-spacing:-.01em; color:#FFFFFF; margin:0 0 6px; text-wrap:balance;
}
.pigyhome .pf-ig-titulo em{ font-style:normal; color:#FF6F9C; }
.pigyhome .pf-ig-bajada{ font-size:var(--body); color:#C3D0EE; line-height:1.5; margin:0 auto; max-width:56ch; }
.pigyhome .pf-ig-usuario{
  display:inline-flex; align-items:center; gap:9px; margin-top:12px;
  height:40px; padding:0 18px; border-radius:99px; background:#FFFFFF; color:#0A1F66;
  font-size:14.5px; font-weight:800; box-shadow:0 6px 18px -10px rgba(0,0,0,.6);
  transition:transform .18s ease, box-shadow .18s ease;
}
.pigyhome .pf-ig-usuario .pf-ig-glifo{ width:18px; height:18px; color:#E8385E; }
@media (hover:hover){ .pigyhome .pf-ig-usuario:hover{ transform:translateY(-2px); box-shadow:0 16px 26px -14px rgba(0,0,0,.65); } }
.pigyhome .pf-ig-usuario:focus-visible,
.pigyhome .pf-ig-cta:focus-visible,
.pigyhome .pf-ig-post:focus-visible{ outline:3px solid #7DE6E7; outline-offset:3px; }

/* Sin conexión: una línea discreta, sin caja. Solo en QA. */
.pigyhome .pf-ig-aviso{ margin:8px 0 0; font-size:11px; line-height:1.4; color:rgba(143,163,216,.55); }

/* ── Rejilla de publicaciones ─────────────────────────────────────────────── */
.pigyhome .pf-ig-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;
  margin:14px 0 0; padding:0; list-style:none;
}
.pigyhome .pf-ig-grid > li{ display:flex; min-width:0; }
.pigyhome .pf-ig-post{
  position:relative; display:block; width:100%; padding:4px; border-radius:19px;
  background:#FFFFFF; box-shadow:0 10px 24px -18px rgba(0,0,0,.9);
  transition:transform .2s ease, box-shadow .2s ease;
}
.pigyhome .pf-ig-foto{
  position:relative; display:block; width:100%; aspect-ratio:4/5; overflow:hidden;
  border-radius:16px; background:#FDF7F2;
}
.pigyhome .pf-ig-post img{
  width:100%; height:100%; object-fit:cover; object-position:center; display:block;
  transition:transform .35s ease;
}
.pigyhome .pf-ig-velo{
  position:absolute; inset:0; border-radius:15px; opacity:0;
  background:linear-gradient(180deg,rgba(10,31,102,0) 42%,rgba(10,31,102,.28) 100%);
  transition:opacity .2s ease;
}
.pigyhome .pf-ig-marca{
  position:absolute; top:13px; right:13px; width:27px; height:27px; border-radius:9px;
  display:grid; place-items:center; background:rgba(255,255,255,.94); color:#E8385E;
  box-shadow:0 2px 8px -4px rgba(10,31,102,.5);
}
.pigyhome .pf-ig-marca .pf-ig-glifo{ width:16px; height:16px; }
.pigyhome .pf-ig-tipo{
  position:absolute; top:13px; left:13px; width:25px; height:25px; border-radius:9px;
  display:grid; place-items:center; background:rgba(10,31,102,.62); color:#fff;
}
.pigyhome .pf-ig-tipo svg{ width:14px; height:14px; }
@media (hover:hover){
  .pigyhome .pf-ig-post:hover{ transform:translateY(-4px); box-shadow:0 26px 42px -22px rgba(0,0,0,.95); }
  .pigyhome .pf-ig-post:hover img{ transform:scale(1.045); }
  .pigyhome .pf-ig-post:hover .pf-ig-velo{ opacity:1; }
}
/* Marco vacío: exactamente el mismo tamaño que una publicación real. */
.pigyhome .pf-ig-post--vacio{ background:rgba(255,255,255,.1); box-shadow:none; }
.pigyhome .pf-ig-post--vacio .pf-ig-foto{
  display:grid; place-items:center; background:rgba(125,230,231,.07); color:rgba(125,230,231,.55);
  border:1px dashed rgba(125,230,231,.35);
}
.pigyhome .pf-ig-post--vacio .pf-ig-glifo{ width:28px; height:28px; }

.pigyhome .pf-ig-cta{
  display:flex; align-items:center; justify-content:center; gap:9px; width:100%; max-width:270px;
  height:48px; margin:16px auto 0; border-radius:99px; background:#FF5C8A; color:#0A1F66;
  font-size:15px; font-weight:800; box-shadow:0 14px 28px -16px rgba(255,92,138,.75);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.pigyhome .pf-ig-cta .pf-ig-glifo{ width:18px; height:18px; }
.pigyhome .pf-ig-cta span{ display:inline-block; transition:transform .18s ease; }
@media (hover:hover){
  .pigyhome .pf-ig-cta:hover{ background:#FF7FA3; transform:translateY(-2px); }
  .pigyhome .pf-ig-cta:hover span{ transform:translateX(3px); }
}

/* ── Ambientación lateral (MIG-0194C · reescrita en MIG-0194E) ────────────────
   Cada costado tiene su propia composición —no son espejo— con tres formas
   grandes y difusas que entran desde el borde (azul, lila azulado y violeta muy
   suaves) y dos grupitos de adornos. Los adornos viven en el margen del
   contenedor, anclados en píxeles: nunca caen sobre las publicaciones. Las
   formas sí entran hacia el centro, pero van DETRÁS de las tarjetas y a muy
   baja opacidad, así que no compiten con nada.
   ────────────────────────────────────────────────────────────────────────── */
.pigyhome .pf-ig-deco{ position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }




/* ── MIG-0194H · Aura detrás de cada personaje ────────────────────────────────
   Una mancha orgánica suave que los asienta en la franja. Va antes de la imagen
   en el HTML, así que queda detrás de Pigy y de Fante. */
.pigyhome .pf-ig-aura{ position:absolute; display:block; pointer-events:none; filter:blur(12px); }
.pigyhome .pf-ig-aura--pigy{
  left:-18px; top:-6px; width:132px; aspect-ratio:1/1.05;
  border-radius:58% 42% 52% 48% / 50% 46% 54% 50%;
  background:radial-gradient(circle at 50% 50%, rgba(125,230,231,.30) 0%, rgba(125,230,231,.10) 52%, rgba(125,230,231,0) 74%);
}
.pigyhome .pf-ig-aura--fante{
  right:-18px; top:-6px; width:150px; aspect-ratio:1/.95;
  border-radius:46% 54% 58% 42% / 54% 48% 52% 46%;
  background:radial-gradient(circle at 50% 50%, rgba(160,138,246,.34) 0%, rgba(160,138,246,.12) 52%, rgba(160,138,246,0) 74%);
}

/* ── MIG-0194H · Composiciones laterales (pantallas anchas) ───────────────────
   Solo existen cuando la franja tiene costado libre de verdad (≥1780 px): ahí
   cada lado recibe su propia composición —mancha grande, mancha secundaria y
   seis piezas— dentro de una columna de 140 px que empieza a 80 px del borde
   como mínimo y se centra en el margen libre si la pantalla es muy ancha. Nunca
   pisa el contenido: a 1780 px quedan 26 px de aire hasta la primera tarjeta.
   ────────────────────────────────────────────────────────────────────────── */
/* La columna crece con el margen libre (140 px a 1780, hasta 300 px en pantallas
   muy anchas) y se centra en él: nunca a menos de 80 px del borde. Las piezas se
   colocan en % de la columna para acompañar ese crecimiento. */
.pigyhome .pf-ig-lado{
  --pf-m: calc((100cqw - 1400px) / 2);
  --pf-w: clamp(140px, calc(var(--pf-m) - 120px), 300px);
  position:absolute; top:0; bottom:0; width:var(--pf-w); display:none;
}
.pigyhome .pf-ig-lado--izq{ left:max(80px, calc((var(--pf-m) - var(--pf-w)) / 2)); }
.pigyhome .pf-ig-lado--der{ right:max(80px, calc((var(--pf-m) - var(--pf-w)) / 2)); }

/* Manchas: redondeadas y muy difuminadas, nada de cápsulas. */
.pigyhome .pf-ig-l-mancha{ position:absolute; display:block; filter:blur(18px); }
.pigyhome .pf-ig-l-mancha--a{
  left:-22%; top:12%; width:144%; aspect-ratio:1/1.04;
  border-radius:58% 42% 50% 50% / 46% 52% 48% 54%;
  background:radial-gradient(circle at 50% 48%, rgba(120,128,238,.46) 0%, rgba(110,118,230,.20) 44%, rgba(110,118,230,0) 70%);
}
.pigyhome .pf-ig-l-mancha--b{
  left:14%; top:60%; width:88%; aspect-ratio:1/.9;
  border-radius:48% 52% 60% 40% / 56% 44% 56% 44%;
  background:radial-gradient(circle at 50% 50%, rgba(125,230,231,.30) 0%, rgba(125,230,231,.10) 46%, rgba(125,230,231,0) 70%);
}
.pigyhome .pf-ig-l-mancha--c{
  right:-22%; top:10%; width:148%; aspect-ratio:1/1.02;
  border-radius:44% 56% 52% 48% / 52% 44% 56% 48%;
  background:radial-gradient(circle at 50% 48%, rgba(146,118,240,.46) 0%, rgba(136,108,232,.20) 44%, rgba(136,108,232,0) 70%);
}
.pigyhome .pf-ig-l-mancha--d{
  right:12%; top:58%; width:92%; aspect-ratio:1/.92;
  border-radius:56% 44% 42% 58% / 46% 58% 42% 54%;
  background:radial-gradient(circle at 50% 50%, rgba(86,150,236,.34) 0%, rgba(86,150,236,.12) 46%, rgba(86,150,236,0) 70%);
}

.pigyhome .pf-ig-l{ position:absolute; display:block; }
/* Izquierda: marco con corazón, corazón coral, estrella crema, chispa, puntitos y rayitas. */
.pigyhome .pf-ig-l--marco{ left:10%; top:19%; width:46px; transform:rotate(-9deg); }
.pigyhome .pf-ig-l--corazon{ left:64%; top:12%; width:28px; transform:rotate(8deg); }
.pigyhome .pf-ig-l--estrella{ left:67%; top:41%; width:22px; }
.pigyhome .pf-ig-l--chispa{ left:21%; top:50%; width:24px; }
.pigyhome .pf-ig-l--puntos{ left:54%; top:67%; width:32px; }
.pigyhome .pf-ig-l--rayas{ left:19%; top:78%; width:32px; }
/* Derecha: icono de Instagram, corazón aqua, estrella de contorno, rayitas, chispa y puntitos. */
.pigyhome .pf-ig-l--insta{ right:13%; top:23%; width:44px; transform:rotate(8deg); }
.pigyhome .pf-ig-l--corazon2{ right:66%; top:14%; width:26px; transform:rotate(-8deg); }
.pigyhome .pf-ig-l--estrella2{ right:64%; top:45%; width:25px; }
.pigyhome .pf-ig-l--rayas2{ right:16%; top:55%; width:34px; }
.pigyhome .pf-ig-l--chispa2{ right:50%; top:74%; width:19px; }
.pigyhome .pf-ig-l--puntos2{ right:17%; top:84%; width:30px; }

@container pf (min-width:1780px){
  .pigyhome .pf-ig-lado{ display:block; }
}
/* En pantallas muy anchas las piezas ganan un 25 % para no quedar diminutas. */
@container pf (min-width:2200px){
  .pigyhome .pf-ig-l--marco, .pigyhome .pf-ig-l--insta{ width:56px; }
  .pigyhome .pf-ig-l--corazon, .pigyhome .pf-ig-l--corazon2{ width:34px; }
  .pigyhome .pf-ig-l--estrella, .pigyhome .pf-ig-l--estrella2{ width:29px; }
  .pigyhome .pf-ig-l--chispa{ width:30px; }
  .pigyhome .pf-ig-l--chispa2{ width:24px; }
  .pigyhome .pf-ig-l--rayas, .pigyhome .pf-ig-l--rayas2{ width:42px; }
  .pigyhome .pf-ig-l--puntos, .pigyhome .pf-ig-l--puntos2{ width:38px; }
}

/* Grupitos de adornos: dos por costado, a distinta altura en cada lado. */
/* MIG-0194F · zona segura lateral. Los grupos viven DENTRO del encabezado, así
   que su borde de referencia es el del contenedor, no el del viewport: eso ya
   les da el margen del contenedor (48 px en escritorio, 32 en tablet, 16 en
   móvil) y encima llevan su propio desplazamiento. Ninguno queda a ras.
   En móvil no hay costado libre —el texto ocupa todo el ancho— así que ahí solo
   quedan el corazón y la chispa del hueco entre Pigy y Fante. */
.pigyhome .pf-ig-grupo{ position:absolute; display:none; width:40px; height:76px; }

.pigyhome .pf-ig-doodle{ position:absolute; display:block; }
/* Izquierda · grupo alto */
.pigyhome .pf-ig-doodle--c1{ left:3px; top:0; width:13px; }
.pigyhome .pf-ig-doodle--e1{ left:4px; top:24px; width:10px; }
.pigyhome .pf-ig-doodle--b1{ left:3px; top:44px; width:10px; }
/* Izquierda · grupo bajo */
.pigyhome .pf-ig-doodle--c2{ left:3px; top:6px; width:12px; }
.pigyhome .pf-ig-doodle--t1{ left:3px; top:32px; width:13px; }
.pigyhome .pf-ig-doodle--p1{ left:5px; top:58px; width:7px; }
/* Derecha · grupo alto */
.pigyhome .pf-ig-doodle--b2{ right:3px; top:0; width:12px; }
.pigyhome .pf-ig-doodle--e2{ right:4px; top:26px; width:11px; }
.pigyhome .pf-ig-doodle--t2{ right:3px; top:52px; width:13px; }
/* Derecha · grupo bajo */
.pigyhome .pf-ig-doodle--c3{ right:3px; top:4px; width:13px; }
.pigyhome .pf-ig-doodle--p2{ right:5px; top:34px; width:7px; }
.pigyhome .pf-ig-doodle--b3{ right:4px; top:54px; width:10px; }
/* MIG-0194G · cuarta pieza de cada grupo. Solo en escritorio: por debajo de
   1100 px el grupo bajo queda tan cerca de la primera fila que la tocaría. */
.pigyhome .pf-ig-doodle--e3,
.pigyhome .pf-ig-doodle--c4,
.pigyhome .pf-ig-doodle--t3,
.pigyhome .pf-ig-doodle--c5{ display:none; }

/* Acentos pegados a cada personaje, dentro del encabezado. */
.pigyhome .pf-ig-acentos{ position:absolute; inset:0; display:block; pointer-events:none; }
.pigyhome .pf-ig-ac{ position:absolute; display:none; }
/* MIG-0194F · zona segura: los acentos entran con el contenedor, nunca a ras. */
.pigyhome .pf-ig-ac--foto{ left:clamp(10px,1.6cqw,22px); top:4px; width:28px; transform:rotate(-12deg); }
.pigyhome .pf-ig-ac--flash{ left:124px; top:0; width:26px; }
/* En móvil el corazón y la chispa se van al hueco entre Pigy y Fante: es el
   único aire lateral que hay a 390 px. */
.pigyhome .pf-ig-ac--cor1{ display:block; left:50%; top:52px; width:15px; transform:translateX(-46px); }
.pigyhome .pf-ig-ac--chispa{ display:block; left:50%; top:16px; width:19px; transform:translateX(30px); }
.pigyhome .pf-ig-ac--cor2{ right:118px; top:18px; width:19px; }
.pigyhome .pf-ig-ac--rayas{ right:clamp(10px,1.5cqw,20px); bottom:60px; width:27px; }
/* MIG-0194G · chispa aqua junto a Pigy y burbuja de comunidad junto a Fante. */
/* En móvil la chispa aqua acompaña al corazón en el hueco central. */
.pigyhome .pf-ig-ac--chispa2{ display:block; left:50%; top:74px; width:12px; transform:translateX(16px); }
.pigyhome .pf-ig-ac--burbuja{ right:clamp(12px,1.9cqw,28px); top:76px; width:30px; transform:rotate(6deg); }

/* ── Tablet ───────────────────────────────────────────────────────────────── */
@container pf (min-width:600px){
  /* En tablet la rejilla se centra y no se estira: tres tarjetas de 1024 px de
     ancho harían la franja altísima. */
  .pigyhome .pf-ig-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:16px; max-width:840px; margin-inline:auto; }
  .pigyhome .pf-ig-cabecera{ padding-top:156px; }
  .pigyhome .pf-ig-pigy{ left:8px; top:8px; width:98px; }
  .pigyhome .pf-ig-aura--pigy{ left:-14px; top:-4px; width:150px; }
  .pigyhome .pf-ig-aura--fante{ right:-16px; top:-6px; width:196px; }
  .pigyhome .pf-ig-fante{ right:4px; top:8px; width:158px; }
  .pigyhome .pf-ig-grupo--i-alto, .pigyhome .pf-ig-grupo--d-alto{ display:block; }
  .pigyhome .pf-ig-grupo--i-alto{ left:126px; top:6px; }
  .pigyhome .pf-ig-grupo--d-alto{ right:176px; top:14px; }
  .pigyhome .pf-ig-ac--foto{ display:block; }
  /* Entre 600 y 859 el texto ocupa todo el ancho: el corazón de Pigy no cabe a
     un costado sin pisar la bajada, así que ahí no se pinta. */
  .pigyhome .pf-ig-ac--cor1{ display:none; left:clamp(12px,1.8cqw,26px); top:auto; bottom:70px; width:18px; transform:none; }
  .pigyhome .pf-ig-ac--chispa{ left:auto; right:clamp(10px,1.6cqw,22px); top:0; width:22px; transform:none; }
  .pigyhome .pf-ig-ac--chispa2{ display:none; left:clamp(14px,2.2cqw,34px); top:auto; bottom:18px; width:15px; transform:none; }
  .pigyhome .pf-ig-doodle--t1, .pigyhome .pf-ig-doodle--t2{ display:block; }
}
/* Desde aquí los personajes caben a los lados del texto: se acercan al bloque,
   crecen y apoyan los pies en la primera fila de publicaciones. */
@container pf (min-width:860px){
  /* El ancho del texto reserva a los lados lo que ocupan Pigy y Fante, que crecen
     con el contenedor: así el marco decorativo nunca invade el título. */
  .pigyhome .pf-ig-cabecera{ max-width:min(760px, 64cqw - 110px); padding-top:54px; }
  .pigyhome .pf-ig-pigy{
    left:clamp(4px,2.8cqw,48px); top:auto; bottom:-6px;
    width:clamp(120px,10.4cqw,150px);
  }
  .pigyhome .pf-ig-fante{
    right:clamp(0px,.6cqw,14px); top:auto; bottom:2px;
    width:clamp(160px,17cqw,246px);
  }
  /* Aquí ya hay costado reservado: vuelven todos los acentos de los personajes
     y los cuatro grupitos se colocan a los lados, a la altura de Pigy y Fante. */
  .pigyhome .pf-ig-ac{ display:block; }
  .pigyhome .pf-ig-grupo{ display:block; }
  .pigyhome .pf-ig-aura--pigy{ left:clamp(-20px,.6cqw,24px); top:auto; bottom:-16px; width:clamp(170px,14cqw,220px); }
  .pigyhome .pf-ig-aura--fante{ right:clamp(-30px,-.6cqw,-6px); top:auto; bottom:-18px; width:clamp(210px,19cqw,290px); }
  .pigyhome .pf-ig-grupo--i-alto{ left:10px; top:30%; }
  .pigyhome .pf-ig-grupo--i-bajo{ left:14px; bottom:-6px; top:auto; }
  .pigyhome .pf-ig-grupo--d-alto{ right:10px; top:24%; }
  .pigyhome .pf-ig-grupo--d-bajo{ right:16px; bottom:0; top:auto; }
}
/* ── Escritorio: las seis en una fila ─────────────────────────────────────── */
@container pf (min-width:1100px){
  .pigyhome .pf-ig-grid{ grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-top:14px; max-width:none; }
  /* Con el margen ancho de escritorio, cada grupito se abre en abanico y se
     coloca junto a Pigy y a Fante, nunca pegado al borde de la franja. */
  .pigyhome .pf-ig-grupo{ width:56px; height:100px; }
  .pigyhome .pf-ig-grupo--i-alto{ top:20%; }
  .pigyhome .pf-ig-grupo--d-alto{ top:14%; }
  .pigyhome .pf-ig-doodle--e3{ display:block; left:26px; top:64px; width:12px; }
  .pigyhome .pf-ig-doodle--c4{ display:block; left:6px; top:80px; width:13px; }
  .pigyhome .pf-ig-doodle--t3{ display:block; right:26px; top:74px; width:14px; }
  .pigyhome .pf-ig-doodle--c5{ display:block; right:6px; top:78px; width:12px; }
  .pigyhome .pf-ig-doodle--c1{ left:4px; width:17px; }
  .pigyhome .pf-ig-doodle--e1{ left:23px; top:22px; width:12px; }
  .pigyhome .pf-ig-doodle--b1{ left:6px; top:40px; width:11px; }
  .pigyhome .pf-ig-doodle--c2{ left:4px; width:14px; }
  .pigyhome .pf-ig-doodle--t1{ left:19px; top:30px; width:16px; }
  .pigyhome .pf-ig-doodle--p1{ left:7px; top:56px; }
  .pigyhome .pf-ig-doodle--b2{ right:4px; width:13px; }
  .pigyhome .pf-ig-doodle--e2{ right:23px; top:26px; width:14px; }
  .pigyhome .pf-ig-doodle--t2{ right:5px; top:50px; width:16px; }
  .pigyhome .pf-ig-doodle--c3{ right:4px; width:15px; }
  .pigyhome .pf-ig-doodle--p2{ right:25px; top:32px; }
  .pigyhome .pf-ig-doodle--b3{ right:7px; top:52px; width:11px; }
  .pigyhome .pf-ig-cta{ margin-top:14px; }
}
/* MIG-0333 · El destello de la cámara de Pigy se dibujaba SOBRE la cámara: se retira (los
   demás adornos los aparta home.js para que ninguno toque a Pigy ni a Fante). */
.pigyhome .pf-ig-ac--flash{ display:none !important; }
@media (prefers-reduced-motion:reduce){
  .pigyhome .pf-ig-post, .pigyhome .pf-ig-post img, .pigyhome .pf-ig-velo,
  .pigyhome .pf-ig-cta, .pigyhome .pf-ig-usuario, .pigyhome .pf-ig-cta span{ transition:none; }
}

/* ══════════════════════════════════════════════════════════════════════════
   SECCIÓN 08 · Feed de Smash Balloon dentro de las 6 tarjetas (2026-09-18)
   Solo integración: el plugin entrega #sb_instagram > #sbi_images > .sbi_item
   y aquí se le da EXACTAMENTE el aspecto de las tarjetas propias (marco blanco
   de 4 px, radio 19/15, 4:5 con object-fit:cover, insignias, hover), en la
   misma rejilla 6 / 3×2 / 2×3. Cabecera, «Load More» y «Follow» ya vienen
   apagados desde el feed; se ocultan también aquí por si alguien los
   reactiva desde el panel del plugin.
   ══════════════════════════════════════════════════════════════════════════ */
.pigyhome .pf-ig-sb{ display:block; }
.pigyhome .pf-ig-sb #sb_instagram{
  width:100% !important; max-width:none !important; height:auto !important;
  padding:0 !important; margin:0 !important; background:none !important;
}
.pigyhome .pf-ig-sb #sb_instagram #sbi_images{
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;
  width:100% !important; padding:0 !important; float:none !important;
}
.pigyhome .pf-ig-sb #sb_instagram .sbi_item{
  display:block !important; width:auto !important; float:none !important;
  padding:0 !important; margin:0 !important; min-width:0;
}
.pigyhome .pf-ig-sb #sb_instagram .sbi_item.sbi_transition{ opacity:1 !important; }
.pigyhome .pf-ig-sb #sb_instagram .sbi_photo_wrap{
  position:relative; padding:4px; border-radius:19px; background:#FFFFFF;
  box-shadow:0 10px 24px -18px rgba(0,0,0,.9);
  transition:transform .2s ease, box-shadow .2s ease;
}
.pigyhome .pf-ig-sb #sb_instagram .sbi_photo{
  position:relative; display:block !important; width:100%; height:auto !important;
  aspect-ratio:4/5; overflow:hidden; border-radius:15px;
  background-color:#FDF7F2 !important; background-image:none !important;
}
.pigyhome .pf-ig-sb #sb_instagram .sbi_photo img{
  display:block !important; position:absolute; inset:0; width:100% !important; height:100% !important;
  object-fit:cover; object-position:center; opacity:1 !important; transition:transform .35s ease;
}
.pigyhome .pf-ig-sb #sb_instagram .sbi_photo_wrap::after{
  content:""; position:absolute; inset:4px; border-radius:15px; pointer-events:none; opacity:0;
  background:linear-gradient(180deg,rgba(10,31,102,0) 42%,rgba(10,31,102,.28) 100%);
  transition:opacity .2s ease;
}
/* Insignias de reel y carrusel del plugin, con el aspecto de las propias. */
.pigyhome .pf-ig-sb #sb_instagram .svg-inline--fa.sbi_playbtn,
.pigyhome .pf-ig-sb #sb_instagram .sbi_playbtn{
  position:absolute; top:12px; left:12px; right:auto; bottom:auto; z-index:2;
  width:25px !important; height:25px !important; margin:0 !important; padding:5px;
  border-radius:9px; background:rgba(10,31,102,.62); color:#fff !important; box-sizing:border-box;
  transform:none !important; font-size:14px;
}
.pigyhome .pf-ig-sb #sb_instagram .sbi_lightbox_carousel_icon,
.pigyhome .pf-ig-sb #sb_instagram .svg-inline--fa.sbi_carousel_icon,
.pigyhome .pf-ig-sb #sb_instagram .sbi_carousel_icon{
  position:absolute; top:12px; left:12px; right:auto; z-index:2;
  width:25px !important; height:25px !important; padding:5px; border-radius:9px;
  background:rgba(10,31,102,.62); color:#fff !important; box-sizing:border-box;
}
/* Nada del plugin fuera de las tarjetas. */
.pigyhome .pf-ig-sb #sb_instagram .sb_instagram_header,
.pigyhome .pf-ig-sb #sb_instagram .sbi_header,
.pigyhome .pf-ig-sb #sb_instagram #sbi_load,
.pigyhome .pf-ig-sb #sb_instagram .sbi_load_btn,
.pigyhome .pf-ig-sb #sb_instagram .sbi_follow_btn,
.pigyhome .pf-ig-sb #sb_instagram #sbi_mod_error,
.pigyhome .pf-ig-sb #sb_instagram .sbi_photo_wrap .sbi_link,
.pigyhome .pf-ig-sb .sbi-screenreader:not(.sbi_photo .sbi-screenreader){ display:none !important; }
.pigyhome .pf-ig-sb #sb_instagram .sbi_photo:focus-visible{ outline:3px solid #7DE6E7; outline-offset:3px; }
@media (hover:hover){
  .pigyhome .pf-ig-sb #sb_instagram .sbi_item:hover .sbi_photo_wrap{ transform:translateY(-4px); box-shadow:0 26px 42px -22px rgba(0,0,0,.95); }
  .pigyhome .pf-ig-sb #sb_instagram .sbi_item:hover .sbi_photo img{ transform:scale(1.045); }
  .pigyhome .pf-ig-sb #sb_instagram .sbi_item:hover .sbi_photo_wrap::after{ opacity:1; }
}
@container pf (min-width:600px){
  .pigyhome .pf-ig-sb{ max-width:840px; margin-inline:auto; }
  .pigyhome .pf-ig-sb #sb_instagram #sbi_images{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
}
@container pf (min-width:1100px){
  .pigyhome .pf-ig-sb{ max-width:none; }
  .pigyhome .pf-ig-sb #sb_instagram #sbi_images{ grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
}
@media (prefers-reduced-motion:reduce){
  .pigyhome .pf-ig-sb #sb_instagram .sbi_photo_wrap,
  .pigyhome .pf-ig-sb #sb_instagram .sbi_photo img{ transition:none; }
}

/* ══════════════════════════════════════════════════════════════════════════
   SECCIÓN 07b · aire antes de la franja azul de Instagram (MIG-0196)
   El aire es de la POSICIÓN 07b, no de una sección: la franja de Instagram no trae
   margen superior y dejaba la grilla pegada. 20-10-2026: Día del Profesor y
   Graduación intercambiaron lugar; hoy en 07b está Día del Profesor.
   ══════════════════════════════════════════════════════════════════════════ */
.pigyhome #dia-profesor.pf-dp{ padding-bottom:calc(var(--sec) * 1.25); }

/* ══════════════════════════════════════════════════════════════════════════
   SECCIÓN 09 · MOMENTOS IMPORTANTES (MIG-0197) — reemplaza a «Best sellers».
   2ª versión: 6 tarjetas por fila en escritorio, con la proporción de las
   tarjetas estándar de la web (imagen cuadrada completa, título en 2 líneas,
   precio y botón al mismo eje), y decoración en los costados libres.
   Columnas: 2 (<600) · 3 (600–1099) · 6 (≥1100). Con menos productos que
   columnas (una ocasión con 3), la fila se centra en vez de quedar coja.
   ══════════════════════════════════════════════════════════════════════════ */
.pigyhome .pf-mo{
  --mo-navy:#0E1F66; --mo-texto:#56629E; --mo-rosa-cta:#F24A7E; --mo-gap:12px; --mo-cols:2;
  position:relative; isolation:isolate; overflow:hidden;
  margin-top:calc(var(--sec) * .9); padding:calc(var(--sec) * .75) 0 calc(var(--sec) * .85);
  background:linear-gradient(180deg,#FFFCF8 0%,#FDF9F4 100%);
}
.pigyhome .pf-mo-marco{ position:relative; z-index:1; max-width:1400px; margin:0 auto; padding:0 var(--pad); }

/* Encabezado */
.pigyhome .pf-mo-cabecera{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px 12px; flex-wrap:wrap; }
.pigyhome .pf-mo-kicker{ display:flex; align-items:center; gap:10px; margin:0 0 8px; font-size:12.5px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; color:#D8245A; }
.pigyhome .pf-mo-kicker .pf-mo-cor{ width:20px; height:18px; color:#E8386E; }
.pigyhome .pf-mo-titulo{ position:relative; display:inline; font-family:'Nunito',system-ui,sans-serif; font-weight:900; font-size:clamp(26px, 2.9cqw + 4px, 44px); line-height:1.15; letter-spacing:-.015em; color:var(--mo-navy); }
.pigyhome .pf-mo-brillo{ display:inline-block; width:.8em; height:.8em; margin-left:.25em; vertical-align:-.02em; }
.pigyhome .pf-mo-todo{ flex:none; margin-top:30px; font-size:17px; font-weight:800; color:#D8245A; white-space:nowrap; text-decoration:underline; text-decoration-color:rgba(216,36,90,.35); text-underline-offset:6px; text-decoration-thickness:2px; }
.pigyhome .pf-mo-todo span{ display:inline-block; margin-left:4px; transition:transform .18s ease; }
.pigyhome .pf-mo-todo:hover span{ transform:translateX(3px); }
.pigyhome .pf-mo-todo:focus-visible, .pigyhome .pf-mo-tab:focus-visible, .pigyhome .pf-mo-cta:focus-visible{ outline:3px solid #F0506A; outline-offset:3px; }

/* Pestañas pill (en móvil se desplazan) */
.pigyhome .pf-mo-tabs{ display:flex; gap:12px; margin:22px 0 0; padding:2px 2px 6px; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x proximity; }
.pigyhome .pf-mo-tabs::-webkit-scrollbar{ display:none; }
.pigyhome .pf-mo-tab{ flex:none; display:inline-flex; align-items:center; gap:9px; height:46px; padding:0 19px; border-radius:99px; border:1.5px solid #E4E1EC; background:#FFFFFF; color:var(--mo-navy); font:700 15px/1 'Nunito',system-ui,sans-serif; cursor:pointer; scroll-snap-align:start; transition:background .15s ease, border-color .15s ease, color .15s ease; }
.pigyhome .pf-mo-tab svg{ width:21px; height:21px; flex:none; }
.pigyhome .pf-mo-tab .pf-mo-n{ font-weight:600; font-size:13px; color:#8A91B4; }
.pigyhome .pf-mo-tab:hover{ border-color:#F4A7BD; }
.pigyhome .pf-mo-tab[aria-pressed="true"]{ background:#FDE3EA; border-color:#F4A7BD; color:#D8245A; }
.pigyhome .pf-mo-tab[aria-pressed="true"] .pf-mo-n{ color:#E4789A; }
.pigyhome .pf-mo-bajada{ margin:14px 0 0; font-size:max(15px, var(--body)); line-height:1.5; color:var(--mo-texto); }

/* Rejilla: columnas iguales; filas incompletas se centran */
.pigyhome .pf-mo-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:var(--mo-gap); margin:24px 0 0; padding:0; list-style:none; }
.pigyhome .pf-mo-grid > li{ display:flex; min-width:0; flex:0 0 calc((100% - (var(--mo-cols) - 1) * var(--mo-gap)) / var(--mo-cols)); }
.pigyhome .pf-mo-grid > li[hidden]{ display:none; }

/* Tarjeta: todas con el mismo esqueleto y alturas reservadas */
.pigyhome .pf-mo-card{ position:relative; display:flex; flex-direction:column; width:100%; padding:8px 8px 12px; background:#FFFFFF; border:1px solid #F1EBE6; border-radius:18px; box-shadow:0 12px 26px -22px rgba(14,31,102,.4); transition:transform .2s ease, box-shadow .2s ease; }
@media (hover:hover){ .pigyhome .pf-mo-card:hover{ transform:translateY(-4px); box-shadow:0 22px 36px -24px rgba(14,31,102,.5); } }
/* Imagen: mismo alto en todas (cuadrada), producto completo y centrado. */
.pigyhome .pf-mo-foto{ position:relative; aspect-ratio:1/1; border-radius:13px; overflow:hidden; background:#FFFFFF; }
.pigyhome .pf-mo-foto img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; }
.pigyhome .pf-mo-foto .pf-fav{ position:absolute; top:8px; right:8px; z-index:2; }
.pigyhome .pf-mo-cuerpo{ display:flex; flex-direction:column; flex:1; padding:11px 5px 0; }
.pigyhome .pf-mo-badge{ align-self:flex-start; padding:3px 9px; border-radius:99px; margin-bottom:8px; font-size:10.5px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; line-height:1.3; white-space:nowrap; }
.pigyhome .pf-mo-badge--celeste{ background:#DDF1FC; color:#1470AE; }
.pigyhome .pf-mo-badge--rosa{ background:#FDE1E8; color:#C81D52; }
.pigyhome .pf-mo-badge--crema{ background:#FCEFC6; color:#A56A06; }
.pigyhome .pf-mo-nombre{ margin:0; min-height:calc(1.28em * 2); font-size:15px; font-weight:800; line-height:1.28; color:var(--mo-navy); }
.pigyhome .pf-mo-enlace{ color:inherit; text-decoration:none; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pigyhome .pf-mo-enlace::after{ content:""; position:absolute; inset:0; border-radius:18px; } /* toda la tarjeta abre la ficha */
.pigyhome .pf-mo-precio{ display:flex; align-items:baseline; flex-wrap:wrap; gap:0 6px; margin:auto 0 0; padding-top:10px; min-height:calc(10px + 1.35em); color:var(--mo-navy); line-height:1.35; }
.pigyhome .pf-mo-desde{ font-size:13px; font-weight:600; }
.pigyhome .pf-mo-precio strong{ font-size:19px; font-weight:900; letter-spacing:-.01em; }
.pigyhome .pf-mo-precio del{ font-size:13px; color:#8A91B4; }
.pigyhome .pf-mo-cta{ position:relative; z-index:2; display:flex; align-items:center; justify-content:center; height:42px; margin-top:10px; border-radius:99px; background:linear-gradient(180deg,#F55A88 0%,var(--mo-rosa-cta) 100%); color:#fff; font-size:15px; font-weight:800; text-decoration:none; box-shadow:0 10px 20px -14px rgba(242,74,126,.9); transition:filter .15s ease, transform .15s ease; }
.pigyhome .pf-mo-cta:hover{ color:#fff; filter:brightness(1.05); transform:translateY(-1px); }

/* Decoración lateral: solo en los costados libres, nunca sobre el contenido */
.pigyhome .pf-mo-deco{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.pigyhome .pf-mo-lado{ position:absolute; top:0; bottom:0; width:calc((100% - 1400px) / 2); display:none; }
.pigyhome .pf-mo-lado--izq{ left:0; }
.pigyhome .pf-mo-lado--der{ right:0; }
.pigyhome .pf-mo-halo{ position:absolute; width:300px; height:300px; border-radius:50%; filter:blur(6px); }
.pigyhome .pf-mo-halo--rosa{ right:-40px; top:34%; background:radial-gradient(closest-side, rgba(252,222,230,.85), rgba(252,222,230,0)); }
.pigyhome .pf-mo-halo--celeste{ left:-40px; top:8%; background:radial-gradient(closest-side, rgba(220,240,252,.9), rgba(220,240,252,0)); }
.pigyhome .pf-mo-curva{ position:absolute; width:190px; height:340px; }
.pigyhome .pf-mo-curva--izq{ right:28px; top:10%; }
.pigyhome .pf-mo-curva--der{ left:28px; top:26%; }
.pigyhome .pf-mo-nota{ position:absolute; display:none; margin:0; width:150px; font-family:'Caveat',cursive; font-weight:700; font-size:26px; line-height:1.08; color:var(--mo-navy); text-align:center; }
.pigyhome .pf-mo-nota .pf-mo-cor{ display:block; margin:6px auto 0; width:22px; height:20px; color:#E8386E; }
.pigyhome .pf-mo-nota--izq{ right:56px; top:46%; transform:rotate(-12deg); }
.pigyhome .pf-mo-nota--der{ left:56px; top:14%; transform:rotate(-10deg); }
.pigyhome .pf-mo-d{ position:absolute; display:block; }
.pigyhome .pf-mo-d--cor1{ right:44px; top:18%; width:22px; transform:rotate(-12deg); }
.pigyhome .pf-mo-d--est1{ right:150px; top:26%; width:18px; }
.pigyhome .pf-mo-d--chi1{ right:170px; top:78%; width:20px; }
.pigyhome .pf-mo-d--ray1{ right:36px; top:80%; width:30px; }
.pigyhome .pf-mo-d--cor2{ left:170px; top:58%; width:22px; transform:rotate(10deg); }
.pigyhome .pf-mo-d--est2{ left:40px; top:64%; width:22px; }
.pigyhome .pf-mo-d--chi2{ left:150px; top:84%; width:18px; }
.pigyhome .pf-mo-d--pun2{ left:52px; top:88%; width:34px; }

@container pf (min-width:600px){
  .pigyhome .pf-mo{ --mo-cols:3; --mo-gap:16px; }
  .pigyhome .pf-mo-todo{ margin-top:34px; }
}
@container pf (min-width:1100px){
  .pigyhome .pf-mo{ --mo-cols:6; --mo-gap:16px; }
}
/* Costado libre de ~100 px: curvas, halo y doodles. */
@container pf (min-width:1600px){
  .pigyhome .pf-mo-lado{ display:block; }
}
/* Costado libre de ~200 px o más: además las notas manuscritas. */
@container pf (min-width:1820px){
  .pigyhome .pf-mo-nota{ display:block; }
}
@container pf (max-width:599px){
  .pigyhome .pf-mo-titulo{ font-size:27px; }
  .pigyhome .pf-mo-todo{ margin-top:0; font-size:16px; }
  .pigyhome .pf-mo-tabs{ margin:18px calc(var(--pad) * -1) 0; padding:2px var(--pad) 6px; gap:8px; }
  .pigyhome .pf-mo-tab{ height:42px; padding:0 15px; font-size:14.5px; }
  .pigyhome .pf-mo-tab svg{ width:19px; height:19px; }
  .pigyhome .pf-mo-card{ padding:7px 7px 11px; border-radius:16px; }
  .pigyhome .pf-mo-badge{ font-size:9.5px; padding:3px 7px; }
  .pigyhome .pf-mo-nombre{ font-size:14px; }
  .pigyhome .pf-mo-precio strong{ font-size:17px; }
  .pigyhome .pf-mo-cta{ height:40px; font-size:14.5px; }
}
@media (prefers-reduced-motion:reduce){ .pigyhome .pf-mo-card, .pigyhome .pf-mo-cta{ transition:none; } }

/* ═══════════════════════════════════════════════════════════════════════════
   MIG-0200 · EXPLORA AGENDAS POR CATEGORÍA
   Cuatro bloques (uno por subcategoría real de Agendas Profesiones) con dos
   productos reales dentro. Fondo crema y doodles suaves, como la referencia.
   ═══════════════════════════════════════════════════════════════════════════ */
.pigyhome .pf-ec{ position:relative; padding:calc(var(--sec) * .7) 0 calc(var(--sec) * .8); background:#fff; }
.pigyhome .pf-ec-marco{ position:relative; z-index:1; max-width:1400px; margin:0 auto; padding:0 var(--pad); }

/* Banner de la campaña + encabezado: se leen como un solo bloque temático. */
.pigyhome .pf-ec-banner{ margin-bottom:34px; }
.pigyhome .pf-ec-cabecera{ text-align:center; margin:0 auto 38px; max-width:900px; }
.pigyhome .pf-ec-titulo{ margin:0; font-size:clamp(30px, 3.45vw, 50px); font-weight:900; line-height:1.14; color:#0A1F66; letter-spacing:-.022em; }
.pigyhome .pf-ec-bajada{ margin:13px 0 0; font-size:max(17px, calc(var(--body) * 1.12)); line-height:1.5; color:#5C79B5; }

.pigyhome .pf-ec-grid{ display:grid; grid-template-columns:1fr; gap:18px; margin:0; padding:0; list-style:none; }

/* ── Bloque de categoría ─────────────────────────────────────────────────── */
.pigyhome .pf-ec-bloque{
  display:flex; flex-direction:column; padding:24px 15px 22px; border-radius:28px;
  background:var(--ec-suave); border:1px solid var(--ec-borde);
  box-shadow:0 12px 26px -22px rgba(14,31,102,.4);
}
.pigyhome .pf-ec-bloque--rosa{    --ec-suave:#FDEDF3; --ec-borde:#F8DBE6; --ec-fuerte:#E8386F; --ec-icono:#FBD9E5; }
.pigyhome .pf-ec-bloque--celeste{ --ec-suave:#E9F3FD; --ec-borde:#D4E6F8; --ec-fuerte:#1E77C8; --ec-icono:#D3E7FA; }
.pigyhome .pf-ec-bloque--lila{    --ec-suave:#F1ECFC; --ec-borde:#E1D8F7; --ec-fuerte:#6C4BD1; --ec-icono:#E3DAF9; }
.pigyhome .pf-ec-bloque--verde{   --ec-suave:#E6F6EF; --ec-borde:#CFEBDF; --ec-fuerte:#0E9C70; --ec-icono:#D3EFE3; }

.pigyhome .pf-ec-cab{ display:flex; align-items:center; gap:12px; text-decoration:none; color:#0A1F66; }
.pigyhome .pf-ec-cab:hover .pf-ec-nombre{ text-decoration:underline; text-underline-offset:3px; }
.pigyhome .pf-ec-cab:focus-visible{ outline:3px solid var(--ec-fuerte); outline-offset:3px; border-radius:14px; }
.pigyhome .pf-ec-icono{ flex:0 0 auto; display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:var(--ec-icono); color:var(--ec-fuerte); }
.pigyhome .pf-ec-icono svg{ width:28px; height:28px; }
.pigyhome .pf-ec-nombre{ font-size:21.5px; font-weight:900; line-height:1.2; color:#0A1F66; letter-spacing:-.012em; }
.pigyhome .pf-ec-desc{ margin:14px 0 0; font-size:17px; line-height:1.5; color:#5A6795; }

.pigyhome .pf-ec-todos{
  align-self:flex-start; display:inline-flex; align-items:center; gap:8px; min-height:54px; margin-top:18px; padding:0 24px; border-radius:99px;
  background:#fff; border:1px solid var(--ec-borde); color:var(--ec-fuerte);
  font-size:17px; font-weight:800; text-decoration:none; transition:background .15s ease, transform .15s ease;
}
.pigyhome .pf-ec-todos:hover{ background:var(--ec-fuerte); border-color:var(--ec-fuerte); color:#fff; transform:translateY(-1px); }
.pigyhome .pf-ec-todos:focus-visible{ outline:3px solid #0A1F66; outline-offset:2px; }

/* ── Los dos productos ───────────────────────────────────────────────────── */
.pigyhome .pf-ec-prods{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:20px 0 0; padding:0; list-style:none; }
.pigyhome .pf-ec-prod{ position:relative; display:flex; flex-direction:column; padding:0 0 12px; border-radius:18px; overflow:hidden; background:#fff; box-shadow:0 8px 18px -16px rgba(14,31,102,.5); }
.pigyhome .pf-ec-foto{ display:block; position:relative; aspect-ratio:3/4; border-radius:18px 18px 0 0; overflow:hidden; background:#FFFFFF; }
.pigyhome .pf-ec-foto img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; }
.pigyhome .pf-ec-prod-nombre{
  margin:12px 10px 13px; min-height:calc(1.32em * 2); font-size:17.5px; font-weight:800; line-height:1.32; color:#0A1F66;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.pigyhome .pf-ec-prod-cta{
  /* `margin-block-start` pisaba a `margin-top:auto` y el botón no se anclaba
     abajo: los dos de un bloque quedaban desalineados cuando un nombre ocupaba
     una línea más. La separación mínima la pone ahora el nombre. */
  display:flex; align-items:center; justify-content:center; gap:6px; margin:auto 10px 0; padding:0 8px; min-height:54px; white-space:nowrap;
  border-radius:99px; background:var(--ec-fuerte); color:#fff; font-size:17px; font-weight:800; text-decoration:none;
  transition:filter .15s ease, transform .15s ease;
}
.pigyhome .pf-ec-prod-cta:hover{ color:#fff; filter:brightness(1.07); transform:translateY(-1px); }
.pigyhome .pf-ec-prod-cta:focus-visible{ outline:3px solid #0A1F66; outline-offset:2px; }
.pigyhome .pf-ec-prod-cta::after{ content:""; position:absolute; inset:0; border-radius:18px; } /* toda la tarjeta abre la ficha */

.pigyhome .pf-ec-pie{ margin:34px 0 0; text-align:center; font-size:16.5px; font-weight:700; color:#8A93B8; }
.pigyhome .pf-ec-pie span{ color:#F4789C; }

@container pf (min-width:700px){
  .pigyhome .pf-ec-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
}
@media (min-width:1700px){
  .pigyhome .pf-ec-marco{ max-width:1680px; }
}
/* Cuatro en fila solo cuando cada ficha da el ancho que necesitan nombres largos
   como «Psicopedagoga»: por debajo se quedan dos y dos, que se leen mejor. */
@container pf (min-width:1420px){
  /* El ancho es el techo de esta rejilla: con cuatro bloques en fila, cada píxel
     que se recorta de márgenes y huecos va a parar a las fichas de producto. */
  .pigyhome .pf-ec-marco{ padding:0 34px; }
  .pigyhome .pf-ec-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
  .pigyhome .pf-ec-bloque{ padding:28px 15px 24px; }
  .pigyhome .pf-ec-prods{ gap:10px; }
  /* Con cuatro columnas la mini-ficha es estrecha: el botón se mantiene en una
     sola línea y suelta la flecha, que aquí no cabe. */
  .pigyhome .pf-ec-prod-cta{ font-size:15.5px; gap:0; padding:0 6px; }
  .pigyhome .pf-ec-prod-cta span[aria-hidden]{ display:none; }
  /* En columna estrecha el nombre baja un punto para que palabras largas como
     «Psicopedagoga» quepan enteras, sin partirse, y admite una línea más. */
  .pigyhome .pf-ec-prod-nombre{ font-size:16.5px; -webkit-line-clamp:4; overflow-wrap:normal; word-break:normal; }
}
@media (prefers-reduced-motion:reduce){
  .pigyhome .pf-ec-todos, .pigyhome .pf-ec-prod-cta{ transition:none; }
  .pigyhome .pf-ec-todos:hover, .pigyhome .pf-ec-prod-cta:hover{ transform:none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MIG-0206 · Bloque «Blog Pigyfante». Sustituye al antiguo «Regalos que se
   guardan para siempre» en la misma posición. Mismo marco que el resto de
   secciones grandes: 1400px.
   ═══════════════════════════════════════════════════════════════════════════ */
/* El celeste deja de cruzar la pantalla: vive en `.pf-bh-caja`, con el mismo
   ancho, centrado y radio que `.pf-banner` de la sección de arriba. La
   sección solo pone el margen lateral, como hace la del banner. */
.pigyhome .pf-bh{ position:relative; margin-top:36px; padding:0 var(--pad); }
.pigyhome .pf-bh-caja{
  position:relative; overflow:hidden; max-width:1400px; margin:0 auto;
  border-radius:28px; padding:34px 0 38px;
  background:linear-gradient(175deg,#E4F0FC 0%,#EDF6FE 52%,#F6FBFF 100%);
}
.pigyhome .pf-bh-fondo{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.pigyhome .pf-bh-nube{ position:absolute; border-radius:99px; background:#fff; opacity:.8; }
.pigyhome .pf-bh-nube::before, .pigyhome .pf-bh-nube::after{ content:""; position:absolute; bottom:0; border-radius:50%; background:inherit; }
.pigyhome .pf-bh-nube::before{ left:13%; width:47%; height:168%; }
.pigyhome .pf-bh-nube::after{ right:11%; width:35%; height:126%; }
.pigyhome .pf-bh-nube--1{ top:9%;  left:3%;  width:118px; height:30px; }
.pigyhome .pf-bh-nube--2{ bottom:9%; left:1%;  width:156px; height:37px; opacity:.74; }
.pigyhome .pf-bh-nube--3{ top:7%;  right:2%; width:130px; height:32px; opacity:.72; }
.pigyhome .pf-bh-nube--4{ bottom:8%; right:6%; width:172px; height:39px; opacity:.58; }
/* Toda la decoración vive en la mitad izquierda, que es donde sobra aire.
   En la derecha competía con el texto. */
.pigyhome .pf-bh-cora{ position:absolute; top:13%; left:42%; font-size:26px; line-height:1; color:#F58AAE; }
.pigyhome .pf-bh-estrella{ position:absolute; top:30%; left:1.5%; font-size:27px; line-height:1; color:#F7C948; }
.pigyhome .pf-bh-estrella--2{ top:auto; bottom:30%; left:auto; right:2%; font-size:25px; }
.pigyhome .pf-bh-chispa{ position:absolute; width:5px; height:20px; border-radius:99px; background:#F58AAE; }
.pigyhome .pf-bh-chispa--1{ top:12%; left:1%; right:auto; rotate:22deg; box-shadow:14px -10px 0 #F58AAE; }
/* Apilado, el texto ocupa el ancho completo y la chispa aterrizaba sobre el
   badge: en ese tramo se retira. */
@container pf (max-width:999.98px){ .pigyhome .pf-bh-chispa--1{ display:none; } }
.pigyhome .pf-bh-chispa--2{ display:none; }
/* A la derecha del texto solo quedan 72px de margen y el trazo mide 126:
   por eso viven en el lado izquierdo y en los márgenes de página. */
.pigyhome .pf-bh-rastro{ position:absolute; width:118px; height:auto; opacity:.62; }
.pigyhome .pf-bh-rastro--1{ left:1%; top:7%; }
.pigyhome .pf-bh-rastro--2{ left:2.5%; bottom:5%; rotate:14deg; }

.pigyhome .pf-bh-marco{
  position:relative; z-index:1; display:grid; grid-template-columns:1fr; gap:28px;
  /* El margen lateral ya lo pone la sección; aquí solo hace falta el aire
     interior de la caja. Con 52px se sumaban dos veces y la escena perdía
     32px de ancho. */
  margin:0 auto; padding:0 clamp(16px, 2.4vw, 40px);
}

/* escena ilustrada */
.pigyhome .pf-bh-escena{ margin:0; }
/* La escena viene recortada a su forma orgánica, con transparencia: nada de
   marco ni de esquinas duras. La sombra la da el propio recorte. */
.pigyhome .pf-bh-escena img{
  display:block; width:100%; height:auto;
  filter:drop-shadow(0 26px 40px rgba(14,31,102,.14));
}
/* MIG-0371 · la ilustración corregida es opaca, con su propio fondo celeste: la sombra del recorte dibujaba un
   rectángulo. Sin sombra y con las esquinas redondeadas de las cajas del sitio; sin borde. */
.pigyhome .pf-bh-escena img[src*="escena-blog-v2-"]{ filter:none; border-radius:24px; }
@container pf (max-width:767px){ .pigyhome .pf-bh-escena img[src*="escena-blog-v2-"]{ border-radius:20px; } }

/* columna editorial */
.pigyhome .pf-bh-texto{ display:flex; flex-direction:column; align-items:flex-start; }
.pigyhome .pf-bh-badge{
  display:inline-flex; align-items:center; gap:9px; padding:9px 18px; border-radius:99px;
  background:#FFF4E0; color:#B57A09; font-size:14.5px; font-weight:800;
}
.pigyhome .pf-bh-badge span{ color:#E8386F; }
.pigyhome .pf-bh-h{
  margin-top:16px; font-size:clamp(32px, 5.4vw, 52px); font-weight:900; line-height:1.06;
  letter-spacing:-.03em; color:#0A1F66;
}
.pigyhome .pf-bh-sub{ position:relative; white-space:nowrap; }
.pigyhome .pf-bh-sub::after{
  content:""; position:absolute; left:0; right:0; bottom:-.08em; height:5px;
  border-radius:99px; background:#E8386F;
}
.pigyhome .pf-bh-bajada{ margin-top:16px; max-width:46ch; font-size:16.5px; line-height:1.6; color:#4C5885; }

.pigyhome .pf-bh-cats{ display:grid; gap:10px; width:100%; max-width:560px; margin-top:20px; list-style:none; padding:0; }
.pigyhome .pf-bh-cat a{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px;
  padding:15px 18px; border-radius:20px; background:#fff; border:1px solid #E8EFFA;
  box-shadow:0 14px 30px -22px rgba(14,31,102,.42); text-decoration:none;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.pigyhome .pf-bh-cat a:hover{ transform:translateY(-2px); box-shadow:0 22px 34px -22px rgba(14,31,102,.5); border-color:#D8E6F8; }
.pigyhome .pf-bh-cat a:focus-visible{ outline:3px solid #0A1F66; outline-offset:3px; }
.pigyhome .pf-bh-cat-ico{ display:grid; place-items:center; flex:0 0 auto; width:46px; height:46px; border-radius:15px; }
.pigyhome .pf-bh-cat-ico svg{ width:24px; height:24px; }
.pigyhome .pf-bh-cat-txt{ display:grid; gap:2px; min-width:0; }
.pigyhome .pf-bh-cat-txt strong{ font-size:15.5px; font-weight:900; color:#0A1F66; }
.pigyhome .pf-bh-cat-txt small{ font-size:13.5px; line-height:1.4; color:#6D7899; }
/* El carácter «›» se dibujaba pequeño y alto dentro del círculo según la
   fuente; con un SVG queda del mismo tamaño y centrado siempre. */
.pigyhome .pf-bh-cat-fle{
  display:grid; place-items:center; flex:0 0 auto; width:32px; height:32px; border-radius:50%;
  background:#F2F7FD; color:#7E8FB4;
  transition:background .16s ease, color .16s ease;
}
.pigyhome .pf-bh-cat-fle svg{ width:15px; height:15px; display:block; }
.pigyhome .pf-bh-cat a:hover .pf-bh-cat-fle{ background:#E8386F; color:#fff; }
.pigyhome .pf-bh-cat--rosa .pf-bh-cat-ico{ background:#FDE3EC; color:#E8386F; }
.pigyhome .pf-bh-cat--celeste .pf-bh-cat-ico{ background:#E3EFFD; padding:8px; }
.pigyhome .pf-bh-cat--lila .pf-bh-cat-ico{ background:#EDE6FC; color:#6A47C9; }
.pigyhome .pf-bh-cat--amarillo .pf-bh-cat-ico{ background:#FFF1D2; color:#D08A00; }

.pigyhome .pf-bh-cta{
  display:inline-flex; align-items:center; gap:10px; min-height:58px; margin-top:24px; padding:0 34px;
  border-radius:99px; background:linear-gradient(180deg,#F55A88 0%,#E8386F 100%); color:#fff;
  font-size:17.5px; font-weight:800; text-decoration:none;
  box-shadow:0 18px 30px -18px rgba(232,56,111,.95); transition:filter .15s ease, transform .15s ease;
}
.pigyhome .pf-bh-cta:hover{ color:#fff; filter:brightness(1.05); transform:translateY(-1px); }
.pigyhome .pf-bh-cta:focus-visible{ outline:3px solid #0A1F66; outline-offset:3px; }
.pigyhome .pf-bh-pie{ display:flex; align-items:center; gap:10px; margin-top:18px; font-size:14.5px; font-weight:700; color:#0A1F66; }
.pigyhome .pf-bh-pie-ico{ display:grid; place-items:center; width:26px; height:26px; color:#2C6BD8; }
.pigyhome .pf-bh-pie-ico svg{ width:22px; height:22px; }

@container pf (min-width:1000px){
  .pigyhome .pf-bh-caja{ padding:40px 0 44px; }
  /* 54 / 46: la escena manda, como pidió Dani. Con 48/52 la ilustración
     quedaba en 597px y dejaba 220px de aire muerto arriba y abajo. */
  .pigyhome .pf-bh-marco{ grid-template-columns:minmax(0,56fr) minmax(0,44fr); gap:44px; align-items:center; }
  .pigyhome .pf-bh-badge{ font-size:15.5px; padding:10px 20px; }
  .pigyhome .pf-bh-h{ margin-top:12px; font-size:clamp(40px, 4.1vw, 56px); }
  .pigyhome .pf-bh-bajada{ margin-top:12px; max-width:46ch; font-size:18px; }
  .pigyhome .pf-bh-cats{ max-width:none; margin-top:18px; gap:10px; }
  .pigyhome .pf-bh-cat a{ padding:14px 18px; gap:15px; }
  .pigyhome .pf-bh-cat-ico{ width:50px; height:50px; }
  .pigyhome .pf-bh-cat-ico svg{ width:26px; height:26px; }
  .pigyhome .pf-bh-cat-txt strong{ font-size:17px; }
  .pigyhome .pf-bh-cat-txt small{ font-size:14.5px; }
  .pigyhome .pf-bh-cat-fle{ width:36px; height:36px; }
  .pigyhome .pf-bh-cat-fle svg{ width:17px; height:17px; }
  .pigyhome .pf-bh-cta{ min-height:62px; margin-top:22px; padding:0 38px; font-size:18.5px; }
  .pigyhome .pf-bh-pie{ margin-top:14px; font-size:15px; }
}


/* Entre 1000 y 1199 la columna derecha baja de 420px y las descripciones
   partían en distinto número de líneas: las tarjetas dejaban de medir igual.
   Se aprieta un punto la tipografía para que todas quepan en una línea. */
@container pf (min-width:1000px) and (max-width:1199.98px){
  .pigyhome .pf-bh-cat a{ padding:12px 14px; gap:12px; }
  .pigyhome .pf-bh-cat-ico{ width:42px; height:42px; }
  .pigyhome .pf-bh-cat-ico svg{ width:22px; height:22px; }
  .pigyhome .pf-bh-cat-txt strong{ font-size:15px; }
  .pigyhome .pf-bh-cat-txt small{ font-size:12.8px; }
  .pigyhome .pf-bh-cat-fle{ width:30px; height:30px; }
  .pigyhome .pf-bh-cat-fle svg{ width:14px; height:14px; }
}


/* Apilado (<1000): el texto pasa a ocupar el ancho completo, así que los
   adornos colocados a la izquierda le caen encima. Se dejan solo las nubes y
   una estrella, y las descripciones se igualan a dos líneas para que las
   cuatro tarjetas midan lo mismo aunque el texto parta distinto. */
@container pf (max-width:999.98px){
  /* Apilado el texto ocupa todo el ancho y no queda hueco limpio para los
     adornos pequeños: se quedan solo las nubes, que van muy suaves y por
     detrás. */
  .pigyhome .pf-bh-estrella, .pigyhome .pf-bh-rastro, .pigyhome .pf-bh-chispa{ display:none; }
  .pigyhome .pf-bh-cat-txt small{
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
    overflow:hidden; min-height:2.8em;
  }
}

@container pf (max-width:767px){ .pigyhome .pf-bh-caja{ border-radius:20px; } }

@media (max-width:599.98px){
  /* La referencia pone el titular primero también en móvil: el texto se
     disuelve para poder intercalar la escena entre la bajada y las filas. */
  .pigyhome .pf-bh-marco{ gap:20px; }
  .pigyhome .pf-bh-texto{ display:contents; }
  /* Sin esto el badge, convertido en celda de la rejilla, se estiraba a todo
     el ancho y dejaba de leerse como una píldora. */
  .pigyhome .pf-bh-badge{ order:1; justify-self:start; }
  .pigyhome .pf-bh-h{ order:2; margin-top:0; }
  .pigyhome .pf-bh-bajada{ order:3; margin-top:0; }
  .pigyhome .pf-bh-escena{ order:4; }
  .pigyhome .pf-bh-cats{ order:5; margin-top:0; }
  .pigyhome .pf-bh-cta{ order:6; margin-top:4px; width:100%; justify-content:center; }
  .pigyhome .pf-bh-pie{ order:7; margin-top:2px; }
}

@media (prefers-reduced-motion:reduce){
  .pigyhome .pf-bh-cat a, .pigyhome .pf-bh-cta{ transition:none; }
  .pigyhome .pf-bh-cat a:hover, .pigyhome .pf-bh-cta:hover{ transform:none; }
}

/* ══════════════════════════════════════════════════════════════════════════
   MIG-0258 · MIG-0331 (rediseño según la referencia de Dani) · OPINIONES QUE DEJAN HUELLA
   ──────────────────────────────────────────────────────────────────────────
   Todo el contenido de las reseñas viene de la API: aquí solo hay forma y color.
   Escritorio: columna editorial a la izquierda (kicker, título, texto, Pigy y Fante con las
   patitas apoyadas en la tarjeta del promedio) y rejilla 3×2 a la derecha, con el botón coral
   centrado debajo. Tableta: todo en una columna, rejilla 2×3. Móvil: encabezado, personajes,
   promedio, carrusel y botón. Las frases manuscritas (Caveat, ya cargada en la portada) van
   solo en zonas libres: la prueba e2e comprueba que no tapan contenido.
   ══════════════════════════════════════════════════════════════════════════ */
.pfop{ margin:calc(var(--sec)*.62) 0 0; }
.pfop-marco{ max-width:1480px; margin:0 auto; padding:0 var(--pad); }
.pfop-lienzo{
  --pfop-corazon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8-5.1-8-10.4A4.6 4.6 0 0 1 12 7a4.6 4.6 0 0 1 8 3.6C20 15.9 12 21 12 21z'/%3E%3C/svg%3E");
  --pfop-huella:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cellipse cx='32' cy='42' rx='14' ry='12'/%3E%3Cellipse cx='15' cy='24' rx='6' ry='8'/%3E%3Cellipse cx='27' cy='14' rx='6' ry='8'/%3E%3Cellipse cx='41' cy='14' rx='6' ry='8'/%3E%3Cellipse cx='52' cy='25' rx='6' ry='8'/%3E%3C/svg%3E");
  position:relative; overflow:hidden; border-radius:34px; padding:34px 18px 34px;
  background:radial-gradient(120% 90% at 0% 0%,#E9F5FE 0%,transparent 60%),linear-gradient(180deg,#DFF0FC 0%,#D6EBFA 100%);
}

/* ── columna izquierda ──────────────────────────────────────────────────── */
.pfop-intro{ position:relative; display:flex; flex-direction:column; }
.pfop-badge{
  align-self:flex-start; display:inline-flex; align-items:center; gap:9px; margin:0 0 14px; padding:9px 18px;
  border-radius:999px; background:#fff; box-shadow:0 2px 10px rgba(10,31,102,.06);
  font-size:14px; font-weight:800; color:#0A1F66;
}
.pfop-badge-corazon,.pfop-titulo-corazon{
  display:inline-block; background:#FF6E98; -webkit-mask:var(--pfop-corazon) center/contain no-repeat; mask:var(--pfop-corazon) center/contain no-repeat;
}
.pfop-badge-corazon{ width:14px; height:14px; }
.pfop-titulo{
  margin:0; font-family:'Nunito',system-ui,sans-serif; font-weight:900; letter-spacing:-.015em;
  font-size:clamp(34px,6vw,58px); line-height:1.02; color:#0A1F66;
}
.pfop-titulo-alt{ color:#3AA0E8; }
.pfop-titulo-corazon{ width:.5em; height:.5em; margin-left:.25em; vertical-align:.06em; }
.pfop-entrada{ margin:14px 0 0; max-width:40ch; font-size:16px; line-height:1.5; color:#26408B; }
.pfop-entrada strong{ font-weight:800; color:#0A1F66; }

/* Pigy y Fante con las patitas sobre la tarjeta del promedio. Las patitas son el 10,4 % inferior
   de la imagen (alto/ancho 322/720): la tarjeta sube 4,65 % del ANCHO (los márgenes en % se miden
   sobre el ancho), y la imagen va encima. */
.pfop-duo-marco{ position:relative; margin-top:26px; max-width:470px; }
.pfop-duo{ position:relative; z-index:2; display:block; width:100%; height:auto; }
.pfop-nota{
  position:relative; z-index:1; margin-top:-4.65%; padding:30px 22px 20px;
  background:#fff; border-radius:26px; box-shadow:0 14px 34px -22px rgba(10,31,102,.45);
}
.pfop-nota-etiqueta{
  display:flex; align-items:center; gap:10px; margin:0 0 8px; font-size:12.5px; font-weight:800;
  letter-spacing:.06em; text-transform:uppercase; color:#2B8FD9;
}
.pfop-glogo{ display:block; flex:none; }
.pfop-nota-cifra{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding-bottom:14px; border-bottom:1.5px solid #E3EEFA; }
.pfop-nota-numero{ font-family:'Nunito',system-ui,sans-serif; font-size:clamp(46px,7vw,60px); font-weight:900; line-height:1; color:#0A1F66; letter-spacing:-.02em; }
.pfop-nota-derecha{ display:flex; flex-direction:column; gap:5px; }
.pfop-nota-total{ font-size:15px; font-weight:800; color:#0A1F66; }
.pfop-ventajas{ list-style:none; margin:14px 0 0; padding:0; display:grid; gap:10px; }
.pfop-ventajas li{ display:flex; align-items:center; gap:12px; font-size:15px; font-weight:600; color:#26408B; }
.pfop-ico{ width:20px; height:20px; flex:none; }
.pfop-ico--corazon{ background:#FF7EA3; -webkit-mask:var(--pfop-corazon) center/contain no-repeat; mask:var(--pfop-corazon) center/contain no-repeat; }
.pfop-ico--escudo{ background:#3AA0E8; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.pfop-ico--estrella{ background:#FFC23C; clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%); }

/* Estrellas. */
.pfop-estrellas{ display:inline-flex; gap:2px; }
.pfop-estrella{
  width:17px; height:17px; background:#E3EAF5;
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
}
.pfop-estrella--llena{ background:#FFC23C; }
.pfop-estrella--media{ background:linear-gradient(90deg,#FFC23C 50%,#E3EAF5 50%); }
.pfop-estrellas--grande .pfop-estrella{ width:28px; height:28px; }

/* ── las reseñas ─────────────────────────────────────────────────────────── */
.pfop-derecha{ position:relative; margin-top:30px; }
.pfop-lado{ position:relative; }
/* Móvil: carrusel. Tableta y escritorio: rejilla. */
.pfop-pista{
  display:grid; grid-auto-flow:column; grid-auto-columns:86%; gap:14px;
  overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 4px 12px; margin:0 -4px;
  scrollbar-width:none; -webkit-overflow-scrolling:touch;
}
.pfop-pista::-webkit-scrollbar{ display:none; }
.pfop-pista:focus-visible{ outline:3px solid #0A1F66; outline-offset:4px; border-radius:24px; }
.pfop-tarjeta{
  position:relative; scroll-snap-align:start; display:flex; flex-direction:column; gap:12px;
  padding:20px 20px 20px; background:#fff; border-radius:22px;
  box-shadow:0 1px 2px rgba(10,31,102,.04), 0 12px 28px -22px rgba(10,31,102,.4);
}
.pfop-quien{ display:flex; align-items:center; gap:12px; padding-right:26px; min-height:48px; }
.pfop-avatar{ width:48px; height:48px; border-radius:50%; object-fit:cover; flex:none; }
.pfop-avatar--letra{ display:grid; place-items:center; color:#fff; font-size:20px; font-weight:800; background:#E8557F; }
.pfop-tarjeta:nth-child(3n+2) .pfop-avatar--letra{ background:#8A6A5B; }
.pfop-tarjeta:nth-child(3n) .pfop-avatar--letra{ background:#8253C4; }
.pfop-nombre{
  margin:0; min-width:0; font-size:16px; font-weight:800; line-height:1.25; color:#0A1F66; overflow-wrap:anywhere;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.pfop-tarjeta .pfop-fuente{ position:absolute; top:18px; right:18px; display:block; }
.pfop-linea{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.pfop-fecha{ font-size:13px; font-weight:600; color:#8A94A6; }
.pfop-texto{
  margin:0; font-size:15px; line-height:1.55; color:#1E3266; overflow-wrap:break-word;
  display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical; overflow:hidden;
}
.pfop-texto--abierto{ display:block; overflow:visible; }
.pfop .pfop-tarjeta .pfop-mas{
  -webkit-appearance:none; appearance:none; align-self:flex-start; margin:-6px 0 0; padding:2px 0;
  min-height:0; height:auto; border:0; border-radius:6px; background:transparent; box-shadow:none; cursor:pointer;
  font-size:13.5px; font-weight:800; line-height:1.3; color:#2A95C2; text-transform:none; letter-spacing:0;
}
.pfop .pfop-tarjeta .pfop-mas:hover{ background:transparent; color:#1D7FA9; text-decoration:underline; text-underline-offset:3px; }
.pfop .pfop-tarjeta .pfop-mas:focus-visible{ outline:3px solid #0A1F66; outline-offset:2px; }
.pfop-mas[hidden]{ display:none !important; }
.pfop-respuesta{
  margin:2px 0 0; padding:10px 12px; border-left:3px solid #9FD3F0; border-radius:10px; background:#F5F9FE;
  font-size:13px; line-height:1.5; color:#4C5689; overflow-wrap:break-word;
}
.pfop-respuesta-t{ display:block; margin-bottom:2px; font-size:11.5px; font-weight:800; color:#0A1F66; }
/* MIG-0368 · la respuesta de Pigyfante también se recorta (3 líneas) con su «Leer más»: una respuesta larga
   (2.666 caracteres, reseña del 18-10) estiraba la tarjeta y, con ella, toda la fila. */
.pfop-respuesta-txt{
  margin:0; overflow-wrap:break-word;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
/* Si la tarjeta trae respuesta, el comentario se recorta a 4 líneas: así queda cerca del alto aprobado (MIG-0331). */
.pfop-tarjeta:has(.pfop-respuesta) .pfop-texto:not(.pfop-texto--abierto){ -webkit-line-clamp:4; }
.pfop-respuesta-txt.pfop-texto--abierto{ display:block; overflow:visible; }
.pfop .pfop-tarjeta .pfop-respuesta .pfop-mas{ margin:4px 0 0; font-size:12.5px; }
/* Con una tarjeta desplegada, las demás conservan su alto (no se estiran a la de la abierta). */
.pfop-pista--abierta{ align-items:start; }

.pfop-flecha{
  display:none; position:absolute; top:calc(50% - 40px); z-index:3;
  width:44px; height:44px; border-radius:50%; border:0; cursor:pointer;
  background:#fff; box-shadow:0 4px 14px rgba(10,31,102,.14);
}
.pfop-flecha::before{
  content:""; position:absolute; inset:0; margin:auto;
  width:9px; height:9px; border-right:2.5px solid #0A1F66; border-bottom:2.5px solid #0A1F66;
}
.pfop-flecha--izq{ left:-14px; }
.pfop-flecha--izq::before{ transform:translateX(2px) rotate(135deg); }
.pfop-flecha--der{ right:-14px; }
.pfop-flecha--der::before{ transform:translateX(-2px) rotate(-45deg); }
.pfop-flecha:disabled{ opacity:.35; cursor:default; }
.pfop-flecha:focus-visible{ outline:3px solid #0A1F66; outline-offset:3px; }
.pfop-puntos{ display:flex; justify-content:center; gap:7px; margin:10px 0 0; }
.pfop-puntos:empty{ display:none; }
.pfop-punto{ width:8px; height:8px; border-radius:50%; border:0; padding:0; cursor:pointer; background:#AFCFEA; }
.pfop-punto[aria-selected="true"]{ background:#3DA5F4; width:22px; border-radius:999px; }
.pfop-punto:focus-visible{ outline:3px solid #0A1F66; outline-offset:3px; }

/* El botón coral, centrado bajo la rejilla. */
.pfop-pie{ display:flex; justify-content:center; margin-top:26px; }
.pfop-boton{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-width:min(360px,100%); padding:17px 34px; border-radius:999px; text-decoration:none;
  background:#F55C86; color:#fff; font-size:17px; font-weight:800;
  box-shadow:0 12px 24px -12px rgba(245,92,134,.7); transition:background-color .2s ease, transform .2s ease;
}
.pfop-boton:hover{ background:#E84B77; color:#fff; transform:translateY(-1px); }
.pfop-boton:focus-visible{ outline:3px solid #0A1F66; outline-offset:3px; }

/* ── decoración: manuscritos, globo, huellas (solo donde no tapa nada) ──── */
.pfop-manus,.pfop-globo{ margin:0; font-family:'Caveat',cursive; font-weight:700; line-height:1.05; color:#1D3C8C; pointer-events:none; }
.pfop-manus-corazon{ color:#FF6E98; font-family:system-ui,sans-serif; font-size:.8em; }
.pfop-manus{ display:none; }
.pfop-globo{ display:none; }
.pfop-huellas{
  position:absolute; left:18px; bottom:14px; width:110px; height:110px; pointer-events:none; opacity:.14;
  background:#3AA0E8; -webkit-mask:var(--pfop-huella) 0 0/52px 52px no-repeat, var(--pfop-huella) 46px 40px/42px 42px no-repeat;
  mask:var(--pfop-huella) 0 0/52px 52px no-repeat, var(--pfop-huella) 46px 40px/42px 42px no-repeat;
  display:none;
}

.pfop-sr{
  position:absolute!important; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}

/* ── tableta ────────────────────────────────────────────────────────────── */
@container pf (min-width:760px){
  .pfop-lienzo{ padding:48px 40px 44px; border-radius:42px; }
  .pfop-pista{
    grid-auto-flow:row; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-columns:auto;
    gap:18px; overflow:visible; scroll-snap-type:none; padding:0; margin:0;
  }
  .pfop-lado[data-mueve="si"] .pfop-flecha{ display:block; }
  .pfop-manus--comunidad{ display:block; position:absolute; top:-6px; right:-8px; z-index:3; font-size:26px; transform:rotate(-7deg); text-align:center; }
  .pfop-duo-marco{ padding-right:96px; max-width:560px; }
}

/* ── escritorio: columna izquierda + rejilla 3×2 ───────────────────────── */
@container pf (min-width:1080px){
  .pfop-lienzo{
    display:grid; grid-template-columns:minmax(360px,35%) minmax(0,1fr); gap:44px; align-items:start;
    padding:52px 52px 54px;
  }
  .pfop-derecha{ margin-top:0; padding-top:118px; padding-bottom:58px; }
  .pfop-pista{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
  .pfop-duo-marco{ padding-right:0; max-width:none; margin-top:30px; }
  .pfop-manus--comunidad{ top:-18px; right:-6px; font-size:25px; }
  /* Globo: abajo a la derecha de la tarjeta del promedio, en la franja libre bajo el texto. */
  .pfop-globo{
    display:block; position:absolute; right:-30px; bottom:-74px; z-index:3; padding:14px 18px; font-size:22px; text-align:center;
    background:#FFE4EC; border-radius:28px 28px 28px 6px; transform:rotate(-8deg); box-shadow:0 8px 18px -12px rgba(232,85,127,.6);
  }
  .pfop-manus--reales{
    display:block; position:absolute; top:-6px; right:4px; font-size:27px; text-align:right; transform:rotate(-5deg);
  }
  .pfop-manus--reales::before{
    content:""; position:absolute; left:-30px; top:16px; width:16px; height:44px;
    background:linear-gradient(#3AA0E8,#3AA0E8) 0 0/14px 3px no-repeat, linear-gradient(#3AA0E8,#3AA0E8) 0 20px/12px 3px no-repeat, linear-gradient(#3AA0E8,#3AA0E8) 2px 40px/14px 3px no-repeat;
    transform:rotate(-20deg);
  }
  .pfop-manus--regalos{ display:block; position:absolute; right:4px; bottom:-8px; font-size:24px; text-align:right; transform:rotate(-4deg); }
  .pfop-manus--sonrisas{ display:block; margin:96px 0 0 120px; font-size:22px; color:#5B7BBD; transform:rotate(-4deg); }
  .pfop-huellas{ display:block; }
}
@container pf (min-width:1280px){
  .pfop-lienzo{ padding:56px 64px 58px; gap:56px; }
  .pfop-pista{ gap:20px; }
}

/* Ajustes finos tras comparar con la referencia */
.pfop-linea{ gap:8px; }
.pfop-linea .pfop-estrella{ width:16px; height:16px; }
@container pf (max-width:759px){
  .pfop-texto{ -webkit-line-clamp:5; }
  .pfop-nota-etiqueta{ font-size:11.5px; letter-spacing:.03em; gap:8px; }
  .pfop-ventajas li{ font-size:14.5px; }
}
@container pf (min-width:760px) and (max-width:1079px){
  .pfop-duo-marco{ margin-left:auto; margin-right:auto; padding-right:0; max-width:470px; }
  .pfop-manus--comunidad{ right:-120px; }
}
@container pf (min-width:1080px){
  .pfop-lienzo{ grid-template-columns:minmax(340px,33%) minmax(0,1fr); gap:40px; }
  .pfop-tarjeta{ padding:18px 18px 18px; }
  .pfop-nombre{ font-size:15.5px; }
}

@media (prefers-reduced-motion:reduce){
  .pfop-pista{ scroll-behavior:auto; }
  .pfop-boton{ transition:none; }
  .pfop-boton:hover{ transform:none; }
}
