/* ==========================================================================
   GLIMPIO — glimpio.css  (design system, fonte unica degli stili)
   Origine: CSS REALE di glimpio.com (landing/*.html, build 2026-09-27 + build.py),
   unito in un solo file senza duplicati. Differenze dall'originale:
   1) UN SOLO FONT (DM Sans) al posto di Poppins + DM Sans, ospitato in /assets/fonts/ (niente Google Fonts);
      tutte le dichiarazioni usano la variabile --font
   2) blocco "NUOVO" in fondo (breadcrumb, griglia di card) per le pagine in serie.
   REGOLA: negli HTML non si scrive CSS. Si cambia qui e cambia ovunque.
   Tutto vive dentro il contenitore .glimpio-lp (come nelle pagine attuali).
   ========================================================================== */

/* ---------- FONT: un solo carattere, DM Sans (SIL OFL), ospitato sul sito. Pesi: 400 testo, 500 pulsanti, 600 etichette, 700 titoli ---------- */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/dm-sans-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/dm-sans-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/dm-sans-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/dm-sans-latin-700-normal.woff2') format('woff2');}

:root{
    --paper:#FAFAF5;
    --paper-deep:#FFF3F0;
    --water:#FFD9CF;
    --park:#E6F7EE;
    --ink:#1F1B24;
    --ink-soft:#6B6570;
    --brand:#FF5A47;
    --brand-deep:#E5442F;
    --orange:#FF8A3D;
    --green:#1DBF73;
    --font:'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --line: rgba(31,27,36,0.10);
    --card-shadow: 0 8px 24px -8px rgba(255,90,71,0.25), 0 2px 6px rgba(31,27,36,0.06);
    /* colori fissi (stessi valori dei letterali che sostituiscono) */
    --white:#fff;
    --on-dark:rgba(255,255,255,0.85);
    --on-dark-70:rgba(255,255,255,0.7);
    --on-dark-25:rgba(255,255,255,0.25);
    --on-dark-15:rgba(255,255,255,0.15);
    --phone:#14161A;
    --star:#FBBC04;
    --brand-tint:#FFF8F6;
    --green-deep:#14663f;
    --brand-a12:rgba(255,90,71,0.12);
    --brand-a35:rgba(255,90,71,0.35);
    --green-a35:rgba(29,191,115,0.35);
    --shadow-a18:rgba(0,0,0,0.18);
    --shadow-shot:0 20px 44px -16px rgba(0,0,0,0.35);
    --tint-coral:#FFE8E4;
    --tint-amber:#FFF1E0;
    --tint-mint:#E6F9F0;
    /* raggi (forme speciali come telefono, pin e cerchi restano scritte nella loro regola) */
    --radius-pill:100px;
    --radius-card:20px;
    --radius-md:16px;
    --radius-sm:12px;
    --radius-xs:8px;
    /* spaziature */
    --space-1:4px;
    --space-2:8px;
    --space-3:12px;
    --space-4:16px;
    --space-5:24px;
    --space-6:32px;
    --space-7:40px;
    --space-8:48px;
    --space-9:56px;
    /* scala dei font-size (approvata 2026-10-18) */
    --fs-xs:12px;
    --fs-sm:13px;
    --fs-ui:14px;
    --fs-base:16px;
    --fs-lead:18px;
    --fs-h3:20px;
    --fs-h2s:24px;
    --fs-h1:32px;
    --fs-h2:36px;
    --fs-display:46px;
    /* fine sezione (fuori scala, valori invariati) */
    --space-end-form:100px;
    --space-end-final:120px;
    /* larghezza dei titoli corti di chiusura: niente parola sola sull'ultima riga */
    --measure-title-short:22ch;
  }

.glimpio-lp{
    background: var(--paper);
    color: var(--ink);
    font-family:var(--font);
    line-height:1.5;
    max-width: 100%;
    overflow-x:hidden;
  }

.glimpio-lp *{box-sizing:border-box;}

/* un solo font anche dove il browser ne mette uno suo (html/body, campi del form) */
html, body{ font-family:var(--font); }
/* fasce (toolbar, fascia scura, footer) a filo dei bordi della finestra: niente margine di default del body */
body{ margin:0; }

.glimpio-lp input, .glimpio-lp textarea{ font-family:var(--font); }

.glimpio-lp h1,.glimpio-lp h2,.glimpio-lp h3{
    font-family:var(--font);
    font-weight:700;
    color: var(--ink);
    margin:0;
    letter-spacing:-0.01em;
  }

