/*
Theme Name: Libertà e Ricchezza
Theme URI: https://libertaericchezza.com
Description: Tema figlio di Hello Elementor. Sito vetrina a pagina unica con modulo contatti integrato, senza plugin. Header e footer sono ridefiniti dal tema figlio.
Author: Libertà e Ricchezza
Version: 2.4.0
Template: hello-elementor
Text Domain: lr-hello-child
*/

/* =========================================================
   1. PALETTE
   Cambia i colori qui: si aggiorna tutto il resto.
   ========================================================= */
:root{
  --lr-ink:#14110F;
  --lr-ink-soft:#3A3531;
  --lr-muted:#7A736C;
  --lr-line:#E6E1D9;
  --lr-paper:#FFFFFF;
  --lr-paper-warm:#FAF8F4;
  --lr-gold:#B08D3F;
  --lr-gold-soft:#E8DCC0;
  --lr-max:1140px;
  --lr-pad:24px;
}

/* =========================================================
   2. BASE
   ========================================================= */
body{
  background:var(--lr-paper);
  color:var(--lr-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  margin:0;
}
html{scroll-behavior:smooth}
img{max-width:100%;display:block}

.lr-skip{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--lr-ink);color:#fff;padding:12px 20px;
}
.lr-skip:focus{left:0}

/* =========================================================
   3. HEADER (definito dal tema figlio, senza menu di pagine)
   ========================================================= */
.lr-header{
  position:sticky;
  top:0;
  z-index:200;
  background:rgba(255,255,255,.90);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--lr-line);
}
.lr-header-inner{
  max-width:var(--lr-max);
  margin:0 auto;
  padding:0 var(--lr-pad);
  height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.lr-brand{
  font-size:15px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--lr-ink);
  text-decoration:none;
  white-space:nowrap;
}
.lr-brand:hover{color:var(--lr-gold)}

.lr-nav{display:flex;align-items:center;gap:32px}
.lr-nav a{
  font-size:15px;
  color:var(--lr-ink-soft);
  text-decoration:none;
  transition:color .2s ease;
}
.lr-nav a:hover{color:var(--lr-gold)}
.lr-nav .lr-nav-cta{
  border:1px solid var(--lr-ink);
  padding:10px 22px;
  color:var(--lr-ink);
  font-size:14px;
  letter-spacing:.03em;
  transition:background .2s ease,color .2s ease;
}
.lr-nav .lr-nav-cta:hover{background:var(--lr-ink);color:#fff}

.lr-burger{
  display:none;
  background:none;
  border:0;
  padding:8px;
  cursor:pointer;
}
.lr-burger span{
  display:block;width:22px;height:2px;background:var(--lr-ink);
  margin:4px 0;transition:.2s;
}

/* ancore: compensano l'header appiccicato */
[id^="lr-"]{scroll-margin-top:90px}

/* =========================================================
   4. IMPIANTO DELLA PAGINA
   ========================================================= */
.lr-home{max-width:none;width:100%;padding:0;margin:0}
.lr-wrap{max-width:var(--lr-max);margin:0 auto;padding:0 var(--lr-pad)}
.lr-home section{padding:110px 0}

.lr-eyebrow,
.lr-kicker{
  font-size:13px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--lr-gold);
  font-weight:600;
  margin:0 0 22px;
}
.lr-home h1{
  font-size:clamp(38px,6vw,70px);
  line-height:1.08;
  letter-spacing:-.02em;
  font-weight:700;
  margin:0 0 26px;
  max-width:16ch;
  color:var(--lr-ink);
}
.lr-home h1 em{font-style:normal;color:var(--lr-gold)}
.lr-home h2{
  font-size:clamp(30px,3.8vw,44px);
  line-height:1.16;
  letter-spacing:-.015em;
  font-weight:700;
  margin:0 0 24px;
  max-width:20ch;
  color:var(--lr-ink);
}
.lr-home h3{
  font-size:23px;
  line-height:1.3;
  font-weight:650;
  margin:0 0 14px;
  letter-spacing:-.01em;
  color:var(--lr-ink);
}
.lr-lead{font-size:clamp(18px,2.1vw,21px);color:var(--lr-ink-soft);max-width:56ch;margin:0 0 42px}
.lr-sub{color:var(--lr-ink-soft);max-width:60ch;margin:0}

/* hero */
.lr-hero{padding:120px 0 100px;background:var(--lr-paper-warm);position:relative;overflow:hidden}
.lr-hero:after{
  content:"";position:absolute;right:-180px;top:-180px;width:620px;height:620px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(176,141,63,.16), rgba(176,141,63,0) 68%);
  pointer-events:none;
}
.lr-hero .lr-wrap{position:relative;z-index:1}

