/* Dettagli prodotto: stessi caratteri e colori del sito, senza nuove palette. */
.product-purchase { margin-top: 24px; max-width: 520px; }
.product-purchase .product-card { display: block; min-height: 0; background: transparent; border: 0; border-radius: 0; padding: 0; overflow: visible; }
.product-purchase .price { margin: 12px 0 4px; }
.product-purchase .product-variant { display: grid; gap: 8px; margin-top: 22px; font-size: .85rem; color: var(--muted); }
.product-purchase select { width: 100%; max-width: 100%; font: inherit; color: var(--text); background: var(--ink); border: 1px solid var(--line); padding: 12px; border-radius: 0; }
.product-purchase .buy-controls { flex-wrap: wrap; margin-top: 18px; }
.product-purchase .buy-controls .button { white-space: normal; }
.product-configurations { display: grid; gap: 24px; }
.product-configuration { padding-top: 20px; border-top: 1px solid var(--line); }
.product-configuration h3 { font-family: inherit; font-size: 1.1rem; line-height: 1.4; margin: 0 0 8px; }
.product-configuration p { margin: 0; }
.product-resources { display: grid; gap: 24px; }
.product-resources p,.product-resources figure { margin: 0; }
.product-resources .text-action { white-space: normal; overflow-wrap: anywhere; }
.product-resources small { display: block; margin-top: 9px; font-size: .75rem; }
.product-resources video { width: 100%; max-height: 520px; background: #000; }
.product-resources figcaption { margin-top: 10px; color: var(--muted); font-size: .85rem; }
/* Mantiene nascoste le sezioni prive di risorse anche con regole display globali. */
[data-product-resources][hidden] { display: none; }
.youtube-stage { width:100%; aspect-ratio:16/9; background:#101112; }
.youtube-stage iframe { display:block; width:100%; height:100%; border:0; }
.youtube-preview { position:relative; display:grid; place-items:center; width:100%; height:100%; padding:0; border:0; background:#101112; color:#fff; cursor:pointer; overflow:hidden; }
.youtube-preview img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.youtube-play-icon { position:relative; font-size:30px; border-radius:14px; background:#c00; padding:4px 22px; }
.youtube-play-label { position:absolute; bottom:12px; padding:8px 14px; background:#111d; font-size:13px; }
.youtube-preview:focus-visible { outline:3px solid var(--yellow); outline-offset:3px; }
@media(max-width:600px) { .product-purchase .buy-controls { display: grid; grid-template-columns: 1fr; } .product-purchase { max-width: 100%; } }