.glimpio-lp .eyebrow{
    font-family:var(--font);
    font-weight:600;
    font-size:var(--fs-xs);
    letter-spacing:0.02em;
    text-transform:uppercase;
    color:var(--white);
    background: var(--brand);
    display:inline-flex;
    align-items:center;
    gap:var(--space-2);
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-pill);
  }

.glimpio-lp .eyebrow::before{
    content:'✈️';
    font-size:var(--fs-xs);
  }

.glimpio-lp section{
    padding: var(--space-9) var(--space-5);
    max-width: 1040px;
    margin: 0 auto;
    position:relative;
  }

.lp-toolbar{
    position: sticky; top:0; z-index:50;
    background: var(--ink);
    color: var(--paper);
    font-family:var(--font);
    font-size:var(--fs-sm);
    padding:var(--space-3) var(--space-4);
    display:flex; align-items:center; justify-content:space-between;
    gap:var(--space-3);
    flex-wrap:wrap;
  }

.lp-toolbar span{opacity:0.85;}

.lp-toolbar button{
    font-family:var(--font);
    font-weight:500;
    background: var(--brand);
    color:var(--white);
    border:none;
    padding:var(--space-2) var(--space-4);
    border-radius:var(--radius-pill);
    cursor:pointer;
    font-size:var(--fs-sm);
    letter-spacing:0.01em;
  }

.lp-toolbar button:hover{ background: var(--brand-deep); }

/* barra in alto su mobile (sotto 480px): sempre 2 righe, CTA sopra e FAQ + lingua sotto, in tutte le lingue
   (decisione dell'utente 2026-10-18). Solo la barra con CTA a sinistra: quella del form resta com'era. */
@media (max-width:479px){ .lp-toolbar > .lp-toolbar-cta + div{ flex-basis:100%; } }

.lp-header{
    background: var(--paper);
    padding: var(--space-3) var(--space-5);
    max-width: 1040px;
    margin: 0 auto;
    display:flex;
    align-items:center;
  }

.lp-header img{ width:230px; }

section.lp-hero{
    padding-top: var(--space-2);
    display:grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: var(--space-8);
    align-items:start;
  }

@media (max-width: 860px){ .lp-hero{ grid-template-columns:1fr; } }

.lp-hero h1{
    font-size: var(--fs-display);
    font-weight:700;
    line-height:1.12;
    margin-top:var(--space-4);
    letter-spacing:-0.02em;
  }

.lp-hero .sub{
    font-size:var(--fs-lead);
    color: var(--ink-soft);
    margin-top:var(--space-5);
    max-width:46ch;
    font-weight:400;
  }

.lp-cta-row{ display:flex; gap:var(--space-4); margin-top:var(--space-6); flex-wrap:wrap; }

.lp-btn-primary{
    font-family:var(--font);
    font-weight:500;
    background: var(--brand); color:var(--white);
    padding:var(--space-4) var(--space-5); border-radius:var(--radius-pill);
    font-size:var(--fs-ui); letter-spacing:0.01em;
    text-decoration:none; display:inline-block;
    border:none; cursor:pointer;
    box-shadow: var(--card-shadow);
  }

.lp-btn-primary:hover{ background: var(--brand-deep); }

.lp-btn-ghost{
    font-family:var(--font);
    font-weight:500;
    background:var(--white); color:var(--brand);
    padding:var(--space-4) var(--space-5); border-radius:var(--radius-pill);
    font-size:var(--fs-ui); border:1px solid var(--line);
    cursor:pointer;
  }

.lp-phone-wrap{ display:flex; justify-content:center; }

.lp-phone{
    width: 300px;
    height: 610px;
    background: var(--phone);
    border-radius: 42px;
    padding: var(--space-3);
    box-shadow: 0 30px 60px -20px var(--brand-a35), 0 10px 24px var(--shadow-a18);
    position:relative;
  }

.lp-phone::before{
    content:'';
    position:absolute;
    top: 22px; left:50%; transform:translateX(-50%);
    width: 90px; height:22px;
    background:var(--phone);
    border-radius: 14px;
    z-index:5;
  }

.lp-phone-screen{
    width:100%; height:100%;
    background: var(--water);
    border-radius: 30px;
    overflow:hidden;
    position:relative;
  }

.lp-float-card{
    position:absolute;
    background:var(--white);
    border-radius:14px;
    box-shadow: var(--card-shadow);
    padding: var(--space-3) var(--space-4);
    font-family:var(--font);
    z-index:6;
    width:168px;
  }

