/*
 * Home proposta, terza versione (23/10/2026): solo in anteprima, vedi
 * `inc/anteprima-home.php`.
 *
 * Parte dalla home di oggi e ne tiene il mondo: la fotografia calda, il
 * Cormorant dei titoli, il Poppins del testo, il rame dei pulsanti, gli
 * angoli arrotondati. Cambia l'ordine e cosa fa ogni sezione: misure e
 * prezzo in cima, i piu' scelti con la fotografia grande, poi il resto.
 *
 * Il foglio e' scritto per il telefono e si allarga da 900 px in su: la
 * pubblicita' porta qui quasi solo telefoni Android.
 */

.st-n3 {
    --n3-stacco: clamp(56px, 8vw, 104px);
    --n3-r: var(--st-r-scheda, 20px);
    --n3-r-campo: var(--st-r-campo, 12px);
    --n3-crema: var(--st-p-crema, #FAF6F1);
    --n3-caldo: var(--st-surface-promo, #F1E8DF);
    --n3-testo-tenue: var(--st-p-grigio, #6F6A64);
    background: var(--st-white);
    color: var(--st-text);
}
.st-n3 img { max-width: 100%; height: auto; }

.n3-sez { margin-top: var(--n3-stacco); }

/* Il titolo di sezione e' quello della home: Cormorant, grande, senza
   etichette sopra. */
.n3-testata { margin-bottom: clamp(20px, 3vw, 32px); max-width: 44rem; }
.n3-titolo {
    margin: 0;
    font-family: var(--st-font-display);
    font-size: var(--st-fs-h2);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -.01em;
    color: var(--st-p-inchiostro);
    text-wrap: balance;
}
.n3-testata__sotto {
    margin: 10px 0 0;
    font-size: var(--st-fs-body);
    line-height: 1.55;
    color: var(--n3-testo-tenue);
    max-width: 40rem;
}
.n3-testata__cambia {
    display: inline-block;
    margin-top: 10px;
    font-size: var(--st-fs-ui);
    font-weight: 600;
    color: var(--st-copper-text);
}
.n3-testata__cambia[hidden] { display: none; }

/* -----------------------------------------------------------------------
 * 1. HERO
 *
 * In alto la vetrina: una fotografia d'ambiente per modello, incorniciata,
 * con il cartellino del prezzo. Si scorre col dito, coi punti o con le
 * frecce, e all'inizio fa da sola un giro. Sotto, titolo e misure. Da
 * 900 px la vetrina va a destra e il testo a sinistra.
 * --------------------------------------------------------------------- */

.n3-hero { position: relative; padding: 12px 12px 0; background: var(--st-ivory); }

.n3-hero__foto {
    position: relative;
    height: clamp(210px, 32svh, 340px);
    overflow: hidden;
    border-radius: var(--st-r-scheda, 20px);
    background: var(--n3-caldo);
}
.n3-vetrina__binario {
    display: flex;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.n3-vetrina__binario::-webkit-scrollbar { display: none; }
.n3-vetrina__voce {
    position: relative;
    flex: 0 0 100%;
    height: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}
.n3-vetrina__voce img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--n3-pos, 50% 50%);
}

/* Il cartellino porta alla scheda del modello. */
.n3-cartellino {
    position: absolute;
    left: 12px; bottom: 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 14px;
    align-items: center;
    max-width: calc(100% - 24px);
    padding: 10px 12px 11px 14px;
    background: var(--st-white);
    border-radius: 14px;
    box-shadow: 0 12px 28px -14px rgba(74, 48, 30, .5);
    font-size: .8125rem;
    line-height: 1.3;
    color: var(--n3-testo-tenue);
    text-decoration: none;
    transition: opacity .2s ease;
}
.n3-cartellino > :not(.n3-cartellino__vai) { grid-column: 1; }
.n3-cartellino.is-calcolo { opacity: .55; }
.n3-cartellino:focus-visible { outline: 2px solid var(--st-copper); outline-offset: 3px; }
.n3-cartellino__nome { font-weight: 600; color: var(--st-p-inchiostro); }
.n3-cartellino__tipo { font-weight: 400; color: var(--n3-testo-tenue); }
.n3-cartellino__prezzo {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.15;
    color: var(--st-p-inchiostro);
    font-variant-numeric: tabular-nums;
}
.n3-cartellino__prezzo[hidden] { display: none; }
.n3-cartellino__da { font-size: .875rem; font-weight: 500; color: var(--n3-testo-tenue); }
.n3-cartellino__vai {
    grid-column: 2;
    grid-row: 1 / span 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--n3-caldo);
    color: var(--st-copper-text);
    transition: background-color .2s ease, color .2s ease;
}

/* Frecce e punti sotto la fotografia: si capisce che ce n'e' piu' d'una
   anche senza sapere che si scorre col dito. */
.n3-vetrina__comandi {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 6px;
}
.n3-vetrina__punti { display: flex; }
.n3-vetrina__punto {
    position: relative;
    width: 28px; height: 36px;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
}
.n3-vetrina__punto::before {
    content: "";
    position: absolute;
    top: 50%; left: 50%;
    width: 8px; height: 8px;
    margin: -4px 0 0 -4px;
    border-radius: 999px;
    background: var(--st-border-strong, #9D8B73);
    transition: width .25s ease, margin .25s ease, background-color .25s ease;
}
.n3-vetrina__punto[aria-current="true"]::before { width: 22px; margin-left: -11px; background: var(--st-copper); }
.n3-vetrina__punto:focus-visible { outline: 2px solid var(--st-copper); outline-offset: -4px; border-radius: 10px; }
.n3-vetrina__freccia {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px; height: 36px;
    padding: 0;
    border: 1px solid var(--st-p-riga, #EAE4DC);
    border-radius: 50%;
    background: var(--st-white);
    color: var(--st-p-inchiostro);
    cursor: pointer;
    transition: border-color .2s ease, color .2s ease;
}
.n3-vetrina__freccia--prima svg { transform: scaleX(-1); }
.n3-vetrina__freccia:active { transform: translateY(1px); }
.n3-vetrina__freccia:focus-visible { outline: 2px solid var(--st-copper); outline-offset: 2px; }
@media (hover: hover) {
    .n3-cartellino:hover .n3-cartellino__vai { background: var(--st-copper); color: var(--st-white); }
    .n3-vetrina__freccia:hover { border-color: var(--st-copper); color: var(--st-copper-text); }
}

.n3-hero__testo { padding: 14px 12px 32px; }

.n3-hero__titolo {
    margin: 0;
    font-family: var(--st-font-display);
    font-size: clamp(2.25rem, 9.4vw, 2.75rem);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -.018em;
    color: var(--st-p-inchiostro);
}
.n3-hero__sotto {
    margin: 8px 0 16px;
    font-size: 1rem;
    line-height: 1.45;
    color: var(--st-text);
    text-wrap: pretty;
}

/* Il modulo: due caselle e un pulsante, niente altro. */
.n3-misure { margin: 0; }
.n3-misure__riga {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: end;
    gap: 8px;
}
.n3-misure__campo { display: flex; flex-direction: column; gap: 6px; margin: 0; min-width: 0; }
.n3-misure__eti {
    font-family: var(--st-font-body);   /* le etichette del tema genitore sono in un altro carattere */
    font-size: var(--st-fs-small);
    font-weight: 600;
    color: var(--st-p-inchiostro);
}
.n3-misure__unita { font-weight: 400; color: var(--n3-testo-tenue); }
.n3-misure__campo input {
    width: 100%;
    height: 54px;
    padding: 0 14px;
    border: 1px solid var(--st-border-strong, #9D8B73);
    border-radius: var(--n3-r-campo);
    background: #fff;
    font-family: var(--st-font-body);
    font-size: 1.125rem;   /* 18: sotto i 16 il telefono ingrandisce la pagina */
    font-weight: 500;
    color: var(--st-p-inchiostro);
    -moz-appearance: textfield;
}
.n3-misure__campo input::-webkit-outer-spin-button,
.n3-misure__campo input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.n3-misure__campo input::placeholder { color: var(--st-p-debole, #726C64); font-weight: 400; }
.n3-misure__campo input:focus-visible {
    outline: none;
    border-color: var(--st-copper);
    box-shadow: 0 0 0 3px rgba(var(--st-copper-rgb), .2);
}
.n3-misure__campo input[aria-invalid="true"] { border-color: var(--st-error); }
.n3-misure__per {
    display: flex;
    align-items: center;
    height: 54px;
    font-size: 1.125rem;
    color: var(--n3-testo-tenue);
}
.n3-misure__vai {
    width: 100%;
    min-height: 54px;
    margin-top: 12px;
    border-radius: var(--n3-r-campo);
    font-size: 1rem;
    gap: 10px;
}
.n3-misure__vai:active { transform: translateY(1px); }
.n3-misure__vai.is-calcolo { opacity: .75; cursor: progress; }
.n3-misure__errore {
    margin: 10px 0 0;
    font-size: var(--st-fs-small);
    font-weight: 500;
    color: var(--st-error);
}
.n3-misure__errore[hidden] { display: none; }
.n3-misure__nota {
    margin: 12px 0 0;
    font-size: var(--st-fs-small);
    color: var(--n3-testo-tenue);
}
.n3-misure__nota a { color: var(--st-copper-text); font-weight: 600; }

/* Tre fatti sotto il modulo: sul telefono in tre colonne, icona sopra. */
.n3-hero__fatti {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 20px 0 0;
    padding: 16px 0 0;
    list-style: none;
    border-top: 1px solid var(--st-p-riga, #EAE4DC);
}
.n3-hero__fatti li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: var(--st-fs-micro);
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
    text-wrap: balance;
    color: var(--st-p-inchiostro);
}
.n3-hero__fatti svg { flex: none; color: var(--st-copper-text); }

/* -----------------------------------------------------------------------
 * 2. LE PIU' SCELTE — quattro schede, le altre con «Visualizza altro»
 * --------------------------------------------------------------------- */

.n3-scelti { scroll-margin-top: 90px; }
.n3-griglia {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.n3-griglia > li { margin: 0; min-width: 0; }
.n3-scelti:not(.is-aperta) .n3-griglia__in-piu { display: none; }
.n3-scheda {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}
.n3-scheda__foto {
    display: block;
    aspect-ratio: 1 / 1;
    border-radius: 14px;
    overflow: hidden;
    background: var(--st-p-sabbia, #F4F0EB);
}
.n3-scheda__foto img {
    display: block;
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: 50% 18%;
    transition: transform .5s cubic-bezier(.2, .7, .3, 1);
}
.n3-scheda__tipo {
    margin-top: 10px;
    font-size: var(--st-fs-micro);
    color: var(--n3-testo-tenue);
}
.n3-scheda__nome {
    margin-top: 2px;
    /* Due righe sempre: «Day and Night Deluxe» va a capo e il suo prezzo
       finiva piu' in basso di quello accanto. */
    min-height: 2.6em;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--st-p-inchiostro);
}
.n3-scheda__prezzo {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin-top: 6px;
    min-height: 1.6em;
    color: var(--st-p-inchiostro);
}
.n3-scheda__da { font-size: var(--st-fs-small); color: var(--n3-testo-tenue); }
.n3-scheda__da[hidden] { display: none; }
.n3-scheda__prezzo strong {
    font-size: 1.1875rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    transition: opacity .2s ease;
}
.n3-scelti.is-calcolo .n3-scheda__prezzo strong { opacity: .35; }
.n3-scheda__nota {
    margin-top: 2px;
    font-size: var(--st-fs-micro);
    color: var(--n3-testo-tenue);
    min-height: 1.4em;
}
.n3-scheda__vai {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    padding-top: 6px;
    font-size: var(--st-fs-small);
    font-weight: 600;
    color: var(--st-copper-text);
}
@media (hover: hover) {
    .n3-scheda:hover .n3-scheda__foto img { transform: scale(1.04); }
    .n3-scheda:hover .n3-scheda__vai { text-decoration: underline; }
}
.n3-scheda:focus-visible { outline: 2px solid var(--st-copper); outline-offset: 4px; border-radius: 16px; }

.n3-scelti__stato { margin: 16px 0 0; font-size: var(--st-fs-small); color: var(--n3-testo-tenue); }
.n3-scelti__stato:empty { display: none; }

.n3-altro {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    margin-top: 24px;
    border: 1px solid var(--st-charcoal);
    border-radius: var(--n3-r-campo);
    font-size: var(--st-fs-ui);
    font-weight: 600;
    text-decoration: none;
    color: var(--st-charcoal);
    transition: background-color .2s ease, color .2s ease;
}
.n3-altro > span[aria-hidden] { display: inline-flex; }
.n3-altro:not([data-n3-aperto]) .n3-altro__vai,
.n3-altro[data-n3-aperto] .n3-altro__giu { display: none; }
.n3-altro:focus-visible { outline: 2px solid var(--st-copper); outline-offset: 3px; }
@media (hover: hover) {
    .n3-altro:hover { background: var(--st-charcoal); color: var(--st-white); }
}

/* -----------------------------------------------------------------------
 * 4. QUANTA LUCE — le tre fotografie calde della home di oggi
 * --------------------------------------------------------------------- */

.n3-luce__lista {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.n3-luce__lista > li { margin: 0; }
.n3-luce__voce {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    border-radius: var(--n3-r);
    overflow: hidden;
    text-decoration: none;
    color: #fff;
    background: var(--st-p-inchiostro);
}
.n3-luce__voce img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .5s cubic-bezier(.2, .7, .3, 1);
}
.n3-luce__voce::after {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(20, 17, 14, .78) 0%, rgba(20, 17, 14, .34) 45%, rgba(20, 17, 14, 0) 72%);
}
.n3-luce__testo {
    position: absolute;
    left: 20px; right: 56px; bottom: 18px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.n3-luce__nome {
    font-family: var(--st-font-display);
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 1.05;
}
.n3-luce__frase { font-size: var(--st-fs-small); line-height: 1.4; }
.n3-luce__freccia {
    position: absolute;
    right: 18px; bottom: 20px;
    z-index: 1;
    display: flex;
}
@media (hover: hover) {
    .n3-luce__voce:hover img { transform: scale(1.04); }
}

/* -----------------------------------------------------------------------
 * 5. TUTTE LE TENDE — una riga per tipo, con il prezzo «da»
 * --------------------------------------------------------------------- */

.n3-tipi__lista {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--st-p-riga, #EAE4DC);
}
.n3-tipi__lista > li { margin: 0; border-bottom: 1px solid var(--st-p-riga, #EAE4DC); }
.n3-tipo {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 12px 0;
    text-decoration: none;
    color: inherit;
}
.n3-tipo__foto {
    display: block;
    width: 64px; height: 64px;
    border-radius: 12px;
    overflow: hidden;
    background: var(--st-p-sabbia, #F4F0EB);
}
.n3-tipo__foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.n3-tipo__testo { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.n3-tipo__nome { font-size: 1rem; font-weight: 600; color: var(--st-p-inchiostro); }
.n3-tipo__dati { font-size: var(--st-fs-small); color: var(--n3-testo-tenue); }
.n3-tipo__freccia { display: flex; color: var(--st-copper-text); }
@media (hover: hover) {
    .n3-tipo:hover .n3-tipo__nome { color: var(--st-copper-text); }
}

/* -----------------------------------------------------------------------
 * 6. COME SI ORDINA
 * --------------------------------------------------------------------- */

.n3-come__dentro { display: grid; gap: 24px; }
.n3-come__foto {
    aspect-ratio: 4 / 3;
    border-radius: var(--n3-r);
    overflow: hidden;
    background: var(--st-p-sabbia, #F4F0EB);
}
.n3-come__foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.n3-passi {
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: passo;
}
.n3-passi > li {
    position: relative;
    margin: 0;
    padding: 0 0 18px 40px;
    counter-increment: passo;
}
.n3-passi > li::before {
    content: counter(passo);
    position: absolute;
    left: 0; top: -2px;
    font-family: var(--st-font-display);
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 1;
    color: var(--st-copper-text);
}
.n3-passi strong { display: block; font-size: 1.0625rem; font-weight: 600; color: var(--st-p-inchiostro); }
.n3-passi span { display: block; margin-top: 4px; font-size: var(--st-fs-ui); line-height: 1.55; color: var(--n3-testo-tenue); }
.n3-passi a { color: var(--st-copper-text); }
.n3-come__data {
    margin: 4px 0 0;
    padding: 16px 18px;
    border-radius: 16px;
    background: var(--n3-caldo);
    font-size: var(--st-fs-body);
    line-height: 1.5;
    color: var(--st-p-inchiostro);
}
.n3-come__data span { display: block; margin-top: 4px; font-size: var(--st-fs-micro); color: var(--n3-testo-tenue); }

/* -----------------------------------------------------------------------
 * 7. AIUTO
 * --------------------------------------------------------------------- */

.n3-aiuto__dentro {
    display: grid;
    gap: 20px;
    padding: 28px 22px;
    border-radius: var(--st-r-grande, 28px);
    background: var(--n3-crema);
    border: 1px solid var(--st-p-riga, #EAE4DC);
}
.n3-aiuto__testo p { margin: 10px 0 0; font-size: var(--st-fs-body); line-height: 1.55; color: var(--st-text); }
.n3-aiuto__testo .n3-aiuto__orari { font-size: var(--st-fs-small); color: var(--n3-testo-tenue); }
.n3-aiuto__azioni { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
.n3-aiuto__wa {
    min-height: 54px;
    border-radius: var(--n3-r-campo);
    background: var(--st-charcoal);
    color: #fff;
    font-size: 1rem;
}
.n3-aiuto__wa:hover { background: #000; color: #fff; }
.n3-aiuto__tel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    font-weight: 600;
    color: var(--st-p-inchiostro);
    text-decoration: none;
}

/* -----------------------------------------------------------------------
 * 8. DOMANDE
 * --------------------------------------------------------------------- */

.n3-domande__lista { margin-top: 16px; border-top: 1px solid var(--st-p-riga, #EAE4DC); }
.n3-domande__lista details { border-bottom: 1px solid var(--st-p-riga, #EAE4DC); }
.n3-domande__lista summary {
    position: relative;
    display: block;
    padding: 18px 36px 18px 0;
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--st-p-inchiostro);
    cursor: pointer;
    list-style: none;
}
.n3-domande__lista summary::-webkit-details-marker { display: none; }
.n3-domande__lista summary::after {
    content: "";
    position: absolute;
    right: 6px; top: 50%;
    width: 10px; height: 10px;
    border-right: 2px solid var(--st-copper-text);
    border-bottom: 2px solid var(--st-copper-text);
    transform: translateY(-70%) rotate(45deg);
    transition: transform .2s ease;
}
.n3-domande__lista details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.n3-domande__lista details p {
    margin: -4px 0 18px;
    font-size: var(--st-fs-ui);
    line-height: 1.6;
    color: var(--n3-testo-tenue);
    max-width: 60ch;
}
.n3-domande__lista details a { color: var(--st-copper-text); }

/* -----------------------------------------------------------------------
 * 9. CHIUSURA — la fascia rame e la fotografia, come la home di oggi
 * --------------------------------------------------------------------- */

.n3-chiusura {
    position: relative;
    display: grid;
    margin-top: var(--n3-stacco);
    background: var(--st-copper);
    color: #fff;
}
.n3-chiusura__foto {
    display: block;
    width: 100%;
    height: 240px;
    object-fit: cover;
    order: 2;
}
.n3-chiusura__testo { order: 1; padding-block: 40px 36px; }
.n3-chiusura h2 {
    margin: 0;
    font-family: var(--st-font-display);
    font-size: var(--st-fs-h2);
    font-weight: 500;
    line-height: 1.1;
    color: #fff;
}
.n3-chiusura p { margin: 10px 0 22px; font-size: var(--st-fs-body); color: #fff; }
.n3-chiusura__vai { min-height: 54px; border-radius: var(--n3-r-campo); gap: 10px; }

/* Telefoni bassi: la fotografia cede spazio, il pulsante deve restare nel
   primo schermo. */
@media (max-width: 899px) and (max-height: 740px) {
    .n3-hero__foto { height: clamp(170px, 26svh, 340px); }
    .n3-hero__sotto { margin-bottom: 12px; font-size: .9375rem; }
}

/* I pulsanti WhatsApp e Aiuto in basso a destra coprivano la casella
   dell'altezza e il pulsante: spariscono finche' il modulo e' in vista e
   tornano appena si scende. La classe la mette `home-proposta.js`. */
@media (max-width: 899px) {
    .st-soccorso { transition: opacity .25s ease, visibility .25s; }
    body.n3-misure-in-vista .st-soccorso { opacity: 0; visibility: hidden; }
}

/* =======================================================================
 * DA 900 PX: COMPUTER E TABLET ORIZZONTALE
 * ===================================================================== */

@media (min-width: 900px) {

    /* La hero torna quella di oggi: fotografia a tutta larghezza, testo nel
       vuoto chiaro a destra, con lo stesso velo misurato. */
    .n3-hero {
        display: grid;
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        align-items: center;
        gap: clamp(32px, 4.5vw, 72px);
        padding: 28px max(var(--st-container-margine, 24px), calc((100% - var(--st-container, 1336px)) / 2)) 36px;
    }
    .n3-vetrina { order: 2; min-width: 0; }
    /* La hero riempie il primo schermo: 173 px di intestazione, i margini
       e la riga dei punti. */
    .n3-hero__foto {
        height: clamp(440px, calc(100svh - 173px - 64px - 54px), 620px);
        border-radius: var(--st-r-grande, 28px);
    }
    .n3-vetrina__voce img { object-position: var(--n3-pos-largo, 50% 50%); }
    .n3-vetrina__comandi { margin-top: 12px; }
    .n3-vetrina__freccia { width: 42px; height: 42px; }
    .n3-cartellino { left: 24px; bottom: 24px; column-gap: 22px; padding: 14px 16px 15px 20px; font-size: .875rem; }
    .n3-cartellino__prezzo { font-size: 2rem; }
    .n3-cartellino__vai { width: 40px; height: 40px; }

    .n3-hero__testo { order: 1; padding: 0; }
    .n3-hero__testo > * { max-width: 32rem; }
    .n3-hero__titolo { font-size: var(--st-fs-hero); line-height: 1.06; }
    .n3-hero__sotto { margin: 14px 0 26px; font-size: var(--st-fs-lead); }
    .n3-misure__campo input { background: rgba(255, 255, 255, .94); }
    .n3-hero__fatti { gap: 16px; margin-top: 24px; padding-top: 20px; }
    .n3-hero__fatti li { flex-direction: row; align-items: flex-start; gap: 8px; font-size: var(--st-fs-small); text-align: left; text-wrap: pretty; }

    .n3-griglia { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 24px; }
    .n3-scheda__nome { min-height: 0; font-size: 1.125rem; }
    .n3-scheda__prezzo strong { font-size: 1.375rem; }
    .n3-altro { display: inline-flex; padding-inline: 28px; }

    .n3-luce__lista { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
    .n3-luce__voce { aspect-ratio: 4 / 5; }
    .n3-luce__nome { font-size: 2rem; }

    .n3-tipi__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; border-top: 0; }
    .n3-tipi__lista > li:nth-child(-n+2) { border-top: 1px solid var(--st-p-riga, #EAE4DC); }
    .n3-tipo { grid-template-columns: 72px minmax(0, 1fr) auto; padding: 14px 0; }
    .n3-tipo__foto { width: 72px; height: 72px; }
    .n3-tipo__nome { font-size: 1.0625rem; }

    .n3-come__dentro { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
    .n3-come__foto { aspect-ratio: 5 / 4; }

    .n3-aiuto__dentro {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 48px;
        padding: 40px 48px;
    }
    .n3-aiuto__azioni { min-width: 18rem; }

    .n3-domande__dentro { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 64px; }
    .n3-domande__lista { margin-top: 0; }

    .n3-chiusura { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .n3-chiusura__foto { order: 2; height: 100%; min-height: 380px; }
    .n3-chiusura__testo {
        order: 1;
        align-self: center;
        width: auto;
        margin: 0;
        padding: 64px clamp(24px, 6vw, 96px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .n3-scheda__foto img, .n3-luce__voce img, .n3-domande__lista summary::after,
    .n3-cartellino, .n3-cartellino__vai, .n3-vetrina__punto::before { transition: none; }
}

