﻿/*
Theme Name:        Ozanews
Theme URI:         https://ozanews.it
Author:            Officine Multimediali ETS
Author URI:        https://ozanews.it/chi-siamo/
Description:       Tema editoriale custom per Ozanews
Version:           1.0.1
Requires PHP:      7.4
License:           Proprietario
Text Domain:       ozanews
*/

  :root{
    --navy:#0E2A44;
    --navy-deep:#081826;
    --gold:#C9962E;
    --teal:#1F6F6B;
    --paper:#F6F3EC;
    --paper-raised:#FFFFFF;
    --ink:#1C1C1C;
    --ink-soft:#5B5B57;
    --alert:#B23A2E;
    --line:rgba(14,42,68,0.14);
    --line-strong:rgba(14,42,68,0.28);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Source Sans 3',sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}

  .eyebrow{
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-weight:600;
  }

  h1,h2,h3,h4{
    font-family:'Fraunces',serif;
    margin:0;
    line-height:1.08;
    letter-spacing:-.01em;
  }

  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}

  /* ---------- ALERT BANNER (condizionale) ---------- */
  .alert-banner{
    background:var(--alert);
    color:#fff;
  }
  .alert-inner{
    max-width:1180px;margin:0 auto;padding:10px 24px;
    display:flex;align-items:center;gap:12px;
    font-size:14px;
  }
  .alert-dot{
    width:8px;height:8px;border-radius:50%;background:#fff;
    animation:pulse 1.6s infinite;
    flex-shrink:0;
  }
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
  .alert-banner strong{font-weight:700;}
  .alert-link{
    margin-left:auto;flex-shrink:0;
    border:1px solid rgba(255,255,255,.6);
    padding:5px 12px;border-radius:2px;
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;letter-spacing:.06em;text-transform:uppercase;
    white-space:nowrap;
  }

  /* ---------- MASTHEAD ---------- */
  header.masthead{
    background:var(--navy);
    color:#fff;
    border-bottom:3px solid var(--gold);
  }
  .masthead-top{
    display:flex;align-items:center;justify-content:space-between;
    padding:22px 0 16px;
  }
  .logo{
    display:flex;flex-direction:column;line-height:1;gap:8px;
  }
  .logo-plate{
    background:#fff;
    padding:10px 16px;
    border-radius:4px;
    display:inline-flex;
    align-items:center;
  }
  .logo-plate img{
    height:42px;width:auto;display:block;
  }
  .logo span{
    font-family:'IBM Plex Mono',monospace;
    font-size:10px;font-weight:500;letter-spacing:.16em;
    color:var(--gold);text-transform:uppercase;
  }
  .masthead-meta{
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;color:rgba(255,255,255,.65);
    text-align:right;letter-spacing:.03em;line-height:1.7;
  }
  nav.primary{
    border-top:1px solid rgba(255,255,255,.15);
  }
  .nav-inner{
    display:flex;align-items:center;gap:2px;
    overflow-x:auto;
  }
  .nav-inner a{
    padding:14px 16px;font-size:14px;font-weight:600;
    white-space:nowrap;position:relative;
  }
  .nav-inner a.has-mega:after{
    content:'';display:inline-block;margin-left:5px;
    width:5px;height:5px;border-right:1.5px solid rgba(255,255,255,.6);
    border-bottom:1.5px solid rgba(255,255,255,.6);
    transform:translateY(-2px) rotate(45deg);
  }
  .nav-inner a:hover{background:rgba(255,255,255,.06);}
  .nav-search{
    margin-left:auto;padding:0 16px;color:rgba(255,255,255,.85);
    font-size:14px;display:flex;align-items:center;gap:6px;
  }

  /* ---------- MEGA MENU (illustrativo, statico) ---------- */
  .mega{
    background:var(--navy-deep);
    padding:22px 0;
    display:none;
  }
  .mega.show{display:block;}
  .mega-grid{
    display:grid;grid-template-columns:repeat(5,1fr);gap:8px;
  }
  .mega-grid a{
    font-size:13px;color:rgba(255,255,255,.75);padding:6px 0;
  }
  .mega-grid a:hover{color:#fff;}

  /* ---------- TICKER METEO/UTILI ---------- */
  .utility-bar{
    background:var(--paper-raised);
    border-bottom:1px solid var(--line);
  }
  .utility-inner{
    display:flex;align-items:center;gap:28px;
    padding:9px 0;font-size:13px;color:var(--ink-soft);
    overflow-x:auto;
  }
  .utility-inner .item{display:flex;align-items:center;gap:6px;white-space:nowrap;}
  .utility-inner .dot{color:var(--line-strong);}

  /* ---------- WAVE DIVIDER (elemento firma) ---------- */
  .wave-divider{
    height:26px;width:100%;overflow:hidden;line-height:0;
  }
  .wave-divider svg{width:100%;height:100%;display:block;}

  section{padding:44px 0;}

  .section-head{
    display:flex;align-items:baseline;justify-content:space-between;
    margin-bottom:22px;padding-bottom:12px;
    border-bottom:2px solid var(--navy);
  }
  .section-head h2{font-size:26px;color:var(--navy);}
  .section-head .see-all{
    font-family:'IBM Plex Mono',monospace;font-size:11px;
    letter-spacing:.08em;text-transform:uppercase;color:var(--teal);
    font-weight:600;
  }

  /* ---------- HERO ---------- */
  .hero-grid{
    display:grid;grid-template-columns:1.6fr 1fr;gap:32px;
  }
  .hero-main{position:relative;}
  .hero-main .img{
    aspect-ratio:16/10;background:linear-gradient(135deg,#2b4a63,#0E2A44);
    border-radius:2px;position:relative;overflow:hidden;
  }
  .hero-main .img:after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%);
  }
  .hero-cat{
    display:inline-block;background:var(--gold);color:var(--navy-deep);
    font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;
    letter-spacing:.06em;text-transform:uppercase;
    padding:4px 10px;margin-bottom:14px;
  }
  .hero-main h1{
    font-size:38px;color:var(--navy);margin-bottom:10px;
  }
  .hero-main p{
    color:var(--ink-soft);font-size:16px;line-height:1.55;max-width:52ch;
  }
  .byline{
    font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);
    margin-top:14px;letter-spacing:.02em;
  }

  .hero-side{display:flex;flex-direction:column;gap:18px;}
  .hero-side-item{
    display:flex;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line);
  }
  .hero-side-item:last-child{border-bottom:none;padding-bottom:0;}
  .hero-side-thumb{
    width:88px;height:66px;flex-shrink:0;border-radius:2px;
    background:linear-gradient(135deg,#c9962e33,#1F6F6B33);
  }
  .hero-side-cat{
    font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:600;
    color:var(--teal);text-transform:uppercase;letter-spacing:.05em;
  }
  .hero-side-item h4{font-size:15px;margin-top:4px;color:var(--ink);line-height:1.3;}

  /* ---------- CATEGORY MODULES ---------- */
  .cat-module{
    display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:28px;
  }
  .cat-lead .img{
    aspect-ratio:4/3;background:linear-gradient(135deg,#0E2A44,#1F6F6B);
    border-radius:2px;margin-bottom:12px;
  }
  .cat-lead h3{font-size:21px;color:var(--navy);margin-bottom:8px;line-height:1.25;}
  .cat-lead p{color:var(--ink-soft);font-size:14px;line-height:1.5;}
  .cat-list{display:flex;flex-direction:column;gap:16px;}
  .cat-list-item{
    padding-bottom:16px;border-bottom:1px solid var(--line);
  }
  .cat-list-item:last-child{border:none;padding-bottom:0;}
  .cat-list-item h4{font-size:15px;color:var(--ink);line-height:1.35;font-weight:600;font-family:'Source Sans 3',sans-serif;}
  .cat-list-item .eyebrow{color:var(--ink-soft);font-weight:500;margin-top:6px;display:block;}

  /* ---------- RUBRICHE (trattamento distinto) ---------- */
  .rubriche-section{
    background:var(--navy);color:#fff;
  }
  .rubriche-section .section-head{border-bottom-color:rgba(255,255,255,.25);}
  .rubriche-section .section-head h2{color:#fff;}
  .rubriche-section .see-all{color:var(--gold);}
  .rubriche-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
    background:rgba(255,255,255,.12);
  }
  .rubrica-card{
    background:var(--navy);padding:24px 20px;
    display:flex;flex-direction:column;gap:10px;
  }
  .rubrica-icon{
    width:34px;height:34px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',serif;font-weight:600;font-size:15px;
    background:var(--gold);color:var(--navy-deep);
  }
  .rubrica-card h4{
    font-family:'Fraunces',serif;font-weight:600;font-size:17px;color:#fff;
  }
  .rubrica-card p{
    font-size:13px;color:rgba(255,255,255,.6);line-height:1.5;
  }
  .rubrica-card .eyebrow{color:var(--gold);}

  /* ---------- TERRITORIO ---------- */
  .comuni-pills{
    display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;
  }
  .comuni-pills a{
    font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;
    letter-spacing:.03em;
    padding:8px 16px;border:1px solid var(--line-strong);border-radius:20px;
    color:var(--navy);
  }
  .comuni-pills a.active{background:var(--navy);color:#fff;border-color:var(--navy);}
  .comuni-feed{
    display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  }
  .comuni-feed-item{
    background:var(--paper-raised);border:1px solid var(--line);padding:18px;
  }
  .comuni-feed-item h4{font-size:15px;color:var(--navy);line-height:1.35;margin-top:6px;}

  /* ---------- STRUMENTI UTILI ---------- */
  .strumenti-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  }
  .strumento-card{
    background:var(--paper-raised);
    border:1px solid var(--line);
    padding:26px;
    position:relative;
    overflow:hidden;
  }
  .strumento-card:before{
    content:'';position:absolute;top:0;left:0;width:4px;height:100%;
    background:var(--teal);
  }
  .strumento-card.alert-tool:before{background:var(--alert);}
  .strumento-tag{
    font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;
    color:var(--teal);text-transform:uppercase;letter-spacing:.08em;
  }
  .strumento-card.alert-tool .strumento-tag{color:var(--alert);}
  .strumento-card h4{font-size:19px;color:var(--navy);margin:10px 0 8px;}
  .strumento-card p{font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin-bottom:16px;}
  .strumento-cta{
    font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;
    letter-spacing:.05em;text-transform:uppercase;color:var(--navy);
    display:inline-flex;align-items:center;gap:6px;
  }
  .strumento-cta:after{content:'â†’';}

  /* ---------- SPONSOR ---------- */
  .sponsor-section{padding:36px 0;}
  .sponsor-inner{
    display:flex;align-items:center;justify-content:space-between;
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    padding:22px 0;
  }
  .sponsor-label{
    font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;
    color:var(--ink-soft);text-transform:uppercase;flex-shrink:0;margin-right:24px;
  }
  .sponsor-logos{display:flex;gap:34px;overflow:hidden;flex:1;}
  .sponsor-logos span{
    font-family:'Fraunces',serif;font-size:15px;color:var(--line-strong);
    white-space:nowrap;font-weight:500;
  }

  /* ---------- FOOTER ---------- */
  footer{background:var(--navy-deep);color:rgba(255,255,255,.7);padding:52px 0 24px;}
  .footer-grid{
    display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;
    padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12);
  }
  .footer-logo{margin-bottom:14px;}
  .footer-logo .logo-plate{background:#fff;padding:8px 14px;border-radius:4px;display:inline-flex;}
  .footer-logo img{height:32px;width:auto;display:block;}
  .footer-col h5{
    font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;
    text-transform:uppercase;color:var(--gold);margin-bottom:14px;
  }
  .footer-col a{display:block;font-size:13.5px;padding:5px 0;color:rgba(255,255,255,.68);}
  .footer-bottom{
    display:flex;justify-content:space-between;align-items:center;
    padding-top:20px;font-size:12px;color:rgba(255,255,255,.4);
  }

  @media (max-width:860px){
    .hero-grid,.cat-module,.rubriche-grid,.comuni-feed,.strumenti-grid,.footer-grid{
      grid-template-columns:1fr;
    }
    .rubriche-grid{background:transparent;}
    .rubrica-card{border-bottom:1px solid rgba(255,255,255,.12);}
    .masthead-meta{display:none;}
  }



/* ---------- WORDPRESS OVERRIDES & SINGLE-ROW NAVBAR ---------- */
.nav-primary__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
}
.nav-primary__menu {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
}
.nav-primary__list {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.nav-primary__list a {
    padding: 14px 16px !important;
    font-family: 'IBM Plex Mono', monospace !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    color: #fff !important;
    display: block !important;
}
.nav-primary__list a:hover {
    background: rgba(255,255,255,0.08) !important;
    color: var(--gold) !important;
}

/* SEARCH COMPATTO INLINE */
.nav-search-inline {
    margin-left: auto !important;
    flex-shrink: 0 !important;
}
.nav-search-form {
    display: flex !important;
    align-items: center !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 20px !important;
    padding: 2px 4px 2px 14px !important;
}
.nav-search-input {
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-size: 12px !important;
    width: 130px !important;
    outline: none !important;
}
.nav-search-input::placeholder { color: rgba(255,255,255,0.6) !important; }
.nav-search-button {
    background: var(--gold) !important;
    color: #fff !important;
    border: none !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}

/* BLOCCO PUBBLICITÀ INVASIVE GOOGLE AUTO ADS */
footer ins.adsbygoogle,
.site-footer ins.adsbygoogle,
.cat-module ins.adsbygoogle,
.hero-grid ins.adsbygoogle,
.strumenti-grid ins.adsbygoogle,
.google-auto-ads-ignore ins.adsbygoogle {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    opacity: 0 !important;
}

/* DROPDOWN SUBMENU SUPPORT */
.nav-primary__list li { position: relative; }
.nav-primary__list li > ul.sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--navy-deep);
    min-width: 200px;
    padding: 8px 0;
    margin: 0;
    list-style: none;
    z-index: 999;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4);
    border-top: 2px solid var(--gold);
}
.nav-primary__list li:hover > ul.sub-menu { display: block; }
.nav-primary__list ul.sub-menu li a {
    padding: 10px 18px !important;
    font-size: 12px !important;
    text-transform: none !important;
    font-family: 'Source Sans 3', sans-serif !important;
    color: rgba(255,255,255,0.85) !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
}
.nav-primary__list ul.sub-menu li a:hover {
    background: rgba(255,255,255,0.08) !important;
    color: var(--gold) !important;
}


