/*
Theme Name: Rebellin Costruzioni
Theme URI: https://rebellincostruzioni.it
Author: Rebellin Costruzioni
Description: Tema su misura per Rebellin Costruzioni, impresa edile di Lonigo (VI) attiva dal 1963. Home page a sezioni, progetti gestibili dal pannello, testi modificabili dal Personalizza.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: rebellin
*/

:root{
  --background:#f7f8fa;
  --foreground:#1c2033;
  --card:#ffffff;
  --primary:#1f2a55;
  --primary-deep:#151d3d;
  --primary-foreground:#f7f8fa;
  --secondary:#e8eaf0;
  --muted-foreground:#66708c;
  --accent:#c88a3c;
  --accent-foreground:#231a10;
  --border:#dde0e8;
  --radius:2px;
  --max:1152px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--background);
  color:var(--foreground);
  font-family:"Source Sans 3",ui-sans-serif,system-ui,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:"Archivo",ui-sans-serif,system-ui,sans-serif;letter-spacing:-.015em;line-height:1.1;margin:0}
p{margin:0}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}

.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.25em;color:var(--muted-foreground)}
.section{padding:80px 0}
.section--alt{background:var(--secondary);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.section--navy{background:var(--primary);color:var(--primary-foreground)}
.lead{margin-top:20px;color:var(--muted-foreground);max-width:42rem}
.section--navy .lead{color:rgba(247,248,250,.75)}
h2.title{font-size:clamp(28px,4vw,36px);font-weight:700;margin-top:12px}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,248,250,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}
.site-logo img{height:40px;width:auto}
.site-nav ul{display:flex;gap:28px}
.site-nav a{font-size:14px;font-weight:500;color:var(--muted-foreground)}
.site-nav a:hover{color:var(--primary)}
.btn{display:inline-block;border-radius:var(--radius);padding:12px 24px;font-size:14px;font-weight:600;transition:opacity .2s}
.btn:hover{opacity:.9}
.btn--primary{background:var(--primary);color:var(--primary-foreground)}
.btn--accent{background:var(--accent);color:var(--accent-foreground)}
.btn--ghost{border:1px solid rgba(247,248,250,.4);color:var(--primary-foreground)}
.btn--sm{padding:8px 16px}
.nav-toggle{display:none;background:none;border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;font-size:14px;cursor:pointer}

/* hero */
.hero{position:relative}
.hero img{height:68vh;min-height:420px;width:100%;object-fit:cover}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(21,29,61,.92),rgba(31,42,85,.72),rgba(31,42,85,.2))}
.hero__inner{position:absolute;inset:0;display:flex;align-items:center;color:var(--primary-foreground)}
.hero__kicker{display:inline-block;border-left:2px solid var(--accent);padding-left:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.25em;color:rgba(247,248,250,.8);margin-bottom:16px}
.hero h1{font-size:clamp(34px,6vw,60px);font-weight:800;max-width:36rem}
.hero p{margin-top:20px;max-width:32rem;color:rgba(247,248,250,.85);font-size:17px}
.hero__cta{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}

/* numeri */
.stats{background:var(--primary);color:var(--primary-foreground);border-bottom:1px solid var(--border)}
.stats .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 0;padding:40px 0}
.stat__k{font-family:"Archivo",sans-serif;font-size:32px;font-weight:700}
.stat__v{font-size:14px;color:rgba(247,248,250,.7);margin-top:4px}

/* impresa */
.split{display:grid;gap:48px;align-items:center}
.split p+p{margin-top:16px}
.split .muted{color:var(--muted-foreground)}
.figure{position:relative}
.figure img{border-radius:var(--radius);box-shadow:0 10px 30px rgba(21,29,61,.15)}
.figure__badge{position:absolute;bottom:-16px;left:-16px;background:var(--accent);color:var(--accent-foreground);padding:12px 20px;font-family:"Archivo",sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}

/* valori */
.values{display:grid;gap:48px}
.values blockquote{margin:32px 0 0;border-left:2px solid var(--accent);padding-left:20px;font-family:"Archivo",sans-serif;font-size:20px;line-height:1.35}
.values .cite{margin-top:16px;font-size:14px;color:var(--muted-foreground)}
.cards{display:grid;gap:1px;background:var(--border)}
.card{background:var(--card);padding:28px}
.card__n{font-family:"Archivo",sans-serif;font-size:14px;font-weight:700;letter-spacing:.15em;color:var(--accent)}
.card h3{margin-top:12px;font-size:18px;font-weight:700}
.card p{margin-top:8px;font-size:14px;color:var(--muted-foreground)}
.card__bar{height:4px;width:40px;background:var(--accent)}

