/* Prima schermata dei quattro servizi. Altezza minima del viewport meno header
   misurato: apertura dei dettagli e zoom possono far crescere il contenuto. */
.assistance-page { --service-header-height:77px; --service-screen-height:100vh; }
@supports (height:100svh) { .assistance-page { --service-screen-height:100svh; } }
@supports (height:100dvh) { .assistance-page { --service-screen-height:100dvh; } }
.assistance-page .assistance-diagnostic-title { flex:1; min-width:0; }
.assistance-page .assistance-diagnostic-title > span,
.assistance-page .assistance-diagnostic-title > strong { display:block; }
.assistance-page .assistance-diagnostic-title > span { color:#51627a; font-size:.8125rem; font-weight:800; line-height:1.4; letter-spacing:.06em; text-transform:uppercase; }
@media screen {
    /* Adatta i titoli allo spazio mantenendo intere anche le parole composte.
       I testi eccezionalmente lunghi usano il contenitore scorrevole condiviso. */
    .assistance-page .assistance-hero h1.service-title-fitted { font-size:var(--service-title-size) !important; }
    .assistance-page section[id] { scroll-margin-top:var(--service-header-height); }
    .assistance-page .site-nav { min-width:0; flex-wrap:wrap; justify-content:center; }
    .assistance-page .nav-cta { flex-shrink:0; }
    .assistance-page .assistance-hero { display:grid; min-height:max(0px, calc(var(--service-screen-height) - var(--service-header-height))); padding:clamp(16px, 3vh, 32px) 0 max(20px, env(safe-area-inset-bottom)); overflow:visible; }
    .assistance-page .assistance-hero > .modern-container { display:grid; grid-template-columns:minmax(0, 1fr) auto; grid-template-rows:auto 1fr; align-items:center; gap:clamp(18px, 3vh, 32px) 24px; min-width:0; }
    .assistance-page .assistance-hero .guide-breadcrumbs,
    .assistance-page .assistance-hero .service-nav { margin:0; }
    .assistance-page .assistance-hero .service-nav { gap:6px; }
    .assistance-page .assistance-hero .service-nav a { min-width:0; min-height:44px; padding:8px 14px; font-size:.875rem; line-height:1.3; }
    .assistance-page .assistance-hero-grid { grid-column:1 / -1; grid-template-columns:minmax(0, 1.12fr) minmax(0, 1fr); align-items:center; gap:clamp(24px, 3vw, 44px); min-width:0; }
    .assistance-page .assistance-hero .guide-kicker { margin:0; font-size:.8125rem; line-height:1.4; letter-spacing:.06em; }
    .assistance-page .assistance-hero h1 { margin:12px 0 16px; max-width:24ch; font-size:clamp(2rem, min(3.6vw, 5.8vh), 3.5rem); line-height:1.08; letter-spacing:-.035em; }
    .assistance-page .assistance-hero .assistance-lead { margin:0; font-size:clamp(1rem, 1.3vw, 1.125rem); line-height:1.55; }
    .assistance-page .assistance-hero .assistance-actions { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, max(8em, calc((100% - 10px) / 2))), 1fr)); gap:10px; margin-top:20px; }
    .assistance-page .assistance-hero .assistance-actions a { min-width:0; min-height:48px; padding:10px 12px; font-size:.9375rem; line-height:1.4; }
    .assistance-page .assistance-hero .assistance-trust { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 0; padding:0; }
    .assistance-page .assistance-hero .assistance-trust li { display:block; flex:1 1 6em; min-width:0; max-width:100%; padding:10px; border:1px solid var(--assistance-line); border-radius:12px; }
    .assistance-page .assistance-hero .assistance-trust strong { display:block; max-width:none; margin:0; padding:0; border-radius:0; background:none; color:var(--assistance-navy); font-size:.875rem; line-height:1.4; text-align:start; }
    .assistance-page .assistance-hero .assistance-trust span { margin-top:3px; color:#51627a; font-size:.8125rem; font-weight:500; line-height:1.4; }
    .assistance-page .assistance-hero .assistance-diagnostic { width:100%; min-width:0; padding:clamp(16px, 2vw, 24px); }
    .assistance-page .assistance-hero .assistance-diagnostic-head { gap:12px; padding-bottom:14px; cursor:pointer; list-style:none; }
    .assistance-page .assistance-hero summary.assistance-diagnostic-head::-webkit-details-marker { display:none; }
    .assistance-page .assistance-hero summary.assistance-diagnostic-head::after { content:""; width:9px; height:9px; flex:0 0 9px; margin:0 3px 5px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); color:var(--assistance-blue-dark); }
    .assistance-page .assistance-hero details[open] > summary.assistance-diagnostic-head::after { transform:rotate(225deg); margin-bottom:-3px; }
    .assistance-page .assistance-hero details:not([open]) > summary.assistance-diagnostic-head { padding-bottom:0; border-bottom:0; }
    .assistance-page .assistance-hero summary.assistance-diagnostic-head:focus-visible { outline:3px solid var(--assistance-blue-dark); outline-offset:6px; border-radius:4px; }
    .assistance-page .assistance-hero .assistance-diagnostic-head strong { font-size:1.125rem; line-height:1.35; }
    .assistance-page .assistance-hero .assistance-diagnostic > ul:not(.assistance-trust) { margin-top:6px; }
    .assistance-page .assistance-hero .assistance-diagnostic > ul:not(.assistance-trust) > li { flex-wrap:wrap; gap:8px 12px; padding:10px 0; }
    .assistance-page .assistance-hero .assistance-diagnostic > ul:not(.assistance-trust) > li > span { min-width:min-content; max-width:100%; }
    .assistance-page .assistance-hero .assistance-diagnostic > ul:not(.assistance-trust) > li strong { min-width:min-content; max-width:100%; padding:5px 9px; }
    .assistance-page .assistance-hero .assistance-diagnostic > p { margin-top:12px; line-height:1.5; }
    /* Densità scelta dal contenuto effettivo, comprese le traduzioni. */
    .assistance-page .assistance-hero[data-service-density="compact"] { padding-block:12px max(12px, env(safe-area-inset-bottom)); }
    .assistance-page .assistance-hero[data-service-density="compact"] > .modern-container { gap:12px 18px; }
    .assistance-page .assistance-hero[data-service-density="compact"] h1 { margin-block:8px 10px; font-size:clamp(1.75rem, min(3.4vw, 5.4vh), 2.625rem); }
    .assistance-page .assistance-hero[data-service-density="compact"] .assistance-lead { font-size:.9375rem; line-height:1.45; }
    .assistance-page .assistance-hero[data-service-density="compact"] .assistance-actions,
    .assistance-page .assistance-hero[data-service-density="compact"] .assistance-trust { margin-top:12px; }
    .assistance-page .assistance-hero[data-service-density="compact"] .assistance-diagnostic { padding:14px; }
    .assistance-page .assistance-hero[data-service-density="compact"] .assistance-diagnostic > ul:not(.assistance-trust) > li { padding-block:7px; }
    .assistance-page .assistance-hero[data-service-density="compact"] .assistance-hero-grid { gap:14px 24px; }
    @media (min-width:1025px) {
        .assistance-page .nav-shell { flex-wrap:wrap; }
        .assistance-page .site-nav { flex:1; }
    }
    @media (max-width:899.98px) {
        .assistance-page .assistance-hero > .modern-container { grid-template-columns:minmax(0, 1fr); grid-template-rows:auto auto 1fr; gap:14px; }
        .assistance-page .assistance-hero .service-nav { display:flex; flex-wrap:wrap; }
        .assistance-page .assistance-hero .service-nav a { flex:1 0 auto; }
        .assistance-page .assistance-hero-grid { grid-template-columns:minmax(0, 1fr); gap:22px; }
        .assistance-page .assistance-hero h1 { font-size:clamp(2rem, 5vw, 2.75rem); }
        .assistance-page .assistance-hero .assistance-lead { max-width:none; }
        /* Le colonne si adattano al riquadro, che in orizzontale è più stretto. */
        .assistance-page .assistance-hero .assistance-diagnostic > ul:not(.assistance-trust) { grid-template-columns:repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); column-gap:24px; }
        .assistance-page .assistance-hero .assistance-diagnostic > ul:not(.assistance-trust) > li { align-items:flex-start; flex-direction:column; gap:6px; }
        .assistance-page .assistance-hero .assistance-diagnostic > ul:not(.assistance-trust) > li strong { max-width:100%; text-align:start; }
    }
    @media (max-width:599.98px) {
        .assistance-page { --service-header-height:65px; }
        .assistance-page .assistance-hero { padding-block:14px max(16px, env(safe-area-inset-bottom)); }
        .assistance-page .assistance-hero > .modern-container { grid-template-rows:auto 1fr; gap:16px; }
        /* Il servizio corrente è già indicato dal menu e dal titolo. */
        .assistance-page .assistance-hero .guide-breadcrumbs { display:none; }
        .assistance-page .assistance-hero .service-nav { gap:4px; }
        .assistance-page .assistance-hero .service-nav a { padding:7px 5px; font-size:clamp(.6875rem, 3.07vw, .8125rem); }
        .assistance-page .assistance-hero .guide-kicker { font-size:.75rem; letter-spacing:.03em; }
        .assistance-page .assistance-hero .guide-kicker::before { display:none; }
        .assistance-page .assistance-hero-grid { gap:16px; }
        .assistance-page .assistance-hero h1 { font-size:clamp(1.875rem, 7.8vw, 2.375rem); margin-block:10px 12px; }
        .assistance-page .assistance-hero .assistance-lead { font-size:1rem; line-height:1.5; }
        .assistance-page .assistance-hero .assistance-actions { grid-template-columns:minmax(0, 1fr); gap:8px; margin-top:16px; }
        .assistance-page .assistance-hero .assistance-actions a { padding:9px 10px; font-size:.875rem; }
        /* Icona WhatsApp e freccia mantengono il proprio spazio anche su mobile. */
        .assistance-page .assistance-hero .assistance-actions .assistance-action-primary { gap:6px; font-size:clamp(.8125rem, 3.5vw, .875rem); }
        .assistance-page .assistance-hero .assistance-trust { gap:6px; margin-top:14px; }
        .assistance-page .assistance-hero .assistance-trust li { padding:8px; }
        .assistance-page .assistance-hero .assistance-diagnostic { padding:14px; }
        .assistance-page .assistance-hero .assistance-diagnostic-icon { width:36px; height:36px; flex-basis:36px; }
        .assistance-page .assistance-hero .assistance-diagnostic-head strong { font-size:1rem; }
        .assistance-page .assistance-hero .assistance-diagnostic-title > span { font-size:.75rem; }
        .assistance-page .assistance-hero[data-service-density="compact"] .assistance-diagnostic-title > span { display:none; }
        .assistance-page .assistance-hero .assistance-diagnostic > ul:not(.assistance-trust) { grid-template-columns:minmax(0, 1fr); }
        .assistance-page .assistance-hero .assistance-diagnostic > ul:not(.assistance-trust) > li { flex-direction:row; }
        .assistance-page .assistance-hero .assistance-diagnostic > ul:not(.assistance-trust) > li strong { max-width:100%; }
    }
    @media (max-width:599.98px) and (max-height:620px) {
        /* Su schermi molto bassi resta il titolo completo; l'occhiello
           ripete la tipologia di servizio già indicata nel titolo. */
        .assistance-page .assistance-hero[data-service-density="compact"] .guide-kicker { display:none; }
    }
    @media (max-width:359.98px) {
        .assistance-page .assistance-hero .service-nav { gap:2px; }
        .assistance-page .assistance-hero .service-nav a { padding-inline:1px; }
        .assistance-page .assistance-hero[data-service-density="compact"] h1 { font-size:1.5rem; }
    }
    /* In orizzontale il testo affianca contatti e dettagli. */
    @media (min-width:500px) and (max-height:500px) {
        .assistance-page .nav-shell { padding-block:6px; }
        .assistance-page .assistance-hero > .modern-container { grid-template-columns:minmax(0, 1fr); grid-template-rows:auto 1fr; }
        .assistance-page .assistance-hero .guide-breadcrumbs { display:none; }
        .assistance-page .assistance-hero .service-nav { display:flex; }
        .assistance-page .assistance-hero .service-nav a { flex:1 0 auto; }
        .assistance-page .assistance-hero-grid { grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr); gap:10px 24px; }
        .assistance-page .assistance-hero-copy { display:contents; }
        .assistance-page .assistance-hero .guide-kicker { grid-column:1; grid-row:1; }
        .assistance-page .assistance-hero h1 { grid-column:1; grid-row:2; margin:0; font-size:1.75rem; }
        .assistance-page .assistance-hero .assistance-lead { grid-column:1; grid-row:3 / 5; font-size:.9375rem; line-height:1.4; }
        .assistance-page .assistance-hero .assistance-actions { grid-column:2; grid-row:1 / 3; grid-template-columns:minmax(0, 1fr); margin:0; }
        .assistance-page .assistance-hero .assistance-diagnostic { grid-column:2; grid-row:3 / 5; align-self:start; }
        .assistance-page .assistance-hero-copy > .assistance-trust { grid-column:1 / -1; }
        .assistance-page .assistance-hero[data-service-density="compact"] h1 { margin:0; }
        .assistance-page .assistance-hero[data-service-density="compact"] .assistance-hero-grid { gap:8px 24px; }
        .assistance-page .assistance-hero[data-service-density="compact"] .assistance-actions { margin:0; }
        .assistance-page .assistance-hero[data-service-density="compact"] .assistance-diagnostic-title > span { display:none; }
        .assistance-page .assistance-hero[data-service-density="compact"] .guide-kicker { display:none; }
    }
    @media (min-width:500px) and (max-width:599.98px) and (max-height:360px) {
        .assistance-page .assistance-hero[data-service-density="compact"] { padding-block:8px max(8px, env(safe-area-inset-bottom)); }
        .assistance-page .assistance-hero[data-service-density="compact"] > .modern-container { row-gap:8px; }
        .assistance-page .assistance-hero[data-service-density="compact"] .assistance-hero-grid { row-gap:4px; }
        .assistance-page .assistance-hero[data-service-density="compact"] h1 { font-size:1.5rem; }
        .assistance-page .assistance-hero[data-service-density="compact"] .assistance-diagnostic { padding:10px; }
        .assistance-page .assistance-hero .assistance-diagnostic-head { gap:8px; }
        .assistance-page .assistance-hero .assistance-diagnostic-icon { width:28px; height:28px; flex-basis:28px; }
        .assistance-page .assistance-hero .assistance-diagnostic-head strong { font-size:.9375rem; line-height:1.3; }
    }
}