.lp-step-icon{
    width:40px; height:40px;
    border-radius:var(--radius-sm);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:var(--space-4);
    font-size:var(--fs-h3);
  }

.lp-avatar{
    width:34px; height:34px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--white); font-family:var(--font); font-weight:700; font-size:var(--fs-sm);
    flex:none;
  }

.lp-review-head{ display:flex; align-items:center; gap:var(--space-3); margin-bottom:var(--space-4); }

.lp-steps{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-6);
    margin-top: var(--space-8);
  }

@media (max-width: 780px){ .lp-steps{ grid-template-columns:1fr; } }

.lp-step{
    background: var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius-card);
    padding: var(--space-5) var(--space-5);
    box-shadow: var(--card-shadow);
  }

.lp-step .num{
    width:32px; height:32px;
    display:flex; align-items:center; justify-content:center;
    background: var(--brand);
    color: var(--white);
    border-radius:50%;
    font-family:var(--font);
    font-weight:700;
    font-size:var(--fs-sm);
    margin-bottom:var(--space-4);
  }

.lp-step h3{ font-size:var(--fs-h3); font-weight:700; }

.lp-step p{ margin-top:var(--space-3); color:var(--ink-soft); font-size:var(--fs-base); line-height:1.5; }

.lp-demo{
    background: var(--white);
    color: var(--ink);
    border-radius:var(--radius-card);
    padding: var(--space-8);
    margin-top:var(--space-3);
    border:1px solid var(--line);
    box-shadow: var(--card-shadow);
  }

.lp-demo h2{ color: var(--ink); }

.lp-demo p{ color: var(--ink-soft); max-width:60ch; font-size:var(--fs-lead); }

.lp-reviews{
    display:grid;
    grid-template-columns: repeat(3,1fr);
    gap:var(--space-5);
    margin-top:var(--space-7);
  }

@media (max-width: 780px){ .lp-reviews{ grid-template-columns:1fr; } }

.lp-review{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius-card);
    padding:var(--space-5);
    font-size:var(--fs-ui);
    box-shadow: var(--card-shadow);
  }

.lp-review .stars{ color: var(--star); letter-spacing:2px; margin-bottom:var(--space-3); }

.lp-review .who{
    margin-top:var(--space-4);
    font-family:var(--font);
    font-size:var(--fs-xs);
    color: var(--ink-soft);
  }

.lp-econ{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-7);
    margin-top:var(--space-7);
    align-items:start;
  }

@media (max-width: 780px){ .lp-econ{ grid-template-columns:1fr; } }

.lp-split-card{
    background: var(--white);
    border: 1px solid var(--line);
    border-radius:var(--radius-card);
    padding: var(--space-6);
    box-shadow: var(--card-shadow);
  }

.lp-split-bar{
    height: 34px;
    border-radius:var(--radius-xs);
    overflow:hidden;
    display:flex;
    margin: var(--space-4) 0 var(--space-3);
  }

.lp-split-bar .a{ background: var(--brand); }

.lp-split-bar .b{ background: var(--paper-deep); }

.lp-split-legend{ display:flex; justify-content:space-between; font-size:var(--fs-sm); font-family:var(--font); color: var(--ink-soft); }

.lp-worked{ margin-top:var(--space-5); font-size:var(--fs-ui); }

.lp-worked .row{ display:flex; justify-content:space-between; padding:var(--space-2) 0; border-bottom:1px dashed var(--line); }

.lp-worked .row:last-child{ border-bottom:none; font-weight:700; color:var(--ink); }

.lp-founding{
    background: var(--brand);
    color:var(--white);
    border-radius:var(--radius-card);
    padding: var(--space-7) var(--space-8);
    margin-top:var(--space-3);
  }

.lp-founding .eyebrow{ background: var(--white); color: var(--brand); }

.lp-founding .eyebrow::before{ content:'⭐'; }

.lp-founding h2{ color:var(--white); }

.lp-founding p{ color: var(--on-dark); max-width:60ch; }

.lp-founding ul{ margin:var(--space-5) 0 0; padding-left:var(--space-5); color:var(--white); font-size:var(--fs-ui); }

.lp-founding li{ margin-bottom:var(--space-2); }

.lp-final{ text-align:center; padding-bottom: var(--space-end-final); }

