/* LV Gioielli - scheda prodotto */
/* Base comune (le altre pagine la ricevono da Tailwind): stesse misure di header e footer */
:where(.lv-pdp-page) :where(*, *::before, *::after) { box-sizing: border-box; }
:where(.lv-pdp-page) :where(img) { max-width: 100%; }
:where(.lv-pdp-page) :where(button, input, select, textarea) { font: inherit; color: inherit; }
:where(.lv-pdp-page) :where(h1, h2, h3, p, ul, figure) { margin: 0; }

.lv-pdp-page { margin: 0; background: var(--lv-surface); color: var(--lv-ink); overflow-x: clip; }
.lv-pdp { padding-top: calc(var(--lv-header-h) + var(--lv-space-5)); }
.lv-pdp__crumb { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lv-space-2); margin-bottom: var(--lv-space-5); font: 400 13px/1.4 var(--lv-sans); color: var(--lv-muted); }
.lv-pdp__crumb a { color: inherit; text-decoration: none; }
.lv-pdp__crumb a:hover { color: var(--lv-gold-ink); }
.lv-pdp__crumb [aria-hidden] { color: var(--lv-gold); }
.lv-pdp__crumb [aria-current] { color: var(--lv-ink); }

.lv-pdp__grid { display: grid; gap: var(--lv-space-6); align-items: start; }
@media (min-width: 1024px) { .lv-pdp__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: var(--lv-space-7); } }
@media (min-width: 1280px) { .lv-pdp__grid { gap: var(--lv-space-8); } }

/* ---------- galleria ---------- */
.lv-pdp__gallery { display: grid; gap: var(--lv-space-3); min-width: 0; }
@media (min-width: 1024px) { .lv-pdp__gallery { position: sticky; top: calc(var(--lv-header-h) + var(--lv-space-4)); gap: var(--lv-space-4); } }
/* stesso angolo e stesso fondo delle schede catalogo */
.lv-pdp__stage { position: relative; aspect-ratio: 1; border-radius: var(--lv-radius-md); overflow: hidden; background: #e9e5dc; touch-action: pan-y; }
/* tablet in colonna singola: foto meno alta, così prezzo e pulsanti restano vicini */
@media (min-width: 640px) and (max-width: 1023px) { .lv-pdp__stage { aspect-ratio: 4 / 3; } }
.lv-pdp__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 500ms var(--lv-ease); }
.lv-pdp__photo.is-on { opacity: 1; }

