/*
Theme Name: C.O.E. Elettronica
Theme URI: https://coeelettronica.it
Author: C.O.E. Elettronica
Description: Tema classico per il sito istituzionale C.O.E. Elettronica - schede elettroniche assemblate e collaudate, partner EMS Made in Italy dal 1982. Derivato dal pitch deck aziendale. Alla prima attivazione crea automaticamente le 12 pagine del sito, il menu principale e imposta la home page.
Version: 1.0.7
Requires at least: 5.9
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: coe-elettronica
*/
/* ============================================================
   C.O.E. Elettronica — stile sito (dal pitch deck Claude Design)
   Estetica industriale: angoli vivi, niente ombre, barre piene.
   ============================================================ */

:root{
  --red:#C8102E;
  --blue:#1666C7;
  --blue-light:#4da3ff;
  --ink:#16202c;
  --body:#3a424e;
  --muted:#6b7280;
  --muted2:#9aa3af;
  --bg:#ffffff;
  --card:#f4f6f9;
  --chip:#eef2f7;
  --dark:#101a26;
  --dark2:#16202c;
  --border:#e3e7ee;
  --border-dark:#263547;
  --font:'Segoe UI',Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  color:var(--body);
  background:var(--bg);
  font-size:17px;
  line-height:1.5;
}
img{max-width:100%;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--red)}

.container{max-width:1200px;margin:0 auto;padding:0 24px}

/* ---------- barra rossa distintiva ---------- */
.topbar{height:8px;background:var(--red)}

/* ---------- header / nav ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:#fff;
  border-bottom:1px solid var(--border);
}
.site-header .container{max-width:none}
.header-inner{
  display:flex;align-items:center;gap:24px;
  height:76px;
}
.logo img{height:48px;width:auto}
.site-nav{
  display:flex;align-items:center;gap:2px;
  margin-left:auto;flex-wrap:nowrap;
}
.site-nav a{
  color:var(--ink);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.4px;
  text-transform:uppercase;
  white-space:nowrap;
  padding:8px 8px;
  border-bottom:3px solid transparent;
}
.site-nav a:hover{color:var(--blue)}
.site-nav a.active{color:var(--blue);border-bottom-color:var(--blue)}
.site-nav a.cta{
  background:var(--blue);color:#fff;
  padding:10px 16px;margin-left:8px;
  border-bottom:none;
}
.site-nav a.cta:hover{background:var(--red);color:#fff}
.nav-toggle{
  display:none;
  margin-left:auto;
  background:none;border:2px solid var(--ink);
  font-size:20px;line-height:1;
  padding:6px 12px;cursor:pointer;color:var(--ink);
}

@media (max-width:1280px){
  .nav-toggle{display:block}
  .site-nav{
    display:none;
    position:absolute;top:76px;left:0;right:0;
    background:#fff;border-bottom:1px solid var(--border);
    flex-direction:column;align-items:stretch;gap:0;
    padding:10px 24px 20px;
  }
  .site-nav.open{display:flex}
  .site-nav a{padding:12px 4px;border-bottom:1px solid var(--border);font-size:15px}
  .site-nav a.active{border-bottom-color:var(--blue)}
  .site-nav a.cta{margin:14px 0 0;text-align:center}
}

/* ---------- tipografia ---------- */
.kicker{
  color:var(--muted2);
  font-weight:700;font-size:14px;
  letter-spacing:4px;text-transform:uppercase;
  margin:0 0 18px;
}
h1,.h1{
  color:var(--ink);
  font-weight:900;
  font-size:clamp(34px,5vw,64px);
  line-height:1.05;
  letter-spacing:-1px;
  text-transform:uppercase;
  margin:0 0 24px;
}
h1 .accent,.h1 .accent{color:var(--blue)}
h1 .accent-red,.h1 .accent-red{color:var(--red)}
.lead{font-size:clamp(18px,2vw,22px);line-height:1.45;max-width:860px}
.lead b,.lead strong{color:var(--ink)}
p b,p strong{color:var(--ink)}

