/* Prodotto donna personalizzabile. */
.catalog-shop [hidden] { display: none !important; }
.woman-configurator { max-width: 1180px; margin: 42px auto 0; }
.woman-intro { text-align: center; max-width: 760px; margin: 0 auto 34px; }
.woman-intro h2 { font-size: clamp(1.8rem, 3.3vw, 3rem); line-height: 1.15; }
.woman-intro > p:last-child { color: var(--muted); }
.woman-product { display: grid; grid-template-columns: 1fr 1.1fr; background: #fffdf9; border: 1px solid var(--line); box-shadow: 0 18px 50px rgba(28,24,20,.06); }
.woman-product-visual { margin: 0; background: var(--cream); }
.woman-product-visual img { aspect-ratio: 1 / 1.12; object-fit: cover; }
.woman-product-visual figcaption { padding: 28px; font-family: var(--serif-display); font-size: 1.25rem; }
.woman-product-visual figcaption span { display: block; margin-top: 10px; font: .82rem/1.6 Arial, sans-serif; color: var(--muted); }
.woman-options { padding: clamp(22px, 3vw, 42px); min-width: 0; }
.woman-options h3 { font-family: var(--serif-display); font-size: clamp(1.4rem, 2vw, 2rem); margin-bottom: 12px; }
.woman-description { color: var(--muted); font-size: .92rem; }
.woman-options fieldset { border: 0; border-top: 1px solid var(--line); margin: 24px 0 0; padding: 16px 0 0; min-width: 0; }
.woman-options legend { padding: 0 12px 0 0; color: #916322; font-size: .85rem; }
.woman-options legend span { color: var(--ink); font-size: 1rem; font-weight: 600; margin-left: 8px; }
.woman-style-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.woman-style-options label { position: relative; cursor: pointer; }
.woman-style-options input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.woman-style-options span { display: block; border: 1px solid var(--line); padding: 10px; text-align: center; }
.woman-style-options input:checked + span { background: var(--deep); border-color: var(--deep); color: white; }
.woman-style-options input:focus-visible + span, .woman-options select:focus-visible, .woman-options textarea:focus-visible, .woman-options input:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.woman-field { display: flex; flex-direction: column; gap: 7px; font-size: .85rem; }
.woman-field select, .woman-field input, .woman-field textarea { width: 100%; min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 0; background: white; color: var(--ink); }
.woman-field textarea { resize: vertical; min-height: 96px; }
.woman-measurements { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.woman-custom-size { margin-top: 14px; }
.woman-optional { color: var(--muted); font-weight: normal; }
.woman-summary { background: var(--veil); padding: 16px 18px; margin: 24px 0 18px; }
.woman-summary .eyebrow { margin-bottom: 6px; }
.woman-summary > p:last-child { margin: 0; font-size: .88rem; }
.woman-save-note, .woman-status { color: var(--muted); font-size: .8rem; margin: 12px 0 0; text-align: center; }
.woman-status:empty { display: none; }
@media (max-width: 800px) { .woman-product { grid-template-columns: 1fr; } .woman-product-visual img { aspect-ratio: 16 / 10; object-position: center 42%; } }
@media (max-width: 480px) { .woman-measurements { grid-template-columns: 1fr; } .woman-options { padding: 22px 18px; } }

/* Selezione fotografica delle acconciature. */
.woman-preview { position: sticky; top: 100px; }
.woman-product-visual .woman-preview > img { aspect-ratio: 1; height: auto; object-fit: contain; }
.woman-product-visual figcaption strong { font-weight: 600; }
.woman-style-options input { z-index: 1; }
.woman-style-options span { padding: 4px; border: 2px solid var(--line); transition: border-color .15s, background .15s; }
.woman-style-options img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.woman-style-options b { display: block; padding: 8px 2px 5px; font-size: .88rem; font-weight: 600; }
.woman-style-options label:hover span { border-color: var(--gold); }
.woman-style-options input:checked + span { border-color: var(--deep); }
@media(max-width:800px) { .woman-preview { position: static; } .woman-product-visual .woman-preview > img { max-height: 480px; } }

/* Sei miniature compatte, senza didascalie. */
.woman-style-options { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; max-width: 480px; }
.woman-style-options span { padding: 2px; }
@media (max-width: 480px) { .woman-style-options { grid-template-columns: repeat(3, minmax(0, 76px)); gap: 10px; } }

/* Foto fornite: preserva la figura completa e la trasparenza. */
.woman-style-options img { object-fit: contain; background: var(--cream); }

