/* ==========================================================================
   FICHA DE PRODUCTO — sistema del prototipo «Pigyfante PDP.dc.html».
   Portado literal salvo los reset globales, que aqui habrian reescrito el resto
   del sitio. Se encola SOLO en la ficha.
   ========================================================================== */
.pigypdp{ container-type:inline-size; container-name:pf; }
ul,ol{margin:0;padding:0;list-style:none}

  /* ===== RESPONSIVE SYSTEM — CSS owns breakpoints only; visuals stay inline ===== */
  .pfc{container-type:inline-size;container-name:pf}
  .pf{--pad:16px; --gut:12px; --sec:44px;
      --h1:27px; --h2:22px; --h3:17px; --body:14px; --small:12px;
      --arch:26px; --chero:172px; --stick:24px}
  h1,h2,h3,h4{color:#0A1F66}
  .r-desk{display:none!important}
  .r-tab{display:none!important}
  .chero-3{display:none!important}
  /* banner de categoría: un solo H1, dos escenas mutuamente excluyentes */
  .b-wide{display:none!important}
  .b-narrow{display:flex!important}
  .cbanner{display:flex;flex-direction:column;min-height:0}
  .cb-copy{padding:20px 20px 18px;position:relative;z-index:5}
  .pf-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}
  .pf-thumbs > *{scroll-snap-align:start}
  .pf-arrow{opacity:1}
  .cb-scene-n{position:relative;z-index:3;flex:1;min-height:172px;display:flex;align-items:flex-end;justify-content:center;padding:0 10px;gap:0}

  .g-prod{display:grid;gap:var(--gut);grid-template-columns:repeat(2,minmax(0,1fr))}
  .g-cat{display:grid;gap:var(--gut);grid-template-columns:repeat(2,minmax(0,1fr))}
  .cat{aspect-ratio:1/1}
  .g-shop{display:grid;gap:var(--gut);grid-template-columns:minmax(0,1fr)}
  .g-pdp{display:grid;gap:22px;grid-template-columns:minmax(0,1fr)}
  .g-gal{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}
  .g-two{display:grid;gap:var(--gut);grid-template-columns:minmax(0,1fr)}
  .g-cart{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
  .g-check{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
  .g-up{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}
  .g-half{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
  .g-third{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
  .g-rel{display:grid;gap:var(--gut);grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px}
  .post-prod{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .g-src{display:grid;gap:var(--gut);grid-template-columns:minmax(0,1fr)}
  .g-foot{display:grid;gap:0;grid-template-columns:minmax(0,1fr)}
  .g-step4{display:grid;gap:var(--gut);grid-template-columns:repeat(1,minmax(0,1fr))}
  .g-prof{display:grid;gap:9px;grid-template-columns:repeat(1,minmax(0,1fr))}
  .g-occ-big{display:grid;gap:var(--gut);grid-template-columns:minmax(0,1fr)}
  .g-acc{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
  .g-stat{display:grid;gap:var(--gut);grid-template-columns:repeat(2,minmax(0,1fr))}
  .g-help{display:grid;gap:var(--gut);grid-template-columns:repeat(1,minmax(0,1fr))}
  .g-post{display:grid;gap:26px;grid-template-columns:minmax(0,1fr)}
  .legal-aside{display:none}
  .tap{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  @container pf (min-width:1100px){
  }
  .foot-legal{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}
  .blog-feat-grid{display:grid;grid-template-columns:minmax(0,1fr)}
  .blog-g2{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
  .blog-g3{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
  .blog-feat:hover img,.blog-card:hover img{transform:scale(1.035)}
  .blog-feat:focus-visible,.blog-card:focus-visible{outline:3px solid #FF5C8A;outline-offset:3px}
  .about-team{display:grid;gap:26px;grid-template-columns:minmax(0,1fr)}
  .g-pdp2{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
  .p2-buy{min-width:0}
  .g-galv{display:flex;flex-direction:column;gap:10px}
  .xsell-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
  .xsell-row > *{flex:none;width:170px;scroll-snap-align:start}
  .rail-int{display:flex;gap:8px;overflow-x:auto;padding:2px 0 5px}
  .rail-int > *{flex:none;width:72px}
  .row-des{display:flex;gap:9px;overflow-x:auto;padding:2px 0 5px}
  .row-des > *{flex:none;width:76px}
  .thumbs-v{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
  .thumbs-v > *{flex:none;width:76px}
  .g-spec{display:grid;gap:0;grid-template-columns:minmax(0,1fr)}
  .g-feat{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
  .p2-assur{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
  .p2-tabs{display:none!important}
  .p2-acc{display:block!important}
  /* ===== Product Page V3 ===== */
  .p3{--p3h:330px}
  .p3-split{display:grid;gap:22px;grid-template-columns:minmax(0,1fr)}
  .p3-gal{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
  .p3-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
  .p3-thumbs > *{flex:none;width:64px}
  .g-p3spec{display:grid;gap:0 34px;grid-template-columns:minmax(0,1fr)}
  .g-p3feat{display:grid;gap:18px 26px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .g-p3who{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
  .p3-tabs{display:none!important}
  .p3-acc{display:block!important}

  /* ===== PRODUCT PAGE FINAL V1 · B arriba, C abajo ===== */
  .fx-split{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
  .fx-gal{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
  .fx-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
  .fx-thumbs > *{flex:none;width:62px}
  .fx-two{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
  .fx-specs{display:grid;gap:0 40px;grid-template-columns:minmax(0,1fr)}
  .fx-sec{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
  .fx-num{display:flex;align-items:baseline;gap:12px}
  .fx-rel{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .fx-desk{display:none!important}

  /* ===== PRODUCT PAGE D · BOUTIQUE COMMERCE ===== */
  .bq-stage{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
  .bq-shop{display:grid;gap:8px;grid-template-columns:minmax(0,1fr)}
  .bq-side{display:none}
  .bq-side > *{min-height:0}
  .bq-two{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
  .bq-know{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
  .bq-ess{display:grid;gap:0;grid-template-columns:repeat(2,minmax(0,1fr))}
  .bq-ideal{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
  .bq-steps{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
  .bq-rel{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .bq-rev{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
  .bq-desk{display:none!important}
  @container pf (min-width:700px){
    .bq-two{grid-template-columns:1fr 1fr}
    .bq-ideal{grid-template-columns:repeat(3,minmax(0,1fr))}
    .bq-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
    .bq-rel{grid-template-columns:repeat(4,minmax(0,1fr))}
    .bq-ess{grid-template-columns:repeat(3,minmax(0,1fr))}
  }
  @container pf (min-width:960px){
    .bq-stage{grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);gap:34px;align-items:start}
    .bq-shop{grid-template-columns:minmax(0,2.05fr) minmax(0,1fr);gap:10px;align-items:stretch;aspect-ratio:1.68;min-height:0;grid-template-rows:minmax(0,1fr)}
    .bq-side{display:grid;gap:10px;grid-template-rows:minmax(0,1fr) minmax(0,1fr);height:100%}
    .bq-card{position:sticky;top:150px}
    .bq-know{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:44px;align-items:center}
    .bq-ess{grid-template-columns:repeat(6,minmax(0,1fr))}
    .bq-rev{grid-template-columns:260px minmax(0,1fr);gap:44px}
    .bq-mob{display:none!important}
    .bq-desk{display:block!important}
  }
  @container pf (min-width:700px){
    .fx-two{grid-template-columns:1fr 1fr}
    .fx-specs{grid-template-columns:1fr 1fr}
    .fx-rel{grid-template-columns:repeat(4,minmax(0,1fr))}
  }
  @container pf (min-width:960px){
    .fx-split{grid-template-columns:minmax(0,1.27fr) minmax(0,1fr);gap:46px;align-items:start}
    .fx-gal{grid-template-columns:84px minmax(0,1fr);gap:14px}
    .fx-thumbs{flex-direction:column;overflow-x:visible}
    .fx-thumbs > *{width:100%}
    .fx-buy{position:sticky;top:150px}
    .fx-sec{grid-template-columns:230px minmax(0,1fr);gap:44px}
    .fx-num{display:block}
    .fx-mob{display:none!important}
    .fx-desk{display:block!important}
  }

  @container pf (min-width:600px){
    .pf{--pad:24px;--gut:16px;--sec:56px;--h1:33px;--h2:26px;--h3:18px;--body:15px;--arch:32px;--chero:208px}
    .g-prod{grid-template-columns:repeat(3,minmax(0,1fr))}
    .g-cat{grid-template-columns:repeat(3,minmax(0,1fr))}
    .g-rel{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
    .post-prod{grid-template-columns:repeat(4,minmax(0,1fr))}
    .post-aside > div:first-child{position:sticky;top:24px}

    .g-up{grid-template-columns:repeat(5,minmax(0,1fr))}
    .g-half{grid-template-columns:repeat(2,minmax(0,1fr))}
    .g-third{grid-template-columns:repeat(3,minmax(0,1fr))}
    .g-step4{grid-template-columns:repeat(2,minmax(0,1fr))}
    .chero-3{display:block!important}
    .pf-arrow{opacity:.72;transition:opacity .18s,background .18s}
    .pf-gal:hover .pf-arrow{opacity:1}
    .b-wide{display:block!important}
    .b-narrow{display:none!important}
    .cbanner{display:block;aspect-ratio:3.7/1;min-height:230px}
    .cb-copy{position:absolute;left:0;top:0;bottom:0;width:58%;display:flex;flex-direction:column;justify-content:center;padding:5% 0 5% 5%}
    .g-two{grid-template-columns:repeat(2,minmax(0,1fr))}
    .g-prof{grid-template-columns:repeat(2,minmax(0,1fr))}
    .g-occ-big{grid-template-columns:repeat(2,minmax(0,1fr))}
    .g-stat{grid-template-columns:repeat(4,minmax(0,1fr))}
    .g-help{grid-template-columns:repeat(2,minmax(0,1fr))}
    .g-spec{grid-template-columns:repeat(2,minmax(0,1fr))}
    .g-feat{grid-template-columns:repeat(2,minmax(0,1fr))}
    .p3{--p3h:400px}
    .g-p3spec{grid-template-columns:repeat(2,minmax(0,1fr))}
    .g-p3who{grid-template-columns:repeat(3,minmax(0,1fr))}
  }
  @container pf (min-width:768px){ .blog-g2{grid-template-columns:repeat(2,minmax(0,1fr))} .blog-g3{grid-template-columns:repeat(2,minmax(0,1fr))} }
  @container pf (min-width:768px){
    .pf{--pad:32px;--sec:64px;--h1:38px;--h2:29px;--arch:38px;--chero:248px}
    .g-pdp2{grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:26px;align-items:start}
    .r-tab{display:block!important}
    .g-pdp{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:28px}
    .pdp-buy{position:sticky;top:184px;align-self:start;max-height:calc(100vh - 200px);overflow-y:auto;padding-right:4px}
    .g-src{grid-template-columns:minmax(0,1fr) 290px}
    .g-foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 32px}
  }
  @container pf (min-width:1024px){
    .tap{min-height:36px}

    .foot-legal{flex-direction:row;justify-content:space-between;align-items:center;text-align:left}
    .legal-aside{display:flex;flex-direction:column;gap:14px;position:sticky;top:24px;max-height:calc(100vh - 48px)}
    .legal-aside > div:first-child{min-height:0;display:flex;flex-direction:column}
    .legal-toc-list{overflow-y:auto;min-height:0;overscroll-behavior:contain}
    .pf{--pad:40px;--gut:20px;--sec:80px;--h1:44px;--h2:34px;--h3:19px;--body:16px;--small:13px;--arch:44px;--chero:288px}
    .r-desk{display:block!important}
    .r-mob{display:none!important}
    .g-prod{grid-template-columns:repeat(3,minmax(0,1fr))}
    .g-cat{grid-template-columns:repeat(6,minmax(0,1fr))}
    .g-shop{grid-template-columns:262px minmax(0,1fr);gap:32px;align-items:start}
    .g-rel{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
    .g-up{grid-template-columns:repeat(8,minmax(0,1fr))}
    .g-cart{grid-template-columns:minmax(0,1fr) 356px;gap:28px;align-items:start}
    .xsell-sec{grid-column:1/-1;margin-top:8px}
    .g-check{grid-template-columns:minmax(0,1.95fr) minmax(0,1fr);gap:36px;align-items:start}
    .g-step4{grid-template-columns:repeat(4,minmax(0,1fr))}
    .g-prof{grid-template-columns:repeat(3,minmax(0,1fr))}
    .g-acc{grid-template-columns:250px minmax(0,1fr);gap:30px;align-items:start}
    .g-help{grid-template-columns:repeat(3,minmax(0,1fr))}
    .g-post{grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
    .blog-feat-grid{grid-template-columns:minmax(0,1.28fr) minmax(0,1fr)}
    .blog-g2{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
    .blog-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
    .about-team{grid-template-columns:minmax(0,1fr) 420px;gap:36px;align-items:center}
    .g-pdp2{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:42px;align-items:start}
    .p2-buy{position:sticky;top:var(--stick);align-self:start}
    .g-galv{gap:14px}
    .xsell-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;overflow:visible}
    .xsell-row > *{width:auto}
    .rail-int > *{width:82px}
    .row-des > *{width:92px}
    .p2-buy{position:sticky;top:180px;align-self:start}
    .p2-assur{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
    .p2-tabs{display:block!important}
    .p2-acc{display:none!important}
    .p3{--p3h:400px}
    .p3-split{grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);gap:46px;align-items:start}
    .p3-gal{grid-template-columns:78px minmax(0,1fr);gap:12px}
    .p3-thumbs{flex-direction:column;overflow-x:visible;overflow-y:auto;max-height:var(--p3h)}
    .p3-thumbs > *{width:100%}
    .p3-card{position:sticky;top:178px}
    .g-p3feat{grid-template-columns:repeat(4,minmax(0,1fr))}
    .p3-tabs{display:block!important}
    .p3-acc{display:none!important}
    .g-foot{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:0 28px}
  }
  @container pf (min-width:1280px){
    .pf{--pad:52px;--h1:50px}
    .g-prod{grid-template-columns:repeat(4,minmax(0,1fr))}
    .g-prof{grid-template-columns:repeat(4,minmax(0,1fr))}
  }
  @container pf (min-width:1600px){ .pf{--pad:64px;--sec:92px} }

  @keyframes pfPop{0%{transform:scale(1)}45%{transform:scale(1.35)}100%{transform:scale(1)}}
  @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)}}
  @keyframes pfUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
  @keyframes pfShim{0%{background-position:-260px 0}100%{background-position:260px 0}}
  @keyframes pfFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
  @keyframes pfSpin{to{transform:rotate(360deg)}}
  .pf-pop{animation:pfPop .4s ease}
  .pf-in{animation:pfIn .26s ease both}
  .pf-float{animation:pfFloat 6s ease-in-out infinite}
  .pf-skel{background:linear-gradient(90deg,#F3F5FB 0%,#F0E7DC 50%,#F3F5FB 100%);background-size:520px 100%;animation:pfShim 1.3s linear infinite}
  @media (prefers-reduced-motion:reduce){*{animation-duration:.001s!important}}

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

/* --- ancho a sangre, como la Home ---------------------------------------- */
.pigypdp{ width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); max-width:100vw; }
.single-product .site-content .col-full:has(> .pigypdp){ padding:0; max-width:none; }

/* --- el formulario REAL de WooCommerce, vestido con el lenguaje del diseno -
   El marcado es el de Woo —no se toca, porque es lo que compra— y aqui se le da
   el aspecto del prototipo: boton rosa de 60 px, selector de cantidad redondo y
   los selectores de variacion con el mismo borde crema. */
.pigypdp form.cart{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:0 0 12px; }
.pigypdp form.cart .quantity{ display:flex; align-items:center; border:2px solid #F0E7DC; border-radius:99px; padding:4px; flex:none; }
.pigypdp form.cart .quantity input.qty{ width:52px; height:44px; border:0; background:none; text-align:center;
  font-size:16px; font-weight:800; color:#1A2A6E; }
.pigypdp form.cart button.single_add_to_cart_button{
  flex:1; min-width:210px; height:60px; border-radius:99px; background:#FF5C8A; color:#1A2A6E;
  font-size:19px; font-weight:800; display:flex; align-items:center; justify-content:center; gap:10px;
  box-shadow:0 8px 20px -10px rgba(255,92,138,.6); border:0; }
.pigypdp form.cart button.single_add_to_cart_button:hover{ background:#FF7CA1; }
.pigypdp table.variations{ width:100%; border:0; margin:0 0 14px; }
.pigypdp table.variations td, .pigypdp table.variations th{ border:0; padding:6px 0; }
.pigypdp table.variations label{ font-size:13px; font-weight:800; color:#1A2A6E; }
.pigypdp table.variations select{ width:100%; height:48px; border:2px solid #F0E7DC; border-radius:14px;
  padding:0 12px; font-size:14.5px; color:#1A2A6E; background:#fff; }
.pigypdp .woocommerce-variation-price{ font-size:22px; font-weight:900; color:#1A2A6E; margin:6px 0 10px; }

/* --- imagenes: el producto completo, nunca recortado --------------------- */
.pigypdp .pf-gal img{ object-fit:contain !important; background:#FAFBFE; }
.pigypdp .g-rel img{ object-fit:contain !important; }