/* ---------- sezioni ---------- */
.section{padding:72px 0}
.section-tight{padding:48px 0}
.section-dark{background:var(--dark);color:#aebccb}
.section-dark h1,.section-dark .h1,.section-dark h2{color:#fff}
.section-dark .kicker{color:#5f7186}
.section-dark .lead b{color:#fff}

/* ---------- hero home ---------- */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 84px)}
.hero-text{
  display:flex;flex-direction:column;justify-content:center;
  padding:64px 6vw 64px 24px;gap:26px;
}
.hero-text .logo-big{height:110px;width:auto;align-self:flex-start}
.hero-rule{width:110px;height:8px;background:var(--red)}
.hero-img{
  position:relative;
  border-left:12px solid var(--blue);
  min-height:420px;
}
.hero-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hero-iso{display:flex;gap:22px;align-items:center;margin-top:8px}
.hero-iso img{height:96px;width:auto}
.hero-iso .iso-txt{display:flex;flex-direction:column;gap:4px}
.hero-iso .iso-a{color:var(--blue);font-weight:800;font-size:19px;letter-spacing:1px}
.hero-iso .iso-b{color:var(--muted);font-weight:700;font-size:16px;letter-spacing:2px}
@media (max-width:900px){
  .hero{grid-template-columns:1fr}
  .hero-img{border-left:none;border-top:12px solid var(--blue);min-height:320px;order:2}
  .hero-text{padding:48px 24px}
}

/* ---------- card e griglie ---------- */
.grid{display:grid;gap:32px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-5{grid-template-columns:repeat(5,1fr)}
@media (max-width:1080px){
  .grid-4,.grid-5{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}
}

/* card con barra superiore (sfida / valori) */
.tcard{border-top:6px solid var(--red);padding-top:20px}
.tcard.blue{border-top-color:var(--blue)}
.tcard .num{color:var(--red);font-weight:900;font-size:21px;letter-spacing:1px}
.tcard.blue .num{color:var(--blue)}
.tcard h3{color:var(--ink);font-weight:800;font-size:21px;margin:8px 0 8px;text-transform:uppercase}
.tcard p{font-size:16px;line-height:1.45;margin:0}

/* card servizio (fondo grigio, barra blu) */
.scard{background:var(--card);padding:36px;border-top:8px solid var(--blue)}
.scard .label{color:var(--blue);font-weight:800;font-size:15px;letter-spacing:3px;text-transform:uppercase}
.scard h3{color:var(--ink);font-weight:900;font-size:26px;line-height:1.15;margin:12px 0 14px;text-transform:uppercase}
.scard p{font-size:16px;line-height:1.5;margin:0}

/* card settore */
.mcard{background:var(--card);padding:32px 28px;min-height:190px}
.mcard h3{color:var(--ink);font-weight:900;font-size:20px;letter-spacing:-.3px;margin:0 0 10px;text-transform:uppercase}
.mcard p{font-size:15.5px;line-height:1.45;margin:0}
.mcard.highlight{background:var(--blue)}
.mcard.highlight h3{color:#fff}
.mcard.highlight p{color:#fff;opacity:.92}
.mcard.dark{background:var(--dark2);display:flex;flex-direction:column;justify-content:center}
.mcard.dark h3{color:#fff}
.mcard.dark p{color:#fff;opacity:.85}

/* card bordo sinistro (made in italy) */
.lcard{background:var(--card);padding:26px 32px;border-left:10px solid var(--blue)}
.lcard h3{color:var(--ink);font-weight:800;font-size:21px;margin:0 0 6px;text-transform:uppercase}
.lcard p{font-size:16px;line-height:1.45;margin:0}

/* card bordata scura (controllo ottico) */
.dcard{border:1px solid var(--border-dark);padding:30px}
.dcard .label{color:var(--blue-light);font-weight:800;font-size:17px;letter-spacing:3px;text-transform:uppercase}
.dcard p{color:#e6edf5;font-size:16.5px;line-height:1.45;margin:12px 0 0}

/* chip */
.chips{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.chips .chips-label{color:var(--muted);font-weight:700;font-size:14px;letter-spacing:2px}
.chip{background:var(--chip);color:var(--ink);font-weight:700;font-size:15px;padding:8px 18px}
.chip-outline{border:2px solid #d7dce4;color:var(--muted);font-weight:700;font-size:14px;letter-spacing:2px;padding:9px 16px;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px}
.chip-outline.blue{border-color:var(--blue);color:var(--blue)}
.chip-outline img{height:32px;width:auto}

/* banner blu / scuro */
.banner{
  background:var(--blue);color:#fff;
  padding:26px 34px;
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:space-between;
}
.banner .banner-title{font-weight:800;font-size:20px;letter-spacing:1px;text-transform:uppercase}
.banner .banner-chips{display:flex;gap:12px;flex-wrap:wrap}
.banner .banner-chips span{background:rgba(255,255,255,.14);font-weight:700;font-size:16px;padding:8px 20px}
.banner.dark{background:var(--dark2)}
.banner.dark .accent{color:var(--blue-light);font-weight:700;letter-spacing:2px;font-size:16px;text-transform:uppercase}

/* timeline */
.timeline{display:flex;flex-direction:column}
.timeline .trow{display:flex;gap:26px;padding:24px 0;border-bottom:1px solid var(--border);align-items:baseline}
.timeline .trow:last-child{border-bottom:none}
.timeline .tyear{color:var(--red);font-weight:900;font-size:34px;min-width:110px}
.timeline .trow.now .tyear{color:var(--blue)}
.timeline .ttxt{color:var(--ink);font-size:18px;line-height:1.4}

/* lista numerata (fabbrica) */
.numlist{display:flex;flex-direction:column}
.numlist .nrow{display:flex;gap:22px;padding:20px 0;border-top:1px solid var(--border);align-items:baseline}
.numlist .nrow:last-child{border-bottom:1px solid var(--border)}
.numlist .nnum{color:var(--red);font-weight:900;font-size:22px;min-width:46px}
.numlist .ntxt{color:var(--ink);font-size:17.5px;line-height:1.4}

/* step metodo */
.step{display:flex;gap:20px;align-items:flex-start}
.step .snum{
  background:var(--blue);color:#fff;font-weight:900;font-size:24px;
  min-width:56px;height:56px;display:flex;align-items:center;justify-content:center;
}
.step.mid .snum{background:var(--dark2)}
.step.last .snum{background:var(--red)}
.step h3{color:var(--ink);font-weight:800;font-size:19px;margin:0 0 6px;text-transform:uppercase}
.step p{font-size:15.5px;line-height:1.45;margin:0}

/* citazione */
.quote{background:var(--card);border-left:10px solid var(--blue);padding:26px 32px;margin-top:36px}
.quote p{color:var(--ink);font-size:19px;line-height:1.5;font-style:italic;margin:0}

/* split immagine/testo */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.split .split-img{border-left:12px solid var(--blue)}
.split .split-img.red{border-left-color:var(--red)}
.split .split-img img{width:100%;height:100%;min-height:380px;object-fit:cover}
.split .caption{color:var(--muted);font-weight:700;font-size:13px;letter-spacing:2px;margin-top:12px;text-transform:uppercase}
@media (max-width:900px){
  .split{grid-template-columns:1fr;gap:36px}
  .split .split-img img{min-height:260px}
}

/* claim centrale */
.claim{text-align:center;padding:24px 0 0}
.claim p{color:var(--ink);font-weight:800;font-size:clamp(22px,3vw,32px);line-height:1.3;margin:0}
.claim .accent{color:var(--blue)}

/* separatore */
.rule{border:none;border-top:1px solid var(--border);margin:48px 0}

/* placca bianca per loghi su fondo scuro */
.plaque{background:#fff;padding:10px 18px;display:inline-flex;align-items:center}
.plaque img{height:56px;width:auto}

/* ---------- pagina contatti ---------- */
.contact-hero{position:relative;overflow:hidden}
.contact-hero .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}
.contact-hero .overlay{position:absolute;inset:0;background:linear-gradient(90deg,#101a26 45%,rgba(16,26,38,.55) 100%)}
.contact-hero .container{position:relative;z-index:2}
.contact-info{display:flex;flex-direction:column;gap:8px;margin-top:36px}
.contact-info .cname{color:#fff;font-weight:800;font-size:26px}
.contact-info .crole{color:#8fa1b5;font-weight:700;font-size:15px;letter-spacing:2px;text-transform:uppercase}
.contact-info .cline{color:#e6edf5;font-size:18px}
.contact-info .cline a{color:#e6edf5;text-decoration:underline}
.contact-info .cline a:hover{color:var(--blue-light)}
.contact-info .caddr{color:#8fa1b5;font-size:16px}
.btn{
  display:inline-block;background:var(--blue);color:#fff;
  font-weight:800;font-size:16px;letter-spacing:1px;text-transform:uppercase;
  padding:16px 34px;margin-top:28px;
}
.btn:hover{background:var(--red);color:#fff}

/* ---------- pager prev/next ---------- */
.pager{border-top:1px solid var(--border);margin-top:24px}
.pager .container{display:flex;justify-content:space-between;gap:20px;padding-top:28px;padding-bottom:56px}
.pager a{font-weight:700;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.pager a:hover{color:var(--blue)}
.pager a b{display:block;color:var(--ink);font-size:17px;margin-top:4px;letter-spacing:0}
.pager a:hover b{color:var(--blue)}
.pager .next{text-align:right;margin-left:auto}
.section-dark + .pager{border-top:none}

/* ---------- footer ---------- */
.site-footer{background:var(--dark);color:#8fa1b5;padding:56px 0 40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;align-items:start}
.site-footer .flogo{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.site-footer h4{color:#fff;font-weight:800;font-size:15px;letter-spacing:2px;text-transform:uppercase;margin:0 0 14px}
.site-footer p{font-size:15px;line-height:1.6;margin:0 0 6px}
.site-footer a{color:#e6edf5}
.site-footer a:hover{color:var(--blue-light)}
.site-footer .btn-footer{
  color:#fff;margin:0 0 16px;padding:10px 24px;
  font-size:13px;letter-spacing:2px;display:inline-block;
}
.site-footer .btn-footer:hover{color:#fff}
.footer-bottom{border-top:1px solid var(--border-dark);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px;letter-spacing:1px}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr}}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .4s ease-out,transform .4s ease-out}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ============================================================
   Adattamenti WordPress
   ============================================================ */

/* menu generato da wp_nav_menu (ul/li) */
.site-nav ul.nav-list{list-style:none;display:flex;align-items:center;gap:2px;margin:0;padding:0;flex-wrap:nowrap}
.site-nav li{margin:0}
.site-nav .current-menu-item > a,
.site-nav .current_page_item > a{color:var(--blue);border-bottom-color:var(--blue)}
.site-nav li.cta > a{background:var(--blue);color:#fff;padding:10px 16px;margin-left:8px;border-bottom:none}
.site-nav li.cta > a:hover,
.site-nav li.cta.current-menu-item > a{background:var(--red);color:#fff}
@media (max-width:1400px){
  .site-nav ul.nav-list{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .site-nav li.cta > a{margin:14px 0 0;text-align:center;display:block}
}

/* logo personalizzato */
.logo .custom-logo{height:48px;width:auto}

/* barra admin di WordPress */
body.admin-bar .site-header{top:32px}
@media (max-width:782px){body.admin-bar .site-header{top:46px}}

/* pagine generiche (es. Cookie Policy): testo incorniciato e leggibile */
.content-page{max-width:860px}
.content-page-title{font-size:clamp(28px,3.5vw,44px);margin-bottom:32px}
.content-page h2{color:var(--ink);font-weight:800;font-size:24px;margin:36px 0 12px}
.content-page h3{color:var(--ink);font-weight:800;font-size:19px;margin:28px 0 10px}
.content-page p,.content-page li{font-size:16.5px;line-height:1.6}
.content-page ul,.content-page ol{padding-left:22px}
.content-page table{border-collapse:collapse;width:100%;overflow-x:auto;display:block}
.content-page th,.content-page td{border:1px solid var(--border);padding:8px 12px;text-align:left;font-size:15px}

/* classi base dell editor */
.aligncenter{display:block;margin-left:auto;margin-right:auto}
img.alignleft{float:left;margin:0 24px 16px 0}
img.alignright{float:right;margin:0 0 16px 24px}
.wp-caption{max-width:100%}
.wp-caption-text{color:var(--muted);font-size:14px;margin-top:8px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}