/* La Dalia — ficha de producto (handoff design_handoff_ficha_producto).
   Los tokens compartidos (--ld-red, --ld-ink, --ld-font-sans…) viven en custom.css;
   aquí solo se añaden los específicos de la ficha con nombres propios para no pisar
   los globales (--ld-line/--ld-surface/--ld-max difieren de los del handoff).
   ⚠ Proporción de imagen: el diseño venía a 440/570, pero los image_types reales de
   esta tienda son cuadrados (large_default 800×800, medium_default 452×452), así que
   --ld-img-ratio es 1/1: nada se estira ni se recorta. */
:root{
  --ld-green:#3F8F5F;
  --ld-grey-1:#9A9A9E;
  --ld-grey-2:#84848B;
  --ld-grey-3:#6E6E75;
  --ld-line-mid:#E2E2E6;
  --ld-line-soft:#EFEFF1;
  --ld-line-row:#F0F0F2;
  --ld-line-thumb:#ECECEE;
  --ld-surface-2:#F7F7F9;
  --ld-price-old:#A4A4A9;
  --ld-disabled:#C8C8CE;
  --ld-size-out:#C6C6CB;
  --ld-veil:rgba(255,255,255,.94);

  --ld-pdp-max:1400px;
  --ld-pdp-gutter:48px;
  --ld-gallery:520px;
  --ld-col-gap:72px;
  --ld-img-ratio:1/1;      /* image_types reales de la tienda: 800×800 */
  --ld-tabs-max:980px;

  --ld-t-color:.2s ease;
}

/* ---------- 1. Contenedor y migas ---------- */
.ld-pdp{max-width:var(--ld-pdp-max);margin:0 auto;padding:0 var(--ld-pdp-gutter)}
.ld-crumbs{display:flex;align-items:center;gap:9px;padding:20px 0 30px;flex-wrap:wrap;margin:0;list-style:none;
  font:400 11.5px/1 var(--ld-font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ld-grey-1)}
#wrapper .ld-crumbs a{color:var(--ld-grey-1)}
#wrapper .ld-crumbs a:hover{color:var(--ld-red);text-decoration:none}
.ld-crumbs [aria-current]{color:var(--ld-ink)}

/* ---------- 2. Grid principal: DOS columnas ---------- */
.ld-pdp__grid{display:grid;grid-template-columns:minmax(0,var(--ld-gallery)) minmax(360px,1fr);
  gap:var(--ld-col-gap);align-items:start;justify-content:center;padding-bottom:20px}

/* ---------- 3. Galería ---------- */
.ld-gal{display:flex;flex-direction:column;gap:14px}
.ld-gal__main{position:relative;background:var(--ld-surface-2);aspect-ratio:var(--ld-img-ratio);overflow:hidden}
.ld-gal__main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
/* Sobre la foto de la ficha no va ninguna etiqueta nativa de PrestaShop (descuento, "¡En oferta!",
   "Fuera de stock", "¡Nuevo!"…): el descuento ya sale junto al precio y el stock en el bloque de compra. */
#wrapper .ld-gal__main .product-flags{display:none}

.ld-gal__thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.ld-thumb{position:relative;aspect-ratio:var(--ld-img-ratio);padding:0;margin:0;background:var(--ld-surface-2);
  border:1px solid var(--ld-line-thumb);overflow:hidden;cursor:pointer;transition:border-color var(--ld-t-color)}
.ld-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}
.ld-thumb:hover{border-color:var(--ld-grey-1)}
.ld-thumb.is-active,.ld-thumb:has(img.selected){border-color:var(--ld-ink)}

/* ---------- 4. Columna de compra ---------- */
.ld-buy{display:flex;flex-direction:column;position:sticky;top:24px}
.ld-buy__top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
#wrapper .ld-buy__brand{font:500 10.5px/1 var(--ld-font-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ld-red)}
.ld-buy__ref{font:300 11px/1 var(--ld-font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ld-grey-1)}
.ld-buy__h1{margin:16px 0 0;font:400 32px/1.18 var(--ld-font-sans);letter-spacing:.01em;color:var(--ld-ink);text-wrap:pretty}