.lp-final h2{ font-size:var(--fs-h1); max-width:26ch; margin:0 auto; }
.lp-final h2.lp-final-title--short{ max-width:var(--measure-title-short); }

.lp-final .lp-cta-row{ justify-content:center; margin-top:var(--space-6); }

.lp-footer{
    background: var(--ink);
    color: var(--on-dark);
    text-align:center;
    padding: var(--space-7) var(--space-5);
  }

.lp-footer .footer-logo-chip{
    display:inline-block;
    margin-bottom:var(--space-4);
  }

.lp-footer .footer-logo-chip{ width:150px; height:auto; }

.lp-footer-tag{
    font-family:var(--font);
    font-weight:500;
    font-size:var(--fs-ui);
  }

.lp-final .fine{
    margin-top:var(--space-4); font-size:var(--fs-sm); color:var(--ink-soft);
    font-family:var(--font);
  }

/* ---------- componenti condivisi (toolbar, lingua, FAQ, footer, confronto, articolo, tabelle, form) ---------- */
.lp-toolbar-cta{
    font-family:var(--font);
    font-weight:600;
    background: var(--brand);
    color:var(--white);
    border:none;
    padding:var(--space-2) var(--space-4);
    border-radius:var(--radius-pill);
    cursor:pointer;
    font-size:var(--fs-sm);
    letter-spacing:0.01em;
    white-space:nowrap;
  }

.lp-toolbar-cta:hover{ background: var(--brand-deep); }

.lp-toolbar-faq{
    font-family:var(--font);
    font-weight:600;
    background:var(--white);
    color: var(--ink);
    border:none;
    padding:var(--space-2) var(--space-4);
    border-radius:var(--radius-pill);
    cursor:pointer;
    font-size:var(--fs-sm);
    letter-spacing:0.01em;
    white-space:nowrap;
    text-decoration:none;
    display:inline-block;
  }

.lp-toolbar-faq:hover{ background: var(--on-dark); }

.lp-lang-toggle{
    display:flex;
    background: var(--on-dark-15);
    border-radius:var(--radius-pill);
    padding:3px;
    gap:2px;
  }

.lp-lang-toggle button{
    background:transparent;
    color: var(--on-dark-70);
    padding:var(--space-2) var(--space-4);
    border-radius:var(--radius-pill);
    font-size:var(--fs-xs);
  }

.lp-lang-toggle button.active{
    background:var(--white);
    color: var(--ink);
  }

.lp-lang-toggle button:hover{ background: var(--on-dark-25); }

.lp-lang-toggle button.active:hover{ background:var(--white); }

.lp-faq-list{ margin-top:var(--space-6); display:flex; flex-direction:column; gap:var(--space-3); }

.lp-faq-item{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:var(--space-4) var(--space-5);
    box-shadow: var(--card-shadow);
  }

.lp-faq-item summary{
    font-family:var(--font);
    font-weight:600;
    font-size:var(--fs-base);
    color: var(--ink);
    cursor:pointer;
    list-style:none;
  }

.lp-faq-item summary::-webkit-details-marker{ display:none; }

.lp-faq-item summary::before{
    content:'+';
    display:inline-block;
    width:20px;
    color: var(--brand);
    font-weight:700;
  }

.lp-faq-item[open] summary::before{ content:'−'; }

.lp-faq-item p{
    margin-top:var(--space-3);
    color: var(--ink-soft);
    font-size:var(--fs-base);
    line-height:1.6;
  }

.lp-footer-nav{ margin-top:var(--space-4); display:flex; flex-wrap:wrap; justify-content:center; gap:var(--space-2) var(--space-4); font-size:var(--fs-sm); font-family:var(--font); }

.lp-footer-nav a{ color:var(--on-dark); text-decoration:underline; text-underline-offset:3px; }

.lp-footer-nav a:hover{ color:var(--white); }

.lp-compare p{ color:var(--ink-soft); font-size:var(--fs-lead); max-width:62ch; margin-top:var(--space-4); }

.lp-compare .lp-cta-row{ margin-top:var(--space-5); }

.lp-link-ghost{ text-decoration:none; display:inline-block; }

.lp-article h2{ font-size:var(--fs-h2s); margin-top:var(--space-7); }

.lp-article p, .lp-article li{ color:var(--ink-soft); font-size:var(--fs-base); line-height:1.65; }

.lp-article p{ margin:var(--space-3) 0 0; }

.lp-article ul{ margin:var(--space-3) 0 0; padding-left:var(--space-5); }

.lp-article li{ margin-bottom:var(--space-2); }

