/* ==========================================================================
   SicuraMente – stili del child theme
   ========================================================================== */

/* Caratteri in locale (nessuna chiamata a Google Fonts) */
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/archivo-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/archivo-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/archivo-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/archivo-latin-900-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2')}

:root{
  --sm-viola:#3B1E54;
  --sm-viola-medio:#6B4E8C;
  --sm-lavanda:#9B7EBD;
  --sm-lavanda-chiaro:#C9B6E0;
  --sm-grafite:#222222;
  --sm-testo:#3A3A3A;
  --sm-testo-tenue:#5A5560;
  --sm-menta:#6EE7C5;
  --sm-menta-scuro:#138F6E;
  --sm-menta-testo:#10241E;
  --sm-sfondo:#F5F3F7;
  --sm-bordo:#DCD5E3;
  --sm-notte:#1A0D26;
  --sm-titoli:'Archivo',system-ui,sans-serif;
  --sm-corpo:'IBM Plex Sans',system-ui,sans-serif;
  --sm-raggio:6px;
  --sm-max:1200px;
}

/* Base */
body{font-family:var(--sm-corpo);color:var(--sm-grafite);background:#fff;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--sm-titoli);color:var(--sm-viola);line-height:1.12;letter-spacing:-.01em}
h1{font-weight:900}h2,h3{font-weight:800}
a{color:var(--sm-viola)}a:hover,a:focus{color:var(--sm-grafite)}
:focus-visible{outline:3px solid var(--sm-menta);outline-offset:2px}
.sm-wrap{max-width:var(--sm-max);margin:0 auto;padding-left:24px;padding-right:24px;box-sizing:border-box}
.sm-eyebrow{margin:0;font-family:var(--sm-titoli);font-weight:800;font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:var(--sm-viola-medio)}

/* Pulsanti */
.sm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:14px 24px;border-radius:4px;font-family:var(--sm-titoli);font-weight:800;font-size:16px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .2s ease,filter .2s ease;box-sizing:border-box}
.sm-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.sm-btn--menta{background:var(--sm-menta);color:var(--sm-menta-testo)}
.sm-btn--menta:hover{color:var(--sm-menta-testo)}
.sm-btn--viola{background:var(--sm-viola);color:#fff}
.sm-btn--viola:hover{color:#fff}
.sm-btn--bordo{background:transparent;color:#fff;border-color:var(--sm-lavanda)}
.sm-btn--bordo:hover{color:#fff}

/* Hero del blog */
.sm-hero{background:var(--sm-viola);color:#fff;position:relative;overflow:hidden}
.sm-hero__inner{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-end;padding-top:64px}
.sm-hero__text{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:22px;padding-bottom:72px}
.sm-hero__eyebrow{margin:0;font-family:var(--sm-titoli);font-weight:700;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--sm-lavanda-chiaro)}
.sm-hero h1{margin:0;color:#fff;font-size:clamp(38px,6vw,74px);line-height:1.03;letter-spacing:-.02em}
.sm-hero h1 em{font-style:normal;color:var(--sm-menta)}
.sm-hero__lead{margin:0;font-size:20px;line-height:1.55;max-width:600px;color:#E9E1F2}
.sm-hero__azioni{display:flex;flex-wrap:wrap;gap:14px}
.sm-hero__img{flex:1 1 260px;min-width:0;display:flex;justify-content:center}
.sm-hero__img img{width:100%;max-width:320px;height:auto;display:block;animation:sm-float 4.5s ease-in-out infinite}
@keyframes sm-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes sm-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.sm-hero__text>*{animation:sm-in .8s cubic-bezier(.2,.7,.2,1) both}
.sm-hero__text>*:nth-child(2){animation-delay:.12s}.sm-hero__text>*:nth-child(3){animation-delay:.24s}.sm-hero__text>*:nth-child(4){animation-delay:.36s}

/* Griglia articoli */
.sm-articoli{display:flex;flex-direction:column;gap:28px}
.sm-filtri{display:flex;flex-wrap:wrap;gap:8px}
.sm-filtro{font-family:var(--sm-titoli);font-weight:700;font-size:14px;padding:10px 16px;min-height:44px;border-radius:999px;border:2px solid var(--sm-bordo);background:#fff;color:var(--sm-viola);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.sm-filtro[aria-pressed="true"]{background:var(--sm-viola);border-color:var(--sm-viola);color:#fff}
.sm-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.sm-card{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--sm-bordo);border-top:4px solid var(--sm-menta);border-radius:var(--sm-raggio);padding:26px;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease}
.sm-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(59,30,84,.18);color:inherit}
.sm-card:nth-child(even){border-top-color:var(--sm-lavanda)}
.sm-card[hidden]{display:none}
.sm-card__cat{font-family:var(--sm-titoli);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sm-viola-medio)}
.sm-card__titolo{font-family:var(--sm-titoli);font-weight:800;font-size:21px;line-height:1.2;color:var(--sm-grafite)}
.sm-card__estratto{color:var(--sm-testo);font-size:16px}
.sm-card__leggi{margin-top:auto;font-family:var(--sm-titoli);font-weight:700;font-size:14px;color:var(--sm-menta-scuro)}
.sm-vuoto{color:var(--sm-testo-tenue)}

/* Articolo singolo */
.sm-articolo{max-width:760px;margin:0 auto;padding:56px 24px 80px;font-size:19px;line-height:1.7;box-sizing:border-box}
.sm-articolo__testa{display:flex;flex-direction:column;gap:14px;margin-bottom:28px}
.sm-articolo__titolo{margin:0;font-size:clamp(34px,5vw,52px);line-height:1.08}
.sm-articolo__byline{margin:0;font-size:15px;color:var(--sm-testo-tenue)}
.sm-articolo__immagine{margin:0 0 28px}
.sm-articolo__immagine img{width:100%;height:auto;border-radius:var(--sm-raggio);display:block}
.sm-articolo__corpo h2{font-size:30px;margin:44px 0 12px}
.sm-articolo__corpo h3{font-size:23px;margin:32px 0 10px}
.sm-articolo__corpo p{margin:0 0 18px}
.sm-articolo__corpo ul,.sm-articolo__corpo ol{margin:0 0 18px;padding-left:24px}
.sm-articolo__corpo li{margin-bottom:8px}
.sm-articolo__disclaimer{margin:32px 0 0;font-size:14px;color:var(--sm-testo-tenue)}
.sm-correlati{background:var(--sm-sfondo);padding:64px 0}
.sm-correlati h2{margin:0 0 24px;font-size:30px}

/* Riquadri da usare dentro gli articoli */
.sm-box{border-radius:var(--sm-raggio);padding:24px 28px;margin:28px 0;display:flex;flex-direction:column;gap:8px}
.sm-box>*:last-child{margin-bottom:0}
.sm-box__titolo{font-family:var(--sm-titoli);font-weight:800;font-size:15px;letter-spacing:.12em;text-transform:uppercase}
.sm-box--breve{background:var(--sm-viola);color:#F1EBF7;border-left:6px solid var(--sm-menta)}
.sm-box--breve .sm-box__titolo{color:var(--sm-menta)}
.sm-box--nota{background:var(--sm-sfondo);border-left:6px solid var(--sm-lavanda)}
.sm-box--nota .sm-box__titolo{color:var(--sm-viola);text-transform:none;letter-spacing:0;font-size:18px}
.sm-box--riferimenti{border-top:1px solid var(--sm-bordo);border-radius:0;padding:22px 0 0;font-size:16px;color:var(--sm-testo)}
.sm-box--riferimenti .sm-box__titolo{color:var(--sm-viola-medio)}

/* Fascia Instagram */
.sm-fascia{background:var(--sm-viola-medio);color:#fff;border-radius:var(--sm-raggio);padding:28px;margin:32px 0 0;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.sm-fascia p{margin:0;flex:1 1 280px;font-family:var(--sm-titoli);font-weight:800;font-size:22px;line-height:1.25;color:#fff}

/* Check in 30 secondi (per la pagina servizi, da gennaio) */
.sm-check{display:flex;flex-direction:column;gap:12px}
.sm-check__voce{font:inherit;text-align:left;display:flex;gap:14px;align-items:center;padding:16px 18px;min-height:56px;border-radius:var(--sm-raggio);border:2px solid var(--sm-bordo);background:#fff;color:var(--sm-grafite);cursor:pointer;transition:background .2s,border-color .2s}
.sm-check__voce::before{content:"";flex:none;width:22px;height:22px;border:2px solid #8A8290;border-radius:4px;box-sizing:border-box}
.sm-check__voce[aria-pressed="true"]{border-color:var(--sm-viola);background:#EFE8F7}
.sm-check__voce[aria-pressed="true"]::before{background:var(--sm-viola) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;border-color:var(--sm-viola)}
.sm-check__esito{margin-top:10px;background:var(--sm-viola);color:#fff;border-radius:var(--sm-raggio);padding:24px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.sm-check__esito strong{display:block;font-family:var(--sm-titoli);font-size:22px}
.sm-check__esito span{color:#E9E1F2}

@media (max-width:720px){
  .sm-hero__inner{padding-top:40px}
  .sm-hero__text{padding-bottom:32px}
  .sm-hero__img img{max-width:220px}
  .sm-articolo{padding-top:36px;font-size:18px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}

/* Home blog (template page-home-blog.php) */
.sm-home{overflow-x:hidden}
.sm-sezione{padding:88px 0;background:#fff}
.sm-sezione--chiara{background:var(--sm-sfondo)}
.sm-sezione__titolo{margin:0 0 28px;font-size:clamp(28px,3.8vw,42px);line-height:1.1}
.sm-chi{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.sm-chi__img{flex:1 1 240px;min-width:0;max-width:320px;margin:0 auto}
.sm-chi__img img{width:100%;height:auto;display:block}
.sm-chi__testo{flex:999 1 460px;min-width:0;display:flex;flex-direction:column;gap:14px;font-size:18px;color:var(--sm-testo)}
.sm-chi__testo p{margin:0}
.sm-chi__testo .sm-sezione__titolo{margin:0}
.sm-banda{background:var(--sm-viola-medio);color:#fff;padding:56px 0}
.sm-banda__inner{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.sm-banda__inner p{margin:0;flex:999 1 420px;min-width:0;font-family:var(--sm-titoli);font-weight:900;font-size:clamp(26px,3.6vw,40px);line-height:1.1;color:#fff}
@media (max-width:720px){.sm-sezione{padding:56px 0}}
.sm-chi__testo .sm-chi__qualifica{font-family:var(--sm-titoli);font-weight:700;font-size:20px;color:var(--sm-menta-scuro)}

/* ==========================================================================
   Header, menu e footer (v1.2)
   ========================================================================== */
body.sm-sito{margin:0}
.sm-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sm-skip{position:absolute;left:-9999px;top:8px;z-index:1000;background:var(--sm-viola);color:#fff;padding:12px 18px;border-radius:4px;font-family:var(--sm-titoli);font-weight:700}
.sm-skip:focus{left:12px;color:#fff}

.sm-header{position:sticky;top:0;z-index:100;background:rgba(245,243,247,.96);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--sm-bordo)}
.admin-bar .sm-header{top:32px}
@media (max-width:782px){.admin-bar .sm-header{top:46px}}
.sm-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;position:relative}
.sm-header__logo{display:flex;align-items:center;flex:none;line-height:0}
.sm-header__logo img{height:56px;width:auto;max-width:none;display:block}

.sm-nav__lista{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:24px}
.sm-nav__lista a{font-family:var(--sm-titoli);font-weight:700;font-size:15px;text-decoration:none;color:var(--sm-viola);display:inline-flex;align-items:center;min-height:44px}
.sm-nav__lista a:hover{color:var(--sm-grafite)}
.sm-nav__lista .current-menu-item>a{box-shadow:inset 0 -3px 0 var(--sm-menta)}
.sm-nav__lista .sm-nav__cta>a{background:var(--sm-viola);color:#fff;padding:0 20px;border-radius:4px;transition:filter .2s,transform .2s}
.sm-nav__lista .sm-nav__cta>a:hover{color:#fff;filter:brightness(1.15);transform:translateY(-1px)}

.sm-header__toggle{display:none;width:48px;height:48px;border:2px solid var(--sm-bordo);border-radius:6px;background:#fff;cursor:pointer;align-items:center;justify-content:center;padding:0}
.sm-header__toggle-bars,.sm-header__toggle-bars::before,.sm-header__toggle-bars::after{display:block;width:22px;height:2.5px;background:var(--sm-viola);border-radius:2px;position:relative;transition:transform .25s,opacity .2s}
.sm-header__toggle-bars::before,.sm-header__toggle-bars::after{content:"";position:absolute;left:0}
.sm-header__toggle-bars::before{top:-7px}.sm-header__toggle-bars::after{top:7px}
.sm-header__toggle[aria-expanded="true"] .sm-header__toggle-bars{background:transparent}
.sm-header__toggle[aria-expanded="true"] .sm-header__toggle-bars::before{transform:translateY(7px) rotate(45deg)}
.sm-header__toggle[aria-expanded="true"] .sm-header__toggle-bars::after{transform:translateY(-7px) rotate(-45deg)}

@media (max-width:820px){
  .sm-header__inner{min-height:64px}
  .sm-header__logo img{height:44px}
  .sm-header__toggle{display:inline-flex}
  .sm-nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--sm-bordo);box-shadow:0 18px 30px rgba(59,30,84,.12);padding:8px 24px 20px;display:none}
  .sm-nav.is-open{display:block}
  .sm-nav__lista{flex-direction:column;align-items:stretch;gap:0}
  .sm-nav__lista li{border-bottom:1px solid var(--sm-sfondo)}
  .sm-nav__lista li:last-child{border-bottom:0}
  .sm-nav__lista a{min-height:52px;font-size:17px;width:100%}
  .sm-nav__lista .sm-nav__cta{margin-top:12px}
  .sm-nav__lista .sm-nav__cta>a{justify-content:center}
}

.sm-footer{background:var(--sm-notte);color:#CFC6D9;font-size:14px}
.sm-footer__inner{padding-top:44px;padding-bottom:44px;display:flex;flex-direction:column;gap:18px}
.sm-footer__riga{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.sm-footer__logo{line-height:0}
.sm-footer__logo img{height:52px;width:auto;display:block}
.sm-footer__link{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:22px}
.sm-footer__link a{color:#CFC6D9;text-decoration:none;font-weight:600;display:inline-flex;min-height:44px;align-items:center}
.sm-footer__link a:hover{color:var(--sm-menta)}
.sm-footer__chi{margin:0;color:#E5DEEC}
.sm-footer__nota{margin:0;color:#A99FB5;border-top:1px solid #3A2A4A;padding-top:18px}

/* Contenuti generici (pagine Elementor/blocchi) dentro il tema */
.site-main>.page-content,.site-main>article:not(.sm-articolo){max-width:var(--sm-max);margin:0 auto;padding-left:24px;padding-right:24px}
img{max-width:100%;height:auto}

/* Pagine elenco, paginazione, avviso bozze (v1.3) */
.sm-testata{background:var(--sm-viola);color:#fff;padding:56px 0 52px}
.sm-testata .sm-wrap{display:flex;flex-direction:column;gap:14px}
.sm-testata h1{margin:0;color:#fff;font-size:clamp(34px,5vw,56px);line-height:1.05}
.sm-testata__testo{margin:0;max-width:640px;font-size:19px;color:#E9E1F2}
a.sm-filtro{display:inline-flex;align-items:center;text-decoration:none}
a.sm-filtro[aria-current="page"]{background:var(--sm-viola);border-color:var(--sm-viola);color:#fff}
.sm-paginazione{margin-top:12px}
.sm-paginazione ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sm-paginazione a,.sm-paginazione span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border-radius:4px;border:2px solid var(--sm-bordo);background:#fff;font-family:var(--sm-titoli);font-weight:700;text-decoration:none;color:var(--sm-viola)}
.sm-paginazione .current{background:var(--sm-viola);border-color:var(--sm-viola);color:#fff}
.sm-avviso-bozze{margin:0 0 20px;padding:14px 18px;border-radius:var(--sm-raggio);background:#FFF6D9;border:1px solid #E8C96A;color:#5A4500;font-size:15px}
.sm-avviso-bozze a{color:#5A4500;font-weight:700}
