/* =========================================================
   Aggiunte per WordPress (non presenti nel sito React)
   - menu mobile a hamburger (nell'originale il menu spariva sotto 880px)
   - classi di sezione al posto degli stili inline
   - barra admin, form contatti, piccoli dettagli
   ========================================================= */

/* Sezioni alternate (nell'originale erano stili inline) */
.section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section.alt-top{background:#fff;border-top:1px solid var(--line)}
.hero-sub strong{color:var(--ink)}
.cta-banner .cta-gradient{background:linear-gradient(120deg,#A5B4FC,#F0ABFC);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta-banner .btn-ghost.on-dark{background:transparent;color:#fff;border-color:#1E293B}
.svc.acc-night .ico{background:linear-gradient(135deg,#312E81,#7C3AED);box-shadow:0 10px 22px -8px rgba(49,46,129,.5)}
.svc{text-decoration:none;color:inherit}
.compare img{-webkit-user-drag:none;user-select:none}
.svc-grid .svc .compare{width:100%;height:100%}
section[id]{scroll-margin-top:90px}

/* Header: menu WordPress */
.nav ul{display:flex;align-items:center;gap:8px;margin:0;padding:0;list-style:none}
.nav li{margin:0}
.nav .current-menu-item > a,
.nav .current_page_item > a,
.nav .current-menu-ancestor > a{color:var(--brand)}
.nav-toggle{
  display:none;width:44px;height:44px;border-radius:12px;
  align-items:center;justify-content:center;color:var(--ink);
  border:1px solid var(--line);background:#fff;
}
.nav-toggle span{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .2s,opacity .2s}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,top .2s}
.nav-toggle span::before{top:-6px}
.nav-toggle span::after{top:6px}
.nav-open .nav-toggle span{background:transparent}
.nav-open .nav-toggle span::before{top:0;transform:rotate(45deg)}
.nav-open .nav-toggle span::after{top:0;transform:rotate(-45deg)}
@media (max-width:880px){
  .nav-toggle{display:inline-flex}
  .nav{
    display:none;position:absolute;left:16px;right:16px;top:calc(100% + 8px);
    background:#fff;border:1px solid var(--line);border-radius:18px;
    box-shadow:var(--sh-3);padding:10px;
  }
  .nav-open .nav{display:block}
  .nav ul{flex-direction:column;align-items:stretch;gap:2px}
  .nav a{display:block;padding:12px 14px;font-size:15px}
  .site-header.is-transparent.nav-open{background:rgba(255,255,255,.92);backdrop-filter:blur(14px)}
}

/* Barra di amministrazione WordPress */
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
.admin-bar .site-header.is-transparent{top:32px}
@media (max-width:782px){.admin-bar .site-header.is-transparent{top:46px}}

/* Form contatti (feedback invio) */
.form .notice{padding:14px 18px;border-radius:12px;font-size:14px;font-weight:600}
.form .notice.ok{background:#ECFDF5;color:#047857;border:1px solid #A7F3D0}
.form .notice.err{background:#FEF2F2;color:#B91C1C;border:1px solid #FECACA}
.form .hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.form select,.form input,.form textarea{font:inherit}

/* Schede annunci: foto reale */
.listing-card .photo img{width:100%;height:100%;object-fit:cover;display:block}

/* Pagina generica (articoli/pagine senza template) */
.vcp-generic{padding:60px 0 100px}
.vcp-generic .entry{max-width:780px;margin:0 auto}
.vcp-generic .entry h1{font-size:var(--fs-3xl);margin-bottom:24px}
.vcp-generic .entry :is(p,ul,ol){margin:0 0 1.2em}
.vcp-generic .entry ul{list-style:disc;padding-left:1.4em}
.vcp-generic .entry ol{list-style:decimal;padding-left:1.4em}
.vcp-generic .entry :is(h2,h3){margin:1.6em 0 .6em}
.vcp-generic .entry a{color:var(--brand);text-decoration:underline}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}

/* Header trasparente: nel tema l'hero sta dentro <main> */
.site-header.is-transparent + main > .hero:first-child{padding-top:138px}
@media (max-width:760px){.site-header.is-transparent + main > .hero:first-child{padding-top:118px}}

/* Bento a 1/2 colonne (nell'originale era uno stile inline non responsive) */
.bento.cols-1{grid-template-columns:1fr;max-width:640px;margin:0 auto}
.bento.cols-2{grid-template-columns:repeat(2,1fr)}
@media (max-width:980px){.bento.cols-2{grid-template-columns:1fr}}
