/* ═══════════════════════════════════════
   MAIN.CSS — Diana Manfredini
   Reset, variabili, navbar, footer, WA,
   dropdown, breadcrumb, bottoni comuni
   Caricato da tutte le 22 pagine
═══════════════════════════════════════ */

/* ── RESET E VARIABILI ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --v:#2D5A52;--vl:#3D7A6E;--vll:#EAF2F0;--vlll:#F3F8F7;
  --o:#B8832A;--ol:#D4A84A;
  --cr:#F8F4EE;--cr2:#F0EAE0;
  --sc:#1A1612;--mid:#4A3F35;--mu:#8A7A6A;
  --wa:#25D366;
  --r:10px;--rl:18px;
}
html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;background:#fff;color:var(--sc);line-height:1.6;font-weight:300;}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.15;}
a{text-decoration:none;color:inherit;}

/* ── LOGO ── */
.nl-logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.nl-icon{height:56px;width:auto;flex-shrink:0;filter:hue-rotate(158deg) saturate(2.2) brightness(0.42) sepia(0.15);}
.nl-text{display:flex;flex-direction:column;gap:1px;}
.nl-name{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:400;color:#1A1612;line-height:1;}
.nl-role{font-family:'Jost',sans-serif;font-size:11px;font-weight:300;color:#8A7A6A;letter-spacing:.06em;text-transform:uppercase;}
/* ── NAVBAR ── */
nav{position:sticky;top:0;z-index:100;background:rgba(248,244,238,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(45,90,82,.1);padding:0 52px;display:flex;align-items:center;justify-content:space-between;height:72px;}
.nl{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--sc);}
.nl span{font-weight:300;font-size:13px;color:var(--mu);display:block;margin-top:-2px;font-family:'Jost',sans-serif;}
.nlinks{display:flex;gap:34px;align-items:center;}
.nlinks a{font-size:14px;color:var(--mid);font-weight:400;transition:color .2s;}
.nlinks a:hover{color:var(--v);}
.ncta{background:var(--v)!important;color:#fff!important;padding:10px 26px;border-radius:50px;font-size:14px!important;transition:all .2s;}
.ncta:hover{background:var(--vl)!important;}
/* ── FOOTER ── */
footer{background:var(--sc);padding:64px 52px 30px;}
.ftop{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.flogo{font-family:'Cormorant Garamond',serif;font-size:22px;color:#fff;margin-bottom:7px;}
.ftag{font-size:13px;color:rgba(255,255,255,.32);line-height:1.7;max-width:240px;margin-bottom:20px;}
.fcon a{font-size:13px;color:rgba(255,255,255,.45);display:block;margin-bottom:6px;transition:color .2s;}
.fcon a:hover{color:#fff;}
.fcol h5{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.28);margin-bottom:16px;}
.fcol a{font-size:13px;color:rgba(255,255,255,.45);display:block;margin-bottom:9px;transition:color .2s;}
.fcol a:hover{color:#fff;}
.fbot{border-top:1px solid rgba(255,255,255,.08);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:11px;}
.fleg{color:rgba(255,255,255,.22);}
.fleg a{color:rgba(255,255,255,.32);transition:color .2s;}
.fleg a:hover{color:#fff;}
.fdisc{border-top:1px solid rgba(255,255,255,.06);margin-top:20px;padding-top:18px;font-size:11px;color:rgba(255,255,255,.2);line-height:1.7;}
/* WA FLOAT */
.wa-float{position:fixed;bottom:28px;right:28px;z-index:999;width:58px;height:58px;border-radius:50%;background:var(--wa);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(37,211,102,.4);transition:all .25s;text-decoration:none;}
.wa-float:hover{transform:scale(1.1);}
.wa-float svg{width:30px;height:30px;fill:#fff;}
.wa-label{position:absolute;right:68px;background:var(--sc);color:#fff;font-family:'Jost',sans-serif;font-size:13px;padding:8px 14px;border-radius:8px;white-space:nowrap;opacity:0;transform:translateX(8px);transition:all .2s;pointer-events:none;}
.wa-label::after{content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:var(--sc);border-right:none;}
.wa-float:hover .wa-label{opacity:1;transform:translateX(0);}
/* ── DROPDOWN MENU ── */
.has-drop{position:relative;}
.has-drop>a{display:flex;align-items:center;gap:4px;}
.has-drop>a::after{content:'›';font-size:12px;transition:transform .2s;display:inline-block;}
.has-drop:hover>a::after{transform:rotate(90deg);}
.drop{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.12);border:1px solid rgba(45,90,82,.1);min-width:230px;padding:16px 0 8px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;transition-delay:0s;z-index:200;pointer-events:none;}
.has-drop:hover .drop{opacity:1;visibility:visible;pointer-events:all;transition-delay:0s;}
.has-drop .drop{transition-delay:.15s;}
.drop a{display:block;padding:9px 18px;font-size:13px;color:#4A3F35;transition:background .15s,color .15s;white-space:nowrap;font-weight:400;}
.drop a:hover{background:#F3F8F7;color:#2D5A52;}
.drop-divider{height:1px;background:rgba(45,90,82,.08);margin:6px 0;}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  nav{padding:0 22px;}
  .nlinks{display:none;}
  .ftop{grid-template-columns:1fr!important;gap:24px!important;}
  .hero{grid-template-columns:1fr;}
.breadcrumb{background:var(--cr);padding:14px 52px;font-size:13px;color:var(--mu);border-bottom:1px solid rgba(45,90,82,.06);}
.breadcrumb a{color:var(--v);}
.breadcrumb span{margin:0 6px;opacity:.4;}

/* ── PROGRESS BAR ── */
.progress-bar{position:fixed;top:72px;left:0;width:0%;height:3px;background:var(--o);z-index:99;transition:width .1s linear;}

/* ── BOTTONI COMUNI ── */
.btn-p{background:var(--v);color:#fff;padding:14px 36px;border-radius:50px;font-size:15px;font-weight:400;border:none;cursor:pointer;font-family:'Jost',sans-serif;transition:all .25s;}
.btn-p:hover{background:var(--vl);transform:translateY(-2px);box-shadow:0 8px 28px rgba(45,90,82,.3);}
.btn-v{background:var(--v);color:#fff;padding:15px 38px;border-radius:50px;font-size:15px;font-weight:500;border:none;cursor:pointer;font-family:'Jost',sans-serif;transition:all .25s;}
.btn-v:hover{background:var(--vl);transform:translateY(-2px);}
.btn-w{background:#fff;color:var(--v);padding:15px 38px;border-radius:50px;font-size:15px;font-weight:500;display:inline-block;font-family:'Jost',sans-serif;border:none;cursor:pointer;transition:all .25s;}
.btn-w:hover{background:var(--cr);transform:translateY(-2px);}
.btn-wa{display:inline-flex;align-items:center;gap:10px;background:var(--wa);color:#fff;padding:14px 28px;border-radius:50px;font-size:15px;font-weight:400;transition:all .25s;font-family:'Jost',sans-serif;border:none;cursor:pointer;}
.btn-wa svg{width:18px;height:18px;fill:#fff;}
.btn-wa:hover{background:#1da851;transform:translateY(-2px);}
.btn-wa-l{display:inline-flex;align-items:center;gap:10px;background:var(--wa);color:#fff;padding:15px 32px;border-radius:50px;font-size:16px;font-weight:400;transition:all .25s;font-family:'Jost',sans-serif;border:none;cursor:pointer;}
.btn-wa-l svg{width:18px;height:18px;fill:#fff;}
.btn-wa-l:hover{background:#1da851;transform:translateY(-2px);}
.btn-white{background:#fff;color:var(--v);padding:15px 38px;border-radius:50px;font-size:15px;font-weight:500;display:inline-block;font-family:'Jost',sans-serif;border:none;cursor:pointer;transition:all .25s;}
.btn-white:hover{background:var(--cr);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.15);}
/* ── MENU MOBILE ── */
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:200;}
.hamburger span{display:block;width:24px;height:2px;background:var(--sc);border-radius:2px;transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;bottom:0;background:rgba(248,244,238,.98);backdrop-filter:blur(14px);z-index:150;flex-direction:column;padding:32px 28px;overflow-y:auto;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:18px;color:var(--sc);padding:14px 0;border-bottom:1px solid rgba(45,90,82,.08);font-weight:400;transition:color .2s;}
.mobile-menu a:hover{color:var(--v);}
.mobile-menu .mm-section{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mu);margin:20px 0 8px;}
.mobile-menu .mm-sub{font-size:15px;padding:10px 0;padding-left:14px;border-bottom:1px solid rgba(45,90,82,.05);}
.mobile-menu .mm-cta{background:var(--v);color:#fff!important;padding:15px 28px;border-radius:50px;text-align:center;margin-top:24px;font-size:16px!important;border-bottom:none!important;}
@media(max-width:900px){.hamburger{display:flex;}}