
:root{ --primary:#4a90e2; --dark:#111827; --bg:#ffffff; --text:#111827; --muted:#6b7280; --card:#f8fafc; --sage:#4C9D7F; }
body{font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,'Helvetica Neue',Arial;background:var(--bg);color:var(--text);}
.navbar-area{background:var(--bg)!important;}
.navbar .nav-link{padding:.75rem 1rem}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(17,24,39,0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}
.hero{position:relative;min-height:70vh;display:grid;place-items:center;color:#fff;
background: linear-gradient(180deg, rgba(0,0,0,.20), rgba(0,0,0,.05)),
           url("../../assets/img/Hero_matteo.jpg") center 35%/cover no-repeat;}
.hero h1{font-weight:800;letter-spacing:.3px}
.hero h1,.hero p.lead,.hero .btn{ text-shadow: 0 2px 6px rgba(0,0,0,.35); }
.hero .badge{backdrop-filter:blur(6px);background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);}
.section{padding:80px 0;}
.section.section-compact-top{padding-top:27px;}
.section.section-compact-bottom{padding-bottom:27px;}
.card-hover{transition:transform .25s ease, box-shadow .25s ease;}
.card-hover:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.10)}
.footer-link{color:#cbd5e1;text-decoration:none;}
.footer-link:hover{color:#fff;text-decoration:underline;}
.text-sage{ color: var(--sage) !important; }
.check-badge{ width:28px; height:28px; border-radius:999px; display:inline-grid; place-items:center; background:var(--sage); color:#fff; box-shadow:0 6px 14px rgba(0,0,0,.12); }
.check-badge i{ font-size:18px; line-height:1; }
.badge-soft{background:#e0f2fe;color:#0c4a6e;border:1px solid #bae6fd;border-radius:999px;padding:.5rem .75rem;}
.btn-primary{background:var(--primary);border-color:var(--primary);}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#0b1220;color:#fff;padding:14px;z-index:1050;}
.cookie-banner .btn{margin-left:.5rem;}
.map-embed{position:relative;overflow:hidden;border-radius:8px}
.map-embed iframe{pointer-events:none;border:0}
.map-embed .map-link{position:absolute;inset:0;z-index:2;display:block;text-indent:-9999px}
.pricing-card{border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.06);background:#fff;}
.pricing-price{font-weight:800;font-size:56px;line-height:1;}
.check{color:#16a34a;}
.stars{color:#fbbf24;}
.consent-reveal{opacity:0;transition:opacity .4s ease;}
.consent-reveal.show{opacity:1;}
/* Dark theme disabled */

/* Contatti: layout desktop usa griglia Bootstrap (override rimosso) */
/* Contatti: usa layout Bootstrap di default */

/* Mobile navbar: center items and slightly enlarge text */
@media (max-width: 991.98px){
  .navbar .navbar-collapse .navbar-nav{align-items:center;}
  .navbar .navbar-collapse .nav-link{font-size:1.1rem;}
  .navbar .navbar-collapse .dropdown-menu{ text-align:center; }
  .navbar .navbar-collapse .dropdown-item{ font-size:1.05rem; }
  /* Solo il toggler cambia aspetto quando il menu è aperto */
  body.menu-open .navbar-toggler{ background-color:rgba(76,157,127,.15); border-color:var(--sage); }
  body.menu-open .navbar-toggler-icon{ background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(220,53,69,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M7 7 L23 23 M23 7 L7 23'/%3e%3c/svg%3e"); }
  /* Forza l'hide dei badge nel menu mobile, anche se il markup cambia */
  .navbar .nav-item .btn[href^="https://wa.me"],
  .navbar .nav-item .btn[href*="contatti.html"],
  .navbar .nav-item .btn[href*="/contatti.html"]{ display:none !important; }
}

/* Footer: compatta elenco aree (solo link, senza riassunti) */
footer .col-md-4 ul.list-unstyled li .small.opacity-75{ display:none !important; }
footer .col-md-4 ul.list-unstyled{ columns:2; -webkit-columns:2; -moz-columns:2; column-gap:1.25rem; }
footer .col-md-4 ul.list-unstyled li{ break-inside:avoid; -webkit-column-break-inside:avoid; page-break-inside:avoid; }

/* Hide legacy content inside the sticky photo container on Chi Siamo */
.sticky-lg-top h5,
.sticky-lg-top ul{ display:none; }

/* WhatsApp button: brand green */
.btn.btn-outline-primary[href^="https://wa.me"]{
  background-color:#25D366;
  border-color:#25D366;
  color:#fff !important;
}

/* Badge tiles (aree di intervento) */
.badge-tiles{perspective:900px}
.badge-tile{display:flex;align-items:center;justify-content:center;min-height:62px;padding:.875rem 1rem;border-radius:12px;background:var(--sage);color:#fff;text-decoration:none;font-weight:600;letter-spacing:.2px;box-shadow:0 8px 20px rgba(0,0,0,.10);transition:transform .2s ease, filter .2s ease}
.badge-tile:hover{filter:brightness(1.05);transform:translateY(-2px)}
.badge-tile:focus{outline:2px solid rgba(255,255,255,.75);outline-offset:2px}
@media (max-width: 575.98px){ .badge-tile{min-height:56px} }

/* Area pages hero height (reduced) */
.area-hero-img{ height:34vh !important; width:100%; max-width:100%; display:block; }
@media (max-width: 575.98px){ .area-hero-img{ height:32vh !important; } }
/* Mobile: evita tagli laterali forzando contain e rimuovendo il crop del wrapper */
@media (max-width: 767.98px){
  .area-hero{ overflow:visible !important; }
  .area-hero-img{
    object-fit: contain !important;
    object-position: center center !important;
    height: auto !important;
    max-height: 40vh;
    width: 100% !important;
  }
}
/* Hide overlay texts on area hero to keep images clean */
.area-hero .hero-inner{ display:none !important; }
/* Caption under area hero */
.area-caption{ color:var(--sage); font-style:italic; text-align:center; margin:12px auto 22px; font-size:1.8rem; line-height:1.35; font-weight:600; }
@media (max-width: 575.98px){ .area-caption{ font-size:1.5rem; } }

/* Sage button (same green of tiles) */
.btn-sage{ background:var(--sage); border-color:var(--sage); color:#fff; transition: filter .15s ease, background-color .15s ease; }
/* Evita che sparisca: niente fade/opacity; mantiene stesso colore */
.btn-sage:hover,
.btn-sage:focus,
.btn-sage:active{
  background:var(--sage);
  border-color:var(--sage);
  color:#fff;
  filter:none;
  opacity:1;
}
/* Primary hover subtle lightening (match other buttons) */
.btn-primary:hover,.btn-primary:focus{ filter:brightness(1.05); color:#fff; }
.btn.btn-outline-primary[href^="https://wa.me"]:hover{
  background-color:#1ebe57;
  border-color:#1ebe57;
  color:#fff !important;
}

/* Mobile floating bar */
@media (max-width: 767.98px){
  body.has-mobilebar{ padding-bottom: 76px; }
  .mobile-bar{ position:fixed; left:0; right:0; bottom: calc(env(safe-area-inset-bottom, 0px) + 8px); display:flex; justify-content:center; gap:12px; padding:8px 12px; z-index:1055; pointer-events:none; }
  .mobile-bar .mb-btn{ pointer-events:auto; width:52px; height:52px; border-radius:999px; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(0,0,0,.15); color:#fff; border:0; }
  .mobile-bar .mb-btn i{ font-size:22px; line-height:1; }
  .mobile-bar .mb-btn:hover,.mobile-bar .mb-btn:focus{ filter:brightness(1.06); }
  .mobile-bar .mb-whatsapp{ background:#25D366; }
  .mobile-bar .mb-call{ background:#dc3545; }
  .mobile-bar .mb-form{ background:var(--primary); }
  .mobile-bar .mb-mail{ background:#6c757d; }
  /* Lift cookie banner above the floating bar to avoid overlap */
  body.has-mobilebar .cookie-banner{ bottom: calc(env(safe-area-inset-bottom, 0px) + 76px); }
}
