/* Ficha de producto */
.pd-page{max-width:1320px;margin:0 auto;padding:20px 6% 40px;}
.pd-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:start;}
/* Galería */
.pd-galeria{display:flex;gap:14px;position:sticky;top:96px;}
.pd-thumbs{display:flex;flex-direction:column;gap:10px;flex:none;width:74px;max-height:560px;overflow-y:auto;scrollbar-width:none;}
.pd-thumb{width:74px;height:74px;border-radius:14px;overflow:hidden;background:#fff;border:2px solid transparent;box-shadow:var(--shadow-soft);padding:4px;transition:border-color .2s;}
.pd-thumb img{width:100%;height:100%;object-fit:contain;}
.pd-thumb.activo,.pd-thumb:hover{border-color:var(--pink-header);}
.pd-visor{position:relative;flex:1;min-width:0;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);overflow:hidden;}
.pd-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;aspect-ratio:1/1;}
.pd-slides::-webkit-scrollbar{display:none;}
.pd-slide{flex:0 0 100%;scroll-snap-align:center;display:grid;place-items:center;padding:6%;}
.pd-zoom{position:relative;width:100%;height:100%;display:grid;place-items:center;cursor:zoom-in;overflow:hidden;border-radius:16px;}
.pd-zoom img{max-width:100%;max-height:100%;object-fit:contain;transition:opacity .2s;}
.pd-zoom::after{content:"";position:absolute;inset:0;background-image:var(--img);background-repeat:no-repeat;background-size:220%;background-position:var(--x,50%) var(--y,50%);opacity:0;transition:opacity .2s;pointer-events:none;background-color:#fff;}
.pd-zoom.zooming::after{opacity:1;}
.pd-zoom.sin-foto{cursor:default;color:#c8c0c3;}
.pd-zoom.sin-foto img{width:45%;height:45%;}
.pd-zoom.sin-foto .ph-icon{width:30%;height:30%;}
.pd-badge{top:18px !important;left:18px;right:auto !important;font-size:.85rem !important;padding:6px 12px !important;}
.pd-fav{position:absolute;top:16px;right:16px;z-index:3;width:44px;height:44px;}
.pd-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:var(--shadow-soft);color:var(--pink-header);display:grid;place-items:center;z-index:3;}
.pd-nav svg{width:18px;height:18px;}
.pd-nav.prev{left:12px;}.pd-nav.next{right:12px;}
.pd-nav:hover{background:var(--pink-header);color:#fff;}
.pd-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:3;}
.pd-dots span{width:7px;height:7px;border-radius:9px;background:var(--pink-light);transition:width .25s,background .25s;}
.pd-dots span.activo{width:20px;background:var(--pink-header);}
.pd-ampliar{position:absolute;right:14px;bottom:14px;z-index:3;display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:rgba(36,21,33,.7);color:#fff;font-size:.74rem;font-weight:600;}
.pd-ampliar svg{width:15px;height:15px;}
/* Información */
.pd-info{display:flex;flex-direction:column;}
.pd-nombre{font-weight:800;font-size:clamp(1.25rem,2.6vw,1.75rem);line-height:1.25;margin:4px 0 8px;}
.pd-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.8rem;color:var(--ink-soft);padding-bottom:14px;border-bottom:1px solid #f4e6ee;}
.pd-compartir{display:flex;align-items:center;gap:6px;color:var(--pink-header);font-weight:600;font-size:.8rem;}
.pd-compartir svg{width:16px;height:16px;}
.pd-precio{padding:16px 0 12px;}
.pd-precio-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;}
.pd-ahora{font-size:clamp(1.8rem,4vw,2.3rem);font-weight:800;color:var(--pink-header);line-height:1;}
.pd-antes{font-size:1rem;color:#b3a3ac;text-decoration:line-through;}
.pd-off{background:var(--pink-header);color:#fff;font-weight:800;font-size:.8rem;padding:4px 9px;border-radius:8px;}
.pd-ahorras{color:#2e9e5b;font-weight:600;font-size:.86rem;margin-top:6px;}
.pd-unidad{font-size:.78rem;color:var(--ink-soft);margin-top:4px;}
.pd-escalas{border:1.5px solid var(--pink-light);border-radius:16px;overflow:hidden;margin-bottom:14px;}
.pde-head{background:var(--pink-section);padding:9px 14px;font-weight:700;font-size:.82rem;color:var(--pink-header);}
.pde-row{display:grid;grid-template-columns:1fr auto 52px;gap:10px;align-items:center;padding:9px 14px;font-size:.85rem;border-top:1px solid #f8e9f1;cursor:pointer;transition:background .2s;}
.pde-row:hover{background:#fff8fb;}
.pde-row.activa{background:var(--pink-header);color:#fff;}
.pde-row.activa .pde-ahorro{background:#fff;color:var(--pink-header);}
.pde-ahorro{justify-self:end;font-size:.72rem;font-weight:800;color:#2e9e5b;background:#e9f8ef;padding:2px 7px;border-radius:7px;}
.pd-stock{font-size:.86rem;font-weight:600;margin-bottom:14px;}
.pd-stock.si{color:#2e9e5b;}
.pd-stock.pocos{color:#c2410c;}
.pd-stock.no{color:#c62828;}
.pd-stock a{color:var(--pink-header);}
.pd-compra{display:flex;flex-direction:column;gap:14px;padding:16px;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-soft);}
.pd-cant{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:.86rem;font-weight:600;}
.stepper{display:flex;align-items:center;border:1.5px solid var(--pink-light);border-radius:999px;overflow:hidden;}
.stepper button{width:40px;height:40px;font-size:1.2rem;font-weight:700;color:var(--pink-header);transition:background .2s;}
.stepper button:hover:not(:disabled){background:var(--pink-section);}
.stepper button:disabled{opacity:.35;cursor:not-allowed;}
.stepper input{width:54px;height:40px;border:0;text-align:center;font:inherit;font-weight:700;font-size:1rem;-moz-appearance:textfield;}
.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;}
.stepper input:focus{outline:none;}
.pd-total{font-weight:500;color:var(--ink-soft);}
.pd-total b{color:var(--ink);font-size:1rem;}
.pd-total span{color:#2e9e5b;}
.pd-botones{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.pd-agregar{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;font-size:.95rem;}
.pd-agregar svg{width:20px;height:20px;}
.pd-comprar{min-height:52px;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;font-size:.95rem;transition:background .25s;}
.pd-comprar:hover{background:#3d2633;}
.pd-entrega{margin-top:18px;border:1px solid #f4e6ee;border-radius:var(--radius-md);overflow:hidden;}
.pde-item{display:flex;gap:12px;padding:14px 16px;border-top:1px solid #f4e6ee;font-size:.84rem;}
.pde-item:first-child{border-top:0;}
.pde-ico{flex:none;width:38px;height:38px;border-radius:50%;background:var(--pink-section);color:var(--pink-header);display:grid;place-items:center;}
.pde-ico svg{width:20px;height:20px;}
.pde-item b{display:block;margin-bottom:2px;}
.pde-item span,.pde-item small{display:block;color:var(--ink-soft);}
.pde-item small{font-size:.74rem;margin-top:2px;}
.pd-tiendas{margin-top:6px;display:flex;flex-direction:column;gap:4px;}
.pd-tiendas li{display:flex;justify-content:space-between;gap:10px;}
.pd-tiendas em{font-style:normal;font-weight:600;font-size:.76rem;}
.pd-tiendas em.si{color:#2e9e5b;}.pd-tiendas em.pocos{color:#c2410c;}.pd-tiendas em.no{color:#b3a3ac;}
/* Descripción y especificaciones */
.pd-detalle{margin-top:46px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);overflow:hidden;}
.pd-tabs{display:flex;border-bottom:1px solid #f4e6ee;overflow-x:auto;scrollbar-width:none;}
.pd-tabs button{padding:16px 22px;font-weight:600;font-size:.9rem;color:var(--ink-soft);border-bottom:3px solid transparent;white-space:nowrap;}
.pd-tabs button.activo{color:var(--pink-header);border-bottom-color:var(--pink-header);}
.pd-panel{display:none;padding:24px 26px;line-height:1.7;font-size:.9rem;color:#3d2b36;}
.pd-panel.activo{display:block;}
.pd-panel p{margin-bottom:10px;}
.pd-panel h2{font-size:1rem;margin:12px 0 6px;}
.pd-panel ul{list-style:disc;padding-left:22px;margin-bottom:10px;}
.pd-panel a{color:var(--pink-header);font-weight:600;}
.pd-specs{width:100%;max-width:720px;border-collapse:collapse;font-size:.86rem;}
.pd-specs th,.pd-specs td{padding:10px 14px;text-align:left;border-bottom:1px solid #f4e6ee;}
.pd-specs th{width:38%;background:var(--pink-section);font-weight:600;color:var(--ink);}
.pd-rel{margin-top:50px;}
/* Barra fija en celular */
.pd-sticky{position:fixed;left:0;right:0;bottom:0;z-index:170;display:flex;align-items:center;gap:12px;padding:10px 4%;background:#fff;box-shadow:0 -8px 24px rgba(36,21,33,.12);transform:translateY(110%);transition:transform .3s var(--ease-pop);}
.pd-sticky.visible{transform:none;}
.pd-sticky div{display:flex;flex-direction:column;}
.pd-sticky b{font-size:1.15rem;color:var(--pink-header);}
.pd-sticky s{font-size:.74rem;color:#b3a3ac;}
.pd-sticky .btn-add{flex:1;min-height:46px;}
@media(min-width:900px){.pd-sticky{display:none;}}
/* Pantalla completa */
.lightbox{position:fixed;inset:0;z-index:500;background:rgba(20,10,16,.94);display:grid;place-items:center;}
.lightbox img{max-width:92vw;max-height:86vh;object-fit:contain;background:#fff;border-radius:14px;cursor:zoom-in;transition:transform .25s;}
.lightbox img.grande{transform:scale(1.8);cursor:zoom-out;}
.lb-cerrar{position:absolute;top:16px;right:16px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;z-index:2;}
.lb-cerrar svg{width:22px;height:22px;}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;z-index:2;}
.lb-nav svg{width:22px;height:22px;}
.lb-nav.prev{left:16px;}.lb-nav.next{right:16px;}
.lb-nav:hover,.lb-cerrar:hover{background:var(--pink-header);}
.lb-cont{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;font-size:.82rem;opacity:.8;}
@media(max-width:899px){
  .pd-page{padding:14px 4% 30px;}
  .pd-main{grid-template-columns:minmax(0,1fr);gap:20px;}
  .pd-galeria{position:static;flex-direction:column-reverse;}
  .pd-thumbs{flex-direction:row;width:auto;max-height:none;overflow-x:auto;}
  .pd-thumb{flex:none;width:60px;height:60px;}
  .pd-nav{display:none;}
  .pd-detalle{margin-top:30px;}
  .pd-panel{padding:18px;}
  .pd-specs th{width:45%;}
}
@media(max-width:479px){.pd-botones{grid-template-columns:1fr;}.pd-thumbs{display:none;}}