/* ---- hero con video di sfondo ---- */
.lr-hero--video{
  min-height:min(88vh,820px);
  display:flex;
  align-items:center;
  padding:120px 0;
  background:#14110F;           /* colore di attesa: niente lampo bianco */
  color:#fff;
}
.lr-hero--video:after{display:none}   /* via l'alone dorato: qui c'è il cielo */
.lr-hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
/* velatura: rende leggibile il testo sopra le nuvole */
.lr-hero-scrim{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(100deg,rgba(20,17,15,.86) 0%,rgba(20,17,15,.62) 42%,rgba(20,17,15,.22) 100%);
  pointer-events:none;
}
.lr-hero--video .lr-wrap{z-index:2}
.lr-hero--video h1{color:#fff}
.lr-hero--video h1 em{color:var(--lr-gold-soft)}
.lr-hero--video .lr-eyebrow{color:var(--lr-gold-soft)}
.lr-hero--video .lr-lead{color:#DFD9D1}
.lr-hero--video .lr-scrollcue{color:rgba(255,255,255,.66)}
/* Selettori "tripli" apposta: devono battere .lr-home a.lr-btn, definito più
   sotto e più specifico. Senza, il bottone bordato tornerebbe con il testo
   scuro e sparirebbe sul video. */
.lr-home .lr-hero--video a.lr-btn{background:var(--lr-gold);border-color:var(--lr-gold);color:#fff}
.lr-home .lr-hero--video a.lr-btn:hover{background:#fff;border-color:#fff;color:var(--lr-ink)}
.lr-home .lr-hero--video a.lr-btn--ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.lr-home .lr-hero--video a.lr-btn--ghost:hover{background:#fff;border-color:#fff;color:var(--lr-ink)}

/* immagine decorativa a destra dell'hero (compare solo se esiste) */
.lr-hero-mark{
  position:absolute;
  top:50%;
  right:2vw;
  transform:translateY(-50%);
  width:min(38vw,440px);
  height:auto;
  z-index:0;
  pointer-events:none;
}
/* "multiply" fa sparire il fondo bianco dei PNG senza trasparenza */
.lr-hero-mark--img{
  mix-blend-mode:multiply;
  opacity:.22;
}

/* bottoni
   I selettori sono volutamente "doppi" (.lr-home a.lr-btn) per avere la meglio
   sulle regole generiche del tema padre e del kit Elementor: senza, il testo
   del bottone pieno eredita il colore scuro e sparisce sul fondo nero. */
.lr-btns{display:flex;gap:16px;flex-wrap:wrap}
.lr-btn,
.lr-home a.lr-btn,
button.lr-btn{
  display:inline-block;
  padding:16px 32px;
  font-size:15px;
  letter-spacing:.03em;
  background:var(--lr-ink);
  color:#fff;
  border:1px solid var(--lr-ink);
  text-decoration:none;
  cursor:pointer;
  font-family:inherit;
  line-height:1.4;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.lr-btn:hover,
.lr-home a.lr-btn:hover{background:var(--lr-gold);border-color:var(--lr-gold);color:#fff}
.lr-btn--ghost,
.lr-home a.lr-btn--ghost{background:transparent;color:var(--lr-ink)}
.lr-btn--ghost:hover,
.lr-home a.lr-btn--ghost:hover{background:var(--lr-ink);border-color:var(--lr-ink);color:#fff}

.lr-scrollcue{margin-top:70px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--lr-muted)}
.lr-scrollcue span{display:inline-block;margin-left:10px;animation:lrbob 2s ease-in-out infinite}
@keyframes lrbob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

/* layout */
.lr-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.lr-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.lr-stat .lr-n{font-size:40px;font-weight:700;letter-spacing:-.02em;color:var(--lr-gold);line-height:1}
.lr-stat p{margin:10px 0 0;font-size:15px;color:var(--lr-muted)}

/* due card */
.lr-duo{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:54px}
.lr-card{
  border:1px solid var(--lr-line);
  padding:52px 46px;
  background:var(--lr-paper);
  transition:border-color .25s ease,transform .25s ease;
}
.lr-card:hover{border-color:var(--lr-gold);transform:translateY(-4px)}
.lr-card .lr-tag{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--lr-gold);font-weight:600;margin-bottom:22px}
.lr-card p{color:var(--lr-ink-soft);margin:0 0 30px}
.lr-card ul{list-style:none;padding:0;margin:0;font-size:16px;color:var(--lr-ink-soft)}
.lr-card li{padding:11px 0;border-top:1px solid var(--lr-line)}

/* tre passaggi */
.lr-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--lr-line);margin-top:54px;border:1px solid var(--lr-line)}
.lr-trio > div{background:var(--lr-paper);padding:44px 36px}
.lr-trio .lr-num{font-size:13px;letter-spacing:.2em;color:var(--lr-gold);font-weight:600;margin-bottom:20px}
.lr-trio p{color:var(--lr-ink-soft);font-size:16px;margin:0}

/* banda scura */
.lr-dark{background:var(--lr-ink)}
.lr-dark h2{color:#fff}
.lr-dark .lr-sub{color:#BDB6AE}
.lr-dark .lr-kicker{color:var(--lr-gold-soft)}

/* =========================================================
   5. MODULO CONTATTI
   ========================================================= */
.lr-contact{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:start}
.lr-contact-intro h2{margin-bottom:20px}

.lr-field{margin-bottom:22px}
.lr-field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.lr-contact label{
  display:block;
  font-size:14px;
  letter-spacing:.04em;
  color:#CFC8C0;
  margin-bottom:9px;
}
.lr-contact label span{color:var(--lr-gold-soft)}
.lr-contact input[type="text"],
.lr-contact input[type="email"],
.lr-contact input[type="tel"],
.lr-contact select,
.lr-contact textarea{
  width:100%;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-family:inherit;
  font-size:16px;
  padding:14px 16px;
  border-radius:0;
  transition:border-color .2s ease,background .2s ease;
  -webkit-appearance:none;
  appearance:none;
}
.lr-contact select{
  background-image:linear-gradient(45deg,transparent 50%,#CFC8C0 50%),linear-gradient(135deg,#CFC8C0 50%,transparent 50%);
  background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
}
.lr-contact textarea{resize:vertical;min-height:130px}
.lr-contact input:focus,
.lr-contact select:focus,
.lr-contact textarea:focus{
  outline:none;
  border-color:var(--lr-gold);
  background:rgba(255,255,255,.09);
}
.lr-contact option{background:var(--lr-ink);color:#fff}

.lr-consent{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:6px 0 30px;
}
.lr-consent input{margin-top:5px;accent-color:var(--lr-gold);flex:0 0 auto}
.lr-consent label{
  margin:0;
  font-size:14px;
  line-height:1.55;
  color:#BDB6AE;
  letter-spacing:0;
}
.lr-consent a{color:var(--lr-gold-soft);text-decoration:underline}

.lr-contact .lr-btn{background:var(--lr-gold);border-color:var(--lr-gold)}
.lr-contact .lr-btn:hover{background:#fff;border-color:#fff;color:var(--lr-ink)}

/* campo trappola: fuori schermo, non display:none (i bot lo compilano lo stesso) */
.lr-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* messaggi di esito */
.lr-alert{
  padding:16px 20px;
  margin-bottom:28px;
  font-size:15px;
  border:1px solid;
}
.lr-alert--ok{border-color:var(--lr-gold);background:rgba(176,141,63,.14);color:#F0E7D3}
.lr-alert--ko{border-color:#8C4B4B;background:rgba(140,75,75,.16);color:#F1DADA}

/* =========================================================
   6. FOOTER
   ========================================================= */
.lr-footer{
  background:var(--lr-paper-warm);
  border-top:1px solid var(--lr-line);
  padding:62px 0 34px;
}
.lr-footer-inner{max-width:var(--lr-max);margin:0 auto;padding:0 var(--lr-pad)}
.lr-footer-brand{
  font-size:15px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--lr-ink);
  margin-bottom:14px;
}
.lr-footer-note{color:var(--lr-muted);font-size:15px;margin:0;max-width:44ch}
.lr-footer-legal{
  margin-top:44px;
  padding-top:24px;
  border-top:1px solid var(--lr-line);
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  font-size:14px;
  color:var(--lr-muted);
}
.lr-footer-links a{color:var(--lr-muted);text-decoration:none;margin-left:20px}
.lr-footer-links a:first-child{margin-left:0}
.lr-footer-links a:hover{color:var(--lr-gold)}

/* =========================================================
   7. COMPARSA PROGRESSIVA
   ========================================================= */
.lr-rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.lr-rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .lr-rv{opacity:1;transform:none;transition:none}
  .lr-scrollcue span{animation:none}
  /* chi ha chiesto meno animazioni non si vede partire un video */
  .lr-hero-video{display:none}
}

/* =========================================================
   8. MOBILE
   ========================================================= */
@media(max-width:900px){
  :root{--lr-pad:18px}

  .lr-burger{display:block}
  .lr-nav{
    display:none;
    position:absolute;
    top:74px;left:0;right:0;
    background:#fff;
    border-bottom:1px solid var(--lr-line);
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:8px 18px 20px;
  }
  .lr-nav.is-open{display:flex}
  .lr-nav a{padding:14px 0;border-bottom:1px solid var(--lr-line)}
  .lr-nav .lr-nav-cta{
    text-align:center;
    margin-top:14px;
    border:1px solid var(--lr-ink);
    padding:14px 22px;
  }

  .lr-home section{padding:72px 0}
  .lr-hero{padding:76px 0 66px}
  /* Il video resta anche su telefono: a 428 KB il traffico non è un problema
     e la home spenta lo era. La velatura qui è verticale, perché su schermo
     stretto il testo occupa tutta la larghezza. */
  .lr-hero-scrim{background:linear-gradient(180deg,rgba(20,17,15,.68) 0%,rgba(20,17,15,.80) 55%,rgba(20,17,15,.90) 100%)}
  .lr-hero--video{min-height:min(84vh,680px);padding:86px 0 76px}
  /* su mobile l'aquila resta come filigrana dietro al testo */
  .lr-hero-mark{width:74vw;right:-16vw;opacity:.12}
  .lr-split,.lr-duo,.lr-contact{grid-template-columns:1fr;gap:44px}
  .lr-trio{grid-template-columns:1fr}
  .lr-stats{grid-template-columns:1fr;gap:26px}
  .lr-field-row{grid-template-columns:1fr;gap:0}
  .lr-card{padding:38px 30px}
  .lr-footer{padding:50px 0 30px}
}
