/*
Theme Name: Preliva
Theme URI: https://www.preliva.it
Author: Preliva
Description: Tema modificabile per preliva.it. Tutti i testi, le immagini e i contatti si cambiano dal menu Preliva nella bacheca di WordPress, senza toccare il codice.
Version: 2.0.0
Requires at least: 6.0
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: preliva
*/

/* Layout: sito a pagina unica, hero con foto, tre modalità di servizio, processo diagnostico su fascia navy, rete in franchising, contatti. Single look chiaro, navy e rosso dai materiali Preliva. */
:root{
  --navy:#16294d;
  --navy-deep:#0f1d38;
  --red:#b01c24;
  --ink:#1a2233;
  --muted:#58637a;
  --line:#dce2ee;
  --bg:#fbfcfe;
  --tint:#f0f3f9;
  --white:#ffffff;
  --point:#1d7a4a;
  --home:#d9620f;
  --road:#1f5fbf;
  --font-display:"Outfit","Avenir Next","Segoe UI",system-ui,sans-serif;
  --font-body:"Figtree","Segoe UI",system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;
  padding-left:0;padding-right:0;
}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--navy);line-height:1.12;margin:0;text-wrap:balance;font-weight:600}
p{margin:0}
a{color:inherit}
.wrap{max-width:1160px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.icon{width:1.5em;height:1.5em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.eyebrow{font-family:var(--font-display);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:600}
:focus-visible{outline:3px solid var(--road);outline-offset:3px;border-radius:3px}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--white);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;padding-block:10px}
.top img{height:44px;width:auto;display:block}
.top nav{margin-left:auto;display:flex;gap:26px;font-size:.95rem;font-weight:500}
.top nav a{text-decoration:none;color:var(--navy)}
.top nav a:hover{color:var(--red)}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:1rem;text-decoration:none;padding:12px 22px;border-radius:999px;border:2px solid var(--red);background:var(--red);color:#fff;cursor:pointer}
.btn:hover{background:#951820;border-color:#951820}
.btn.ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff}
.top .btn{padding:9px 18px;font-size:.92rem}

