/* =============================================================================
   Ssm_FullWidth — 4. PAGINE CMS
   -----------------------------------------------------------------------------
   Stessi due tetti delle altre pagine, ma qui serve una guardia.

   DUE FAMIGLIE DI PAGINE CMS, misurate il 2026-08-17 (finestra 1920):
   a) pagine di solo HTML (es. /porta_bomboniere_fai_da_te.html, /faq.html):
      .page-main 1366px → sono queste che vanno allargate;
   b) pagine costruite con le sezioni di MGS Fbuilder (es. /contattaci, le
      landing): **già a 1920px**, perché le sezioni portano con sé un
      `max-width: 100vw`. Sono disegnate al vivo, senza margini.
   Aggiungere a queste ultime il margine laterale di §1 rientrerebbe di 64px
   sezioni pensate per toccare i bordi. Da qui la guardia `:not(:has(...))`.

   Se il browser non conosce `:has()` (Chrome < 105, Safari < 15.4, Firefox
   < 121, tutti fuori supporto da tempo) l'intera regola viene ignorata e la
   pagina CMS resta larga com'è oggi: si perde l'allargamento, non si rompe
   niente. Per questo la guardia sta in un blocco a sé e non nella lista di §1.

   Il carrello, il checkout e l'area cliente NON sono pagine CMS e non sono
   toccati da nessuna riga di questo file.
   ========================================================================== */

body.cms-page-view:not(.page-layout-cms-full-width):not(:has(.section-builder)) {
    /* Sotto i 992px: la formula della v3 (15px sul tema mobile). */
    --ssm-gutter: clamp(15px, calc((100vw - 1200px) / 12), 64px);
}

/* Da desktop il margine è il 5% dei contenuti, come su tutto il sito:
   v. site-width.css §1.1 per il conto e per il perché di `100%`. */
@media (min-width: 992px) {
    body.cms-page-view:not(.page-layout-cms-full-width):not(:has(.section-builder)) {
        --ssm-gutter: calc(100% / 22);
    }
}

body.cms-page-view:not(.page-layout-cms-full-width):not(:has(.section-builder)) .page-main {
    max-width: 100%;
    padding-left: var(--ssm-gutter);
    padding-right: var(--ssm-gutter);
}

body.cms-page-view:not(.page-layout-cms-full-width):not(:has(.section-builder)) .page-main > .columns,
body.cms-page-view:not(.page-layout-cms-full-width):not(:has(.section-builder)) .breadcrumbs .items {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

/* Il contenitore delle briciole è fermo a 1280px da `styles-l.css` (Luma di
   serie, non il tema): senza questa riga resterebbero rientrate. */
body.cms-page-view:not(.page-layout-cms-full-width):not(:has(.section-builder)) .breadcrumbs {
    max-width: 100%;
}

/* 33 delle 129 pagine CMS attive sono su layout `2columns-left`: la colonna di
   sinistra ospita "Confronta Prodotti", che il più delle volte è vuota e occupa
   350px. Oltre i 1600px si ferma lì invece di crescere fino a 480.
   (Nella v2 il fermo era 320px; dalla v3 è 350 su tutto il sito — la larghezza
   che la colonna ha oggi a 1366px — così nessuna colonna diventa più stretta di
   com'è adesso. V. `site-width.css` §1.4.) */
@media (min-width: 1600px) {
    /* Entrambe le sidebar: su /faq.html quel blocco è `sidebar-additional`, non
       `sidebar-main`. Restringere la colonna centrale senza restringere anche
       questa le fa sovrapporre — verificato, e corretto, il 2026-08-17. */
    body.cms-page-view:not(.page-layout-cms-full-width):not(:has(.section-builder)) .page-main > .columns .sidebar.sidebar-main,
    body.cms-page-view:not(.page-layout-cms-full-width):not(:has(.section-builder)) .page-main > .columns .sidebar.sidebar-additional {
        width: 350px !important;
    }

    body.cms-page-view:not(.page-layout-cms-full-width):not(:has(.section-builder)) .page-main > .columns .column.main {
        width: calc(100% - 350px) !important;
    }
}

/* NB: il testo di queste pagine non viene limitato — v. README §6 per il
   ritaglio di leggibilità, che è una decisione di contenuto, non di layout. */
