/* =============================================================================
   LAC — STAMPA
   Collegato dallo shell (e da 404.html, pages/*.html) con media="print"; NON
   concatenato in lac.css: carica solo quando si stampa, dopo tutti gli altri
   fogli, quindi vince a parita' di specificita' e qui !important e' legittimo
   (deve battere anche gli stili inline che GSAP lascia sugli elementi).
   Pagina bianca, inchiostro scuro, niente sfondi/gradienti, niente elementi
   fissi, tutto in flusso. Larghezza di stampa < 900px: valgono le regole
   mobile dei fogli (hero LUCA / ANDREA / CARLINO, colonna unica).
   ========================================================================== */
@media print{

  @page{margin:16mm 14mm;}

  /* ---- token: ruoli riassegnati per la carta (chi usa i token si adegua da solo) ---- */
  :root{
    --midnight:#FFFFFF;--atlantic:#FFFFFF;--deep:#FFFFFF;
    --surface:#FFFFFF;--surface-2:#FFFFFF;--surface-3:#FFFFFF;--glass:transparent;
    --bg:#FFFFFF;
    --ink:#0A1A2E;--ink-2:#12305C;--ink-3:#3B4C61;--ink-4:#3B4C61;--ink-5:#5C6B7C;
    --white:#0A1A2E;--ice:#12305C;--silver:#3B4C61;
    --electric:#2456D6;--royal:#2456D6;--gold:#8A6D3B;--on-electric:#FFFFFF;
    --electric-soft:transparent;--electric-line:#2456D6;
    --line:#B8C2CE;--line-2:#9AA6B4;--line-3:#0A1A2E;
    --grad-page:none;--grad-card:none;
    /* tipografia ridotta per la carta */
    --display:28pt;--step-5:22pt;--step-4:18pt;--step-3:15pt;--step-2:13pt;--step-1:12pt;
    --step-0:11pt;--step--1:10pt;--step--2:8pt;--figure:24pt;
    --space-3xl:1.4cm;--space-2xl:1cm;--space-xl:.8cm;
    --h-head:0px;
  }

  html,body{background:#FFFFFF!important;color:#0A1A2E!important;font-size:11pt;line-height:1.5;
    overflow:visible!important;min-height:0!important;}
  body.is-locked{overflow:visible!important;}
  *,*::before,*::after{
    background:transparent!important;background-image:none!important;
    box-shadow:none!important;text-shadow:none!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
    transition:none!important;animation:none!important;
  }
  .display,.title,.title-xl,.title-s,h1,h2,h3,h4,.num,.lead,.body,p,li,dd,dt,th,td,.label{color:#0A1A2E!important;}
  .serif{color:#12305C!important;}
  .label--blue,.num--blue,.hero-capital-sign,.hero-capital-cur,.hero-mob-num,.hero-dot,.metrics-value,
  .cmap-cap,.cmap-pct,.strat-card-cap,.mkt-idx{color:#2456D6!important;}   /* dati: blu scuro leggibile su carta */

  /* ---- fuori dalla carta: tutto cio' che e' fisso, decorativo o interattivo ---- */
  .preloader,.cursor,.cursor-dot,.cursor-ring,.menu,.capital-line,.utility,.search,.search-trigger,
  .consent,.bg-glow,.bg-glow-spot,.skip,canvas,.hero-flow,
  .header-progress,.header-theme,.header-menu,.btn-menu,.header-cta,.header-nav,
  .hero-scroll,.hero-index,.hero-cta,
  .metrics-gold,.cmap-strip,.cmap-bar,.strat-glow,.strat-detail,.strat-tip,
  .mkt-filters,.mkt-count,.mkt-spark-cursor,.mkt-read,
  .proc-rail,.faq-chevron,.ins-cta,
  .contact-fields,.contact-submit,.contact-privacy,.contact-copy,.contact-form-err,.contact-done,.contact-dialog,
  .footer-nav,.footer-legal-cookie,.foot-line,.legal-back,.notfound-actions,
  .about-portrait-bg,.about-portrait-grain{display:none!important;}

  /* ---- testata: da fissa a statica, solo il marchio ---- */
  .header,.legal-header{position:static!important;height:auto!important;padding:0 0 .5cm!important;
    border-bottom:1px solid #0A1A2E;margin-bottom:.8cm;}
  .header::before{display:none!important;}
  .header-inner,.legal-header-in{height:auto!important;padding-inline:0!important;}
  .header-logo{transform:none!important;}
  .lac-mark{color:#0A1A2E!important;height:22px!important;}
  .lac-mark-bar{fill:#2456D6!important;}
  main,header,footer{position:static!important;}

  /* ---- pin e stadi sticky: tutto torna in flusso, altezze reali ---- */
  .pin-spacer{padding:0!important;height:auto!important;min-height:0!important;position:static!important;inset:auto!important;}
  .hero,.hero-stage,.strat-viz,.strat-stage,.strat-list,.strat-slot,.strat-cols,.phil-block,.cmap-panel,.universe-panel,
  .proc-stage-wrap,.section{position:static!important;height:auto!important;min-height:0!important;max-height:none!important;
    top:auto!important;left:auto!important;width:auto!important;transform:none!important;padding-block:0!important;}
  .section{padding-block:.6cm!important;}
  .section--flush{padding-block:.6cm!important;}
  .hero{overflow:visible!important;}
  .hero-stage{display:block!important;padding-top:0!important;}
  .hero-stage > *{margin-bottom:.4cm;}
  .hero-title{font-size:28pt!important;}
  .hero-mask{overflow:visible!important;padding:0!important;margin:0!important;}
  .hero-line,.hero-title,.hero-data,.hero-data-in,.hero-kicker,.hero-mob,.hero-foot{transform:none!important;opacity:1!important;}
  html.js:not(.is-revealed) .hero-kicker,html.js:not(.is-revealed) .hero-data,
  html.js:not(.is-revealed) .hero-mob,html.js:not(.is-revealed) .hero-foot{opacity:1!important;}
  .strat-list{display:block!important;gap:0!important;padding:0!important;}
  .strat-slot{display:block!important;padding:0 0 .5cm!important;}
  html.js .strat-list.has-active .strat-card:not(.is-active) .strat-card-in{opacity:1!important;}
  .strat-legend{display:block!important;}
  .phil-block{display:block!important;padding:.3cm 0!important;}
  .phil-statement{transform:none!important;opacity:1!important;}

  /* ---- reveal non ancora scattati (GSAP lascia opacity/transform inline): tutto visibile ---- */
  main [style*="opacity"],footer [style*="opacity"]{opacity:1!important;}
  main [style*="translate"],footer [style*="translate"],main [style*="scale"]{transform:none!important;}
  .line-mask{overflow:visible!important;}
  .line-mask [data-line],.line{transform:none!important;opacity:1!important;}
  /* le sparkline si disegnano allo scroll (dasharray/offset inline): sulla carta sono intere */
  .mkt-spark-line{stroke-dasharray:none!important;stroke-dashoffset:0!important;stroke:#2456D6!important;}
  .mkt-spark-area{opacity:1!important;}
  .mkt-spark-end{transform:none!important;}
  .mkt-spark-svg{overflow:visible;}
  .mkt-spark-dot,.mkt-spark-halo{fill:#2456D6!important;}
  .mkt-card[hidden],.mkt-table tr[hidden]{display:none!important;}
  /* pannelli chiusi (universo, mappa, processo): in flusso e visibili, uno sotto l'altro */
  .universe-panel,.cmap-panel{display:block!important;position:static!important;}
  .universe-slot,.cmap-detail,.proc-panel{display:block!important;visibility:visible!important;grid-template-rows:none!important;
    height:auto!important;position:static!important;opacity:1!important;transform:none!important;}
  .universe-slot-in,.cmap-detail-in,.proc-panel-in{overflow:visible!important;opacity:1!important;visibility:visible!important;height:auto!important;}
  .universe-card,.cmap-panel .cmap-detail{opacity:1!important;visibility:visible!important;position:static!important;transform:none!important;margin:.2cm 0 .4cm!important;}
  .about-portrait-in{border:1px solid #9AA6B4;min-height:4cm;}

  /* ---- card e sezioni: in flusso, mai spezzate ---- */
  .card,.section-head,.metrics-cell,.about-stat,.universe-row,.cmap-row,.strat-card,.mkt-card,.proc-stage,
  .ins-item,.faq-item,.contact-aside,.footer-top,figure,table,tr,blockquote{break-inside:avoid;page-break-inside:avoid;}
  h1,h2,h3,.title,.title-xl,.title-s,.section-head{break-after:avoid;page-break-after:avoid;}
  .card{border:1px solid #9AA6B4!important;border-radius:0!important;}
  .card::before,.card::after{display:none!important;}
  .grid,.section-head,.hero-data-in,.about-grid,.contact-grid,.strat-cols,.mkt-grid{display:block!important;}
  .mkt-grid > *,.section-head > *{margin-bottom:.35cm;}
  .strat-card-in{opacity:1!important;}

  /* ---- pulsanti e chip: contorno, niente riempimento; link con l'URL in coda ---- */
  .btn,.chip{background:transparent!important;color:#0A1A2E!important;border:1px solid #0A1A2E!important;border-radius:0!important;
    box-shadow:none!important;transform:none!important;}
  .btn--primary{border-color:#2456D6!important;color:#2456D6!important;}
  .chip::before{background:#0A1A2E!important;box-shadow:none!important;}
  .chip--active::before,.chip--core::before{background:#2456D6!important;}
  a,a *{color:inherit!important;text-decoration:none!important;}
  a[href^="http"]::after{content:" (" attr(href) ")";font-family:var(--font-mono);font-size:8pt;font-weight:400;
    letter-spacing:0;text-transform:none;color:#3B4C61!important;word-break:break-all;}
  a[href^="http"] .arrow{display:none;}
  .arrow{transform:none!important;}

  /* ---- tabelle: bordi 1px, intestazioni scure ---- */
  .data{border-collapse:collapse!important;width:100%;font-size:10pt;}
  .data th,.data td{border:1px solid #0A1A2E!important;padding:.15cm .2cm!important;vertical-align:top!important;color:#0A1A2E!important;}
  .data thead th{font-weight:600!important;}
  .mkt-table-wrap{overflow:visible!important;margin-top:.5cm;}

  /* ---- modulo contatti: resta solo l'indirizzo diretto ---- */
  .contact-form{display:block!important;}
  .contact-actions{margin-top:0!important;display:block!important;}
  .contact-direct{font-size:11pt;}
  .contact-mail{font-family:var(--font-mono);color:#2456D6!important;}

  /* ---- piede: disclaimer per esteso e origine della stampa ---- */
  .footer,.legal-footer{border-top:1px solid #0A1A2E;padding-top:.6cm!important;margin-top:1cm;}
  .footer-name{font-size:18pt!important;}
  .footer-disclaimer-p{font-size:9pt!important;}
  footer::after{
    content:"Printed from lucaandreacarlino.com";
    display:block;margin-top:.5cm;padding-top:.2cm;border-top:1px solid #9AA6B4;
    font-family:var(--font-mono);font-size:8pt;letter-spacing:.12em;text-transform:uppercase;color:#3B4C61;
  }

  /* ---- pagine legali e 404: stesso trattamento ---- */
  .page-legal .legal-main{padding-top:0!important;}
}
