/* ==========================================================================
   Blog PIM — Magazine frontend CSS
   Brand: progettoimmagina.com (dark + cyan + Metropolis)
   v0.1.0 — palette e blocchi da mockup 01-04. Il builder a blocchi reale
   (v0.2.0) userà queste stesse classi.
   ========================================================================== */

@font-face{font-family:"Metropolis Black";font-weight:900;font-display:swap;src:url(../fonts/Metropolis-Black.woff2) format("woff2")}
@font-face{font-family:"Metropolis Bold";font-weight:700;font-display:swap;src:url(../fonts/Metropolis-Bold.woff2) format("woff2")}
@font-face{font-family:"Metropolis Medium";font-weight:500;font-display:swap;src:url(../fonts/Metropolis-Medium.woff2) format("woff2")}
@font-face{font-family:"Metropolis Regular";font-weight:400;font-display:swap;src:url(../fonts/Metropolis-Regular.woff2) format("woff2")}
@font-face{font-family:"Metropolis Light";font-weight:300;font-display:swap;src:url(../fonts/Metropolis-Light.woff2) format("woff2")}

:root{
  --pim-bg:#1f1e1d;
  --pim-bg-alt:#363535;
  --pim-bg-soft:#2b2a29;
  --pim-text:#ffffff;
  --pim-text-body:#d4d3d2;
  --pim-faded:#999;
  --pim-primary:#008987;
  --pim-accent:#00ffe3;
  --pim-accent-glow:#80f0de;
  --font-body:"Metropolis Regular",system-ui,sans-serif;
  --font-bold:"Metropolis Bold",system-ui,sans-serif;
  --font-display:"Metropolis Black",system-ui,sans-serif;
  --font-light:"Metropolis Light",system-ui,sans-serif;
  --col:1200px;
  --col-narrow:920px;
  --col-wide:1500px;
}

/* v2.6.3 — FORTEZZA: ! important su body styles core per vincere contro
   eventuali CSS residui del tema che scappano al cleanup. */