/* frecce: discrete, compaiono al passaggio del mouse; su telefono si scorre col dito */
.lv-pdp__nav {
  position: absolute; top: 50%; width: 44px; height: 44px; border: 0; border-radius: var(--lv-radius-pill); cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; background: rgba(251, 249, 244, 0.9); color: var(--lv-ink);
  box-shadow: var(--lv-shadow-sm); opacity: 0; transform: translateY(-50%);
  transition: opacity 300ms var(--lv-ease), background-color 200ms var(--lv-ease), transform 200ms var(--lv-ease);
}
.lv-pdp__nav .material-symbols-outlined { font-size: 22px; }
.lv-pdp__stage:hover .lv-pdp__nav, .lv-pdp__nav:focus-visible { opacity: 1; }
.lv-pdp__nav:hover { background: #fff; }
.lv-pdp__nav:active { transform: translateY(-50%) scale(0.96); }
.lv-pdp__nav--prev { left: var(--lv-space-4); }
.lv-pdp__nav--next { right: var(--lv-space-4); }
@media (hover: none) { .lv-pdp__nav { opacity: 1; } }
@media (max-width: 767px) { .lv-pdp__nav { display: none; } }

/* striscia sotto la foto: miniature (desktop) o tacche (telefono) + contatore */
.lv-pdp__strip { display: flex; align-items: center; justify-content: space-between; gap: var(--lv-space-4); min-width: 0; }
.lv-pdp__thumbs { display: flex; gap: var(--lv-space-2); min-width: 0; padding: 4px; margin: -4px; }
.lv-pdp__thumb {
  flex: none; width: 80px; aspect-ratio: 1; padding: 0; border: 0; cursor: pointer; border-radius: var(--lv-radius-sm); overflow: hidden;
  background: #e9e5dc; opacity: 0.62; outline: 1px solid transparent; outline-offset: 3px;
  transition: opacity 250ms var(--lv-ease), outline-color 250ms var(--lv-ease);
}
.lv-pdp__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lv-pdp__thumb:hover { opacity: 1; }
.lv-pdp__thumb[aria-pressed="true"] { opacity: 1; outline-color: var(--lv-gold-ink); }
/* focus: oro scuro (6,1:1 su crema; l'oro chiaro era 2,3:1) e opacità piena, altrimenti l'anello sbiadisce col bottone (1.4.11, 2.4.7) */
.lv-pdp__thumb:focus-visible { outline: 2px solid var(--lv-gold-ink); outline-offset: 3px; border-radius: var(--lv-radius-sm); opacity: 1; }
.lv-pdp__counter { flex: none; font: 500 var(--lv-text-xs)/1 var(--lv-sans); letter-spacing: 0.08em; color: var(--lv-muted); font-variant-numeric: tabular-nums; }

@media (max-width: 767px) {
  .lv-pdp__thumbs { flex: 1; gap: 6px; padding: 0; margin: 0; }
  .lv-pdp__thumb {
    flex: 1 1 0; width: auto; height: 28px; aspect-ratio: auto; border-radius: 0; background: none; opacity: 1; outline: 0;
    position: relative; overflow: visible;
  }
  .lv-pdp__thumb img { display: none; }
  .lv-pdp__thumb::before {
    content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; border-radius: 2px;
    background: rgba(30, 30, 28, 0.52); transition: background-color 300ms var(--lv-ease);
  }
  .lv-pdp__thumb[aria-pressed="true"]::before { background: var(--lv-ink); }
  .lv-pdp__thumb:focus-visible { outline-offset: 0; border-radius: var(--lv-radius-xs); }
}

/* ---------- informazioni ---------- */
.lv-pdp__info { display: flex; flex-direction: column; min-width: 0; }
.lv-pdp__eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lv-space-2); font: 600 11px/1.3 var(--lv-sans); letter-spacing: 0.14em; text-transform: uppercase; color: var(--lv-muted); }
.lv-pdp__eyebrow a { color: var(--lv-gold-ink); text-decoration: none; }
.lv-pdp__eyebrow a:hover { text-decoration: underline; text-underline-offset: 4px; }
.lv-pdp__eyebrow [aria-hidden] { color: var(--lv-gold); }
.lv-pdp__title {
  margin-top: var(--lv-space-1); font-family: var(--lv-serif); font-weight: 500;
  font-size: clamp(40px, 4.2vw, 60px); line-height: 1.02; letter-spacing: -0.015em;
}
.lv-pdp__lead { margin-top: var(--lv-space-4); max-width: var(--lv-measure-lead); font-size: var(--lv-text-body); line-height: var(--lv-lh-body); color: var(--lv-muted); }
@media (min-width: 768px) { .lv-pdp__lead { font-size: 17px; line-height: var(--lv-lh-lead); } }

/* riquadro acquisto */
.lv-pdp__buy {
  margin-top: var(--lv-space-6); display: grid; gap: var(--lv-space-4);
  padding: var(--lv-space-5); border-radius: var(--lv-radius-md); background: #fff; box-shadow: var(--lv-ring);
}
.lv-pdp__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--lv-space-3); padding-bottom: var(--lv-space-4); border-bottom: 1px solid var(--lv-hairline); }
.lv-pdp__price-value { font: 600 32px/1 var(--lv-sans); letter-spacing: -0.01em; font-variant-numeric: tabular-nums; color: var(--lv-ink); }
/* prezzo non ancora fissato: una riga in corsivo, non un avviso */
.lv-pdp__price-value.is-tbd {
  display: inline-flex; align-items: center; gap: var(--lv-space-3);
  font-family: var(--lv-serif); font-weight: 500; font-style: italic; font-size: 28px; line-height: 1.1; letter-spacing: 0; color: var(--lv-ink-soft);
}
.lv-pdp__price-value.is-tbd::before { content: ""; width: 24px; height: 1px; background: var(--lv-gold); }
.lv-pdp__price-vat { font-size: 13px; color: var(--lv-muted); }