/* valoraciones y, en su propia línea, la referencia (entre valoraciones y precio) */
.ld-rating{margin-top:14px}
.ld-buy__ref{margin:12px 0 0}
.ld-buy__ref strong{font:600 11px/1 var(--ld-font-sans);letter-spacing:.14em;color:var(--ld-ink)}
.ld-rating .product-comments-additional-info{display:flex;align-items:center;gap:12px;margin:0;padding:0;border:0}
.ld-rating .grade-stars,.ld-rating .star-content{display:flex;gap:3px}
.ld-rating .product-comments-additional-info a,
#wrapper .ld-rating a{font:400 12.5px/1.3 var(--ld-font-sans);letter-spacing:.06em;color:var(--ld-grey-2)}
#wrapper .ld-rating a:hover{color:var(--ld-red);text-decoration:none}

/* resumen de valoraciones (override de gsnippetsreviews): estrellas + enlace a la pestaña */
.ld-gsr-sum{display:flex;align-items:center;gap:12px}
.ld-gsr-sum__stars{display:flex;gap:3px}
.ld-gsr-sum__stars svg{width:13px;height:13px;fill:#fff;stroke:var(--ld-red);stroke-width:1.4;display:block}
.ld-gsr-sum__stars svg.is-full{fill:var(--ld-red)}
.ld-gsr-sum__link{border:0;background:none;padding:0;cursor:pointer;
  font:400 12.5px/1.3 var(--ld-font-sans);letter-spacing:.06em;color:var(--ld-grey-2);
  transition:color var(--ld-t-color)}
.ld-gsr-sum__link:hover{color:var(--ld-red)}

/* precio */
.ld-price{display:flex;align-items:baseline;gap:14px;margin-top:22px;flex-wrap:wrap}
.ld-price__now{font:600 34px/1 var(--ld-font-sans);letter-spacing:.01em;color:var(--ld-red)}
.ld-price__old{font:400 17px/1 var(--ld-font-sans);color:var(--ld-price-old)}
.ld-price__save{background:var(--ld-red);color:#fff;font:600 11px/1 var(--ld-font-sans);letter-spacing:.1em;padding:5px 9px}
.ld-price.is-plain .ld-price__now{color:var(--ld-ink)}
.ld-legal{font:300 11.5px/1.4 var(--ld-font-sans);letter-spacing:.06em;color:var(--ld-grey-1);margin-top:10px}
.ld-buy__lead{margin:24px 0 0;font:400 14.5px/1.65 var(--ld-font-sans);color:var(--ld-body);text-wrap:pretty}
.ld-buy__lead p{margin:0}
.ld-rule{height:1px;background:var(--ld-line-soft);margin-top:28px;border:0}

/* atributos (formulario nativo de variantes reestilado) */
.ld-attr{margin-top:24px}
.ld-attr + .ld-attr{margin-top:26px}
/* Etiqueta y valor juntos a la izquierda (COLOR Negro · TALLA 90B, gap 9px);
   solo "Guía de tallas" se va a la derecha */
.ld-attr__head{display:flex;align-items:baseline;justify-content:flex-start;gap:9px}
/* classic fija .product-actions .control-label{display:block;width:100%}: hay que ganarle */
.ld-attr .ld-attr__label{display:inline-block;width:auto;margin:0;
  font:500 10.5px/1 var(--ld-font-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ld-ink)}
.ld-attr__value{font:400 13px/1 var(--ld-font-sans);color:var(--ld-grey-3)}
#wrapper .ld-attr__guide{margin-left:auto;font:400 11.5px/1 var(--ld-font-sans);letter-spacing:.06em;color:var(--ld-grey-2);
  border-bottom:1px solid #D9D9DE;padding-bottom:3px;white-space:nowrap}
#wrapper .ld-attr__guide:hover{color:var(--ld-red);text-decoration:none}

/* Acotado a .ld-attr: la tarjeta del listado usa las mismas clases con otras
   medidas (listado.css del módulo de compra rápida, acotado a .ld-card/.ld-quick) */
.ld-attr .ld-colors{display:flex;gap:14px;margin:14px 0 0;padding:0 0 0 2px;list-style:none;flex-wrap:wrap}
.ld-attr .ld-colors li{margin:0}
.ld-attr .ld-colors label{display:block;margin:0;cursor:pointer}
.ld-attr .ld-colors .input-color{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
.ld-attr .ld-swatch{display:block;width:28px;height:28px;border-radius:50%;padding:0;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.16);transition:box-shadow var(--ld-t-color);background-size:cover}
.ld-attr .ld-colors .input-color:checked + .ld-swatch{
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.10),0 0 0 2px #fff,0 0 0 3px var(--ld-red)}
.ld-attr .ld-colors .input-color:focus-visible + .ld-swatch{outline:2px solid var(--ld-red);outline-offset:2px}

.ld-attr .ld-sizes{display:flex;gap:8px;margin:14px 0 0;padding:0;list-style:none;flex-wrap:wrap;justify-content:flex-start}
.ld-attr .ld-sizes li{margin:0}
.ld-attr .ld-sizes label{display:block;margin:0;cursor:pointer}
.ld-attr .ld-sizes .input-radio{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
.ld-attr .ld-size{display:flex;align-items:center;justify-content:center;min-width:52px;height:44px;padding:0 12px;
  font:500 13px/1 var(--ld-font-sans);letter-spacing:.08em;border:1px solid var(--ld-line-mid);
  background:transparent;color:var(--ld-ink);
  transition:border-color var(--ld-t-color),background var(--ld-t-color),color var(--ld-t-color)}
.ld-attr .ld-sizes label:hover .ld-size{border-color:var(--ld-ink)}
.ld-attr .ld-sizes .input-radio:checked + .ld-size{background:var(--ld-ink);color:#fff;border-color:transparent}
.ld-attr .ld-sizes .input-radio:focus-visible + .ld-size{outline:2px solid var(--ld-red);outline-offset:2px}

/* selects nativos que queden (p. ej. tallas de calzado) */
.ld-attr .form-control-select{margin-top:14px;height:44px;border:1px solid var(--ld-line-mid);border-radius:0;
  font:400 13px/1 var(--ld-font-sans);color:var(--ld-ink);background-color:#fff}

/* aviso de stock */
.ld-stock{display:flex;align-items:center;gap:8px;margin-top:14px;
  font:400 12.5px/1.4 var(--ld-font-sans);letter-spacing:.04em;color:var(--ld-green)}
.ld-stock::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}
.ld-stock.is-low{color:var(--ld-red)}
.ld-stock.is-out{color:var(--ld-grey-1)}
.ld-stock:empty{display:none}
.ld-stock .material-icons{display:none}

/* cantidad + CTA */
.ld-actions{display:flex;gap:12px;margin-top:28px}
.ld-qty{display:flex;align-items:center;border:1px solid var(--ld-line-mid);flex:none}
.ld-qty__btn{width:46px;height:56px;border:0;background:transparent;color:var(--ld-ink);
  font:400 17px/1 var(--ld-font-sans);cursor:pointer;flex:none}
.ld-qty__btn:disabled{color:var(--ld-disabled);cursor:not-allowed}
/* el input nativo #quantity_wanted (con o sin el envoltorio TouchSpin de classic) */
.ld-qty input[name="qty"]{width:34px;min-width:30px;height:54px;border:0;padding:0;text-align:center;
  font:500 14px/1 var(--ld-font-sans);color:var(--ld-ink);background:transparent;-moz-appearance:textfield;appearance:textfield}
.ld-qty input[name="qty"]::-webkit-outer-spin-button,.ld-qty input[name="qty"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ld-qty .bootstrap-touchspin{display:flex;align-items:center;border:0;box-shadow:none;width:auto;float:none;margin:0}
.ld-qty .input-group-btn-vertical,.ld-qty .input-group-btn,.ld-qty .btn-touchspin{display:none}
#wrapper .ld-add{flex:1;height:56px;border:0;border-radius:0;background:var(--ld-ink);color:#fff;
  font:600 12.5px/1 var(--ld-font-sans);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;
  display:flex;align-items:center;justify-content:center;padding:0 18px;
  transition:background var(--ld-t-color)}
#wrapper .ld-add:hover,#wrapper .ld-add:focus{background:var(--ld-red);color:#fff}
#wrapper .ld-add:disabled{opacity:.4;cursor:not-allowed;background:var(--ld-ink)}
#wrapper .ld-add.is-loading{opacity:.6;cursor:progress}
.ld-add .material-icons{display:none}

/* favoritos (blockwishlist): la fila entera hace de botón "Guardar en favoritos"
   (corazón 15px del módulo + texto del tema); ld-pdp.js reenvía el clic al botón */
.ld-wish-row{margin-top:10px;height:48px;border:1px solid var(--ld-line-mid);display:flex;align-items:center;
  justify-content:center;gap:9px;cursor:pointer;color:var(--ld-ink);
  transition:border-color var(--ld-t-color),color var(--ld-t-color)}
.ld-wish-row:hover{border-color:var(--ld-ink);color:var(--ld-red)}
.ld-wish-row .wishlist-button-add{width:auto;height:auto;min-width:0;margin:0;padding:0;border:0;border-radius:0;
  background:transparent;box-shadow:none;color:inherit;display:flex;align-items:center}
.ld-wish-row .wishlist-button-add:hover,.ld-wish-row .wishlist-button-add:focus{background:transparent;color:inherit}
.ld-wish-row .wishlist-button-add i,.ld-wish-row .wishlist-button-add .material-icons{color:inherit;font-size:15px}
.ld-wish-row__label{font:500 11.5px/1 var(--ld-font-sans);letter-spacing:.2em;text-transform:uppercase;color:inherit}
/* sin módulo de favoritos (o antes de montarse el botón) la fila no se muestra */
.ld-wish-row:not(:has(.wishlist-button-add)){display:none}

/* garantías */
.ld-perks{margin-top:28px;border:1px solid var(--ld-line-soft)}
.ld-perk{display:flex;align-items:flex-start;gap:13px;padding:15px 18px;border-bottom:1px solid var(--ld-line-soft)}
.ld-perk:last-child{border-bottom:0}
/* Paleta roja, regla 1: los iconos no van en rojo (el acento es solo precio/CTA/activo) */
.ld-perk svg{width:19px;height:19px;flex:none;margin-top:1px;fill:none;stroke:var(--ld-ink);
  stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;display:block}
.ld-perk__t{font:500 12px/1.3 var(--ld-font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ld-ink)}
.ld-perk__d{font:300 12.5px/1.5 var(--ld-font-sans);color:var(--ld-grey-2);margin-top:6px}

/* descuentos por cantidad (tabla nativa, si existe) */
.ld-buy .product-discounts{margin-top:20px}
.ld-buy .product-discounts .table-product-discounts{font:400 13px/1.4 var(--ld-font-sans)}

/* ---------- 5. Tabs: ancho completo, centrados y espaciados ---------- */
.ld-pdp-tabs{margin-top:80px;border-top:1px solid var(--ld-line-soft);background:#fff}
.ld-tabs__bar{display:flex;justify-content:center;gap:56px;flex-wrap:wrap;padding:0 var(--ld-pdp-gutter);
  margin:0;border-bottom:1px solid var(--ld-line-soft)}
/* Pestañas siempre en tinta (el gris se leía mal); la activa se distingue por el peso y el filete rojo */
.ld-tab{border:0;background:transparent;padding:26px 2px 24px;margin-bottom:-1px;
  border-bottom:2px solid transparent;color:var(--ld-ink);
  font:400 13px/1 var(--ld-font-sans);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;
  transition:color var(--ld-t-color),border-color var(--ld-t-color)}
.ld-tab:hover{color:var(--ld-ink);border-bottom-color:var(--ld-line)}
.ld-tab[aria-selected="true"]{font-weight:600;color:var(--ld-ink);border-bottom-color:var(--ld-red)}
.ld-panel{max-width:var(--ld-tabs-max);margin:0 auto;padding:72px var(--ld-pdp-gutter) 96px;text-align:center}
.ld-panel[hidden]{display:none}
.ld-panel__t{margin:0;font:500 26px/1.25 var(--ld-font-serif);letter-spacing:.03em;color:var(--ld-ink)}
/* Paleta roja, regla 1: sin bordes decorativos en rojo */
.ld-panel__rule{width:34px;height:1px;background:var(--ld-ink);margin:22px auto 0;border:0}
.ld-prose{margin-top:34px;font:400 15.5px/1.85 var(--ld-font-sans);color:var(--ld-body);text-wrap:pretty}
.ld-prose p{margin:0 0 22px}
.ld-prose p:last-child{margin-bottom:0}
.ld-prose img{max-width:100%;height:auto}

.ld-specs{margin:38px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;text-align:left}
.ld-specs__row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  padding:15px 0;border-bottom:1px solid var(--ld-line-row)}
.ld-specs dt{font:500 11.5px/1.3 var(--ld-font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ld-grey-1)}
.ld-specs dd{margin:0;font:400 14px/1.4 var(--ld-font-sans);color:var(--ld-ink);text-align:right}

/* panel de valoraciones: bloque de gsnippetsreviews, alineado a la izquierda
   y con la tipografía del diseño (autor arriba, fecha, texto 14.5/1.7) */
.ld-panel--reviews .ld-reviews-native{margin-top:38px;text-align:left;font-family:var(--ld-font-sans)}
.ld-panel--reviews #product-comments-list-header,
.ld-panel--reviews .product-comments-additional-info{border:0}
.ld-reviews-native .list-review,.ld-reviews-native .list-review-tabs17{font-family:var(--ld-font-sans)}
.ld-reviews-native .ld-gsr-write{margin:0 0 6px}
#wrapper .ld-reviews-native .ld-gsr-write a{display:inline-block;border:1px solid var(--ld-ink);
  padding:12px 26px;font:600 11.5px/1 var(--ld-font-sans);letter-spacing:.18em;text-transform:uppercase;
  color:var(--ld-ink);text-decoration:none;transition:background var(--ld-t-color),color var(--ld-t-color)}
#wrapper .ld-reviews-native .ld-gsr-write a:hover{background:var(--ld-ink);color:#fff}
.ld-reviews-native .review-line{padding:24px 0;border-bottom:1px solid var(--ld-line-row);margin:0}
.ld-reviews-native .ld-gsr-meta{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.ld-reviews-native .ld-gsr-author{font:500 12px/1.3 var(--ld-font-sans);letter-spacing:.16em;
  text-transform:uppercase;color:var(--ld-ink)}
.ld-reviews-native .ld-gsr-date{font:300 12px/1.3 var(--ld-font-sans);color:var(--ld-grey-1)}
.ld-reviews-native .ld-gsr-verified{font:500 10.5px/1.3 var(--ld-font-sans);letter-spacing:.1em;
  text-transform:uppercase;color:var(--ld-green)}
.ld-reviews-native .ld-gsr-meta .pull-right{margin-left:auto}
.ld-reviews-native .ld-gsr-title{margin:12px 0 0;font:500 14.5px/1.4 var(--ld-font-sans);color:var(--ld-ink)}
.ld-reviews-native .ld-gsr-text{margin:6px 0 0;padding:0;border:0;font:400 14.5px/1.7 var(--ld-font-sans);color:var(--ld-body)}
#wrapper .ld-reviews-native .ld-gsr-report{font:400 11.5px/1.3 var(--ld-font-sans);color:var(--ld-grey-1);
  background:none;border:0;padding:0;letter-spacing:.04em}
#wrapper .ld-reviews-native .ld-gsr-report:hover{color:var(--ld-red)}
.ld-reviews-native .blockquote{margin:14px 0 0;padding:12px 16px;border-left:2px solid var(--ld-ink);
  background:var(--ld-surface-2);font-size:13.5px}
.ld-reviews-native .pagination{margin-top:20px}
/* Estrellas del módulo (sprite amarillo) viradas al rojo dalia */
.ld-reviews-native .review-line label{filter:hue-rotate(-48deg) saturate(1.5) brightness(.92)}

/* contenido de los tabs extra (productextratabs: guía de tallas, envíos) */
.ld-panel .rte,.ld-panel .tab_content{text-align:left;margin-top:34px;font:400 15px/1.8 var(--ld-font-sans);color:var(--ld-body)}
.ld-panel .rte img{max-width:100%;height:auto}

/* ---------- 6. Relacionados ---------- */
.ld-related{background:var(--ld-surface-2);padding:72px var(--ld-pdp-gutter) 88px;margin-top:0}
.ld-related__in{max-width:var(--ld-pdp-max);margin:0 auto}
.ld-related__head{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:40px}
.ld-related__head h2{margin:0;font:500 28px/1.2 var(--ld-font-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ld-ink)}
.ld-related__head div{font:300 13px/1 var(--ld-font-sans);letter-spacing:.1em;color:var(--ld-grey-2)}
.ld-related__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.ld-related .ld-card__media{background:#fff}
/* En relacionados la tarjeta va sin panel de compra rápida (handoff §4) */
.ld-related .ld-quick{display:none}

/* ---------- 7. Foco ---------- */
.ld-pdp button:focus-visible,.ld-pdp a:focus-visible,
.ld-pdp-tabs button:focus-visible,.ld-related a:focus-visible{outline:2px solid var(--ld-red);outline-offset:2px}

/* ---------- 8. Responsive ---------- */
@media (max-width:1279px){
  :root{--ld-gallery:460px;--ld-col-gap:52px}
  .ld-related__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:991px){
  :root{--ld-gallery:100%;--ld-pdp-gutter:24px}
  .ld-pdp__grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .ld-buy{position:static}
  .ld-gal__main{max-width:520px}
  .ld-gal__thumbs{max-width:520px}
  .ld-buy__h1{font-size:26px}
  .ld-tabs__bar{gap:28px;overflow-x:auto;justify-content:flex-start;flex-wrap:nowrap}
  .ld-tab{white-space:nowrap}
  .ld-panel{padding:48px var(--ld-pdp-gutter) 64px}
  .ld-specs{grid-template-columns:1fr;gap:0}
  .ld-related__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
}
@media (max-width:575px){
  :root{--ld-pdp-gutter:16px}
  .ld-gal__thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .ld-buy__h1{font-size:23px}
  .ld-price__now{font-size:28px}
  .ld-attr .ld-size{min-width:50px;height:46px}
  .ld-actions{flex-wrap:wrap}
  #wrapper .ld-add{flex:1 1 100%}
  .ld-panel__t{font-size:22px}
  .ld-prose{font-size:14.5px;line-height:1.75}
}

/* ---------- 9. Movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  .ld-thumb,.ld-size,.ld-add,.ld-tab,.ld-swatch,.ld-wish-row .wishlist-button-add{transition:none}
}
