/*
Theme Name: FA Impianti Elettrici GP Child
Template: generatepress
Text Domain: fa-impianti-elettrici-gp-child
Description: Child theme di GeneratePress per FA Impianti Elettrici Srl
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
*/

:root{
  --white:#FFFFFF;
  --ink:#12181F;
  --ink-soft:#4B5763;
  --blue:#24366C;
  --blue-deep:#1B2A54;
  --blue-mid:#3D5490;
  --red:#E30613;
  --red-deep:#B0040F;
  --paper:#F4F6F8;
  --line:#D9E1E8;
  --radius:2px;
  --maxw:1180px;
}
/* Header sempre visibile (sticky) anche su desktop */
#masthead,.site-header{position:sticky;top:0;z-index:999;background:#fff;}
.admin-bar #masthead,.admin-bar .site-header{top:32px;}
@media (max-width:782px){.admin-bar #masthead,.admin-bar .site-header{top:46px;}}
body{font-family:'IBM Plex Sans',sans-serif;color:var(--ink);background:#fff;line-height:1.55;}
h1,h2,h3,h4{font-family:'Fjalla One',sans-serif;font-weight:400;letter-spacing:.2px;color:var(--blue-deep);line-height:1.12;}
p{color:var(--ink-soft);}
a{color:inherit;}
:focus-visible{outline:3px solid var(--red);outline-offset:2px;}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important;}}

/* contenitore */
.fa-wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.fa-section{padding:88px 0;}
.fa-section.paper{background:var(--paper);}
.fa-eyebrow{color:var(--red);font-weight:600;font-size:.86rem;margin-bottom:10px;display:block;text-transform:uppercase;letter-spacing:.04em;}
.fa-head{max-width:640px;margin-bottom:48px;}
.fa-head.center{margin-left:auto;margin-right:auto;text-align:center;}