.lp-article p a, .lp-article li a{ color:var(--brand-deep); }

.lp-article .updated{ font-size:var(--fs-sm); margin-top:var(--space-2); }

.lp-table{ width:100%; border-collapse:collapse; margin-top:var(--space-5); background:var(--white); border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--card-shadow); font-size:var(--fs-ui); line-height:1.5; }

.lp-table th, .lp-table td{ padding:var(--space-3) var(--space-4); text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }

.lp-table th{ font-family:var(--font); font-weight:600; background:var(--paper-deep); color:var(--ink); font-size:var(--fs-sm); }

.lp-table td:first-child{ font-weight:700; color:var(--ink); }

.lp-table td{ color:var(--ink-soft); }

.lp-table tr.is-glimpio td{ background:var(--brand-tint); }

.lp-table tr:last-child td{ border-bottom:none; }

@media (max-width:640px){
    .lp-table, .lp-table tbody, .lp-table tr, .lp-table td{ display:block; width:100%; }
    .lp-table thead{ display:none; }
    .lp-table tr{ border-bottom:1px solid var(--line); padding:var(--space-2) 0; }
    .lp-table td{ border-bottom:none; padding:var(--space-2) var(--space-4); }
    .lp-table td::before{ content:attr(data-label); display:block; font-family:var(--font); font-weight:600; font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:0.02em; color:var(--ink); }
    .lp-table td:first-child::before{ display:none; }
  }

  

.lp-form-section{
    max-width: 640px;
    margin: 0 auto;
    padding: var(--space-9) var(--space-5) var(--space-end-form);
  }

.lp-form-section h1{
    font-size: var(--fs-h1);
    line-height: 1.15;
    margin-top: var(--space-4);
  }

.lp-form-section .sub{
    font-size: var(--fs-base);
    color: var(--ink-soft);
    margin-top: var(--space-4);
    max-width: 52ch;
  }

.lp-form-card{
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    box-shadow: var(--card-shadow);
    padding: var(--space-6);
    margin-top: var(--space-6);
  }

.lp-field{
    margin-bottom: var(--space-5);
  }

.lp-field label{
    display:block;
    font-family:var(--font);
    font-weight:600;
    font-size:var(--fs-ui);
    color: var(--ink);
    margin-bottom:var(--space-2);
  }

.lp-field .hint{
    font-family:var(--font);
    font-weight:400;
    font-size:var(--fs-sm);
    color: var(--ink-soft);
    display:block;
    margin-top:var(--space-1);
  }

.lp-field input[type="text"],
  .lp-field input[type="email"],
  .lp-field input[type="url"],
  .lp-field textarea{
    width:100%;
    font-family:var(--font);
    font-size:var(--fs-base);
    color: var(--ink);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: var(--space-3) var(--space-4);
    box-sizing: border-box;
    transition: border-color .15s ease, box-shadow .15s ease;
  }

.lp-field input:focus,
  .lp-field textarea:focus{
    outline:none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px var(--brand-a12);
  }

.lp-field textarea{
    min-height: 96px;
    resize: vertical;
    font-family:var(--font);
  }

.lp-field.required label::after{
    content:' *';
    color: var(--brand);
  }

.lp-hp-field{
    position:absolute;
    left:-9999px;
    top:-9999px;
    opacity:0;
    height:0;
    width:0;
    overflow:hidden;
  }

.lp-form-submit{
    width:100%;
    margin-top:var(--space-2);
  }

.lp-form-note{
    text-align:center;
    font-size:var(--fs-sm);
    color: var(--ink-soft);
    margin-top:var(--space-4);
  }

.lp-form-message{
    margin-top:var(--space-5);
    padding:var(--space-4) var(--space-4);
    border-radius:var(--radius-sm);
    font-family:var(--font);
    font-size:var(--fs-ui);
    display:none;
  }

.lp-form-message.show{ display:block; }

.lp-form-message.success{
    background: var(--park);
    color: var(--green-deep);
    border: 1px solid var(--green-a35);
  }

.lp-form-message.error{
    background: var(--paper-deep);
    color: var(--brand-deep);
    border: 1px solid var(--brand-a35);
  }

.lp-form-card.is-loading{ opacity:0.6; pointer-events:none; }

/* ---------- fix mobile (responsive-0927) ---------- */
.glimpio-lp img{ max-width:100%; height:auto; }

@media (max-width:860px){
    section.lp-hero{ grid-template-columns: minmax(0,1fr); }
  }

