/*
Theme Name: Futura PRO Landing
Theme URI: https://www.futuraimpianti.pro
Author: Futura Impianti S.r.l.
Description: Mini-sito professionale WordPress per Futura Impianti PRO: Home landing, Contatti, Privacy, Cookie e pagina Grazie.
Version: 1.0.0
License: Proprietary
Text Domain: futura-pro-landing
*/

:root{
  --fp-blue:#12324a;
  --fp-blue-2:#1d4e70;
  --fp-dark:#1f252b;
  --fp-muted:#5e6b75;
  --fp-light:#f5f7f9;
  --fp-white:#ffffff;
  --fp-border:#dde4ea;
  --fp-accent:#d96f32;
  --fp-shadow:0 18px 45px rgba(18,50,74,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Arial, Helvetica, sans-serif;
  color:var(--fp-dark);
  line-height:1.6;
  background:var(--fp-white);
}
a{color:var(--fp-blue-2);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.fp-container{
  width:min(1140px, calc(100% - 40px));
  margin:0 auto;
}
.fp-topbar{
  background:var(--fp-dark);
  color:#fff;
  font-size:14px;
}
.fp-topbar .fp-container{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:8px 0;
  flex-wrap:wrap;
}
.fp-topbar a{color:#fff}
.fp-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--fp-border);
  backdrop-filter:blur(10px);
}
.fp-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:78px;
}
.fp-brand{
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--fp-dark);
}
.fp-brand-mark{
  width:48px;height:48px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--fp-blue),var(--fp-blue-2));
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:800;
  letter-spacing:.5px;
}
.fp-brand-title{
  display:block;
  font-size:18px;
  font-weight:800;
  line-height:1.1;
}
.fp-brand-subtitle{
  display:block;
  font-size:13px;
  color:var(--fp-muted);
}
.fp-menu{
  display:flex;
  gap:18px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.fp-menu a{
  color:var(--fp-dark);
  font-weight:700;
  font-size:14px;
}
.fp-menu .fp-menu-cta{
  padding:10px 15px;
  border-radius:999px;
  background:var(--fp-blue);
  color:#fff;
}
.fp-hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(115deg, rgba(18,50,74,.94), rgba(29,78,112,.82)),
    radial-gradient(circle at 85% 20%, rgba(255,255,255,.18), transparent 32%),
    linear-gradient(90deg, #12324a, #1d4e70);
  color:#fff;
  padding:88px 0 80px;
}
.fp-hero::after{
  content:"";
  position:absolute;
  inset:auto -80px -180px auto;
  width:520px;height:520px;
  border-radius:50%;
  border:70px solid rgba(255,255,255,.08);
}
.fp-hero-content{
  position:relative;
  z-index:1;
  max-width:850px;
}
.fp-kicker{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
  font-size:13px;
  color:#dceaf3;
  margin:0 0 14px;
}
.fp-hero h1{
  font-size:clamp(40px, 6vw, 72px);
  line-height:.98;
  margin:0 0 18px;
}
.fp-hero h2{
  font-size:clamp(22px, 3vw, 34px);
  line-height:1.2;
  font-weight:650;
  margin:0 0 20px;
}
.fp-hero p{
  font-size:20px;
  max-width:780px;
  color:#eef5f9;
  margin:0 0 30px;
}
.fp-actions{display:flex;gap:14px;flex-wrap:wrap}
.fp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 18px;
  border-radius:999px;
  font-weight:800;
  border:2px solid transparent;
}
.fp-btn-primary{background:var(--fp-accent);color:#fff}
.fp-btn-secondary{background:#fff;color:var(--fp-blue)}
.fp-btn-outline{border-color:#fff;color:#fff}
.fp-section{padding:76px 0}
.fp-section-light{background:var(--fp-light)}
.fp-section-title{
  max-width:820px;
  margin:0 0 34px;
}
.fp-section-title h2{
  font-size:clamp(28px,3vw,42px);
  line-height:1.15;
  margin:0 0 12px;
  color:var(--fp-blue);
}
.fp-section-title p{
  font-size:18px;
  color:var(--fp-muted);
  margin:0;
}
.fp-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.fp-grid-4{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.fp-card{
  background:#fff;
  border:1px solid var(--fp-border);
  border-radius:18px;
  padding:24px;
  box-shadow:var(--fp-shadow);
}
.fp-card h3{
  margin:0 0 10px;
  color:var(--fp-blue);
  font-size:20px;
}
.fp-card p{margin:0;color:var(--fp-muted)}
.fp-chip-list{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
}
.fp-chip{
  background:#fff;
  border:1px solid var(--fp-border);
  border-radius:14px;
  padding:16px;
  font-weight:800;
  color:var(--fp-blue);
  min-height:74px;
  display:flex;
  align-items:center;
}
.fp-two-col{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:36px;
  align-items:start;
}
.fp-list{
  margin:0;
  padding-left:20px;
}
.fp-list li{margin:8px 0}
.fp-cert{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
}
.fp-cert span{
  background:#fff;
  border:1px solid var(--fp-border);
  border-radius:16px;
  min-height:82px;
  display:grid;
  place-items:center;
  text-align:center;
  font-weight:900;
  color:var(--fp-blue);
  padding:12px;
}
.fp-cta{
  background:linear-gradient(135deg,var(--fp-blue),var(--fp-blue-2));
  color:#fff;
  border-radius:26px;
  padding:42px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}
.fp-cta h2{margin:0 0 8px;font-size:32px}
.fp-cta p{margin:0;color:#eef5f9}
.fp-contact-panel{
  background:#fff;
  border:1px solid var(--fp-border);
  border-radius:22px;
  padding:28px;
  box-shadow:var(--fp-shadow);
}
.fp-form-note{
  background:#fdf5ef;
  border-left:4px solid var(--fp-accent);
  padding:16px;
  margin:20px 0;
  border-radius:12px;
}
.fp-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.fp-field{display:flex;flex-direction:column;gap:6px}
.fp-field.full{grid-column:1/-1}
.fp-field label{font-weight:800;color:var(--fp-blue)}
.fp-field input,.fp-field textarea{
  border:1px solid var(--fp-border);
  border-radius:12px;
  padding:12px 14px;
  font:inherit;
}
.fp-field textarea{min-height:130px}
.fp-footer{
  background:var(--fp-dark);
  color:#dce4ea;
  padding:38px 0;
  font-size:14px;
}
.fp-footer a{color:#fff}
.fp-footer-grid{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:24px;
}
.fp-footer p{margin:6px 0}
.fp-legal-page{
  max-width:900px;
  padding:56px 0;
}
.fp-legal-page h1{color:var(--fp-blue);font-size:42px}
.fp-legal-page h2{color:var(--fp-blue);margin-top:34px}
@media(max-width:900px){
  .fp-grid,.fp-grid-4,.fp-chip-list,.fp-cert,.fp-two-col,.fp-footer-grid{grid-template-columns:1fr}
  .fp-header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}
  .fp-menu{justify-content:flex-start}
  .fp-cta{flex-direction:column;align-items:flex-start}
  .fp-form-grid{grid-template-columns:1fr}
}