/* ============================================================
   OZANEWS BEM COMPONENTS - v2 Complete CSS
   ============================================================ */
:root{--navy-deep:#0E2A44;--navy:#1a3a5c;--gold:#C9962E;--teal:#1F6F6B;--ink:#1a1a2e;--ink-soft:#4a4a68;--bg:#f7f7f5;--line:#e5e7eb;}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px;box-sizing:border-box;}

/* UTILITY BAR */
.utility-bar{background:var(--navy-deep);color:rgba(255,255,255,.7);font-family:'IBM Plex Mono',monospace;font-size:12px;padding:6px 0;}
.utility-bar__inner{display:flex;align-items:center;justify-content:space-between;}
.utility-bar__left{flex:1;}.utility-bar__trib{color:rgba(255,255,255,.6);font-size:11px;}
.utility-bar__right{display:flex;align-items:center;gap:16px;}
.utility-bar__emergency-link{display:flex;align-items:center;gap:6px;color:#ff6b6b;font-weight:700;text-decoration:none;}
.dot-pulse{width:8px;height:8px;border-radius:50%;background:#ff6b6b;display:inline-block;animation:pulse-dot 1s infinite;}
@keyframes pulse-dot{0%,100%{transform:scale(1);}50%{transform:scale(1.4);}}
.utility-bar__social{display:flex;align-items:center;gap:5px;color:rgba(255,255,255,.75);text-decoration:none;font-size:12px;transition:color .2s;}
.utility-bar__social:hover{color:#fff;}

/* MASTHEAD */
.masthead{background:var(--navy-deep);}
.masthead__brand{background:var(--navy-deep);padding:16px 0 12px;}
.masthead__brand-inner{display:flex;align-items:center;gap:24px;}
.masthead__logo-link{text-decoration:none;flex-shrink:0;}
.masthead__logo-plate{background:#fff;padding:6px 14px;border-radius:3px;display:inline-flex;align-items:center;}
.masthead__logo-plate img{height:44px;width:auto;display:block;}
.masthead__tagline{color:rgba(255,255,255,.6);font-size:13px;font-style:italic;flex:1;}
.masthead__monetization{display:flex;align-items:center;gap:8px;margin-left:auto;}
.btn-abbonati,.btn-sostieni{padding:7px 16px;border-radius:4px;font-size:12px;font-weight:700;text-decoration:none;transition:all .2s;font-family:'IBM Plex Mono',monospace;letter-spacing:.04em;}
.btn-abbonati{background:var(--gold);color:var(--navy-deep);}.btn-abbonati:hover{background:#e6ab35;}
.btn-sostieni{background:transparent;color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.3);}.btn-sostieni:hover{border-color:#fff;color:#fff;}

/* EMERGENCY */
.emergency-banner{background:#B23A2E;color:#fff;padding:10px 0;font-size:13px;font-weight:600;}
.emergency-banner__inner{display:flex;align-items:center;gap:12px;}

/* NAV PRIMARY */
.nav-primary{background:var(--navy-deep);border-bottom:2px solid var(--gold);position:relative;}
.nav-primary__inner{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;}
.nav-primary__menu{display:flex!important;align-items:center!important;flex:1;}
.nav-primary__list{display:flex!important;align-items:center!important;list-style:none!important;margin:0!important;padding:0!important;white-space:nowrap;}
.nav-primary__list>li>a{display:block;padding:14px 14px;color:rgba(255,255,255,.88);text-decoration:none;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transition:background .2s,color .2s;white-space:nowrap;}
.nav-primary__list>li>a:hover,.nav-primary__list>li.current-menu-item>a{background:rgba(255,255,255,.07);color:var(--gold);}
.nav-primary__hamburger{display:none;background:none;border:none;cursor:pointer;padding:10px;flex-direction:column;gap:5px;}
.nav-primary__hamburger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;}

/* MEGA MENU */
.nav-primary__list li.menu-item-has-children{position:static!important;}
.nav-primary__list li.menu-item-has-children>a::after{content:'';display:inline-block;margin-left:6px;width:5px;height:5px;border-right:1.5px solid rgba(255,255,255,.6);border-bottom:1.5px solid rgba(255,255,255,.6);transform:translateY(-2px) rotate(45deg);vertical-align:middle;}
.nav-primary__list li.menu-item-has-children>ul.sub-menu{display:none;position:absolute;top:100%;left:0;right:0;width:100%;background:var(--navy-deep);border-top:3px solid var(--gold);padding:24px;box-shadow:0 15px 30px rgba(0,0,0,.4);z-index:1000;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;}
.nav-primary__list li.menu-item-has-children:hover>ul.sub-menu{display:grid!important;}
.nav-primary__list .sub-menu{list-style:none;margin:0;padding:0;}
.nav-primary__list .sub-menu li a{display:block;padding:10px 14px!important;font-size:13px!important;font-weight:500!important;color:rgba(255,255,255,.8)!important;border-radius:4px;text-decoration:none;text-transform:none!important;transition:all .2s;border-bottom:none!important;}
.nav-primary__list .sub-menu li a:hover{background:rgba(255,255,255,.08)!important;color:var(--gold)!important;transform:translateX(4px);}

/* NAV SEARCH */
.nav-search-inline{margin-left:auto!important;flex-shrink:0;padding-left:16px;}
.nav-search-form{display:flex;align-items:center;background:rgba(255,255,255,.08);border-radius:4px;padding:4px 4px 4px 12px;}
.nav-search-input{background:transparent;border:none;outline:none;color:#fff;font-size:13px;width:130px;}
.nav-search-input::placeholder{color:rgba(255,255,255,.5);}
.nav-search-button{background:var(--gold);border:none;cursor:pointer;color:#fff;padding:6px 10px;border-radius:3px;display:flex;align-items:center;}
.nav-search-button:hover{background:#e6ab35;}

/* WAVE + MISC */
.wave-divider{overflow:hidden;line-height:0;padding:4px 0;}
.wave-divider svg{display:block;width:100%;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gold);display:inline-block;}
.see-all{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700;color:var(--gold);text-decoration:none;letter-spacing:.04em;}
.see-all:hover{text-decoration:underline;}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--navy-deep);}
.section-head h2{font-size:22px;font-weight:700;color:var(--navy);margin:0;}
.section-head h2 a{color:inherit;text-decoration:none;}
.section-head h2 a:hover{color:var(--gold);}
.site-main{background:var(--bg);padding:32px 0;}.site-main--home{padding:0;}
section.wrap{padding-top:40px;padding-bottom:40px;}

/* SPONSORS */
.sponsors-module{padding:10px 0;background:#fff;border-bottom:1px solid var(--line);}
.sponsors-module__list{display:flex;align-items:center;gap:16px;overflow-x:auto;list-style:none;margin:0;padding:0;}
.sponsors-module__item{flex-shrink:0;}
.sponsors-module__logo{height:50px;width:auto;display:block;border-radius:3px;}
.sponsors-module__label{margin-bottom:6px;display:block;}

/* HERO */
.hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:32px;}
.hero-main{position:relative;}.hero-main .img{aspect-ratio:16/10;background:linear-gradient(135deg,var(--navy),var(--navy-deep));border-radius:2px;overflow:hidden;}
.hero-main .img img{width:100%;height:100%;object-fit:cover;}
.hero-cat{display:inline-block;background:var(--gold);color:var(--navy-deep);font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;margin-bottom:14px;}
.hero-main h1{font-size:34px;color:var(--navy);margin-bottom:10px;line-height:1.25;}
.hero-main a{text-decoration:none;color:inherit;}.hero-main a:hover h1{color:var(--gold);}
.hero-main p{color:var(--ink-soft);font-size:16px;line-height:1.55;max-width:52ch;}
.byline{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);margin-top:14px;letter-spacing:.02em;}
.hero-side{display:flex;flex-direction:column;gap:0;}
.hero-side-item{display:flex;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:18px;}
.hero-side-item:last-child{border-bottom:none;margin-bottom:0;}
.hero-side-thumb{width:90px;flex-shrink:0;aspect-ratio:4/3;border-radius:2px;background:var(--line);overflow:hidden;}
.hero-side-thumb img{width:100%;height:100%;object-fit:cover;}
.hero-side-cat{display:block;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;color:var(--gold);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;}
.hero-side-item h4{font-size:15px;font-weight:700;line-height:1.35;color:var(--ink);margin:0;}
.hero-side-item a{text-decoration:none;color:inherit;}.hero-side-item a:hover h4{color:var(--gold);}

/* CAT MODULE */
.cat-module{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:28px;}
.cat-lead a{text-decoration:none;color:inherit;}
.cat-lead .img{aspect-ratio:16/10;overflow:hidden;border-radius:2px;margin-bottom:14px;}
.cat-lead .img img{width:100%;height:100%;object-fit:cover;}
.cat-lead h3{font-size:22px;font-weight:700;line-height:1.3;margin-bottom:8px;color:var(--navy);}
.cat-lead a:hover h3{color:var(--gold);}
.cat-lead p{font-size:14px;line-height:1.6;color:var(--ink-soft);}
.cat-list{border-left:1px solid var(--line);padding-left:20px;}
.cat-list-item{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line);}
.cat-list-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.cat-list-item a{text-decoration:none;color:inherit;}
.cat-list-item h4{font-size:16px;font-weight:700;line-height:1.35;margin-bottom:6px;color:var(--navy);}
.cat-list-item a:hover h4{color:var(--gold);}

/* STRUMENTI */
.strumenti-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:20px;}
.strumento-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s;}
.strumento-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.1);}
.strumento-card.alert-tool{border-top:3px solid #B23A2E;}
.strumento-card h4{font-size:18px;font-weight:700;margin:0 0 10px;color:var(--navy);}
.strumento-card p{font-size:14px;line-height:1.6;color:#555;margin-bottom:16px;}
.strumento-cta{display:inline-block;background:var(--navy-deep);color:#fff;padding:8px 16px;border-radius:4px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s;}
.strumento-cta:hover{background:var(--gold);color:var(--navy-deep);}
.strumento-tag{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}

/* TERRITORY */
.territory-module{padding:40px 0;background:var(--navy-deep);}
.territory-module .section-head{border-bottom-color:rgba(255,255,255,.15);}
.territory-module .section-head h2{color:#fff;}
.territory-module__pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.territory-pill{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:8px 16px;text-decoration:none;color:rgba(255,255,255,.85);font-size:13px;transition:all .2s;display:flex;align-items:center;gap:6px;}
.territory-pill:hover{background:rgba(255,255,255,.12);color:#fff;}
.territory-pill__count{background:var(--gold);color:var(--navy-deep);border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700;}

/* VIDEO */
.video-module{padding:40px 0;}
.video-module__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px;}
.video-card{background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.video-card__thumb{position:relative;aspect-ratio:16/9;overflow:hidden;}
.video-card__thumb-link{display:block;width:100%;height:100%;}
.video-card__thumb img{width:100%;height:100%;object-fit:cover;}
.video-card__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);}
.video-card__content{padding:12px 14px 14px;}
.video-card__title{font-size:15px;font-weight:700;line-height:1.35;color:var(--navy);margin:0;}

/* EDITORIAL */
.editorial-module{padding:48px 0;background:var(--bg);}
.editorial-module__img-link{display:block;}
.editorial-module__img{aspect-ratio:4/3;overflow:hidden;border-radius:4px;}
.editorial-module__img img{width:100%;height:100%;object-fit:cover;}
.editorial-module__label{margin-bottom:8px;}
.editorial-module__title{font-size:28px;font-weight:700;line-height:1.3;margin-bottom:12px;color:var(--navy);}
.editorial-module__dek{font-size:16px;line-height:1.6;color:var(--ink-soft);margin-bottom:20px;}
.editorial-module__author{display:flex;align-items:center;gap:12px;}
.editorial-module__avatar img{width:44px;height:44px;border-radius:50%;object-fit:cover;}
.editorial-module__author-name{font-weight:700;font-size:14px;color:var(--navy);}

/* CARD NEWS */
.card-news{background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s;}
.card-news:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.1);}
.card-news__img-link{display:block;aspect-ratio:16/9;overflow:hidden;}
.card-news__img-wrap{width:100%;height:100%;}
.card-news__img-wrap img{width:100%;height:100%;object-fit:cover;}
.card-news__content{padding:14px 16px 16px;}
.card-news__title{font-size:17px;font-weight:700;line-height:1.35;margin-bottom:6px;color:var(--navy);}
.card-news__dek{font-size:14px;line-height:1.5;color:var(--ink-soft);}
.card-news__meta{margin-top:10px;font-size:11px;color:#888;display:flex;gap:8px;}

/* ARCHIVE */
.archive-header{padding:32px 0 24px;border-bottom:2px solid var(--navy-deep);margin-bottom:32px;}
.archive-header__title{font-size:32px;font-weight:700;color:var(--navy);margin-bottom:6px;}
.archive-header__desc{font-size:15px;color:var(--ink-soft);}
.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;}

/* FOOTER */
footer{background:var(--navy-deep);color:rgba(255,255,255,.8);padding:48px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;padding-bottom:32px;}
.footer-logo .logo-plate{background:#fff;display:inline-flex;padding:8px 14px;border-radius:3px;margin-bottom:14px;}
.footer-logo img{height:36px;width:auto;}
.footer-col h5{color:var(--gold);font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-col a{display:block;color:rgba(255,255,255,.7);text-decoration:none;font-size:13px;padding:4px 0;transition:color .2s;}
.footer-col a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:16px 0;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:rgba(255,255,255,.5);}

/* RESPONSIVE */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;}
  .cat-module{grid-template-columns:1fr 1fr;}
  .cat-list:last-child{display:none;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:768px){
  .nav-primary__hamburger{display:flex;}
  .nav-primary__menu{display:none!important;}
  .nav-primary__menu.is-open{display:flex!important;flex-direction:column;width:100%;}
  .masthead__brand-inner{flex-wrap:wrap;gap:12px;}
  .masthead__monetization{margin-left:0;}
  .wrap{padding:0 16px;}
  .cat-module{grid-template-columns:1fr;}
  .cat-list{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:16px;}
  .strumenti-grid{grid-template-columns:1fr;}
  .hero-main h1{font-size:26px;}
}
@media (max-width:480px){
  .footer-grid{grid-template-columns:1fr;}
  .utility-bar__left{display:none;}
}


.newsletter-strip{background:linear-gradient(135deg,var(--navy-deep) 0%,#1a4a6e 100%);border-top:3px solid var(--gold);padding:40px 0;}
.newsletter-strip__inner{display:flex;align-items:center;gap:40px;flex-wrap:wrap;}
.newsletter-strip__text{flex:1;min-width:250px;}
.newsletter-strip__text h3{color:#fff;font-size:22px;font-weight:700;margin-bottom:6px;}
.newsletter-strip__text p{color:rgba(255,255,255,.7);font-size:14px;margin:0;}
.newsletter-strip__form{flex-shrink:0;min-width:320px;}
.newsletter-fallback-form{display:flex;gap:8px;flex-wrap:wrap;}
.newsletter-email-input{flex:1;min-width:200px;padding:12px 16px;border:none;border-radius:4px;font-size:14px;background:rgba(255,255,255,.12);color:#fff;outline:none;}
.newsletter-email-input::placeholder{color:rgba(255,255,255,.5);}
.newsletter-email-input:focus{background:rgba(255,255,255,.18);}
.newsletter-submit{padding:12px 24px;background:var(--gold);color:var(--navy-deep);border:none;border-radius:4px;font-weight:700;font-size:14px;cursor:pointer;font-family:'IBM Plex Mono',monospace;}
.newsletter-submit:hover{background:#e6ab35;}