/* due pulsanti affiancati, stessa altezza: carrello primario, WhatsApp secondario */
.lv-pdp__ctas { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--lv-space-3); }
.lv-pdp__ctas > .lv-btn, .lv-pdp__ctas > .lv-wa {
  min-height: 56px; min-width: 0; width: 100%; border: 0; cursor: pointer; justify-content: center; gap: var(--lv-space-3);
  font: 500 var(--lv-text-sm)/1.25 var(--lv-sans); letter-spacing: 0.01em; text-align: center;
  padding-block: var(--lv-space-2) !important;
}
.lv-pdp__add { padding: 0 var(--lv-space-2) 0 var(--lv-space-5); justify-content: space-between !important; box-shadow: var(--lv-shadow-sm); }
.lv-pdp__add .lv-btn__icon { width: 40px; height: 40px; flex: none; }
.lv-pdp__add.is-added { background: var(--lv-olive); }
.lv-pdp__ctas > .lv-pdp__wa {
  padding: 0 var(--lv-space-5) 0 var(--lv-space-2); justify-content: flex-start;
  background: transparent; color: var(--lv-olive); box-shadow: var(--lv-ring-strong);
}
.lv-pdp__ctas > .lv-pdp__wa:hover { background: var(--lv-surface-2); transform: none; box-shadow: inset 0 0 0 1px rgba(45, 59, 50, 0.32); }
.lv-pdp__wa .lv-wa__icon { width: 40px; height: 40px; flex: none; background: var(--lv-olive-soft); }
.lv-pdp__wa .lv-wa__icon img { width: 20px; height: 20px; }
@media (max-width: 639px) {
  .lv-pdp__ctas { grid-template-columns: 1fr; }
  .lv-pdp__ctas > .lv-pdp__wa { justify-content: center; padding-inline: 56px; position: relative; }
  .lv-pdp__wa .lv-wa__icon { position: absolute; left: var(--lv-space-2); top: 50%; transform: translateY(-50%); }
  .lv-pdp__add { justify-content: center !important; padding-inline: 56px; position: relative; }
  .lv-pdp__add .lv-btn__icon { position: absolute; right: var(--lv-space-2); top: 50%; transform: translateY(-50%); }
  .lv-pdp__add:hover .lv-btn__icon { transform: translateY(-50%); }
}
.lv-pdp__added { margin: 0; font-size: 13.5px; color: var(--lv-olive); }
.lv-pdp__added a { color: inherit; font-weight: 600; text-underline-offset: 4px; }
.lv-pdp__ship { display: flex; gap: var(--lv-space-2); align-items: flex-start; font-size: 13px; line-height: 1.5; color: var(--lv-muted); }
.lv-pdp__ship .material-symbols-outlined { font-size: 18px; line-height: 1.1; color: var(--lv-olive); font-variation-settings: "wght" 300; }

/* punti chiave e dettagli */
.lv-pdp__facts { list-style: none; margin: var(--lv-space-6) 0 0; padding: 0; display: grid; }
.lv-pdp__facts li { display: grid; grid-template-columns: 40px 1fr; gap: var(--lv-space-3); align-items: start; padding: var(--lv-space-4) 0; border-top: 1px solid var(--lv-hairline); }
.lv-pdp__facts .material-symbols-outlined { width: 40px; height: 40px; border-radius: var(--lv-radius-pill); display: inline-flex; align-items: center; justify-content: center; background: var(--lv-olive-soft); color: var(--lv-olive); font-size: 20px; font-variation-settings: "wght" 300; }
.lv-pdp__facts strong { display: block; margin-bottom: 2px; font-family: var(--lv-serif); font-weight: 600; font-size: var(--lv-text-h4); line-height: var(--lv-lh-h4); color: var(--lv-ink); }
.lv-pdp__facts span:last-child { font-size: var(--lv-text-sm); line-height: var(--lv-lh-sm); color: var(--lv-muted); }

.lv-pdp__details { display: grid; border-top: 1px solid var(--lv-hairline); }
.lv-pdp__acc { border-bottom: 1px solid var(--lv-hairline); }
.lv-pdp__acc summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: var(--lv-space-3);
  min-height: 56px; padding: var(--lv-space-3) 0; font-family: var(--lv-serif); font-weight: 600; font-size: var(--lv-text-h4); color: var(--lv-ink);
}
.lv-pdp__acc summary::-webkit-details-marker { display: none; }
.lv-pdp__acc summary .material-symbols-outlined { transition: transform 300ms var(--lv-ease); color: var(--lv-muted); }
.lv-pdp__acc[open] summary .material-symbols-outlined { transform: rotate(180deg); }
.lv-pdp__acc-body { padding: 0 0 var(--lv-space-5); font-size: 15px; line-height: 1.7; color: var(--lv-muted); max-width: var(--lv-measure-body); }
.lv-pdp__acc-body p { margin: 0 0 var(--lv-space-2); }
.lv-pdp__acc-body ul { margin: 0; padding-left: 1.1em; }
.lv-pdp__shopnote strong { color: var(--lv-ink); }

.lv-pdp__related { padding: var(--lv-section-md) 0 0; }
@media (prefers-reduced-motion: reduce) { .lv-pdp__photo, .lv-pdp__nav, .lv-pdp__thumb, .lv-pdp__thumb::before, .lv-pdp__acc summary .material-symbols-outlined { transition: none; } }

/* voce di menu della sezione: aria-current="true" (la scheda non è la pagina della categoria), stesso aspetto di "page" */
.lv-menu a[aria-current="true"] { color: var(--lv-gold-ink); }
.lv-menu a[aria-current="true"]::after { transform: scaleX(1); }
.lv-drawer nav a[aria-current="true"] { color: var(--lv-gold-ink); font-style: italic; }