@media (max-width:768px){
    .lp-float-card{ right:8px !important; }
  }

@media (max-width:480px){
    .glimpio-lp section{ padding:var(--space-7) var(--space-4); }
    .lp-hero h1{ font-size:var(--fs-h1); }
    .lp-phone-wrap{ flex-direction:column; align-items:center; }
    .lp-phone{ width:100%; max-width:280px; height:auto; aspect-ratio:300/610; }
    .lp-float-card{ position:static; margin-top:var(--space-4); width:100% !important; max-width:280px; transform:none !important; right:auto; top:auto; }
    .lp-founding{ padding:var(--space-6) var(--space-5); }
    .lp-final h2{ font-size:var(--fs-h2s); }
    .lp-cta-row{ flex-direction:column; }
    .lp-cta-row .lp-btn-primary, .lp-cta-row .lp-btn-ghost{ width:100%; text-align:center; }
    .lp-field input, .lp-field textarea{ font-size:var(--fs-base); }
  }

@media (max-width:1024px){
    .lp-float-card{ right:8px !important; }
  }

@media (max-width:480px){
    .lp-field input[type="text"],
    .lp-field input[type="email"],
    .lp-field input[type="url"],
    .lp-field textarea{ font-size:var(--fs-base); }
  }

/* ---------- NUOVO: pagine in serie (non esistono nelle 7 pagine attuali: da approvare a occhio) ---------- */
.glimpio-lp .lp-narrow{ max-width:760px; }
.glimpio-lp .lp-narrow > h1{ font-size:var(--fs-h1); } /* h1 di FAQ, guida e serie: dalla scala, non dal 2em del browser */
.glimpio-lp .lp-breadcrumb{ max-width:1040px; margin:0 auto; padding:var(--space-4) var(--space-5) 0; font-size:var(--fs-sm); color:var(--ink-soft); font-family:var(--font); }
.glimpio-lp .lp-breadcrumb a{ color:var(--ink-soft); text-decoration:none; }
.glimpio-lp .lp-breadcrumb a:hover{ text-decoration:underline; }
.glimpio-lp .lp-breadcrumb .sep{ margin:0 var(--space-2); opacity:.6; }
.glimpio-lp .lp-section-title{ font-size:var(--fs-h1); }
.glimpio-lp .lp-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-5); margin-top:var(--space-6); }
@media (max-width:780px){ .glimpio-lp .lp-cards{ grid-template-columns:1fr; } }
.glimpio-lp a.lp-card, .glimpio-lp div.lp-card{
  display:block; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-card);
  padding:var(--space-5); box-shadow:var(--card-shadow); text-decoration:none; color:inherit;
}
.glimpio-lp a.lp-card:hover{ transform:translateY(-2px); }
.glimpio-lp .lp-card h3{ font-size:var(--fs-lead); }
.glimpio-lp .lp-card p{ margin:var(--space-2) 0 0; color:var(--ink-soft); font-size:var(--fs-base); line-height:1.5; }
@media (prefers-reduced-motion:no-preference){ .glimpio-lp a.lp-card{ transition:transform .15s ease; } }

/* ---------- ex-inline: stili che erano negli attributi style="" (build.py STYLE_CLASSES).
   Selettori .glimpio-lp .x (specificita' 0,2,0) in fondo al file: vincono sulle regole normali come
   vinceva l'attributo style, e perdono solo contro gli !important, come prima. ---------- */
