/* Candy · Ficha de producto — mobile first */
.cm-p{width:min(var(--cm-width),100% - 2 * var(--cm-space));margin:0 auto;font-family:var(--cm-font-body)}
.cm-p *{box-sizing:border-box}
.cm-p [hidden]{display:none!important}
.cm-p-crumbs ol{display:flex;flex-wrap:wrap;gap:4px;margin:16px 0 14px;padding:0;list-style:none;font-size:13px;color:var(--cm-muted)}
.cm-p-crumbs li:not(:last-child)::after{content:"›";margin-left:6px;opacity:.6}
.cm-p-crumbs a{color:var(--cm-muted);text-decoration:none}.cm-p-crumbs a:hover{color:var(--cm-primary);text-decoration:underline}
.cm-p-crumbs [aria-current]{color:var(--cm-ink);font-weight:700}

/* Galería */
.cm-p-layout{display:grid;gap:22px}
.cm-p-gallery{position:relative;min-width:0}
.cm-p-stage{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--cm-radius);background:var(--cm-lilac-soft);aspect-ratio:1}
.cm-p-stage::-webkit-scrollbar{display:none}
.cm-p-slide{flex:0 0 100%;scroll-snap-align:start;aspect-ratio:1}
.cm-p-slide img{display:block;width:100%;height:100%!important;object-fit:cover}
.cm-p-gallery .cm-product-badges{top:14px;left:14px}
.cm-p-gallery .cm-badge{font-size:12px;padding:5px 12px}
.cm-p-wish{top:12px;right:12px;width:46px;height:46px}
.cm-p-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:2px}
.cm-p-dots button{width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}
.cm-p-dots button::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--cm-primary);opacity:.35;transition:width .2s,opacity .2s}
.cm-p-dots button[aria-current=true]::before{width:20px;opacity:1;background:var(--cm-pink)}
.cm-p-thumbs{display:none}