/* progetti */
.projects{display:grid;gap:32px;margin-top:48px}
.project{border:1px solid var(--border);background:var(--card);border-radius:var(--radius);overflow:hidden}
.project__media{position:relative;aspect-ratio:4/3;overflow:hidden}
.project__media img{height:100%;width:100%;object-fit:cover;transition:transform .5s}
.project:hover .project__media img{transform:scale(1.03)}
.badge{position:absolute;left:16px;top:16px;border-radius:var(--radius);padding:6px 12px;font-size:12px;font-weight:600}
.badge--done{background:var(--primary);color:var(--primary-foreground)}
.badge--sale{background:var(--accent);color:var(--accent-foreground)}
.project__body{padding:24px}
.project__meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted-foreground)}
.project__body h3{margin-top:12px;font-size:20px;font-weight:700}
.project__body p{margin-top:8px;font-size:14px;color:var(--muted-foreground)}
.tags{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}
.tags li{background:var(--secondary);color:var(--primary);border-radius:var(--radius);padding:4px 10px;font-size:12px;font-weight:500}

/* squadra */
.team{display:grid;gap:32px;margin-top:48px}
.team__photo{position:relative;aspect-ratio:4/5;background:rgba(247,248,250,.1);border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center}
.team__photo img{height:100%;width:100%;object-fit:cover}
.team__initial{font-family:"Archivo",sans-serif;font-size:60px;font-weight:700;color:rgba(247,248,250,.15)}
.team__info{margin-top:16px;border-top:1px solid rgba(247,248,250,.2);padding-top:16px}
.team__info h3{font-family:"Archivo",sans-serif;font-size:18px;font-weight:600}
.team__role{margin-top:4px;font-size:14px;font-weight:600;color:var(--accent)}
.team__bio{margin-top:8px;font-size:14px;color:rgba(247,248,250,.65)}
.founder{margin-top:48px;border-left:2px solid var(--accent);background:rgba(247,248,250,.05);padding:24px}
.founder__name{font-family:"Archivo",sans-serif;font-size:18px;font-weight:600}
.founder__meta{margin-top:4px;font-size:14px;color:rgba(247,248,250,.6)}
.founder p{margin-top:12px;font-size:14px;color:rgba(247,248,250,.7);max-width:42rem}

/* contatti */
.contact{display:grid;gap:48px}
.contact dl{margin:32px 0 0;font-size:14px}
.contact dt{font-weight:600;margin-top:16px}
.contact dd{margin:0;color:var(--muted-foreground)}
.form{border:1px solid var(--border);background:var(--card);padding:28px;display:grid;gap:16px}
.form label{font-size:14px;font-weight:600;display:block}
.form input,.form textarea{margin-top:4px;width:100%;border:1px solid var(--border);background:var(--background);border-radius:var(--radius);padding:8px 12px;font:inherit;font-size:14px}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--primary)}
.form .note{font-size:12px;color:var(--muted-foreground)}

/* footer */
.site-footer{border-top:1px solid var(--border);background:var(--secondary)}
.site-footer .wrap{display:flex;flex-direction:column;gap:24px;padding-top:40px;padding-bottom:40px}
.site-footer img{height:36px;width:auto}
.site-footer p{font-size:12px;color:var(--muted-foreground)}

/* pagine interne */
.page-hero{background:var(--primary);color:var(--primary-foreground);padding:64px 0}
.entry{padding:64px 0}
.entry .content{max-width:46rem}
.entry .content h2{margin-top:32px;font-size:26px}
.entry .content p{margin-top:16px;color:var(--muted-foreground)}

@media(min-width:640px){
  .projects,.cards{grid-template-columns:repeat(2,1fr)}
  .team{grid-template-columns:repeat(2,1fr)}
  .site-footer .wrap{flex-direction:row;align-items:center;justify-content:space-between}
}
@media(min-width:768px){
  .split{grid-template-columns:1fr 1fr}
  .contact{grid-template-columns:1fr 1fr}
  .values{grid-template-columns:.9fr 1.1fr}
  .stats .grid{grid-template-columns:repeat(4,1fr)}
}
@media(min-width:1024px){
  .team{grid-template-columns:repeat(3,1fr)}
  .cards--services{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:767px){
  .site-nav{display:none;width:100%}
  .site-nav.is-open{display:block}
  .site-nav ul{flex-direction:column;gap:12px;padding:12px 0}
  .site-header .wrap{flex-wrap:wrap}
  .nav-toggle{display:inline-block}
}