.glimpio-lp .lp-toolbar-group{ display:flex; align-items:center; gap:var(--space-4); }
.glimpio-lp .lp-logo-link{ display:inline-flex; align-items:center; }
.glimpio-lp .lp-footer-logo-link{ display:inline-block; }
.glimpio-lp a.lp-btn-primary{ text-decoration:none; display:inline-block; }
.glimpio-lp .lp-cta-row--tight{ margin-top:var(--space-5); }
.glimpio-lp .lp-offscreen{ position:absolute; left:-9999px; }
.glimpio-lp .lp-h2{ margin-top:var(--space-4); font-size:var(--fs-h2); }
.glimpio-lp .lp-relative{ position:relative; }
.glimpio-lp .lp-img-cover{ width:100%; height:100%; object-fit:cover; display:block; }
.glimpio-lp .lp-img-cover--map{ object-position:center 22%; }
.glimpio-lp .lp-img-cover--card{ object-position:50% 80%; }
.glimpio-lp .lp-float-card--shot{ top:70px; right:-46px; transform:rotate(4deg); width:172px; padding:0; overflow:hidden; }
.glimpio-lp .lp-float-card-media{ width:100%; height:190px; overflow:hidden; }
.glimpio-lp .lp-step-icon--coral{ background:var(--tint-coral); }
.glimpio-lp .lp-step-icon--amber{ background:var(--tint-amber); }
.glimpio-lp .lp-step-icon--mint{ background:var(--tint-mint); }
.glimpio-lp .lp-avatar--brand{ background:var(--brand); }
.glimpio-lp .lp-avatar--green{ background:var(--green); }
.glimpio-lp .lp-avatar--orange{ background:var(--orange); }
.glimpio-lp .lp-shots{ margin-top:var(--space-6); display:grid; grid-template-columns:repeat(2, minmax(0, 260px)); justify-content:center; gap:var(--space-5); }
.glimpio-lp .lp-shot{ border-radius:var(--radius-card); overflow:hidden; box-shadow:var(--shadow-shot); border:1px solid var(--line); background:var(--white); }
.glimpio-lp .lp-img-block{ width:100%; height:auto; display:block; }
.glimpio-lp .lp-fineprint{ margin-top:var(--space-4); font-size:var(--fs-sm); color:var(--ink-soft); font-family:var(--font); }
.glimpio-lp .lp-fineprint--loose{ margin-top:var(--space-4); }
.glimpio-lp .lp-split-label{ font-family:var(--font); font-size:var(--fs-xs); color:var(--ink-soft); }
.glimpio-lp .lp-w-half{ width:50%; }

/* ---------- NUOVO (nuovo-sito-1018): home (/) e /turismo/. Struttura dai mockup, valori solo dai token
   esistenti (lo stile del sito prevale sui mockup, decisione utente 2026-10-18). ---------- */
/* a) hero della home con il telefono a destra (sotto 640px il telefono va sotto i testi) */
.glimpio-lp section.lp-hero--phone{ grid-template-columns:minmax(0,1fr) auto; gap:var(--space-9); align-items:center; }
@media (max-width:860px){ .glimpio-lp section.lp-hero--phone{ gap:var(--space-5); } }
@media (max-width:860px) and (min-width:641px){ .glimpio-lp .lp-hero--phone .lp-phone{ width:230px; height:auto; aspect-ratio:300/610; } }
@media (max-width:640px){ .glimpio-lp section.lp-hero--phone{ grid-template-columns:minmax(0,1fr); } }
/* b) bottoni di pari larghezza (hero: in colonna; chiusura: affiancati, in colonna sotto 640px) */
.glimpio-lp .lp-cta-row--equal{ display:inline-grid; grid-template-columns:minmax(0,1fr); gap:var(--space-4); }
.glimpio-lp .lp-cta-row--equal > a{ width:100%; text-align:center; }
.glimpio-lp .lp-cta-row--pair{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:640px){
    .glimpio-lp .lp-cta-row--equal{ display:grid; }
    .glimpio-lp .lp-cta-row--pair{ grid-template-columns:minmax(0,1fr); }
  }