/* Información */
.cm-p-info{min-width:0}
.cm-p-cat{display:inline-block;margin-bottom:6px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--cm-pink-dark);text-decoration:none}
.cm-p-cat:hover{text-decoration:underline}
.cm-p-title{margin:0 0 10px;font-size:clamp(26px,4vw,36px);line-height:1.15}
.cm-p-price{margin:0 0 6px;font-size:26px;font-weight:800;color:var(--cm-primary)}
.cm-p-price del{margin-right:6px;font-size:18px;font-weight:600;color:var(--cm-muted)}
.cm-p-price ins{text-decoration:none;color:var(--cm-pink-dark)}
.cm-p-stock{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;font-size:14px;font-weight:800;color:#2f7a63}
.cm-p-stock::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(47,122,99,.15)}
.cm-p-stock.is-out{color:#b2385a}.cm-p-stock.is-out::before{box-shadow:0 0 0 4px rgba(178,56,90,.15)}
.cm-p-short{margin-bottom:18px;color:var(--cm-ink);line-height:1.65}.cm-p-short p{margin:0 0 8px}
.cm-p-attr{margin-bottom:16px}
.cm-p-attr-label{margin:0 0 8px;font-weight:800}
.cm-p-attr-label span{font-weight:600;color:var(--cm-muted)}
.cm-p-options{display:flex;flex-wrap:wrap;gap:8px}
.cm-p-swatch{width:42px;height:42px;padding:0;border:3px solid #fff;border-radius:50%;background:var(--cm-p-swatch);box-shadow:0 0 0 1px var(--cm-line);cursor:pointer;transition:box-shadow .2s,transform .2s}
.cm-p-swatch:hover{transform:scale(1.08)}
.cm-p-swatch[aria-current=true]{box-shadow:0 0 0 2px var(--cm-primary)}
.cm-p-pill{min-height:42px;padding:8px 16px;border:0;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 2px var(--cm-line);color:var(--cm-ink);font-weight:700;cursor:pointer;transition:background .2s,box-shadow .2s}
.cm-p-pill:hover{box-shadow:inset 0 0 0 2px var(--cm-primary)}
.cm-p-pill[aria-current=true]{background:var(--cm-primary);color:#fff;box-shadow:none}
.cm-p-swatch:disabled,.cm-p-pill:disabled{opacity:.3;cursor:not-allowed}
.cm-p-swatch.is-soldout,.cm-p-pill.is-soldout{position:relative;opacity:.55}
.cm-p-pill.is-soldout{text-decoration:line-through}
.cm-p-swatch.is-soldout::after{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:2px;background:var(--cm-muted);transform:rotate(45deg)}
.cm-p-size-guide{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;padding:0;border:0;background:none;color:var(--cm-primary);font-weight:800;text-decoration:underline;cursor:pointer}

/* Carrito */
.cm-p-cart-form{margin:6px 0 20px}
.cm-p-cart-form>.cm-p-price{display:none}
.cm-p-cart-row{display:flex;gap:10px}
.cm-p-qty{display:flex;align-items:center;border-radius:999px;background:var(--cm-lilac-soft);flex-shrink:0}
.cm-p-qty button{width:44px;height:52px;border:0;background:transparent;color:var(--cm-primary);font-size:22px;font-weight:700;cursor:pointer}
.cm-p-qty input{width:36px;height:52px;border:0;background:transparent;text-align:center;font-size:17px;font-weight:800;color:var(--cm-ink);-moz-appearance:textfield}
.cm-p-qty input::-webkit-outer-spin-button,.cm-p-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cm-p-add{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 20px;border:0;border-radius:999px;background:var(--cm-primary);color:#fff;font-family:var(--cm-font-head);font-size:17px;font-weight:500;cursor:pointer;transition:background .2s}
.cm-p-add:hover:not(:disabled){background:var(--cm-primary-dark)}
.cm-p-add:disabled{background:#cbbfd8;cursor:not-allowed}
.cm-p-soldout{margin:6px 0 20px;padding:14px 16px;border-radius:14px;background:var(--cm-pink-soft);font-weight:700}
.cm-p-benefits .cm-slider-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.cm-p-benefits .cm-slider-benefit{flex-direction:row;text-align:left;padding:10px;gap:10px;box-shadow:none;background:var(--cm-lilac-soft)}
.cm-p-benefits .cm-slider-benefit-icon{width:40px;height:40px;background:#fff}
.cm-p-benefits .cm-slider-benefit-icon svg{width:22px;height:22px}
.cm-p-benefits .cm-slider-benefit strong{font-size:14px}
.cm-p-benefits .cm-slider-benefit-copy span{display:none}
.cm-p-sku{margin:14px 0 0;font-size:13px;color:var(--cm-muted)}

/* Acordeón */
.cm-p-accordion{margin-top:36px;border-radius:var(--cm-radius);background:#fff;box-shadow:0 0 0 1px var(--cm-line);overflow:hidden}
.cm-p-accordion details+details{border-top:1px solid var(--cm-line)}
.cm-p-accordion summary{display:flex;align-items:center;gap:12px;min-height:60px;padding:14px 20px;font-family:var(--cm-font-head);font-size:18px;font-weight:500;cursor:pointer;list-style:none}
.cm-p-accordion summary::-webkit-details-marker{display:none}
.cm-p-accordion summary>svg:first-child{color:var(--cm-pink-dark)}
.cm-p-accordion summary:hover{background:var(--cm-pink-soft)}
.cm-p-chevron{margin-left:auto;transition:transform .2s}
.cm-p-accordion details[open] .cm-p-chevron{transform:rotate(180deg)}
.cm-p-accordion-body{padding:0 20px 20px 52px;line-height:1.7}
.cm-p-accordion-body ul{padding-left:20px}

/* Relacionados */
.cm-p .cm-p-cross{width:100%;margin-top:clamp(40px,6vw,64px)}

/* Guía de medidas */
.cm-p-dialog{width:min(560px,calc(100vw - 32px));padding:28px;border:0;border-radius:var(--cm-radius);color:var(--cm-ink);box-shadow:0 30px 80px rgba(63,49,80,.3)}
.cm-p-dialog::backdrop{background:rgba(63,49,80,.45)}
.cm-p-dialog h2{margin:0 0 12px}
.cm-p-dialog-close{position:absolute;top:14px;right:14px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:50%;background:var(--cm-lilac-soft);color:var(--cm-primary);cursor:pointer}

/* Móvil: botón de compra fijo abajo */
@media(max-width:899px){
  .cm-p-cart-dock{position:sticky;bottom:0;z-index:20;margin:0 calc(-1 * var(--cm-space));padding:10px var(--cm-space) calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,250,252,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 -8px 24px rgba(63,49,80,.08)}
  .cm-p-cart-dock .cm-p-cart-form{margin:0}
  .cm-p-benefits{margin-top:18px}
}
@media(min-width:700px){.cm-p-benefits .cm-slider-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){
  .cm-p-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,4vw,56px);align-items:start}
  .cm-p-gallery{position:sticky;top:20px;display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px}
  .cm-p-stage{grid-column:2;grid-row:1}
  .cm-p-gallery .cm-product-badges{left:102px}
  .cm-p-thumbs{display:flex;flex-direction:column;gap:10px;grid-column:1;grid-row:1}
  .cm-p-thumb{padding:0;border:0;border-radius:14px;overflow:hidden;background:var(--cm-lilac-soft);cursor:pointer;aspect-ratio:1;box-shadow:0 0 0 2px transparent;transition:box-shadow .2s}
  .cm-p-thumb img{display:block;width:100%;height:100%!important;object-fit:cover}
  .cm-p-thumb[aria-current=true]{box-shadow:0 0 0 2px var(--cm-primary)}
  .cm-p-dots{display:none}
  .cm-p-gallery:not(:has(.cm-p-thumbs)){grid-template-columns:1fr}
  .cm-p-gallery:not(:has(.cm-p-thumbs)) .cm-p-stage{grid-column:1}
  .cm-p-gallery:not(:has(.cm-p-thumbs)) .cm-product-badges{left:14px}
  .cm-p-info{padding-top:8px}
  .cm-p-accordion{max-width:860px}
}

/* Galería con la proporción natural de las fotos (verticales), sin recorte cuadrado */
.cm-p-stage{aspect-ratio:auto;align-items:flex-start}
.cm-p-slide{aspect-ratio:auto}
.cm-p-slide img{height:auto!important;object-fit:contain}
@media(min-width:900px){.cm-p-thumb{aspect-ratio:auto}.cm-p-thumb img{height:auto!important}}
