/* MIG-0342 · Photobook Personalizado: formulario por secciones (fotos, portada, mensajes, idea) con aire y jerarquía. */
.pigypdp table.variations{ margin-bottom:6px; }
.pigyphoto-asistido{ margin:18px 0 20px !important; }

.pgas{ display:flex; flex-direction:column; gap:16px; margin:0 0 20px; font-family:'Nunito',system-ui,sans-serif; color:#1A2A6E; }
.pgas [hidden]{ display:none !important; }
.pgas-oculto{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.pgas-sec{ padding:20px 20px 18px; border-radius:20px; background:#F6FCFD; border:1.5px solid #D3EEF2; }
.pgas-sec-t{ display:flex; align-items:center; gap:10px; margin:0 0 14px; font-size:17px; font-weight:900; line-height:1.25; color:#1A2A6E; }
.pgas-ico{ display:inline-grid; place-items:center; width:36px; height:36px; border-radius:12px; background:#fff; font-size:19px; box-shadow:0 4px 10px -8px rgba(26,42,110,.5); }
.pgas-q{ margin:14px 0 8px; font-size:14px; font-weight:800; line-height:1.4; color:#1A2A6E; }
.pgas-sec-t + .pgas-q{ margin-top:0; }
.pgas-ayuda{ display:block; margin:2px 0 8px; font-size:12.5px; line-height:1.5; color:#5C6693; }
.pgas-opc{ font-weight:600; color:#646E9A; }
.pgas abbr.required{ color:#C42558; text-decoration:none; }

/* sí / no como píldoras */
.pgas-sino{ display:flex; flex-wrap:wrap; gap:8px; }
.pgas-op{ position:relative; display:inline-flex; cursor:pointer; }
.pgas-op input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.pgas-op span{ display:inline-flex; align-items:center; min-height:42px; padding:0 18px; border:1.5px solid #CFE6F2; border-radius:99px; background:#fff; font-size:14px; font-weight:800; color:#4C5689; transition:border-color .15s, background .15s, color .15s; }
.pgas-op span::before{ content:''; width:16px; height:16px; margin-right:8px; border:2px solid #9FB4CF; border-radius:50%; background:#fff; box-sizing:border-box; transition:all .15s; }
.pgas-op input:checked + span{ border-color:#FF5C8A; background:#FFF1F5; color:#1A2A6E; }
.pgas-op input:checked + span::before{ border:5px solid #FF5C8A; }
.pgas-op input:focus-visible + span{ outline:3px solid #1A2A6E; outline-offset:2px; }
.pgas-modo .pgas-op span{ min-height:46px; }

.pgas-sub{ margin:12px 0 2px; padding:14px 14px 4px; border-radius:16px; background:#fff; border:1.5px solid #E6EEF6; }

/* campos */
.pgas-campo{ position:relative; margin:0 0 16px; }
.pgas-campo label{ display:block; margin:0 0 5px; font-size:13.5px; font-weight:800; line-height:1.35; color:#1A2A6E; }
.pgas-campo .pgas-ayuda{ margin:-1px 0 7px; }
.pgas input[type=text], .pgas textarea{ display:block; width:100%; min-height:46px; padding:11px 14px; border:1.5px solid #D7E2EE; border-radius:14px; background:#fff; font:600 14.5px/1.45 'Nunito',system-ui,sans-serif; color:#1A2A6E; box-sizing:border-box; transition:border-color .15s, box-shadow .15s; }
.pgas textarea{ resize:vertical; }
.pgas input[type=text]::placeholder, .pgas textarea::placeholder{ color:#9AA3C4; font-weight:500; }
.pgas input[type=text]:focus, .pgas textarea:focus{ outline:none; border-color:#FF5C8A; box-shadow:0 0 0 3px rgba(255,92,138,.16); }
.pgas-cuenta{ display:block; margin-top:4px; text-align:right; font-size:11.5px; font-weight:700; color:#8C93B5; }
.pgas-cuenta.es-cerca{ color:#B3123C; }
.pgas-2col{ display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
@media (max-width:1279px){ .pgas-2col{ grid-template-columns:1fr; } }

/* contador de fotos */
.pgas-contador{ margin:14px 0 12px; padding:12px 14px; border-radius:14px; background:#fff; border:1.5px solid #E6EEF6; font-size:13.5px; line-height:1.5; }
.pgas-contador p{ margin:0; }
.pgas-contador-sin{ color:#5C6693; font-weight:700; }
.pgas-contador-n{ margin-top:2px !important; font-size:15px; }
.pgas-contador.es-ok{ border-color:#BDE5C8; background:#F2FBF5; }
.pgas-contador.es-ok .pgas-contador-n{ color:#17803D; }
.pgas-contador.es-falta{ border-color:#F3D58A; background:#FFFBEF; }
.pgas-barrita{ display:block; height:6px; margin-top:8px; border-radius:99px; background:#EEF0F6; overflow:hidden; }
.pgas-barrita i{ display:block; height:100%; border-radius:99px; background:#F2C45A; transition:width .3s; }
.pgas-contador.es-ok .pgas-barrita i{ background:#3BB46A; }

/* zona de subida */
.pgas-zona{ display:flex; align-items:center; gap:14px; padding:18px; border:2px dashed #9FD8DA; border-radius:18px; background:#fff; cursor:pointer; transition:border-color .15s, background .15s; }
.pgas-zona:hover, .pgas-zona.es-sobre{ border-color:#FF5C8A; background:#FFF6F9; }
.pgas-zona-ico{ flex:none; display:grid; place-items:center; width:46px; height:46px; border-radius:99px; background:#FFE9F0; color:#C42558; }
.pgas-zona-tx{ display:flex; flex-direction:column; gap:3px; min-width:0; font-size:12.5px; line-height:1.45; color:#5C6693; }
.pgas-zona-tx strong{ font-size:15px; font-weight:900; color:#1A2A6E; }
.pgas-estado{ margin:10px 0 0; padding:10px 12px; border-radius:12px; background:#fff; border:1.5px solid #E6EEF6; font-size:13px; font-weight:800; color:#2A6E9A; }
.pgas-estado.es-ok{ color:#17803D; }
.pgas-estado.es-error{ color:#B3123C; }
.pgas-estado-fila{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px; }
.pgas-estado progress{ display:block; width:100%; height:6px; margin-top:7px; accent-color:#2A8CC4; }
.pgas-link{ padding:4px 2px; border:0; background:none; color:#C42558; font:800 13px 'Nunito',system-ui,sans-serif; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.pgas-boton{ display:inline-flex; align-items:center; min-height:40px; padding:0 14px; border:1.5px solid #FFC2D3; border-radius:99px; background:#FFF1F5; text-decoration:none; }
.pgas-err{ margin:10px 0 0; padding:10px 12px; border-radius:12px; background:#FFF0F3; border:1.5px solid #F5A3B8; font-size:13px; font-weight:700; line-height:1.5; color:#8A0E2E; }
.pgas-err--final{ margin:0; }

/* grilla de fotos */
.pgas-grilla{ display:grid; grid-template-columns:repeat(auto-fill, minmax(64px, 1fr)); gap:8px; margin:12px 0 0; padding:0; list-style:none; }
.pgas-grilla:empty{ display:none; }
.pgas-it{ position:relative; aspect-ratio:1; list-style:none; }
.pgas-it-b{ position:relative; display:block; width:100%; height:100%; padding:0; border:2px solid transparent; border-radius:12px; overflow:hidden; background:#EEF2F8; cursor:default; }
.pgas-it-b img{ width:100%; height:100%; object-fit:cover; display:block; }
.pgas-it-tipo{ display:grid; place-items:center; width:100%; height:100%; font-size:10.5px; font-weight:900; letter-spacing:.04em; color:#4C5689; }
.pgas-it-pct{ position:absolute; inset:0; display:grid; place-items:center; background:rgba(26,42,110,.55); color:#fff; font-size:11.5px; font-weight:900; }
.pgas-it.es-error .pgas-it-pct{ background:rgba(179,18,60,.75); cursor:pointer; }
.pgas-it.es-error .pgas-it-b{ cursor:pointer; }
.pgas-it-etq{ position:absolute; left:4px; bottom:4px; padding:1px 6px; border-radius:99px; background:rgba(255,255,255,.92); font-size:10px; font-weight:900; color:#1A2A6E; }
.pgas-it-estrella{ position:absolute; top:3px; left:4px; display:none; font-size:15px; color:#F2B01E; text-shadow:0 1px 2px rgba(0,0,0,.35); }
.pgas-it.es-listo .pgas-it-b::after{ content:'✓'; position:absolute; right:4px; bottom:3px; display:grid; place-items:center; width:16px; height:16px; border-radius:50%; background:#3BB46A; color:#fff; font-size:10px; font-weight:900; }
.pgas-it.es-portada .pgas-it-b{ border-color:#F2B01E; }
.pgas-it.es-portada .pgas-it-estrella{ display:block; }
.es-portada-sel .pgas-it.es-listo:not(.es-solo-portada) .pgas-it-b{ cursor:pointer; }
.es-portada-sel .pgas-it.es-listo:not(.es-solo-portada) .pgas-it-b:hover{ border-color:#F2C45A; }
.pgas-it-x{ position:absolute; top:-6px; right:-6px; z-index:1; display:grid; place-items:center; width:24px; height:24px; padding:0; border:0; border-radius:50%; background:#1A2A6E; color:#fff; font-size:15px; line-height:1; cursor:pointer; box-shadow:0 2px 6px rgba(0,0,0,.25); }
.pgas-it-x:hover{ background:#C42558; }
.pgas-rar{ display:block; margin:12px 0 0; padding:10px 12px; border-radius:12px; background:#FFFBEF; border:1.5px solid #F3D58A; font-size:13px; font-weight:700; line-height:1.45; color:#5C4300; }
.pgas-despues{ margin:14px 0 0; padding:12px 14px; border-radius:14px; background:#fff; border:1.5px solid #E6EEF6; font-size:13.5px; line-height:1.55; color:#4C5689; }
.pgas-portada-fila{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin:0 0 12px; }
.pgas-portada-sel{ font-size:13px; font-weight:700; color:#4C5689; word-break:break-word; }

@media (max-width:600px){
  .pgas{ gap:14px; }
  .pgas-sec{ padding:16px 14px 14px; border-radius:18px; }
  .pgas-sec-t{ font-size:16px; }
  .pgas-2col{ grid-template-columns:1fr; }
  .pgas input[type=text], .pgas textarea{ font-size:16px; } /* sin zoom en iOS */
  .pgas-op span{ padding:0 15px; }
  .pgas-zona{ padding:14px; }
  .pgas-grilla{ grid-template-columns:repeat(auto-fill, minmax(58px, 1fr)); }
}

/* ── MIG-0342 · ajustes visuales (16-10) ─────────────────────────────────── */
/* «Lo diseñamos por ti»: más aire entre sello, título y pasos (mismo copy). */
.pigypdp .pigyphoto-asistido{ padding:20px 22px 18px; }
.pigypdp .pigyphoto-asistido__sello{ margin:0 0 14px; }
.pigypdp .pigyphoto-asistido__t{ margin:0 0 12px; line-height:1.35; }
.pigypdp .pigyphoto-asistido__pasos{ line-height:1.55; }
.pigypdp .pigyphoto-asistido__pasos li{ margin:0 0 7px; }
.pigypdp .pigyphoto-asistido__pasos li:last-child{ margin-bottom:0; }

/* Portada · Dedicatoria y mensaje final: cada pregunta con su grupo Sí/No bien separados. */
.pgas-sec{ padding:22px 22px 20px; }
.pgas-sec-t{ margin-bottom:18px; }
.pgas-q{ margin:22px 0 10px; line-height:1.45; }
.pgas-sec-t + .pgas-q{ margin-top:0; }
.pgas-sino{ gap:10px; margin:0 0 4px; }
.pgas-sub{ margin:14px 0 4px; padding:16px 16px 6px; }
.pgas-sub + .pgas-q{ margin-top:24px; }
.pgas-sec > .pgas-ayuda{ margin:12px 0 0; line-height:1.55; }

/* Contador visual de fotos */
.pgas-contador{ margin:16px 0 14px; padding:14px 16px 12px; border-radius:16px; }
.pgas-cnt-fila{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; }
.pgas-cnt-t{ font-size:14.5px; line-height:1.3; color:#1A2A6E; }
.pgas-cnt-t strong{ font-size:26px; font-weight:900; letter-spacing:-.01em; margin-right:2px; }
.pgas-cnt-chip{ display:inline-flex; align-items:center; min-height:30px; padding:0 12px; border-radius:99px; background:#FFF3D6; color:#8A5A00; font-size:13px; font-weight:900; white-space:nowrap; }
.pgas-contador.es-ok .pgas-cnt-chip{ background:#E5F6EA; color:#17803D; }
.pgas-contador.es-despues .pgas-cnt-chip{ background:#EAF6FC; color:#2A6E9A; }
.pgas-contador .pgas-barrita{ height:9px; margin:10px 0 0; }
.pgas-cnt-sub{ margin:8px 0 0 !important; font-size:12.5px; line-height:1.45; color:#5C6693; }
.pgas-contador.es-ok .pgas-cnt-t{ color:#17803D; }

/* «Las enviaré después» */
.pgas-despues{ display:flex; flex-direction:column; gap:8px; }
.pgas-despues p{ margin:0; }
.pgas-despues a{ color:#C42558; font-weight:800; word-break:break-word; }
.pgas-despues-nota{ padding:8px 12px; border-radius:10px; background:#FFF3D6; color:#6B4A00; font-size:13px; }

@media (max-width:600px){
  .pigypdp .pigyphoto-asistido{ padding:18px 16px 16px; }
  .pgas-sec{ padding:18px 15px 16px; }
  .pgas-q{ margin-top:20px; }
  .pgas-cnt-t strong{ font-size:23px; }
}

/* La ficha anula márgenes de h3/p con `.pigypdp h3|p` (más específico): aquí se refuerzan para que el aire se vea. */
.pigypdp .pgas .pgas-sec-t{ margin:0 0 18px; }
.pigypdp .pgas .pgas-q{ margin:22px 0 10px; }
.pigypdp .pgas .pgas-sec-t + .pgas-q{ margin-top:0; }
.pigypdp .pgas .pgas-sub + .pgas-q{ margin-top:24px; }
.pigypdp .pgas .pgas-sino{ margin:0 0 4px; }
.pigypdp .pgas .pgas-sub{ margin:14px 0 4px; }
.pigypdp .pgas .pgas-sec > .pgas-ayuda{ margin:12px 0 0; }
.pigypdp .pgas .pgas-ayuda{ margin:2px 0 8px; }
.pigypdp .pgas .pgas-campo .pgas-ayuda{ margin:-1px 0 7px; }
.pigypdp .pgas .pgas-despues{ margin:14px 0 0; }
.pigypdp .pgas .pgas-despues p{ margin:0; }
.pigypdp .pgas .pgas-contador p{ margin:0; }
.pigypdp .pgas .pgas-cnt-sub{ margin:8px 0 0; }
.pigypdp .pigyphoto-asistido .pigyphoto-asistido__sello{ margin:0 0 14px; }
.pigypdp .pigyphoto-asistido .pigyphoto-asistido__t{ margin:0 0 12px; }
@media (max-width:600px){ .pigypdp .pgas .pgas-q{ margin-top:20px; } }

/* MIG-0360 · perfiles «fotos» (Fotolibros Espiral, Taza Collage) y cantidad exacta */
.pgas-diseno-tx{ margin:0 0 8px; font-size:14px; line-height:1.55; color:#1A2A6E; }
.pgas-pasos{ margin:0; padding-left:20px; font-size:13.5px; line-height:1.6; color:#1A2A6E; }
.pgas--exacto .pgas-it{ margin-bottom:22px; }
.pgas-it-cambiar{ position:absolute; left:50%; bottom:-20px; transform:translateX(-50%); padding:1px 8px; border:0; border-radius:99px; background:#EAF0FB; color:#1A2A6E; font-size:10.5px; font-weight:900; cursor:pointer; white-space:nowrap; }
.pgas-it-cambiar:hover, .pgas-it-cambiar:focus-visible{ background:#1A2A6E; color:#fff; }
.pgas-it.es-reemplazo .pgas-it-b{ border-color:#7FB3E6; }
.pgas-it-msg{ position:absolute; left:0; right:0; top:100%; margin-top:2px; font-size:9.5px; line-height:1.2; color:#B3123C; font-weight:800; text-align:center; }
.pgas-bloqueo{ margin:12px 0 0; padding:10px 12px; border-radius:12px; background:#FFF6E0; color:#8A5A00; font-size:13px; font-weight:800; line-height:1.45; }
form.cart .single_add_to_cart_button.pgas-boton-bloqueado{ opacity:.45; cursor:not-allowed; }

/* MIG-0361 · ajustes visuales: el tema pisaba la tipografía del botón y la numeración de los pasos */
.pgas .pgas-grilla .pgas-it-cambiar{ font-family:inherit; font-size:10.5px; line-height:1.6; min-height:0; height:auto; letter-spacing:0; text-transform:none; box-shadow:none; }
.pgas .pgas-pasos{ list-style:decimal; margin:0; padding-left:22px; }
.pgas .pgas-pasos li{ list-style:decimal; display:list-item; margin:0 0 2px; }

/* MIG-0364 · aviso al cambiar a «enviar después» con fotos ya subidas */
.pgas-despues-aviso{ margin:10px 0 0; padding:9px 12px; border-radius:10px; background:#FFF6E0; color:#8A5A00; font-size:12.5px; font-weight:700; line-height:1.45; }

/* MIG-0364 · plazo de elaboración cuando las fotos se envían después */
.pgas-plazo{ margin:10px 0 0; padding:12px 14px; border-radius:12px; background:#F4F0FD; border:1.5px solid #D9CFF6; color:#2A2F5A; font-size:13px; line-height:1.55; }
.pgas-plazo p{ margin:0 0 6px; }
.pgas-plazo p:last-child{ margin-bottom:0; }
.pgas-plazo-t{ font-size:14px; color:#1A2A6E; }

/* ── MIG-0373 · Photobook Mi Perrito: portada por raza ─────────────────────────────────────────────────────────
   Tarjetas con la portada REAL completa (proporción 760×831, sin recortes ni deformación), nombre debajo, estado
   seleccionado con el rosa Pigyfante y foco visible para teclado (el radio sigue siendo el control nativo).
   Columnas según el ancho del formulario: 2 (móvil) · 3 · 4 · 5. */
.pgas-sec--raza{ container-type:inline-size; }
.pgas-razas{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
/* Anchos reales del selector (ficha, 22-10): 461 px a 1440 · 399 a 1280 · 308 a 1024 · 283 a 768 · 326 a 390 (móvil). */
.pgas-razas{ gap:10px; }
@media (min-width:600px){ @container (min-width:270px){ .pgas-razas{ grid-template-columns:repeat(3,minmax(0,1fr)); } } }
@container (min-width:420px){ .pgas-razas{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
@container (min-width:560px){ .pgas-razas{ grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media (min-width:600px) and (max-width:1099px){ .pgas-sec--raza{ padding-left:14px; padding-right:14px; } } /* tablet: tarjetas un poco más grandes */
.pgas-raza{ position:relative; display:flex; flex-direction:column; gap:6px; padding:5px 5px 8px; border:2px solid #E1EAF3; border-radius:16px; background:#fff; cursor:pointer; transition:border-color .15s, box-shadow .15s, transform .15s; }
.pgas-raza:hover{ border-color:#9FD6E2; }
.pgas-raza input{ position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.pgas-raza-img{ display:block; aspect-ratio:760 / 831; border-radius:11px; overflow:hidden; background:#F4F7FB; }
.pgas-raza-img img{ display:block; width:100%; height:100%; object-fit:contain; }
.pgas-raza-n{ display:block; font-size:13px; font-weight:800; line-height:1.25; text-align:center; color:#1A2A6E; }
.pgas-raza.es-sel, .pgas-raza:has(input:checked){ border-color:#FF5C8A; box-shadow:0 0 0 3px rgba(255,92,138,.18), 0 10px 22px -16px rgba(232,67,122,.8); }
.pgas-raza.es-sel::after, .pgas-raza:has(input:checked)::after{ content:'✓'; position:absolute; top:10px; right:10px; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#FF5C8A; color:#fff; font-size:15px; font-weight:900; box-shadow:0 4px 10px -4px rgba(232,67,122,.9); }
.pgas-raza:has(input:focus-visible){ outline:3px solid #1A2A6E; outline-offset:2px; }
.pgas-raza-otra{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:12px; text-align:center; background:linear-gradient(160deg,#E9F8FB 0%,#FFF1F5 100%); border:2px dashed #9FD6E2; box-sizing:border-box; }
.pgas-raza-otra-ico{ display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:#fff; font-size:24px; box-shadow:0 6px 14px -10px rgba(26,42,110,.6); }
.pgas-raza-otra strong{ font-size:14px; font-weight:900; line-height:1.2; color:#1A2A6E; }
.pgas-raza-otra span:last-child{ font-size:12px; font-weight:700; line-height:1.3; color:#C42558; }
.pgas-raza--otra .pgas-raza-n{ display:none; } /* el nombre ya va dentro de la tarjeta */
.pgas-raza-vista{ display:flex; align-items:center; gap:16px; margin-top:16px; padding:12px; border-radius:16px; background:#fff; border:1.5px solid #FFD3E0; }
.pgas-raza-vista img{ flex:none; width:132px; height:auto; aspect-ratio:760 / 831; object-fit:contain; border-radius:12px; box-shadow:0 10px 22px -16px rgba(26,42,110,.6); }
.pgas-raza-vista-t{ margin:0 0 4px; font-size:14.5px; font-weight:800; color:#1A2A6E; }
@container (max-width:419px){ .pgas-raza-vista{ flex-direction:column; align-items:stretch; text-align:center; } .pgas-raza-vista img{ width:min(220px,70%); margin:0 auto; } }
.pgas-sec--otra{ background:#FFF8FA; border-color:#FFD3E0; }
/* MIG-0373 (fotos comerciales) · el Photobook fotografiado de lado, en cuadrado 1:1 y sin recorte (fondo blanco de la foto). */
.pgas-sec--raza-fotos .pgas-raza-img{ aspect-ratio:1 / 1; background:#fff; }
.pgas-sec--raza-fotos .pgas-raza-vista img{ aspect-ratio:1 / 1; box-shadow:none; }
@media (prefers-reduced-motion:reduce){ .pgas-raza{ transition:none; } }
.pgas-ayuda--abajo{ margin:6px 0 0; } /* MIG-0373 · nota bajo el campo de nombre */