/* c) fascia scura a tutta larghezza con 3 riquadri numerati */
.glimpio-lp .lp-band{ background:var(--ink); color:var(--white); }
.glimpio-lp .lp-band .eyebrow{ background:var(--white); color:var(--brand); }
.glimpio-lp .lp-band h2{ color:var(--white); max-width:24ch; }
.glimpio-lp .lp-band-lead{ color:var(--on-dark); font-size:var(--fs-lead); max-width:62ch; margin:var(--space-4) 0 0; }
.glimpio-lp .lp-band-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-5); margin-top:var(--space-7); }
.glimpio-lp .lp-band-tile{ border:1px solid var(--on-dark-15); border-radius:var(--radius-card); padding:var(--space-5); min-width:0; }
.glimpio-lp .lp-band-num{ font-size:var(--fs-display); font-weight:700; line-height:1; color:var(--brand); margin-bottom:var(--space-3); }
.glimpio-lp .lp-band-tile h3{ font-size:var(--fs-h3); color:var(--white); }
.glimpio-lp .lp-band-tile p{ color:var(--on-dark); font-size:var(--fs-base); line-height:1.5; margin:var(--space-2) 0 0; }
.glimpio-lp .lp-band-note{ margin-top:var(--space-6); background:var(--brand); color:var(--white); border-radius:var(--radius-md); padding:var(--space-4) var(--space-5); font-size:var(--fs-base); display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-3); }
.glimpio-lp .lp-band-note b{ font-weight:600; }
@media (max-width:860px){ .glimpio-lp .lp-band-grid{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:480px){ .glimpio-lp .lp-band .lp-h2{ font-size:var(--fs-h2s); } }
/* d) selettore a due meta' uguali (chi sei / quale mappa): stato in aria-pressed, niente classi */
.glimpio-lp .lp-switch{ display:inline-grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-1); padding:var(--space-1); margin-top:var(--space-5); max-width:100%; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-pill); box-shadow:var(--card-shadow); }
.glimpio-lp .lp-switch button{ font-family:var(--font); font-weight:600; font-size:var(--fs-ui); border:none; border-radius:var(--radius-pill); padding:var(--space-3) var(--space-5); background:transparent; color:var(--ink-soft); text-align:center; cursor:pointer; }
.glimpio-lp .lp-switch button[aria-pressed="true"]{ background:var(--brand); color:var(--white); }
.glimpio-lp .lp-switch--map{ margin:0 0 var(--space-3); }
.glimpio-lp .lp-switch--form{ margin-bottom:var(--space-5); }
@media (max-width:640px){
    .glimpio-lp .lp-switch{ display:grid; grid-template-columns:minmax(0,1fr); border-radius:var(--radius-card); }
    .glimpio-lp .lp-switch--map{ grid-template-columns:repeat(2,minmax(0,1fr)); border-radius:var(--radius-pill); }
  }
/* e) flow card: titolo e intro a sinistra, 4 passi a destra, bottone sotto i passi */
.glimpio-lp .lp-flow-card{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:var(--space-6); align-items:start; margin-top:var(--space-5); padding:var(--space-6); background:var(--white); border:1px solid var(--line); border-radius:var(--radius-card); box-shadow:var(--card-shadow); }
.glimpio-lp .lp-flow-card h3{ font-size:var(--fs-h2s); line-height:1.2; }
.glimpio-lp .lp-flow-intro{ color:var(--ink-soft); font-size:var(--fs-lead); margin:var(--space-3) 0 0; }
.glimpio-lp .lp-flow{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--space-4); }
.glimpio-lp .lp-flow li{ display:flex; gap:var(--space-3); align-items:flex-start; font-size:var(--fs-base); line-height:1.45; min-width:0; }
.glimpio-lp .lp-flow-num{ flex:none; width:32px; height:32px; border-radius:50%; background:var(--brand); color:var(--white); font-weight:700; font-size:var(--fs-sm); display:flex; align-items:center; justify-content:center; }
.glimpio-lp .lp-flow-t{ color:var(--ink-soft); }
@media (max-width:860px){ .glimpio-lp .lp-flow-card{ grid-template-columns:minmax(0,1fr); } }
/* f) /turismo/: hero con le mappe Google (spazio 3/2 riservato con e senza JS) */
.glimpio-lp section.lp-hero--maps{ grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); align-items:center; }
@media (max-width:860px){ .glimpio-lp section.lp-hero--maps{ grid-template-columns:minmax(0,1fr); } }
.glimpio-lp .lp-maps{ min-width:0; }
.glimpio-lp .lp-map-panel{ margin:0; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); box-shadow:var(--card-shadow); overflow:hidden; }
.glimpio-lp .lp-map-box{ position:relative; aspect-ratio:3/2; }
.glimpio-lp .lp-map-frame, .glimpio-lp .lp-map-img{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; object-fit:cover; }
.glimpio-lp .lp-map-cap{ padding:var(--space-3) var(--space-4); font-weight:600; font-size:var(--fs-ui); color:var(--ink); }
/* g) card: 6 (turismo) 3/2/1 colonne, 4 (home) 4/2/1; dopo la regola a 780px delle serie, quindi vincono */
.glimpio-lp .lp-cards--six{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.glimpio-lp .lp-cards--four{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:860px){ .glimpio-lp .lp-cards--six, .glimpio-lp .lp-cards--four{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .glimpio-lp .lp-cards--six{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:480px){ .glimpio-lp .lp-cards--four{ grid-template-columns:minmax(0,1fr); } }
/* sezione con meno spazio sopra (segue una sezione con lo stesso sfondo) */
.glimpio-lp section.lp-section--tight{ padding-top:var(--space-4); }
/* pannelli nascosti dal selettore: hidden vince anche su display:grid/flex delle classi */
.glimpio-lp [hidden]{ display:none !important; }