html.blog-pim-magazine,body.blog-pim-magazine{font-size:clamp(14px,1.05vw,22px) !important;background:var(--pim-bg) !important}
body.blog-pim-magazine{margin:0 !important;padding:0 !important;font-family:var(--font-body) !important;color:var(--pim-text) !important;line-height:1.5 !important;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.blog-pim-magazine *,body.blog-pim-magazine *::before,body.blog-pim-magazine *::after{box-sizing:border-box}
body.blog-pim-magazine b,body.blog-pim-magazine strong{font-family:var(--font-bold);font-weight:700}
body.blog-pim-magazine a{color:var(--pim-accent);text-decoration:none;transition:color .15s}
body.blog-pim-magazine a:hover{color:var(--pim-accent-glow)}

/* v2.6.3 — defensive: blocca CSS theme container che potrebbe avvolgere il content */
body.blog-pim-magazine .l-section,
body.blog-pim-magazine .l-main,
body.blog-pim-magazine .l-canvas,
body.blog-pim-magazine .l-titlebar,
body.blog-pim-magazine .w-header,
body.blog-pim-magazine .w-footer,
body.blog-pim-magazine .grecaptcha-badge {
    display: none !important;
}

/* HEADER (vecchio — usato dal mockup originale) */
.pim-header{position:sticky;top:0;z-index:50;background:rgba(31,30,29,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06)}
.pim-header-inner{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 5vw;max-width:1800px;margin:0 auto}
.pim-logo{font-family:var(--font-display);font-size:1.1rem;letter-spacing:.02em;color:#fff;text-decoration:none;border:none}
.pim-logo span{color:var(--pim-accent)}
.pim-nav{display:flex;gap:2rem;font-family:var(--font-bold);font-size:.85rem}
.pim-nav a{color:#fff;text-transform:lowercase;letter-spacing:.02em}
.pim-nav a.active{color:var(--pim-accent)}

/* HEADER MAGAZINE STANDALONE — logo PIM + hamburger */
.pim-header-mag{position:sticky;top:0;z-index:50;background:rgba(31,30,29,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,255,227,.1)}
.pim-header-mag .pim-header-inner{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 5vw;max-width:1800px;margin:0 auto}
.pim-logo-mag{display:inline-flex;align-items:center;text-decoration:none;border:none}
.pim-logo-mag img{height:42px;width:auto;display:block;filter:brightness(0) invert(1)}
.pim-logo-mag:hover img{filter:brightness(0) invert(1) drop-shadow(0 0 8px rgba(0,255,227,.3))}

/* HAMBURGER button */
.pim-hamburger{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:6px;width:44px;height:44px;background:transparent;border:none;cursor:pointer;padding:0}
.pim-hamburger span{display:block;width:32px;height:2.5px;background:#fff;border-radius:1px;transition:all .25s}
.pim-hamburger:hover span{background:var(--pim-accent)}
.pim-hamburger span:nth-child(2){width:24px}
.pim-hamburger.open span:nth-child(1){transform:translateY(8px) rotate(45deg);width:32px}
.pim-hamburger.open span:nth-child(2){opacity:0}
.pim-hamburger.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg);width:32px}

/* MENU OVERLAY */
.pim-menu-overlay{position:fixed;inset:0;background:var(--pim-bg);z-index:60;opacity:0;visibility:hidden;transition:opacity .3s, visibility .3s;display:flex;align-items:center;justify-content:center;padding:5vh 5vw;overflow-y:auto}
.pim-menu-overlay.open{opacity:1;visibility:visible}
.pim-menu-overlay::before{content:"";position:absolute;top:20%;right:15%;width:300px;height:300px;background:var(--pim-accent-glow);border-radius:50%;filter:blur(180px);opacity:.18;pointer-events:none}
.pim-menu-close{position:absolute;top:1.5rem;right:1.5rem;width:3rem;height:3rem;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:1.4rem;font-family:var(--font-bold);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;z-index:2}
.pim-menu-close:hover{background:var(--pim-accent);color:var(--pim-bg);border-color:var(--pim-accent);transform:rotate(90deg)}
.pim-menu-inner{max-width:900px;width:100%;position:relative;z-index:1}
.pim-menu-eyebrow{font-family:var(--font-bold);font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pim-accent);margin-bottom:2.5rem}
.pim-menu-list{list-style:none;padding:0;margin:0 0 3rem}
.pim-menu-list li{margin-bottom:.5rem;opacity:0;transform:translateY(20px);transition:opacity .4s, transform .4s}
.pim-menu-overlay.open .pim-menu-list li{opacity:1;transform:translateY(0)}
.pim-menu-overlay.open .pim-menu-list li:nth-child(1){transition-delay:.1s}
.pim-menu-overlay.open .pim-menu-list li:nth-child(2){transition-delay:.15s}
.pim-menu-overlay.open .pim-menu-list li:nth-child(3){transition-delay:.2s}
.pim-menu-overlay.open .pim-menu-list li:nth-child(4){transition-delay:.25s}
.pim-menu-overlay.open .pim-menu-list li:nth-child(5){transition-delay:.3s}
.pim-menu-overlay.open .pim-menu-list li:nth-child(6){transition-delay:.35s}
.pim-menu-overlay.open .pim-menu-list li:nth-child(7){transition-delay:.4s}
.pim-menu-overlay.open .pim-menu-list li:nth-child(8){transition-delay:.45s}
.pim-menu-overlay.open .pim-menu-list li:nth-child(9){transition-delay:.5s}
.pim-menu-list a{display:block;font-family:var(--font-display);font-size:clamp(2rem,6vw,4.5rem);line-height:1.05;color:#fff;text-decoration:none;letter-spacing:-.015em;padding:.4rem 0;transition:color .15s,padding .25s}
.pim-menu-list a:hover{color:var(--pim-accent);padding-left:1rem}
.pim-menu-footer{padding-top:2rem;border-top:1px solid rgba(255,255,255,.08);font-family:var(--font-bold);font-size:.85rem;color:var(--pim-faded)}
.pim-menu-footer a{color:var(--pim-faded);text-transform:lowercase;letter-spacing:.05em;transition:color .15s}
.pim-menu-footer a:hover{color:var(--pim-accent)}

body.pim-menu-open{overflow:hidden}

/* HERO archivio */
.pim-hero{padding:5rem 5vw 3rem;max-width:1800px;margin:0 auto;position:relative}
.pim-hero::before{content:"";position:absolute;top:30%;left:55%;width:200px;height:200px;background:var(--pim-accent-glow);border-radius:50%;filter:blur(120px);opacity:.35;pointer-events:none;z-index:0}
.pim-hero-eyebrow{font-family:var(--font-bold);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;color:var(--pim-accent);margin-bottom:1.5rem;position:relative;z-index:1}
.pim-hero-title{font-family:var(--font-display);font-size:clamp(3.5rem,11vw,14rem);line-height:.9;letter-spacing:-.02em;margin:0 0 1.5rem;color:#fff;position:relative;z-index:1}
.pim-hero-title em{color:var(--pim-accent);font-style:normal}
.pim-hero-sub{max-width:30rem;font-size:1.15rem;line-height:1.5;color:var(--pim-faded);position:relative;z-index:1}

/* BREADCRUMB */
.pim-breadcrumb{font-family:var(--font-bold);font-size:.8rem;text-transform:lowercase;letter-spacing:.08em;color:var(--pim-faded);margin-bottom:1.5rem;position:relative;z-index:1}
.pim-breadcrumb a{color:var(--pim-faded)}
.pim-breadcrumb a:hover{color:var(--pim-accent)}
.pim-breadcrumb .sep{margin:0 .6rem;opacity:.5}
.pim-breadcrumb .current{color:var(--pim-accent)}

/* FILTRI chip */
.pim-filters{padding:1rem 5vw 2.5rem;max-width:1800px;margin:0 auto;display:flex;flex-wrap:wrap;gap:.5rem}
.pim-chip{font-family:var(--font-bold);font-size:.8rem;padding:.55rem 1.2rem;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;text-transform:lowercase;letter-spacing:.02em;transition:all .15s;text-decoration:none;display:inline-block}
.pim-chip:hover{border-color:var(--pim-accent);color:var(--pim-accent)}
.pim-chip.active{background:var(--pim-accent);color:var(--pim-bg);border-color:var(--pim-accent)}

/* GRID anteprime */
.pim-grid-section{padding:0 5vw 6rem;max-width:1800px;margin:0 auto}
.pim-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2rem;border-top:1px solid rgba(255,255,255,.1);padding-top:2rem}
.pim-section-head h3{font-family:var(--font-display);font-size:2rem;line-height:1;letter-spacing:-.01em;margin:0;color:#fff}
.pim-section-count{font-family:var(--font-body);font-size:.9rem;color:var(--pim-faded)}
.pim-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 2rem}
.pim-card{display:flex;flex-direction:column;background:transparent;text-decoration:none;color:inherit}
.pim-card-img{aspect-ratio:4/3;border-radius:.75rem;overflow:hidden;margin-bottom:1.25rem;position:relative;background:#333;transition:transform .3s ease}
.pim-card:hover .pim-card-img{transform:translateY(-4px)}
.pim-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.pim-card:hover .pim-card-img img{transform:scale(1.04)}
.pim-card-meta{display:flex;gap:.75rem;align-items:center;font-family:var(--font-bold);font-size:.7rem;text-transform:lowercase;letter-spacing:.08em;color:var(--pim-faded);margin-bottom:.75rem}
.pim-card-meta .cat{color:var(--pim-accent)}
.pim-card h4{font-family:var(--font-display);font-size:1.5rem;line-height:1.05;letter-spacing:-.005em;margin:0 0 .65rem;color:#fff;transition:color .15s}
.pim-card:hover h4{color:var(--pim-accent)}
.pim-card-excerpt{font-size:.95rem;line-height:1.5;color:#bdbcbb;margin:0}
.pim-card.note{background:linear-gradient(135deg,#2b2a29 0%,#1f1e1d 100%);border:1px solid rgba(255,255,255,.06);border-radius:.75rem;padding:1.75rem}
.pim-card.note::before{content:"📣 annuncio";display:inline-block;font-family:var(--font-bold);font-size:.7rem;letter-spacing:.1em;color:var(--pim-accent);margin-bottom:.75rem}
.pim-card.note h4{font-size:1.3rem}

/* PAGINATION */
.pim-pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:3rem 5vw 6rem}
.pim-page-btn{font-family:var(--font-bold);font-size:.85rem;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;transition:all .15s;text-decoration:none}
.pim-page-btn:hover{border-color:var(--pim-accent);color:var(--pim-accent)}
.pim-page-btn.active{background:var(--pim-accent);color:var(--pim-bg);border-color:var(--pim-accent)}

/* ARTICOLO singolo: hero */
.pim-article-hero{padding:5rem 5vw 3rem;max-width:1800px;margin:0 auto;position:relative}
.pim-article-category{display:inline-block;font-family:var(--font-bold);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--pim-accent);margin-bottom:1.5rem}
.pim-article-title{font-family:var(--font-display);font-size:clamp(3rem,8.5vw,9rem);line-height:.9;letter-spacing:-.02em;color:#fff;margin:0 0 1.5rem}
.pim-article-title em{color:var(--pim-accent);font-style:normal}
.pim-article-sub{font-family:var(--font-light);font-size:clamp(1.2rem,1.8vw,1.6rem);line-height:1.4;color:var(--pim-faded);max-width:48rem;margin:0 0 2.5rem}
.pim-article-meta{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;font-family:var(--font-bold);font-size:.8rem;text-transform:lowercase;letter-spacing:.05em;color:var(--pim-faded);padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1)}
.pim-author{display:flex;gap:.75rem;align-items:center}
.pim-author-avatar{width:2.2rem;height:2.2rem;border-radius:50%;background:linear-gradient(135deg,var(--pim-primary),var(--pim-accent));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);color:var(--pim-bg);font-size:.85rem}
.pim-author-name{color:#fff}
.pim-meta-dot{opacity:.5}
.pim-meta-tag{color:var(--pim-accent)}

/* COVER full-bleed */
.pim-article-cover{margin:0 0 4rem;width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;aspect-ratio:21/9;max-height:90vh;background:#333 center/cover}

/* BODY articolo */
.pim-article-body{max-width:1800px;margin:0 auto;padding:0 5vw 4rem}

/* BLOCCO base — paragrafo column */
.pim-block{max-width:var(--col);margin:0 auto 1.6em}
.pim-block p{font-size:1.18rem;line-height:1.7;color:var(--pim-text-body);margin:0 0 1.4em}

/* Paragrafo narrow */
.pim-block.narrow{max-width:var(--col-narrow)}

/* Paragrafo pullquote */
.pim-block.pullquote{max-width:var(--col);margin-top:3rem;margin-bottom:3rem;padding:1.5rem 0;border-top:1px solid rgba(0,255,227,.3);border-bottom:1px solid rgba(0,255,227,.3)}
.pim-block.pullquote p{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.1;color:#fff;margin:0;letter-spacing:-.01em}
.pim-block.pullquote p em{color:var(--pim-accent);font-style:normal}

/* Headings */
.pim-block h2,.pim-article-body h2{font-family:var(--font-display);font-size:clamp(1.8rem,3.2vw,3rem);line-height:1;letter-spacing:-.01em;color:#fff;margin:3.5rem auto 1.5rem;max-width:var(--col)}
.pim-block h3,.pim-article-body h3{font-family:var(--font-bold);font-size:1.45rem;line-height:1.2;color:#fff;margin:2.5rem auto 1rem;max-width:var(--col)}

/* Liste */
.pim-block ul,.pim-block ol{font-size:1.18rem;line-height:1.7;padding-left:1.5em;margin:0 0 1.5em;color:var(--pim-text-body)}
.pim-block li{margin-bottom:.5em}
.pim-block ul li::marker{color:var(--pim-accent)}

/* IMMAGINI 3 width */
.pim-fig{margin:3rem auto;padding:0}
.pim-fig img{display:block;width:100%;height:auto;border-radius:.5rem}
.pim-fig figcaption{font-family:var(--font-bold);font-size:.85rem;color:var(--pim-faded);margin-top:.85rem;padding:0 .25rem;text-align:left;line-height:1.4}
.pim-fig.column{max-width:var(--col)}
.pim-fig.wide{max-width:var(--col-wide)}
.pim-fig.full{max-width:none;width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
.pim-fig.full img{border-radius:0}
.pim-fig.full figcaption{max-width:var(--col);margin:.85rem auto 0;padding:0 5vw}

/* SPLIT paragrafo+immagine */
.pim-split{max-width:var(--col);margin:3rem auto;display:grid;grid-template-columns:2fr 1fr;gap:2.5rem;align-items:start}
.pim-split.flip{grid-template-columns:1fr 2fr}
.pim-split.flip .pim-split-img{order:-1}
.pim-split.wide{max-width:var(--col-wide)}
.pim-split p{font-size:1.18rem;line-height:1.7;color:var(--pim-text-body);margin:0 0 1em}
.pim-split-img img{width:100%;height:auto;display:block;border-radius:.5rem}
.pim-split-img figcaption{font-family:var(--font-bold);font-size:.78rem;color:var(--pim-faded);margin-top:.65rem;line-height:1.4}

/* QUOTE 3 layout */
.pim-quote{font-family:var(--font-display);letter-spacing:-.01em;line-height:1.1;color:#fff;margin:3rem auto;position:relative}
.pim-quote cite{display:block;font-family:var(--font-bold);font-size:.85rem;font-style:normal;color:var(--pim-accent);margin-top:1rem;letter-spacing:.05em;text-transform:lowercase}
.pim-quote.inline{max-width:var(--col);font-size:1.8rem;padding-left:1.5rem;border-left:3px solid var(--pim-accent)}
.pim-quote.fullwidth{max-width:var(--col);text-align:center;font-size:clamp(2.2rem,4vw,4rem);padding:2.5rem 0}
.pim-quote.fullwidth::before{content:"\201C";display:block;font-size:6rem;line-height:.5;color:var(--pim-accent);margin-bottom:1rem;opacity:.4}
.pim-quote.aside{max-width:var(--col);display:grid;grid-template-columns:var(--col-narrow) 1fr;gap:2rem;align-items:start;font-family:var(--font-body);font-size:1.18rem;line-height:1.7;color:var(--pim-text-body)}
.pim-quote.aside .aside-text{font-family:var(--font-display);font-size:1.5rem;line-height:1.15;color:var(--pim-accent);padding-left:1.25rem;border-left:2px solid var(--pim-accent);letter-spacing:-.005em}
.pim-quote.aside p{margin:0}

/* GALLERIA */
.pim-gallery{margin:3.5rem auto;display:grid;gap:1rem}
.pim-gallery img{width:100%;height:auto;display:block;border-radius:.5rem;aspect-ratio:1;object-fit:cover}
.pim-gallery.grid-2col{max-width:var(--col);grid-template-columns:repeat(2,1fr)}
.pim-gallery.grid-3col{max-width:var(--col);grid-template-columns:repeat(3,1fr)}
.pim-gallery.grid-4col{max-width:var(--col);grid-template-columns:repeat(4,1fr)}
.pim-gallery.wide{max-width:var(--col-wide)}
.pim-gallery.carousel{max-width:none;width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;grid-auto-flow:column;grid-auto-columns:30vw;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 5vw}
.pim-gallery.carousel img{scroll-snap-align:start}

/* VIDEO */
.pim-video{margin:3rem auto;aspect-ratio:16/9;max-height:90vh;background:linear-gradient(135deg,#2b2a29 0%,#1f1e1d 100%);border:1px solid rgba(0,255,227,.15);border-radius:.75rem;position:relative;cursor:pointer;overflow:hidden}
.pim-video.column{max-width:var(--col)}
.pim-video.wide{max-width:var(--col-wide)}
.pim-video.full{max-width:none;width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;border-radius:0;border-left:0;border-right:0}
.pim-video::after{content:"▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;color:var(--pim-accent);width:5rem;height:5rem;border-radius:50%;background:rgba(31,30,29,.7);border:2px solid var(--pim-accent);display:flex;align-items:center;justify-content:center;padding-left:.4rem;transition:transform .2s}
.pim-video:hover::after{transform:translate(-50%,-50%) scale(1.1)}
.pim-video.popup::after{background:var(--pim-accent);color:var(--pim-bg);box-shadow:0 0 60px rgba(0,255,227,.4);width:6rem;height:6rem}

/* DIVIDER */
.pim-divider{max-width:var(--col);margin:4rem auto;display:flex;align-items:center;justify-content:center}
.pim-divider.line{height:1px;background:linear-gradient(90deg,transparent 0%,rgba(0,255,227,.4) 50%,transparent 100%)}
.pim-divider.asterisks{font-family:var(--font-display);font-size:1.5rem;color:var(--pim-accent);letter-spacing:.6em;padding-left:.6em}
.pim-divider.asterisks::before{content:"* * *"}
.pim-divider.dots{height:6px;background-image:radial-gradient(circle,var(--pim-accent) 2px,transparent 2px);background-size:14px 6px;background-repeat:repeat-x;background-position:center}

/* PULL STATS */
.pim-stats{max-width:var(--col);margin:4rem auto;display:grid;gap:3rem;padding:3rem 0;border-top:1px solid rgba(0,255,227,.2);border-bottom:1px solid rgba(0,255,227,.2)}
.pim-stats.cols-1{grid-template-columns:1fr;text-align:center}
.pim-stats.cols-2{grid-template-columns:repeat(2,1fr)}
.pim-stats.cols-3{grid-template-columns:repeat(3,1fr)}
.pim-stats-value{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,5rem);line-height:1;color:var(--pim-accent);letter-spacing:-.02em;margin:0 0 .5rem}
.pim-stats-label{font-family:var(--font-bold);font-size:.88rem;text-transform:lowercase;letter-spacing:.04em;color:var(--pim-text-body);line-height:1.4}

/* EMBED esterno */
.pim-embed{max-width:var(--col);margin:3rem auto;border:1px solid rgba(255,255,255,.12);border-radius:.75rem;background:linear-gradient(135deg,#2b2a29 0%,#1f1e1d 100%);overflow:hidden}
.pim-embed-platform{display:flex;align-items:center;gap:.6rem;padding:.9rem 1.3rem;font-family:var(--font-bold);font-size:.78rem;color:var(--pim-faded);border-bottom:1px solid rgba(255,255,255,.08);text-transform:lowercase;letter-spacing:.04em}
.pim-embed-platform .ico{font-size:1.1rem;color:var(--pim-accent)}
.pim-embed-body{padding:1.5rem 1.75rem;font-size:1.05rem;line-height:1.55;color:var(--pim-text-body)}

/* RELATED articles */
.pim-related{max-width:1800px;margin:0 auto;padding:4rem 5vw 6rem;border-top:1px solid rgba(255,255,255,.1)}
.pim-related h3{font-family:var(--font-display);font-size:2rem;line-height:1;color:#fff;margin:0 0 2rem}
.pim-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.pim-related-card{text-decoration:none;color:inherit}
.pim-related-card .img{aspect-ratio:4/3;border-radius:.75rem;overflow:hidden;background:#333;margin-bottom:1rem}
.pim-related-card .img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.pim-related-card:hover .img img{transform:scale(1.04)}
.pim-related-card .cat{font-family:var(--font-bold);font-size:.7rem;letter-spacing:.08em;color:var(--pim-accent);text-transform:lowercase;margin-bottom:.4rem;display:block}
.pim-related-card h4{font-family:var(--font-display);font-size:1.3rem;line-height:1.1;margin:0;color:#fff;letter-spacing:-.005em}
.pim-related-card:hover h4{color:var(--pim-accent)}

/* FOOTER (vecchio — usato dal mockup originale) */
.pim-footer{background:#161514;border-top:1px solid rgba(0,255,227,.15);padding:4rem 5vw 2rem;text-align:center;font-family:var(--font-bold);font-size:.8rem;letter-spacing:.1em;color:var(--pim-faded);text-transform:lowercase}
.pim-footer-cta{font-family:var(--font-display);font-size:clamp(2rem,5vw,4rem);line-height:1;letter-spacing:-.01em;color:#fff;margin-bottom:2rem}
.pim-footer-cta em{color:var(--pim-accent);font-style:normal}

/* FOOTER MAGAZINE STANDALONE — col 3 colonne + bottom CTA */
.pim-footer-mag{background:#161514;border-top:1px solid rgba(0,255,227,.15);padding:4rem 5vw 2rem;font-family:var(--font-body);color:var(--pim-faded);text-align:left;text-transform:none;letter-spacing:0;font-size:.9rem}
.pim-footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;max-width:1400px;margin:0 auto 3rem}
.pim-footer-col ul{list-style:none;padding:0;margin:0}
.pim-footer-col li{margin-bottom:.5rem;line-height:1.5}
.pim-footer-col a{color:var(--pim-faded);text-decoration:none;transition:color .15s}
.pim-footer-col a:hover{color:var(--pim-accent)}
.pim-footer-eyebrow{font-family:var(--font-bold);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--pim-accent);margin-bottom:1rem}
.pim-footer-bottom{max-width:1400px;margin:0 auto;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap}
.pim-footer-mag .pim-footer-cta{font-family:var(--font-display);font-size:clamp(1.5rem,3.5vw,3rem);line-height:1;letter-spacing:-.01em;color:#fff;margin:0;text-transform:none}
.pim-footer-mag .pim-footer-cta em{color:var(--pim-accent);font-style:normal}
.pim-footer-meta{font-family:var(--font-bold);font-size:.72rem;letter-spacing:.05em;text-transform:lowercase;color:var(--pim-faded);text-align:right;line-height:1.6}
@media (max-width:700px){.pim-footer-cols{grid-template-columns:1fr;gap:2rem}.pim-footer-bottom{flex-direction:column;align-items:flex-start;gap:1rem}.pim-footer-meta{text-align:left}}

/* === TOC sticky === */
.pim-toc{position:fixed;right:2rem;top:50%;transform:translateY(-50%);max-width:220px;z-index:10}
.pim-toc-label{font-family:var(--font-bold);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pim-accent);margin-bottom:1rem}
.pim-toc ul{list-style:none;padding:0;margin:0}
.pim-toc li{margin-bottom:.85rem;padding-left:1rem;border-left:1px solid rgba(255,255,255,.15);font-size:.8rem;line-height:1.3;transition:border-color .2s}
.pim-toc li a{color:var(--pim-faded);font-family:var(--font-bold);transition:color .15s}
.pim-toc li a:hover{color:#fff}
.pim-toc li.active{border-left:2px solid var(--pim-accent);padding-left:calc(1rem - 1px)}
.pim-toc li.active a{color:var(--pim-accent)}
@media (max-width:1400px){.pim-toc{display:none}}

/* === VIDEO popup modal (port pixel-fedele mockup 11) === */
.pim-video-overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,.85);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  z-index:200;
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;
  padding:2rem 3rem;
  animation:bpim-overlay-fadein .25s ease-out;
}
.pim-video-overlay[hidden]{display:none}
@keyframes bpim-overlay-fadein{from{opacity:0}to{opacity:1}}

.pim-overlay-close{
  position:absolute;top:1.5rem;right:1.5rem;
  width:3rem;height:3rem;border-radius:50%;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;font-size:1.3rem;font-family:var(--font-bold);
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .15s;
}
.pim-overlay-close:hover{
  background:var(--pim-accent);color:var(--pim-bg);border-color:var(--pim-accent);
  transform:scale(1.05);
}

.pim-overlay-hint{
  font-family:var(--font-bold);font-size:.75rem;
  letter-spacing:.1em;color:var(--pim-faded);text-transform:uppercase;
  margin-bottom:1.5rem;
}
.pim-overlay-hint kbd{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  padding:.2rem .5rem;border-radius:.3rem;
  font-family:Menlo,monospace;font-size:.72rem;
  color:#fff;margin:0 .15rem;
}

.pim-video-modal-frame{
  width:100%;max-width:1400px;
  aspect-ratio:16/9;max-height:80vh;
  background:#000;
  border-radius:.75rem;
  overflow:hidden;
  position:relative;
  box-shadow:0 0 80px rgba(0,255,227,.25);
  border:1px solid rgba(0,255,227,.2);
  animation:bpim-modal-zoomin .3s cubic-bezier(.18,.89,.32,1.28);
}
@keyframes bpim-modal-zoomin{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
.pim-video-modal-frame iframe,
.pim-video-modal-frame video{width:100%;height:100%;border:none;display:block}

.pim-video-caption{
  margin-top:1.5rem;text-align:center;max-width:60rem;
}
.pim-video-caption-title{
  font-family:var(--font-display);
  font-size:1.5rem;line-height:1.1;color:#fff;
  margin-bottom:.4rem;letter-spacing:-.005em;
}
.pim-video-caption-desc{
  font-family:var(--font-body);font-size:.95rem;
  color:var(--pim-faded);line-height:1.5;
}

.pim-video-controls{
  position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;
  display:flex;align-items:center;gap:1rem;
  font-family:var(--font-bold);font-size:.78rem;color:#fff;
  z-index:2;
}
.pim-video-controls-progress{
  flex:1;height:4px;background:rgba(255,255,255,.2);border-radius:2px;
  position:relative;
}
.pim-video-controls-progress::after{
  content:"";position:absolute;left:0;top:0;bottom:0;
  width:35%;background:var(--pim-accent);border-radius:2px;
}
.pim-video-time{font-family:Menlo,monospace;font-size:.78rem}

@media (max-width:600px){
  .pim-video-modal-frame{aspect-ratio:auto;height:50vh}
  .pim-video-overlay{padding:1rem}
}

/* === Hero "contained" mode === */
.pim-article-hero.mode-contained{max-width:var(--col)}
.pim-article-cover.mode-contained{width:100%;max-width:var(--col);margin:0 auto 4rem;position:relative;left:auto;right:auto}

/* === CASE STUDY === */
.cs-hero{padding:5rem 5vw 4rem;max-width:1800px;margin:0 auto;position:relative}
.cs-hero::before{content:"";position:absolute;top:30%;left:60%;width:220px;height:220px;background:var(--pim-accent-glow);border-radius:50%;filter:blur(120px);opacity:.3;pointer-events:none}
.cs-eyebrow{display:flex;gap:1rem;align-items:center;font-family:var(--font-bold);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;color:var(--pim-accent);margin-bottom:2rem;position:relative;z-index:1}
.cs-eyebrow .dot{color:rgba(255,255,255,.3)}
.cs-eyebrow .service{color:#fff}
.cs-title{font-family:var(--font-display);font-size:clamp(3rem,8.5vw,9rem);line-height:.9;letter-spacing:-.02em;color:#fff;margin:0 0 2rem;position:relative;z-index:1}
.cs-oneliner{font-family:var(--font-light);font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.4;color:var(--pim-text-body);max-width:50rem;margin:0 0 3rem;position:relative;z-index:1}
.cs-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding:2.5rem 0 0;border-top:1px solid rgba(255,255,255,.1);position:relative;z-index:1}
.cs-fact-label{font-family:var(--font-bold);font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--pim-faded);margin-bottom:.5rem}
.cs-fact-value{font-family:var(--font-display);font-size:1.4rem;color:#fff;line-height:1.1}
.cs-cover{margin:4rem 0;width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;aspect-ratio:21/9;max-height:90vh;background:#333 center/cover}
.cs-section{max-width:var(--col-wide);margin:0 auto;padding:5rem 5vw;position:relative}
.cs-step-num{font-family:var(--font-display);font-size:clamp(5rem,12vw,12rem);line-height:.85;color:var(--pim-accent);opacity:.15;letter-spacing:-.04em;margin:0;position:absolute;top:3rem;right:5vw;pointer-events:none}
.cs-step-tag{font-family:var(--font-bold);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;color:var(--pim-accent);margin-bottom:1.5rem;display:inline-block;padding:.4rem 1rem;background:rgba(0,255,227,.1);border-radius:999px}
.cs-section h2{font-family:var(--font-display);font-size:clamp(2.2rem,4.5vw,4rem);line-height:1;letter-spacing:-.015em;color:#fff;margin:0 0 2rem;max-width:30rem}
.cs-section h2 em{color:var(--pim-accent);font-style:normal}
.cs-section-body{max-width:var(--col)}
.cs-section-body p{font-size:1.2rem;line-height:1.7;margin:0 0 1.5em}
.cs-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:3rem 0 0;max-width:var(--col-wide)}
.cs-gallery img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:.5rem;display:block}
.cs-gallery .span2{grid-column:span 2;aspect-ratio:2/1}
.cs-results{background:linear-gradient(135deg,#2b2a29 0%,#1f1e1d 100%);margin:5rem 0;padding:5rem 5vw;border-top:1px solid rgba(0,255,227,.2);border-bottom:1px solid rgba(0,255,227,.2)}
.cs-results-inner{max-width:var(--col-wide);margin:0 auto}
.cs-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:3rem}
.cs-stat-value{font-family:var(--font-display);font-size:clamp(3rem,6vw,5rem);line-height:1;color:var(--pim-accent);letter-spacing:-.02em;margin:0 0 .5rem}
.cs-stat-label{font-family:var(--font-bold);font-size:.85rem;text-transform:lowercase;letter-spacing:.05em;color:var(--pim-text-body);line-height:1.4}
.cs-cta{max-width:var(--col-wide);margin:0 auto;padding:5rem 5vw;text-align:center}
.cs-cta h3{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4.5rem);line-height:1;color:#fff;margin:0 0 1.5rem;letter-spacing:-.01em}
.cs-cta h3 em{color:var(--pim-accent);font-style:normal}
.cs-cta-btn{display:inline-block;font-family:var(--font-bold);font-size:1rem;letter-spacing:.05em;padding:1rem 2.5rem;background:var(--pim-accent);color:var(--pim-bg);border-radius:999px;text-decoration:none;transition:all .2s}
.cs-cta-btn:hover{background:var(--pim-accent-glow);transform:translateY(-2px)}

/* === ANNUNCIO BREVE === */
.note-wrap{max-width:1800px;margin:0 auto;padding:5rem 5vw 4rem;position:relative}
.note-body{max-width:1200px;margin:0 auto}
.note-summary{max-width:50rem}
.note-back{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-bold);font-size:.8rem;color:var(--pim-faded);text-transform:lowercase;letter-spacing:.05em;margin-bottom:3rem;text-decoration:none}
.note-back::before{content:"←"}
.note-back:hover{color:var(--pim-accent)}
.note-badge{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-bold);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--pim-bg);background:var(--pim-accent);padding:.45rem 1rem;border-radius:999px;margin-bottom:2rem}
.note-title{font-family:var(--font-display);font-size:clamp(3rem,8.5vw,9rem);line-height:.9;letter-spacing:-.02em;color:#fff;margin:0 0 1.5rem}
.note-summary{font-family:var(--font-light);font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.45;color:#e8e7e6;margin:0 0 2.5rem}
.note-meta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;font-family:var(--font-bold);font-size:.8rem;text-transform:lowercase;letter-spacing:.05em;color:var(--pim-faded);padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:3rem}
.note-author{display:flex;gap:.6rem;align-items:center;color:#fff}
.note-author .avatar{width:2rem;height:2rem;border-radius:50%;background:linear-gradient(135deg,var(--pim-primary),var(--pim-accent));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);color:var(--pim-bg);font-size:.75rem}
.note-meta .dot{opacity:.5}
.note-meta .cat{color:var(--pim-accent)}
.note-image{margin:0 0 3rem;width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;aspect-ratio:21/9;max-height:90vh;background:#333 center/cover}
.note-body p{font-size:1.18rem;line-height:1.75;margin:0 0 1.4em;color:var(--pim-text-body)}
.note-body p:first-of-type{font-family:var(--font-light);font-size:1.35rem;line-height:1.5;color:#e8e7e6}
.other-notes{max-width:1200px;margin:5rem auto 0;padding:3rem 5vw 5rem;border-top:1px solid rgba(255,255,255,.1)}
.other-notes-title{font-family:var(--font-display);font-size:1.5rem;color:#fff;margin:0 0 1.5rem;letter-spacing:-.005em}
.other-note{display:block;padding:1.25rem 0;border-bottom:1px solid rgba(255,255,255,.08);text-decoration:none;color:inherit}
.other-note:hover .other-note-h4{color:var(--pim-accent)}
.other-note-meta{display:flex;gap:.6rem;align-items:center;font-family:var(--font-bold);font-size:.7rem;letter-spacing:.08em;text-transform:lowercase;color:var(--pim-faded);margin-bottom:.4rem}
.other-note-meta .cat{color:var(--pim-accent)}
.other-note-meta .dot{opacity:.5}
.other-note-h4{font-family:var(--font-bold);font-size:1.05rem;line-height:1.3;margin:0;color:#fff;transition:color .15s}

/* === FEATURED ARTICLE (archivio + shortcode con featured="yes") === */
.pim-featured{padding:0 5vw 4rem;max-width:1800px;margin:0 auto}
.pim-featured-card{
  display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;
  align-items:center;padding:2.5rem;
  border-radius:1.5rem;
  background:linear-gradient(135deg,#2b2a29 0%,#1f1e1d 100%);
  border:1px solid rgba(0,255,227,.12);
  position:relative;overflow:hidden;
  text-decoration:none;color:inherit;
  transition:border-color .25s, transform .25s;
}
.pim-featured-card:hover{border-color:rgba(0,255,227,.35);transform:translateY(-2px)}
.pim-featured-card::before{
  content:"in evidenza";
  position:absolute;top:1.5rem;right:1.5rem;
  font-family:var(--font-bold);font-size:.7rem;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--pim-accent);
  background:rgba(0,255,227,.1);
  padding:.4rem .8rem;border-radius:999px;
  z-index:1;
}
.pim-featured-img{
  aspect-ratio:4/3;border-radius:1rem;
  background:#444 center/cover no-repeat;
}
.pim-featured-img.empty{
  background:linear-gradient(135deg,#2b2a29 0%,#1f1e1d 100%);
  display:flex;align-items:center;justify-content:center;
  font-size:4rem;color:var(--pim-accent);opacity:.5;
}
.pim-featured-meta{
  display:flex;gap:1rem;align-items:center;flex-wrap:wrap;
  font-family:var(--font-bold);font-size:.75rem;
  text-transform:lowercase;letter-spacing:.05em;
  color:var(--pim-faded);
  margin-bottom:1rem;
}
.pim-featured-meta .cat{color:var(--pim-accent)}
.pim-featured-meta .dot{opacity:.5}
.pim-featured h2{
  font-family:var(--font-display);
  font-size:clamp(1.8rem,3vw,3.4rem);
  line-height:1.05;letter-spacing:-.01em;
  margin:0 0 1rem;color:#fff;
}
.pim-featured h2 em{color:var(--pim-accent);font-style:normal}
.pim-featured p{
  font-size:1.05rem;line-height:1.55;
  color:#cfcecd;margin:0 0 1.5rem;
  max-width:36rem;
}
.pim-read-cta{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--font-bold);font-size:.95rem;
  color:var(--pim-accent);
  border:none;background:transparent;cursor:pointer;
  padding:0;
}
.pim-read-cta::after{content:"→";transition:transform .15s}
.pim-featured-card:hover .pim-read-cta::after{transform:translateX(4px)}

/* === FADE-IN ON SCROLL (cards + featured + sezioni) === */
.pim-fade-in{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.pim-fade-in.in-view{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){
  .pim-fade-in{opacity:1;transform:none;transition:none}
}

/* RESPONSIVE */
@media (max-width:900px){
  .pim-grid{grid-template-columns:repeat(2,1fr);gap:2rem 1.5rem}
  .pim-nav{display:none}
  .pim-quote.aside{grid-template-columns:1fr;gap:1.5rem}
  .pim-related-grid{grid-template-columns:1fr 1fr;gap:1.5rem}
  .pim-split{grid-template-columns:1fr;gap:1.5rem}
  .pim-featured-card{grid-template-columns:1fr;gap:1.5rem;padding:1.75rem}
  .pim-featured-card::before{top:1rem;right:1rem}
}
@media (max-width:600px){
  .pim-grid,.pim-related-grid,.pim-gallery.grid-3col,.pim-gallery.grid-4col,.pim-gallery.grid-2col{grid-template-columns:1fr;gap:2rem}
  .pim-hero{padding:3rem 5vw 2rem}
  .pim-filters{padding:.5rem 5vw 2rem}
  .pim-stats.cols-3,.pim-stats.cols-2{grid-template-columns:1fr;gap:2rem}
  .pim-featured{padding:0 5vw 3rem}
  .pim-featured-card{padding:1.5rem;border-radius:1rem}
  .pim-featured h2{font-size:1.65rem}
  .pim-article-title{font-size:clamp(1.8rem,8vw,2.8rem)}
  .pim-article-cover{aspect-ratio:16/10}
  .pim-toc{display:none}
  .pim-breadcrumb{font-size:.78rem;flex-wrap:wrap}
}

/* v2.6.1 — Nasconde il badge reCAPTCHA v2 sulle pagine /magazine/ pubbliche */
.grecaptcha-badge,
div[class*="grecaptcha"] {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* v2.9.0: case study gallery (grid responsive) */
.cs-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.25rem;
    margin: 2.5rem 0 0;
    max-width: var(--col-wide, 920px);
}
.cs-gallery-item {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 6px;
    background: rgba(255, 255, 255, .04);
    transition: transform .3s ease;
}
.cs-gallery-item:hover {
    transform: translateY(-3px);
}
.cs-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}
.cs-gallery-item:hover img {
    transform: scale(1.04);
}
@media (max-width: 720px) {
    .cs-gallery {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* ==========================================================================
   v3.0.0 — Long-form: rendering blocchi + TOC sticky
   ========================================================================== */

/* TOC sticky (≥1200px viewport, 4+ H2) */
.pim-article-body.with-toc {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 4rem;
    max-width: var(--col-wide, 1100px);
    margin: 0 auto;
    padding: 0 5vw;
}
.pim-article-body.with-toc .pim-article-body-inner {
    min-width: 0;
}
.pim-toc-sticky {
    position: sticky;
    top: 6rem;
    align-self: start;
    max-height: calc(100vh - 8rem);
    overflow-y: auto;
    padding-left: 1.5rem;
    border-left: 1px solid rgba(255, 255, 255, .12);
}
.pim-toc-head {
    font-family: var(--font-bold), system-ui, sans-serif;
    font-size: .72rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--pim-faded, #999);
    margin-bottom: .85rem;
}
.pim-toc-list {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}
.pim-toc-link {
    color: var(--pim-soft, #c5c7cd);
    font-size: .88rem;
    line-height: 1.4;
    padding: .25rem 0;
    border-left: 2px solid transparent;
    padding-left: .65rem;
    margin-left: -.85rem;
    transition: all .15s ease;
    text-decoration: none;
    display: block;
}
.pim-toc-link:hover,
.pim-toc-link.is-active {
    color: var(--pim-accent, #00ffe3);
    border-left-color: var(--pim-accent, #00ffe3);
}

@media (max-width: 1200px) {
    .pim-article-body.with-toc {
        grid-template-columns: 1fr;
    }
    .pim-toc-sticky { display: none; }
}

/* Blocchi rendering pubblico — namespace .lf-* */
.pim-article-body-inner > * {
    max-width: var(--col-text, 680px);
    margin-left: auto;
    margin-right: auto;
}

/* lf-paragraph */
.lf-paragraph {
    font-family: var(--font-body), Georgia, serif;
    font-size: 1.15rem;
    line-height: 1.75;
    color: var(--pim-text, #e8e8e8);
    margin: 0 auto 1.5rem;
}
.lf-paragraph p { margin: 0 0 1em; }
.lf-paragraph p:last-child { margin-bottom: 0; }
.lf-paragraph strong { font-family: var(--font-bold), sans-serif; color: #fff; }
.lf-paragraph em { font-style: italic; }
.lf-paragraph a {
    color: var(--pim-accent, #00ffe3);
    border-bottom: 1px dashed currentColor;
    text-decoration: none;
    transition: color .15s ease;
}
.lf-paragraph a:hover {
    color: #fff;
}
.lf-paragraph h3 {
    font-family: var(--font-bold), sans-serif;
    font-size: 1.4rem;
    margin: 2.5rem 0 1rem;
    color: #fff;
}
.lf-paragraph blockquote {
    border-left: 3px solid var(--pim-accent, #00ffe3);
    padding: .25rem 0 .25rem 1.25rem;
    margin: 1.5rem 0;
    color: var(--pim-soft, #c5c7cd);
    font-style: italic;
}
.lf-paragraph ul, .lf-paragraph ol {
    margin: 1rem 0 1rem 1.5rem;
    padding: 0;
}
.lf-paragraph li {
    margin: .35rem 0;
    line-height: 1.65;
}

/* lf-heading H2 / H3 */
.lf-heading {
    font-family: var(--font-display), var(--font-bold), sans-serif;
    color: #fff;
    margin: 0 auto;
    scroll-margin-top: 6rem;
}
.lf-heading--h2 {
    font-size: clamp(1.8rem, 3.2vw, 2.6rem);
    line-height: 1.1;
    letter-spacing: -.015em;
    margin-top: 3.5rem;
    margin-bottom: 1.5rem;
}
.lf-heading--h3 {
    font-size: clamp(1.3rem, 2vw, 1.6rem);
    line-height: 1.25;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

/* lf-image */
.lf-image {
    margin: 2.5rem auto;
    max-width: 100%;
}
.lf-image a {
    display: block;
}
.lf-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}
.lf-image figcaption {
    text-align: center;
    font-size: .88rem;
    color: var(--pim-faded, #888);
    font-style: italic;
    margin-top: .85rem;
    padding: 0 1rem;
}

/* lf-quote */
.lf-quote {
    border-left: 3px solid var(--pim-accent, #00ffe3);
    padding: .5rem 0 .5rem 1.5rem;
    margin: 2.5rem auto;
    font-family: var(--font-display), Georgia, serif;
    font-style: italic;
    font-size: 1.45rem;
    line-height: 1.5;
    color: #fff;
    max-width: var(--col-text, 680px);
}
.lf-quote-body { color: #fff; }
.lf-quote-body p { margin: 0 0 .5em; }
.lf-quote-body p:last-child { margin-bottom: 0; }
.lf-quote-body a {
    color: var(--pim-accent, #00ffe3);
    text-decoration: none;
    border-bottom: 1px dashed currentColor;
}
.lf-quote-author {
    display: block;
    margin-top: 1rem;
    font-size: .88rem;
    color: var(--pim-faded, #999);
    font-style: normal;
    letter-spacing: .02em;
}

/* lf-divider 3 stili */
.lf-divider {
    margin: 3rem auto;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 380px;
}
.lf-divider--line {
    background: linear-gradient(90deg, transparent, var(--pim-accent, #00ffe3), transparent);
    height: 1.5px;
}
.lf-divider--asterisks::before {
    content: "* * *";
    letter-spacing: .8em;
    color: var(--pim-accent, #00ffe3);
    font-size: 1.2rem;
}
.lf-divider--dots::before {
    content: "• • •";
    letter-spacing: .5em;
    color: var(--pim-accent, #00ffe3);
    font-size: 1rem;
}

/* lf-embed */
.lf-embed {
    margin: 2.5rem auto;
    max-width: var(--col-text, 680px);
}
.lf-embed-frame {
    position: relative;
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
    background: #000;
}
.lf-embed-frame iframe,
.lf-embed-frame embed,
.lf-embed-frame object {
    width: 100% !important;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
    display: block;
}
.lf-embed--twitter .lf-embed-frame iframe,
.lf-embed--twitter .lf-embed-frame {
    aspect-ratio: auto;
}
.lf-embed--fallback {
    padding: 1rem 1.25rem;
    background: rgba(255, 255, 255, .04);
    border-radius: 4px;
    text-align: center;
}
.lf-embed--fallback a {
    color: var(--pim-accent, #00ffe3);
    font-family: var(--font-bold), sans-serif;
    text-decoration: none;
}

/* lf-stats */
.lf-stats {
    display: grid;
    gap: 2rem;
    margin: 3rem auto;
    padding: 2rem 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    text-align: center;
}
.lf-stats--1 { grid-template-columns: 1fr; }
.lf-stats--2 { grid-template-columns: 1fr 1fr; }
.lf-stats--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 720px) {
    .lf-stats--2, .lf-stats--3 { grid-template-columns: 1fr; gap: 1.5rem; }
}
.lf-stat-value {
    font-family: var(--font-display), var(--font-bold), sans-serif;
    font-size: clamp(2.4rem, 5vw, 3.5rem);
    line-height: 1;
    color: var(--pim-accent, #00ffe3);
    margin-bottom: .35rem;
    letter-spacing: -.015em;
}
.lf-stat-label {
    font-size: .92rem;
    color: var(--pim-soft, #c5c7cd);
    line-height: 1.4;
}

/* v3.1.0 — Polish frontend: la max-width 680px non deve applicarsi alle author-card / related */
.pim-article-body-inner > .pim-article-end,
.pim-article-body-inner > .pim-related {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

/* v3.1.0 — Reading progress bar (cima pagina, sticky, fill cyan) */
.pim-reading-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--pim-accent, #00ffe3);
    transform: scaleX(0);
    transform-origin: left center;
    z-index: 9999;
    pointer-events: none;
    transition: transform .08s linear;
    will-change: transform;
}

/* v3.1.0 — Smooth scroll fallback global (su browser senza JS) */
html { scroll-behavior: smooth; }

/* ==========================================================================
   v3.2.0 — Fix layout frontend
   ========================================================================== */

/* Fix5: CTA pillola case study — color era cyan su bg cyan (regola "a" globale vinceva).
   Aumentiamo specificità con body. selector + esplicito hover. */
body.blog-pim-magazine .cs-cta-btn,
body.blog-pim-magazine a.cs-cta-btn,
body.blog-pim-magazine .cs-cta-btn:hover,
body.blog-pim-magazine a.cs-cta-btn:hover {
    color: var(--pim-bg) !important;
}

/* Fix2: .pim-article-end (tag-row + author-card) era out-of-grid (x=0, w=1728) */
.pim-article-end {
    max-width: var(--col);
    margin: 4rem auto 2rem;
    padding: 0 5vw;
}
.pim-article-end .pim-tag-row {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 1.5rem;
}
.pim-article-end .pim-tag {
    font-family: var(--font-bold);
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: lowercase;
    padding: .45rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
    color: var(--pim-accent);
}
.pim-article-end .pim-author-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 0;
    border-top: 1px solid rgba(255, 255, 255, .1);
}
.pim-article-end .pim-author-avatar {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--pim-primary), var(--pim-accent));
    color: var(--pim-bg);
    font-family: var(--font-display);
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.pim-article-end .pim-author-card-name {
    font-family: var(--font-bold);
    font-size: 1rem;
    color: #fff;
    margin: 0;
}
.pim-article-end .pim-author-card-bio {
    margin: .25rem 0 0;
    font-size: .9rem;
    color: var(--pim-text-body);
    line-height: 1.5;
    max-width: 40rem;
}

/* Fix2: max-width dei blocchi lf-* nel body long-form (la regola legacy .pim-article-body h2
   forzava max-width 1200 — qui forziamo a --col-text 680 per il long-form moderno) */
:root { --col-text: 680px; }
.pim-article-body-inner > .lf-paragraph,
.pim-article-body-inner > .lf-quote,
.pim-article-body-inner > .lf-divider {
    max-width: var(--col-text);
    margin-left: auto;
    margin-right: auto;
}
.pim-article-body .lf-heading--h2,
.pim-article-body .lf-heading--h3 {
    max-width: var(--col-text) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.pim-article-body .lf-image {
    max-width: var(--col) !important;
}
.pim-article-body .lf-stats {
    max-width: var(--col-text) !important;
}
.pim-article-body .lf-embed {
    max-width: var(--col) !important;
}

/* Fix6: archivio — uniformità card grid + miglior styling note card */
.pim-grid {
    grid-auto-rows: 1fr; /* row height uniforme */
    align-items: stretch;
}
.pim-card {
    min-height: 22rem;
    height: 100%;
}
.pim-card.note {
    min-height: 22rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.pim-card.note h4 {
    flex: 1;
    margin-top: 1rem;
}
.pim-card.note .pim-card-excerpt {
    margin-top: auto;
    font-size: .88rem;
    color: var(--pim-text-body);
}
/* Pim-card senza thumbnail ma non note (case study/long-form senza foto): boxed */
.pim-card:not(.note):not(:has(.pim-card-img)) {
    background: linear-gradient(135deg, #2b2a29 0%, #1f1e1d 100%);
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: .75rem;
    padding: 1.75rem;
}

/* ==========================================================================
   v3.2.0 — Lightbox modal (immagini + video YouTube/Vimeo)
   ========================================================================== */
.pim-lightbox {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
}
.pim-lightbox.is-open {
    opacity: 1;
    pointer-events: auto;
}
.pim-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .92);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.pim-lightbox-close {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, .25);
    background: rgba(0, 0, 0, .4);
    color: #fff;
    font-size: 1.6rem;
    cursor: pointer;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .15s ease;
    line-height: 1;
}
.pim-lightbox-close:hover {
    border-color: var(--pim-accent, #00ffe3);
    color: var(--pim-accent, #00ffe3);
    transform: scale(1.05);
}
.pim-lightbox-content {
    position: relative;
    max-width: 90vw;
    max-height: 92vh;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}
.pim-lightbox-img {
    max-width: 90vw;
    max-height: 80vh;
    width: auto;
    height: auto;
    display: block;
    border-radius: 4px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .6);
}
.pim-lightbox-caption {
    color: rgba(255, 255, 255, .75);
    font-size: .92rem;
    font-style: italic;
    text-align: center;
    max-width: 40rem;
    padding: 0 1rem;
}
.pim-lightbox-video {
    width: min(90vw, 1200px);
    aspect-ratio: 16 / 9;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .6);
    border-radius: 6px;
    overflow: hidden;
    background: #000;
}
.pim-lightbox-video iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* Cursor pointer + hover lift su elementi cliccabili per lightbox */
.cs-gallery-item,
.lf-image a {
    cursor: zoom-in;
}

/* Video poster + play button */
.pim-video-poster {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: #000;
    background-size: cover;
    background-position: center;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
    overflow: hidden;
    padding: 0;
    transition: transform .25s ease;
}
.pim-video-poster:hover {
    transform: translateY(-2px);
}
.pim-video-poster::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(0, 0, 0, .15), rgba(0, 0, 0, .45));
    transition: background .2s ease;
}
.pim-video-poster:hover::after {
    background: linear-gradient(135deg, rgba(0, 137, 135, .25), rgba(0, 0, 0, .45));
}
/* v3.2.1 — PLAY moderno: glass disc + breathe pulse + bouncy hover */
.pim-video-play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    pointer-events: none;
}
.pim-video-play-disc {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: rgba(15, 16, 18, .42);
    backdrop-filter: blur(10px) saturate(1.3);
    -webkit-backdrop-filter: blur(10px) saturate(1.3);
    border: 1.5px solid rgba(0, 255, 227, .38);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pim-accent, #00ffe3);
    box-shadow:
        0 0 0 0 rgba(0, 255, 227, .55),
        0 16px 48px rgba(0, 0, 0, .45),
        inset 0 0 0 1px rgba(255, 255, 255, .07);
    animation: pim-video-breathe 3s ease-in-out infinite;
    transition:
        transform .4s cubic-bezier(.34, 1.56, .64, 1),
        background .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}
.pim-video-play-tri {
    width: 42px;
    height: 42px;
    margin-left: 4px; /* leggera compensazione asimmetria del triangolo (era 8px troppo a dx) */
    color: rgba(0, 255, 227, .55); /* trasparente come il bordo, non più cyan pieno */
    filter: drop-shadow(0 0 10px rgba(0, 255, 227, .35));
    transition: transform .35s cubic-bezier(.34, 1.56, .64, 1), color .3s ease;
}
@keyframes pim-video-breathe {
    0%, 100% {
        transform: scale(1);
        box-shadow:
            0 0 0 0 rgba(0, 255, 227, .55),
            0 16px 48px rgba(0, 0, 0, .45),
            inset 0 0 0 1px rgba(255, 255, 255, .07);
    }
    50% {
        transform: scale(1.05);
        box-shadow:
            0 0 0 22px rgba(0, 255, 227, 0),
            0 16px 48px rgba(0, 0, 0, .45),
            inset 0 0 0 1px rgba(255, 255, 255, .12);
    }
}
.pim-video-poster:hover .pim-video-play-disc {
    transform: scale(1.18);
    background: rgba(0, 255, 227, .14);
    border-color: rgba(0, 255, 227, .85);
    animation-play-state: paused; /* pausa il breathe in hover */
    box-shadow:
        0 0 0 4px rgba(0, 255, 227, .15),
        0 20px 60px rgba(0, 0, 0, .5),
        inset 0 0 0 1px rgba(255, 255, 255, .2);
}
.pim-video-poster:hover .pim-video-play-tri {
    transform: scale(1.08);
    color: rgba(0, 255, 227, .95); /* pieno saturo solo on hover */
    filter: drop-shadow(0 0 18px rgba(0, 255, 227, .9));
}
.pim-video-poster:active .pim-video-play-disc {
    transform: scale(1.08);
}

/* Mobile: disc più piccolo */
@media (max-width: 640px) {
    .pim-video-play-disc { width: 88px; height: 88px; }
    .pim-video-play-tri { width: 32px; height: 32px; margin-left: 6px; }
}

/* Reduced motion: niente breathe, ma resta hover scale */
@media (prefers-reduced-motion: reduce) {
    .pim-video-play-disc { animation: none; }
}
.pim-video-provider {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    z-index: 2;
    font-family: var(--font-bold, sans-serif);
    font-size: .7rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .85);
    background: rgba(0, 0, 0, .55);
    padding: .3rem .65rem;
    border-radius: 3px;
}

/* ═══════════════════════════════════════════════════════════════════
   v3.3.0 — SHARE BUTTONS
   Fondo articolo: X / LinkedIn / Facebook / Copy link
   ═══════════════════════════════════════════════════════════════════ */
.pim-share {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
    margin: 2.5rem 0 0;
    padding: 1.5rem 0 0;
    border-top: 1px solid rgba(255, 255, 255, .08);
}
.pim-share-label {
    font-family: var(--font-bold, sans-serif);
    font-size: .75rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--pim-faded, rgba(255, 255, 255, .55));
    margin-right: .5rem;
}
.pim-share-btn {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .03);
    color: #fff;
    border-radius: 6px;
    cursor: pointer;
    font-family: var(--font-bold, sans-serif);
    font-size: 1rem;
    text-decoration: none;
    transition: all .2s ease;
}
.pim-share-btn:hover {
    color: var(--pim-accent, #00ffe3);
    border-color: var(--pim-accent, #00ffe3);
    background: rgba(0, 255, 227, .07);
    transform: translateY(-1px);
}
.pim-share-btn.pim-share-copy.is-copied {
    color: var(--pim-bg, #1f1e1d);
    background: var(--pim-accent, #00ffe3);
    border-color: var(--pim-accent, #00ffe3);
}

/* ═══════════════════════════════════════════════════════════════════
   v3.3.0 — NEWSLETTER SIGNUP
   Fondo articoli + archivio
   ═══════════════════════════════════════════════════════════════════ */
.pim-newsletter {
    max-width: var(--col, 1080px);
    margin: 4rem auto 2rem;
    padding: 3rem 5vw;
    background: linear-gradient(135deg, rgba(0, 255, 227, .06) 0%, rgba(0, 255, 227, .02) 100%);
    border: 1px solid rgba(0, 255, 227, .18);
    border-radius: 12px;
}
.pim-newsletter-inner {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    align-items: center;
    gap: 2.5rem;
    max-width: 900px;
    margin: 0 auto;
}
.pim-newsletter-text h3 {
    font-family: var(--font-bold, sans-serif);
    font-size: 2rem;
    margin: 0 0 .5rem;
    line-height: 1.1;
    color: #fff;
    text-transform: lowercase;
    letter-spacing: -.01em;
}
.pim-newsletter-text h3 em {
    font-style: italic;
    color: var(--pim-accent, #00ffe3);
}
.pim-newsletter-text p {
    margin: 0;
    color: var(--pim-faded, rgba(255, 255, 255, .65));
    font-size: .95rem;
    line-height: 1.5;
}
.pim-newsletter-form {
    display: flex;
    gap: .5rem;
    width: 100%;
}
.pim-newsletter-input {
    flex: 1;
    padding: .9rem 1.1rem;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .14);
    color: #fff;
    border-radius: 6px;
    font-family: var(--font-body, sans-serif);
    font-size: .95rem;
    outline: none;
    transition: border-color .2s ease, background .2s ease;
}
.pim-newsletter-input::placeholder {
    color: var(--pim-faded, rgba(255, 255, 255, .35));
}
.pim-newsletter-input:focus {
    border-color: var(--pim-accent, #00ffe3);
    background: rgba(255, 255, 255, .06);
}
.pim-newsletter-btn {
    padding: .9rem 1.4rem;
    background: var(--pim-accent, #00ffe3);
    color: var(--pim-bg, #1f1e1d);
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-family: var(--font-bold, sans-serif);
    font-size: .9rem;
    text-transform: lowercase;
    letter-spacing: .02em;
    white-space: nowrap;
    transition: all .2s ease;
}
.pim-newsletter-btn:hover:not(:disabled) {
    background: #fff;
    transform: translateY(-1px);
}
.pim-newsletter-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
}
.pim-newsletter-status {
    grid-column: 1 / -1;
    min-height: 0;
    font-size: .85rem;
    text-align: center;
    color: var(--pim-faded, rgba(255, 255, 255, .55));
}
.pim-newsletter-status.is-ok {
    color: var(--pim-accent, #00ffe3);
}
.pim-newsletter-status.is-err {
    color: #ff6c6c;
}
@media (max-width: 720px) {
    .pim-newsletter { padding: 2rem 1.5rem; }
    .pim-newsletter-inner { grid-template-columns: 1fr; gap: 1.5rem; }
    .pim-newsletter-text h3 { font-size: 1.6rem; }
    .pim-newsletter-form { flex-direction: column; }
    .pim-newsletter-btn { width: 100%; }
}

/* ═══════════════════════════════════════════════════════════════════
   v3.3.0 — CUSTOM 404
   /magazine/<slug-inesistente>/
   ═══════════════════════════════════════════════════════════════════ */
.pim-404 {
    max-width: 720px;
    margin: 6rem auto 4rem;
    padding: 0 5vw;
    text-align: center;
}
.pim-404-code {
    font-family: var(--font-bold, sans-serif);
    font-size: clamp(5rem, 14vw, 9rem);
    line-height: 1;
    color: var(--pim-accent, #00ffe3);
    letter-spacing: -.04em;
    margin-bottom: 1rem;
    opacity: .8;
}
.pim-404-title {
    font-family: var(--font-bold, sans-serif);
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    color: #fff;
    margin: 0 0 1rem;
    text-transform: lowercase;
    letter-spacing: -.01em;
}
.pim-404-sub {
    color: var(--pim-faded, rgba(255, 255, 255, .65));
    font-size: 1rem;
    line-height: 1.6;
    margin: 0 0 2.5rem;
}
.pim-404-cta {
    display: inline-block;
    padding: .9rem 1.6rem;
    background: var(--pim-accent, #00ffe3);
    color: var(--pim-bg, #1f1e1d);
    border-radius: 6px;
    font-family: var(--font-bold, sans-serif);
    font-size: .9rem;
    text-transform: lowercase;
    text-decoration: none;
    letter-spacing: .02em;
    transition: all .2s ease;
}
.pim-404-cta:hover {
    background: #fff;
    transform: translateY(-1px);
}
.pim-404-recents {
    margin-top: 4rem;
    padding-top: 3rem;
    border-top: 1px solid rgba(255, 255, 255, .08);
    text-align: left;
}
.pim-404-recents-title {
    font-family: var(--font-bold, sans-serif);
    font-size: .85rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--pim-faded, rgba(255, 255, 255, .55));
    margin: 0 0 1.5rem;
    text-align: center;
}
.pim-404-recents-list {
    display: grid;
    gap: 1rem;
}
.pim-404-recent {
    display: block;
    padding: 1rem 1.2rem;
    background: rgba(255, 255, 255, .03);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 6px;
    color: #fff;
    text-decoration: none;
    transition: all .2s ease;
}
.pim-404-recent:hover {
    background: rgba(0, 255, 227, .05);
    border-color: rgba(0, 255, 227, .25);
}
.pim-404-recent-cat {
    font-family: var(--font-bold, sans-serif);
    font-size: .7rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--pim-accent, #00ffe3);
    margin-bottom: .3rem;
}
.pim-404-recent-title {
    font-family: var(--font-bold, sans-serif);
    font-size: 1.05rem;
    color: #fff;
    margin: 0;
}

/* ═══════════════════════════════════════════════════════════════════
   v3.3.0 — PRINT STYLESHEET
   Cmd/Ctrl+P → solo titolo, autore, body. No chrome.
   ═══════════════════════════════════════════════════════════════════ */
@media print {
    /* Reset colori → black on white per la stampa */
    body.blog-pim-magazine,
    .pim-article-hero,
    .pim-article-body,
    .pim-article-end,
    .note-wrap,
    .cs-hero,
    .cs-section,
    .cs-results {
        background: #fff !important;
        color: #111 !important;
    }
    body.blog-pim-magazine * {
        color: #111 !important;
        background-image: none !important;
    }
    /* Nascondi chrome non rilevante */
    .pim-header,
    .pim-footer,
    .pim-nav,
    .pim-breadcrumb,
    .pim-toc-sticky,
    .pim-reading-progress,
    .pim-share,
    .pim-newsletter,
    .pim-related,
    .pim-search,
    .pim-filters,
    .pim-pagination,
    .pim-featured,
    .pim-section-head,
    .note-back,
    .cs-cta,
    .cs-cover,
    .pim-article-cover,
    .pim-lightbox,
    .pim-video-play-disc,
    .pim-video-provider,
    .pim-bulk-bar,
    .pim-bulk-actions,
    .other-notes,
    .pim-hero {
        display: none !important;
    }
    /* Titolo + sottotitolo: sopra l'articolo */
    .pim-article-title,
    .note-title,
    .cs-title {
        font-size: 28pt !important;
        line-height: 1.15 !important;
        margin: 0 0 .8rem !important;
        page-break-after: avoid;
        max-width: 100% !important;
    }
    .pim-article-sub,
    .note-summary,
    .cs-oneliner {
        font-size: 13pt !important;
        font-style: italic;
        margin: 0 0 1.5rem !important;
        max-width: 100% !important;
    }
    .pim-article-meta,
    .note-meta,
    .cs-facts {
        font-size: 10pt !important;
        margin-bottom: 2rem !important;
        opacity: .7;
        page-break-after: avoid;
    }
    /* Body: full-width */
    .pim-article-body,
    .pim-article-body-inner,
    .note-body,
    .cs-section-body {
        display: block !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        grid-template-columns: none !important;
    }
    .pim-article-body p,
    .pim-article-body .lf-paragraph,
    .note-body p {
        font-size: 11.5pt !important;
        line-height: 1.55 !important;
        margin: 0 0 .85rem !important;
        max-width: 100% !important;
    }
    .pim-article-body h2,
    .pim-article-body .lf-heading--h2 {
        font-size: 18pt !important;
        margin: 1.8rem 0 .6rem !important;
        page-break-after: avoid;
    }
    .pim-article-body h3,
    .pim-article-body .lf-heading--h3 {
        font-size: 14pt !important;
        margin: 1.4rem 0 .4rem !important;
        page-break-after: avoid;
    }
    .pim-article-body img,
    .lf-image,
    .lf-gallery {
        max-width: 100% !important;
        page-break-inside: avoid;
    }
    .lf-video,
    .lf-embed {
        display: none !important; /* video/embed inutili stampati */
    }
    .lf-quote {
        font-style: italic;
        border-left: 3pt solid #555 !important;
        padding-left: 1rem !important;
        margin: 1.5rem 0 !important;
    }
    /* Autore: in fondo, semplice */
    .pim-author-card,
    .cs-author-row {
        page-break-before: avoid;
        margin-top: 2rem !important;
        padding-top: 1rem !important;
        border-top: 1pt solid #ccc !important;
        font-size: 10pt !important;
        opacity: .8;
    }
    /* Link sempre con URL accanto */
    .pim-article-body a[href]:after {
        content: " (" attr(href) ")";
        font-size: 9pt;
        font-style: italic;
        opacity: .6;
    }
    a[href^="#"]:after { content: ""; } /* anchor interni → niente */
    /* Page margins */
    @page {
        margin: 2cm 1.5cm;
    }
}