/* pulsanti */
.fa-btn{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff !important;font-weight:600;font-size:.92rem;padding:11px 20px;border-radius:var(--radius);border:none;cursor:pointer;box-shadow:0 2px 0 var(--red-deep);text-decoration:none;transition:transform .12s ease;}
.fa-btn:hover{transform:translateY(-1px);}
.fa-btn.ghost{background:transparent;color:var(--blue-deep) !important;border:1.5px solid var(--blue-deep);box-shadow:none;}
.fa-btn.ghost:hover{background:var(--blue-deep);color:#fff !important;}

/* hero */
.fa-hero{padding:64px 0 90px;}
.fa-hero .fa-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.fa-hero h1{font-size:clamp(2.3rem,4.1vw,3.4rem);}
.fa-lede{font-size:1.08rem;max-width:46ch;}
.fa-ctas{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.fa-figure{position:relative;border:1px solid var(--line);aspect-ratio:4/5;overflow:hidden;background:linear-gradient(160deg,var(--blue-deep),var(--blue));}
.fa-figure img{width:100%;height:100%;object-fit:cover;}

/* trust strip */
.fa-trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;}
.fa-trust .fa-wrap{display:flex;flex-wrap:wrap;gap:22px 40px;justify-content:space-between;align-items:center;}
.fa-trust span{font-size:.86rem;font-weight:500;color:var(--blue-deep);}
.fa-trust span::before{content:'✓ ';color:var(--red);font-weight:700;}

/* griglie */
.fa-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.fa-card{border:1px solid var(--line);padding:26px 24px;background:#fff;position:relative;}
.fa-card::before{content:'';position:absolute;top:0;left:0;width:28px;height:3px;background:var(--red);}
.fa-card h3{font-size:1.12rem;margin-top:14px;}
.fa-card p{font-size:.92rem;}
.fa-num{font-family:'IBM Plex Mono',monospace;color:var(--red);font-size:.82rem;font-weight:500;}
.fa-learn{font-size:.84rem;font-weight:600;color:var(--blue-deep);display:inline-block;margin-top:6px;text-decoration:none;}

/* esempi di interventi (ex testimonianze) */
.fa-example{background:var(--paper);border-left:3px solid var(--blue-deep);padding:26px 24px;}
.fa-example p{font-size:.95rem;color:var(--ink);font-style:italic;}
.fa-example .fa-name{font-weight:600;font-size:.86rem;color:var(--blue-deep);}
.fa-example .fa-role{font-size:.8rem;color:var(--ink-soft);}

/* split */
.fa-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;}
.fa-split.reverse{grid-template-columns:1.15fr .85fr;}
.fa-split-figure{border:1px solid var(--line);aspect-ratio:4/3;overflow:hidden;background:var(--paper);}
.fa-split-figure img{width:100%;height:100%;object-fit:cover;}

/* banda CTA */
.fa-band{background:var(--blue-deep);color:#fff;padding:64px 0;}
.fa-band .fa-wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
.fa-band h2{color:#fff;font-size:1.9rem;margin-bottom:6px;}
.fa-band p{color:#C9D6E4;margin-bottom:0;}

/* stats */
.fa-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:20px;}
.fa-stat{background:#fff;padding:22px;}
.fa-stat b{font-family:'Fjalla One',sans-serif;font-size:1.9rem;color:var(--blue-deep);display:block;}
.fa-stat span{font-size:.82rem;color:var(--ink-soft);}

/* passi */
.fa-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.fa-step .fa-badge{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--blue-deep);color:#fff;font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:.9rem;margin-bottom:14px;}

/* faq */
.fa-faq details{border-bottom:1px solid var(--line);padding:4px 0;}
.fa-faq summary{cursor:pointer;padding:20px 4px;font-weight:600;color:var(--blue-deep);list-style:none;}
.fa-faq summary::-webkit-details-marker{display:none;}
.fa-faq p{padding:0 4px 20px;font-size:.94rem;}

/* contatti */
.fa-contact{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.fa-field{margin-bottom:18px;}
.fa-field label{display:block;font-size:.86rem;font-weight:600;color:var(--blue-deep);margin-bottom:6px;}
.fa-field input,.fa-field textarea{width:100%;padding:12px 14px;border:1px solid var(--line);font-family:inherit;font-size:.95rem;background:var(--paper);}
.fa-info{display:flex;gap:14px;margin-bottom:22px;}
.fa-info strong{display:block;color:var(--blue-deep);font-size:.95rem;}
.fa-info span{font-size:.9rem;color:var(--ink-soft);}
.fa-map{border:1px solid var(--line);margin-top:26px;height:260px;overflow:hidden;}
.fa-map iframe{width:100%;height:100%;border:0;}
.fa-zone{border-top:1px solid var(--line);padding-top:18px;margin-top:18px;font-size:.92rem;}

/* pagine legali */
.fa-legal{max-width:760px;}
.fa-legal h2{font-size:1.35rem;margin-top:28px;}

/* responsive */
@media (max-width:960px){
  .fa-hero .fa-wrap,.fa-split,.fa-split.reverse,.fa-contact{grid-template-columns:1fr;}
  .fa-grid-3,.fa-steps{grid-template-columns:repeat(2,1fr);}
  .fa-stats{grid-template-columns:repeat(2,1fr);}
}
/* Pagina Contatti: form più largo, mappa stretta e alta, pulsante invia a destra */
body.page-id-13 .fa-section + .fa-section{padding-top:0;}
.fa-contact{grid-template-columns:1.6fr .8fr;}
.fa-map{height:560px;}
.fa-contact .wpcf7-submit{display:block;margin:0 0 0 auto;background:var(--red);color:#fff;border:0;border-radius:var(--radius);padding:12px 24px;font-weight:600;font-size:.95rem;cursor:pointer;box-shadow:0 2px 0 var(--red-deep);}
.fa-contact .wpcf7-submit:hover{background:var(--red-deep);}

/* Menu principale in grassetto */
.main-navigation .main-nav ul li a,.main-navigation .menu-item a{font-weight:700;}

@media (max-width:680px){
  .fa-grid-3,.fa-steps{grid-template-columns:1fr;}
  .fa-section{padding:56px 0;}
  .fa-band .fa-wrap{flex-direction:column;align-items:flex-start;}
}