/* hero */
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-block:56px 48px}
.hero h1{font-size:clamp(2.5rem,6vw,4.4rem);font-weight:700;letter-spacing:-.01em}
.hero h1 em{font-style:normal;color:var(--red)}
.hero .lead{margin-top:22px;font-size:1.2rem;color:var(--muted);max-width:34em}
.hero .cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}
.hero figure{margin:0;position:relative;min-width:0}
.hero figure img{display:block;width:100%;height:auto;border-radius:6px 6px 6px 90px}
.hero figcaption{position:absolute;left:-18px;bottom:22px;background:var(--navy);color:#fff;font-family:var(--font-display);font-weight:600;font-size:.95rem;padding:12px 18px;border-radius:4px}
.trust{background:var(--navy);color:#fff}
.trust ul{list-style:none;margin:0;padding-block:22px;display:grid;grid-template-columns:repeat(var(--cols,4),1fr);gap:20px 28px}
.trust li{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;line-height:1.35;min-width:0}
.trust b{display:block;font-family:var(--font-display);font-weight:600;font-size:.98rem;letter-spacing:.02em;text-transform:uppercase}
.trust span{color:#c5cee2}
.trust .icon{margin-top:2px;color:#ff8d93}

/* sezioni */
section{padding-block:84px}
.head{max-width:40em;margin-bottom:44px}
.head h2{font-size:clamp(1.9rem,4vw,2.9rem);margin-top:10px}
.head p{margin-top:14px;color:var(--muted);font-size:1.1rem}

/* modalità */
.modes{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:28px}
.mode{background:var(--white);border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column;min-width:0}
.mode header{padding:26px 26px 22px;display:flex;flex-direction:column;gap:14px;border-bottom:1px solid var(--line)}
.mode .glyph{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff}
.mode .glyph .icon{width:28px;height:28px}
.mode h3{font-size:2rem;font-weight:700;letter-spacing:.005em}
.mode .tag{align-self:flex-start;font-family:var(--font-display);font-weight:600;letter-spacing:.16em;font-size:.95rem;color:#fff;padding:4px 18px;border-radius:999px}
.mode .what{font-family:var(--font-display);font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;color:var(--muted)}
.mode .body{padding:22px 26px 26px;display:flex;flex-direction:column;gap:18px;flex:1}
.mode ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:.98rem}
.mode li{display:flex;gap:10px;align-items:flex-start}
.mode li .icon{width:1.15em;height:1.15em;margin-top:.28em;stroke-width:2.4}
.mode .payoff{margin-top:auto;padding:16px 18px;border-radius:4px;font-family:var(--font-display);font-weight:600;font-size:1.1rem;line-height:1.3}
.m-point{--c:var(--point);--soft:#e3f1ea}
.m-home{--c:var(--home);--soft:#fcebdc}
.m-road{--c:var(--road);--soft:#e1ebf9}
.mode .glyph,.mode .tag{background:var(--c)}
.mode li .icon{color:var(--c)}
.mode .payoff{background:var(--soft);color:var(--c)}
.mode .note{font-size:.82rem;color:var(--muted)}
.showcase{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.showcase figure{margin:0;min-width:0}
.showcase img{display:block;width:100%;height:auto;border-radius:4px;border:1px solid var(--line)}
.showcase figcaption{margin-top:10px;font-size:.92rem;color:var(--muted)}
.showcase figcaption b{color:var(--navy);font-family:var(--font-display);font-weight:600}

/* servizi */
.services{background:var(--tint)}
.svc{display:grid;grid-template-columns:repeat(var(--cols,4),1fr);gap:0;border-top:2px solid var(--navy)}
.svc article{padding:30px 22px 10px 0;min-width:0}
.svc article+article{padding-left:22px;border-left:1px solid var(--line)}
.svc .ico{width:64px;height:64px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;margin-bottom:20px}
.svc .ico .icon{width:30px;height:30px}
.svc h3{font-size:1.4rem}
.svc p{margin-top:10px;color:var(--muted)}
.svc ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:9px;font-size:.98rem}
.svc li{display:flex;gap:10px;align-items:flex-start}
.svc li .icon{width:1.1em;height:1.1em;margin-top:.3em;color:var(--red);stroke-width:2.6}

/* processo */
.flow{background:var(--navy);color:#fff}
.flow h2{color:#fff}
.flow .head p{color:#c5cee2}
.flow .eyebrow{color:#ff8d93}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols,5),1fr);gap:0;counter-reset:s}
.steps li{position:relative;padding:26px 20px 0 0;border-top:2px solid rgba(255,255,255,.28);counter-increment:s;min-width:0}
.steps li::before{content:counter(s);position:absolute;top:-17px;left:0;width:32px;height:32px;border-radius:50%;background:var(--red);color:#fff;font-family:var(--font-display);font-weight:700;display:grid;place-items:center;font-size:.95rem}
.steps h3{color:#fff;font-size:1.15rem}
.steps p{margin-top:8px;font-size:.93rem;color:#c5cee2;line-height:1.5}
.lab{margin-top:56px;display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px;padding:20px 24px;background:var(--white);border-radius:4px;color:var(--ink)}
.lab img{height:64px;width:auto;max-width:100%;display:block}
.lab p{flex:1;min-width:220px;color:var(--muted);font-size:.98rem}
.lab p b{color:var(--navy);font-family:var(--font-display);font-weight:600}

/* franchising */
.fr-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.fr-grid .map{margin:0;min-width:0}
.fr-grid .map img{display:block;width:100%;height:auto;border-radius:4px;border:1px solid var(--line)}
.formats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}
.formats div{padding:18px 20px;border:1px solid var(--line);background:var(--white);border-radius:4px}
.formats h3{font-size:1.25rem}
.formats p{margin-top:6px;font-size:.95rem;color:var(--muted)}
.adv{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:0}
.adv li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line);font-size:.97rem}
.adv li:last-child{border-bottom:1px solid var(--line)}
.adv b{font-family:var(--font-display);font-weight:600;color:var(--navy)}
.adv span{color:var(--muted)}
.fr-cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.fr-cta .addr{font-weight:600;color:var(--navy)}

/* contatti */
.contact{background:var(--tint)}
.c-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.c-list{display:grid;gap:0;margin-top:28px}
.c-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.c-row:last-child{border-bottom:1px solid var(--line)}
.c-row .icon{color:var(--red);width:1.6em;height:1.6em}
.c-row small{display:block;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-family:var(--font-display);font-weight:500}
.c-row strong{font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:var(--navy);user-select:all;overflow-wrap:anywhere}
.copy{margin-left:auto;font:inherit;font-size:.85rem;font-weight:600;color:var(--navy);background:transparent;border:1px solid var(--line);border-radius:999px;padding:6px 14px;cursor:pointer}
.copy:hover{border-color:var(--navy)}
form{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:28px;display:grid;gap:18px}
form h3{font-size:1.5rem}
label{display:grid;gap:6px;font-size:.88rem;font-weight:600;color:var(--navy)}
input,select,textarea{font:inherit;font-size:1rem;font-weight:400;color:var(--ink);background:var(--bg);border:1px solid #b9c3d6;border-radius:4px;padding:11px 12px;width:100%;min-width:0}
textarea{min-height:92px;resize:vertical}
.formnote{font-size:.85rem;color:var(--muted)}

/* footer */
footer{background:var(--navy-deep);color:#c5cee2}
footer .wrap{display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center;padding-block:34px}
footer img{height:54px;width:auto;display:block}
footer p{font-size:.85rem;max-width:44em}
footer .sp{margin-left:auto;font-family:var(--font-display);color:#fff;font-weight:500}

@media (max-width:980px){
  .modes{grid-template-columns:1fr}
  .svc{grid-template-columns:1fr}
  .svc article,.svc article+article{padding:28px 0 8px;border-left:0}
  .svc article+article{border-top:1px solid var(--line)}
  .steps{grid-template-columns:1fr;gap:34px}
  .steps li{padding:22px 0 0}
  .fr-grid,.c-grid{grid-template-columns:1fr;gap:36px}
  .trust ul{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body{font-size:16px}
  .top nav{display:none}
  .top .btn{margin-left:auto}
  .top img{height:38px}
  .hero .wrap{grid-template-columns:1fr;gap:32px;padding-block:32px 36px}
  .hero figcaption{left:12px}
  section{padding-block:60px}
  .showcase,.formats{grid-template-columns:1fr}
  .adv li{grid-template-columns:1fr;gap:2px}
  .trust ul{grid-template-columns:1fr}
  footer .sp{margin-left:0}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* WordPress */
.admin-bar .top{top:32px}
@media (max-width:782px){.admin-bar .top{top:46px}}
.lab .lab-logo{height:auto;width:min(100%,340px)}
.top img,footer img{height:auto}
.page-body{max-width:760px;margin:0 auto;padding:56px max(16px,env(safe-area-inset-left,0px))}
.page-body h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:24px}
.page-body .entry>*+*{margin-top:1em}
.page-body .post{padding-bottom:36px;margin-bottom:36px;border-bottom:1px solid var(--line)}

