/*
Theme Name: Cozzetto Media Company
Theme URI: https://www.cozzettomedia.it
Author: Cozzetto Media Company
Description: Replica su WordPress del sito istituzionale di Cozzetto Media Company. Riproduce struttura, testi e immagini del sito originale, con le pagine create automaticamente all'attivazione.
Version: 1.7.6
Requires at least: 6.0
Requires PHP: 7.4
License: Uso riservato
Text Domain: cmc
*/

:root{
  --rosso:#E31E28; --rosso-scuro:#B4161E; --nero:#111013; --nero-2:#1C1A1F;
  --bianco:#FFFFFF; --grigio:#F4F4F6; --grigio-2:#E4E4E8; --testo:#2A2A2E; --muto:#6E6E76;
  --oro:#C8A32A;
  --d:"Poppins","Segoe UI",system-ui,sans-serif;
  --b:"Poppins","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--b);color:var(--testo);background:var(--bianco);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--d);margin:0;line-height:1.15;font-weight:700;text-wrap:balance}
p{margin:0}
.wrap{max-width:1180px;margin:0 auto;padding-inline:clamp(20px,5vw,40px)}
:focus-visible{outline:3px solid var(--oro);outline-offset:3px}

/* testata */
.top{position:sticky;top:0;z-index:70;background:var(--rosso)}
.top__in{max-width:1180px;margin:0 auto;padding:14px clamp(20px,5vw,40px);display:flex;align-items:center;justify-content:space-between;gap:20px}
.top__logo img{height:38px;width:auto}
.top__logo{font-family:var(--d);color:#fff;text-decoration:none;font-size:22px;font-weight:300;letter-spacing:.02em;line-height:1}
.top__logo small{display:block;font-size:9px;letter-spacing:.3em;text-transform:lowercase;opacity:.85;margin-top:3px}
.nav{display:flex;gap:clamp(14px,2.4vw,34px);align-items:center;flex-wrap:wrap}
.nav li{list-style:none;margin:0;padding:0;display:block;position:relative}
/* sottomenu a tendina */
.nav .sub-menu{list-style:none;margin:0;padding:8px 0;position:absolute;top:100%;left:-14px;min-width:210px;
  background:var(--rosso-scuro);border-radius:0 0 10px 10px;box-shadow:0 10px 30px -12px rgba(0,0,0,.5);
  display:none;z-index:80}
.nav li:hover > .sub-menu,.nav li:focus-within > .sub-menu{display:block}
.nav .sub-menu a{display:block;padding:9px 18px;border-bottom:0;font-size:14.5px;white-space:nowrap}
.nav .sub-menu a:hover{background:rgba(0,0,0,.18);border-bottom-color:transparent}
.nav .menu-item-has-children > a::after{content:"▾";margin-left:6px;font-size:11px;opacity:.9}
.nav a{color:#fff;text-decoration:none;font-size:15px;font-weight:500;padding:6px 0;border-bottom:2px solid transparent;display:inline-block}
.nav a:hover,.nav a.on{border-bottom-color:#fff}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.burger span{display:block;width:24px;height:2px;background:#fff;margin:5px 0}
@media(max-width:900px){
  .burger{display:block}
  .nav{position:absolute;top:100%;left:0;right:0;background:var(--rosso);flex-direction:column;align-items:flex-start;padding:14px clamp(20px,5vw,40px) 22px;gap:4px;display:none}
  .nav.open{display:flex}
  .nav li{width:100%}
  .nav .sub-menu{display:block;position:static;background:none;box-shadow:none;padding:0 0 0 16px;min-width:0}
  .nav .sub-menu a{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.14)}
  .nav .menu-item-has-children > a::after{content:""}
  .nav a{width:100%;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.2)}
}

/* hero */
.hero{background:var(--rosso);color:#fff;padding-block:clamp(50px,8vw,110px) clamp(60px,9vw,120px);position:relative;overflow:hidden}
.hero__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(24px,5vw,60px);align-items:center}
@media(max-width:860px){.hero__in{grid-template-columns:minmax(0,1fr)}}
.hero h1{font-size:clamp(38px,6.6vw,74px);font-weight:700;line-height:1.05}
.hero h1 em{font-style:italic;font-weight:700;display:block}
.hero__c{max-width:380px;margin-inline:auto}
.btn{display:inline-block;background:#fff;color:var(--rosso);text-decoration:none;font-weight:600;padding:14px 30px;border-radius:40px;margin-top:28px;font-size:15px}
.btn:hover{background:var(--nero);color:#fff}
.btn--rosso{background:var(--rosso);color:#fff}
.btn--rosso:hover{background:var(--nero)}

/* sezioni */
.sez{padding-block:clamp(50px,8vw,100px)}
.sez--scura{background:var(--nero);color:#fff}
.sez--grigia{background:var(--grigio)}
.prosa{max-width:70ch;display:flex;flex-direction:column;gap:1.1em}
.prosa p{font-size:17px}
h2.tit{font-size:clamp(28px,4.4vw,46px);margin-bottom:26px}
.claim{background:var(--nero);color:#fff;text-align:center;padding-block:clamp(40px,6vw,70px)}
.claim p{font-size:clamp(20px,3vw,32px);font-weight:600;max-width:20ch;margin-inline:auto;line-height:1.25}

/* about */
.about__q{font-size:clamp(24px,3.6vw,40px);font-weight:700;max-width:22ch}
.kw{display:flex;flex-wrap:wrap;gap:clamp(14px,3vw,40px);margin-top:30px}
.kw span{font-family:var(--d);font-weight:700;font-size:clamp(15px,2vw,21px);letter-spacing:.06em;color:var(--rosso)}
.sez--scura .kw span{color:var(--oro)}

/* apertura */
.apertura__img{margin-top:clamp(30px,5vw,54px)}
.apertura__img img{width:100%;border-radius:12px}

/* skills */
.skills{margin-top:30px;display:flex;flex-direction:column;gap:clamp(24px,4vw,44px)}
.skills__elenco{display:flex;flex-wrap:wrap;gap:14px clamp(18px,3.4vw,46px)}
.skills__elenco b{font-family:var(--d);font-size:clamp(15px,2vw,21px);font-style:italic;color:var(--oro);letter-spacing:.04em}
.skills__img img{width:100%}

/* testimonianze */
.testi{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:34px}
.testi .t{background:#fff;border-radius:14px;padding:26px 24px;box-shadow:0 2px 20px -10px rgba(0,0,0,.3);display:flex;flex-direction:column;gap:12px}
.sez--scura .testi .t{background:var(--nero-2)}
.testi .t h3{font-size:18px;color:var(--rosso)}
.sez--scura .testi .t h3{color:var(--oro)}
.testi .t p{font-size:15px;line-height:1.6}
.testi .t__volto img{width:68px;height:68px;border-radius:50%;object-fit:cover}
.testi .t cite{font-style:normal;font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--muto);margin-top:auto}

/* numeri */
.numeri{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:26px;text-align:center;margin-top:30px}
.numeri b{display:block;font-family:var(--d);font-size:clamp(40px,7vw,68px);font-weight:700;color:var(--rosso);line-height:1}
.sez--scura .numeri b{color:#fff}
.numeri span{font-size:15px;color:var(--muto)}
.sez--scura .numeri span{color:rgba(255,255,255,.75)}

/* sedi */
.sedi{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px;margin-top:34px}
.sede{text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}
.sede img{width:52px;height:auto}
.sede h3{font-size:22px;letter-spacing:.1em}
.sede p{font-size:15px;color:var(--muto)}
.sez--scura .sede p{color:rgba(255,255,255,.7)}

/* form */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:640px;margin-top:26px}
.form .full{grid-column:1/-1}
.form label{display:block;font-size:13px;font-weight:600;margin-bottom:5px}
.form input,.form textarea,.form select{width:100%;padding:12px 14px;border:1px solid var(--grigio-2);border-radius:8px;font:inherit;font-size:15px;background:#fff;color:var(--testo)}
.form textarea{min-height:120px;resize:vertical}
.form .privacy{display:flex;gap:9px;align-items:flex-start;font-size:14px}
.form .privacy input{width:auto;margin-top:4px}
.form button{background:var(--rosso);color:#fff;border:0;border-radius:40px;padding:14px 38px;font:inherit;font-weight:600;cursor:pointer;justify-self:start}
.form button:hover{background:var(--nero)}
@media(max-width:620px){.form{grid-template-columns:minmax(0,1fr)}}
.nota{font-size:13px;color:var(--muto);margin-top:12px}

/* contatti */
.contatti{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:30px;align-items:start}
.contatti a{color:var(--rosso);text-decoration:none;font-weight:600}

/* footer */
.foot{background:var(--nero);color:#fff;padding-block:50px 26px}
.foot__in{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px}
.foot h3{font-size:16px;margin-bottom:12px}
.foot p,.foot a{font-size:14px;color:rgba(255,255,255,.72);text-decoration:none;line-height:1.8}
.foot a:hover{color:#fff}
.foot__legal{border-top:1px solid rgba(255,255,255,.14);margin-top:30px;padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;color:rgba(255,255,255,.55)}
.social{display:flex;gap:14px;margin-top:10px}
.social a{font-size:13px;letter-spacing:.04em}

/* accessibilità e stati */
.salta{position:absolute;left:-9999px;top:0;background:#fff;color:var(--rosso);padding:10px 16px;z-index:200;border-radius:0 0 8px 0;font-weight:600;text-decoration:none}
.salta:focus{left:0}
.esca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.esito{border-radius:10px;padding:14px 18px;font-size:15px;font-weight:500;margin-bottom:20px;max-width:640px}
.esito--ok{background:#E9F7EC;color:#15612C;border:1px solid #BCE3C6}
.esito--no{background:#FDECEC;color:#8E1016;border:1px solid #F3C2C4}
.sez--scura .esito--ok,.sez--scura .esito--no{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}

/* testa di pagina */
.sez--testa{background:var(--rosso);color:#fff;padding-block:clamp(40px,6vw,76px) clamp(34px,5vw,58px)}
.sez--testa .tit{margin-bottom:0;font-size:clamp(32px,5.4vw,60px)}
.sez--testa .art__data{color:rgba(255,255,255,.8);font-size:14px;margin-top:12px}

/* home: occhiello, icone, slideshow */
.occhiello{font-family:var(--d);font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--oro);font-weight:600;margin-bottom:14px}
.sotto{font-size:clamp(17px,2.2vw,22px);font-weight:600;margin-top:18px;color:var(--oro)}
.icone{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:26px;margin-top:40px;align-items:center}
.icone img{max-height:150px;width:auto;margin-inline:auto}
.slide{display:flex;flex-direction:column;gap:22px;margin-top:clamp(34px,5vw,56px)}
.slide img{width:100%}
.corsivo{font-style:italic;color:var(--muto)}
.sez--scura .corsivo{color:rgba(255,255,255,.72)}

/* moduli: i campi sono paragrafi */
.form p{margin:0}
.form p.full{grid-column:1/-1}

/* blog */
.lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:34px}
.art{display:flex;flex-direction:column;gap:10px}
.art__img img{border-radius:12px}
.art h2{font-size:22px}
.art h2 a{text-decoration:none}
.art h2 a:hover{color:var(--rosso)}
.art__data{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muto)}
.art__link{color:var(--rosso);font-weight:600;text-decoration:none;margin-top:auto}
.paginazione{margin-top:46px;display:flex;justify-content:center}
.paginazione .page-numbers{display:inline-block;padding:8px 14px;margin:0 3px;border:1px solid var(--grigio-2);border-radius:8px;text-decoration:none;font-size:15px}
.paginazione .page-numbers.current{background:var(--rosso);border-color:var(--rosso);color:#fff}

/* popup consulenza */
.pop{position:fixed;inset:0;z-index:140;background:rgba(17,17,17,.62);display:flex;align-items:center;justify-content:center;
  padding:20px;opacity:0;transition:opacity .25s ease}
.pop[hidden]{display:none}
.pop--on{opacity:1}
.pop__scheda{background:#fff;color:var(--testo);border-radius:18px;width:100%;max-width:520px;max-height:calc(100vh - 40px);
  overflow-y:auto;box-shadow:0 24px 60px rgba(0,0,0,.3);transform:translateY(14px);transition:transform .25s ease;position:relative}
.pop--on .pop__scheda{transform:none}
.pop__chiudi{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:50%;
  background:rgba(0,0,0,.06);color:#444;font-size:22px;line-height:1;cursor:pointer}
.pop__chiudi:hover{background:rgba(0,0,0,.12)}
.pop__corpo{padding:34px 30px 28px}
.pop__occhiello{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--rosso);font-weight:700;margin-bottom:12px}
.pop__ultimo{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muto);font-weight:700;margin-bottom:6px}
.pop h2{font-size:clamp(21px,3vw,26px);line-height:1.25}
.pop__nota{font-size:14.5px;color:var(--muto);margin-top:10px;line-height:1.6}
.pop__domanda{font-weight:600;margin-top:22px}
.pop__scelte{display:flex;flex-direction:column;gap:9px;margin-top:16px}
.pop__scelta{font:inherit;font-size:15px;text-align:left;background:#fff;border:1px solid var(--grigio-2);border-radius:10px;
  padding:13px 16px;cursor:pointer;transition:border-color .15s,background .15s}
.pop__scelta:hover{border-color:var(--rosso);background:#FFF6F6}
.pop__scelta--presa{border-color:var(--rosso);background:#FFF1F1;font-weight:600}
.pop__etichetta{display:block;font-size:13px;font-weight:600;margin:18px 0 6px}
.pop__campo,.pop__form input[type=text],.pop__form input[type=email],.pop__form input[type=tel]{
  width:100%;padding:12px 14px;border:1px solid var(--grigio-2);border-radius:8px;font:inherit;font-size:15px}
.pop__avanti,.pop__invia{margin-top:18px;background:var(--rosso);color:#fff;border:0;border-radius:40px;
  padding:13px 30px;font:inherit;font-weight:600;cursor:pointer}
.pop__avanti:hover,.pop__invia:hover{background:var(--rosso-scuro)}
.pop__invia[disabled]{opacity:.6;cursor:default}
.pop__indietro{display:block;margin-top:16px;background:none;border:0;color:var(--muto);font:inherit;font-size:14px;cursor:pointer;padding:0}
.pop__indietro:hover{color:var(--rosso)}
.pop__form{margin-top:18px}
.pop__form p{margin:0 0 12px}
.pop__form label{display:block;font-size:13px;font-weight:600;margin-bottom:5px}
.pop__privacy{display:flex;gap:9px;align-items:flex-start;font-size:14px}
.pop__privacy input{width:auto;margin-top:3px}
.pop__privacy label{font-weight:400;font-size:14px}
.pop__privacy a{color:var(--rosso);font-weight:600}
.pop__errore{background:#FDECEC;color:#8E1016;border:1px solid #F3C2C4;border-radius:8px;padding:11px 14px;font-size:14px}
.pop__errore[hidden]{display:none}
.pop__grazie h2{color:var(--rosso)}
.pop__grazie a{color:var(--rosso);font-weight:600}

/* banner del consenso */
.cc{position:fixed;left:0;right:0;bottom:0;z-index:120;padding:clamp(12px,2vw,20px);display:flex;justify-content:center;pointer-events:none}
.cc[hidden]{display:none}
.cc__box{pointer-events:auto;background:#fff;color:var(--testo);max-width:720px;width:100%;border-radius:14px;
  box-shadow:0 10px 50px -12px rgba(0,0,0,.45);padding:clamp(18px,2.6vw,26px);border:1px solid var(--grigio-2)}
.cc__tit{font-size:19px;margin-bottom:8px}
.cc__testo{font-size:14.5px;line-height:1.6;color:var(--muto)}
.cc__testo a{color:var(--rosso);font-weight:600}
.cc__scelte{display:flex;flex-direction:column;gap:9px;margin-top:16px;font-size:14px}
.cc__scelte[hidden]{display:none}
.cc__scelte label{display:flex;gap:9px;align-items:flex-start}
.cc__azioni{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.cc__btn{font:inherit;font-size:14px;font-weight:600;border:1px solid var(--nero);background:var(--nero);color:#fff;
  border-radius:40px;padding:11px 22px;cursor:pointer}
.cc__btn:hover{background:var(--nero-2)}
.cc__btn--si{background:var(--rosso);border-color:var(--rosso)}
.cc__btn--si:hover{background:var(--rosso-scuro);border-color:var(--rosso-scuro)}
.cc__btn--vuoto{background:none;color:var(--testo);border-color:var(--grigio-2)}
.cc__btn--vuoto:hover{background:var(--grigio);color:var(--testo)}
.cc__btn[hidden]{display:none}
@media(max-width:560px){.cc__azioni .cc__btn{flex:1 1 100%;text-align:center}}

/* contenuto editoriale */
.entry{max-width:70ch;display:flex;flex-direction:column;gap:1.05em}
.entry h2{font-size:clamp(24px,3.4vw,34px);margin-top:.4em}
.entry h3{font-size:21px}
.entry ul{padding-left:1.2em;display:flex;flex-direction:column;gap:.4em}
blockquote{margin:0;font-size:clamp(20px,3vw,30px);font-weight:700;line-height:1.3;color:var(--rosso)}
.sez--scura blockquote{color:var(--oro)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
