/* AggiustaCasa – stile del sito. Colori e font principali sono in theme.json. */
:root{
  --ac-fondo:#f5f6f3; --ac-bianco:#ffffff; --ac-testo:#1d2328; --ac-grigio:#56616b; --ac-linea:#dfe3de;
  --ac-blu:#1f3a4d; --ac-giallo:#f2b705; --ac-verde:#2e7d4f;
  --ac-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;
  --ac-titoli:"Barlow Condensed","Arial Narrow",sans-serif;
}
body{margin:0}
.ac-main{padding-top:0;padding-bottom:0}
.wp-site-blocks{padding-top:0;padding-bottom:0}
:where(.wp-site-blocks) > *{margin-block-start:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ac-giallo);outline-offset:2px}

/* Intestazione */
.ac-header{background:var(--ac-blu);color:#fff;position:sticky;top:0;z-index:50}
.admin-bar .ac-header{top:32px}
@media (max-width:782px){.admin-bar .ac-header{top:0;position:relative}}
.ac-header-inner{padding-top:12px;padding-bottom:12px;gap:16px}
.ac-logo,.ac-logo a{font-family:var(--ac-titoli);font-weight:800;font-size:28px;letter-spacing:.02em;text-transform:uppercase;color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px;margin:0}
.ac-logo::before{content:"";width:14px;height:14px;background:var(--ac-giallo);transform:rotate(45deg);display:inline-block;flex:none}
.ac-nav{font-weight:600;font-size:15px}
.ac-nav a{color:#fff;text-decoration:none}
.ac-nav a:hover{text-decoration:underline}
.ac-nav .ac-nav-cta a{background:var(--ac-giallo);color:var(--ac-testo);padding:7px 14px;border-radius:4px}
.ac-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--ac-blu);color:#fff}
.ac-nav .wp-block-navigation__responsive-container-open svg,.ac-nav .wp-block-navigation__responsive-container-close svg{fill:#fff}

/* Fasce a tutta larghezza */
.ac-band{padding-top:72px;padding-bottom:72px}
.ac-band--blu{background:var(--ac-blu);color:#fff}
.ac-band--blu a:not(.wp-element-button){color:#fff}
.ac-band--bianco{background:var(--ac-bianco);border-top:1px solid var(--ac-linea);border-bottom:1px solid var(--ac-linea)}
.ac-band--giallo{background:var(--ac-giallo);color:var(--ac-testo)}
.ac-hero{padding-top:56px;padding-bottom:98px;position:relative}
.ac-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34px;background-color:var(--ac-giallo);
  background-image:repeating-linear-gradient(90deg,var(--ac-testo) 0 2px,transparent 2px 60px),repeating-linear-gradient(90deg,var(--ac-testo) 0 1px,transparent 1px 12px);
  background-size:100% 18px,100% 9px;background-repeat:repeat-x}
.ac-hero-cols{align-items:flex-end!important;gap:48px}
@media (min-width:782px){
  .ac-hero-cols > .wp-block-column:first-child{flex:1 1 auto!important}
  .ac-hero-cols > .wp-block-column:last-child{flex:0 0 380px!important}
}
.is-layout-constrained > .ac-lead{margin-left:max(0px, calc((100% - var(--wp--style--global--content-size, 1120px)) / 2))!important}
.wp-block-post-content > .alignfull{margin-top:0!important}
.ac-hero h1 mark,.ac-hero h1 em{background:none;color:var(--ac-giallo);font-style:normal}
.ac-hero .ac-lead{color:#dfe7ec;font-size:19px;max-width:52ch}
.ac-eyebrow{font-family:var(--ac-mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ac-grigio);margin-bottom:0}
.ac-band--blu .ac-eyebrow{color:var(--ac-giallo)}
.ac-lead{color:var(--ac-grigio);max-width:62ch}
.ac-band--giallo .ac-lead{color:var(--ac-testo)}

/* Metro giallo sotto l'hero */
.ac-tape{height:34px;background-color:var(--ac-giallo);
  background-image:repeating-linear-gradient(90deg,var(--ac-testo) 0 2px,transparent 2px 60px),repeating-linear-gradient(90deg,var(--ac-testo) 0 1px,transparent 1px 12px);
  background-size:100% 18px,100% 9px;background-repeat:repeat-x;margin:0!important}

/* Pulsanti */
.ac-btn-ghost .wp-block-button__link{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.ac-btn-scuro .wp-block-button__link{background:var(--ac-blu);color:#fff}
.ac-band--giallo .ac-btn-scuro .wp-block-button__link{background:var(--ac-testo);color:var(--ac-giallo)}

/* Passi */
.ac-steps .wp-block-column{border-top:3px solid var(--ac-testo);padding-top:14px}
.ac-steps .ac-num{font-family:var(--ac-mono);font-size:14px;color:var(--ac-grigio);margin:0}
.ac-steps h3{margin-top:6px}
.ac-steps p:not(.ac-num){color:var(--ac-grigio)}

/* Schede (pacchetti, servizi) */
.ac-cards .wp-block-column{background:var(--ac-bianco);border:1px solid var(--ac-linea);border-radius:6px;padding:22px}
.ac-cards .ac-for{font-size:15px;color:var(--ac-grigio)}
.ac-cards .ac-price{font-family:var(--ac-mono);font-weight:600;font-size:22px}

/* Lista con spunte */
.ac-checks{list-style:none;padding-left:0}
.ac-checks li{position:relative;padding-left:30px;margin-bottom:10px}
.ac-checks li::before{content:"";position:absolute;left:2px;top:7px;width:14px;height:8px;border-left:3px solid var(--ac-verde);border-bottom:3px solid var(--ac-verde);transform:rotate(-45deg)}

/* Box bonus */
.ac-bonus{background:var(--ac-giallo);color:var(--ac-testo);border-radius:6px;padding:32px!important;align-items:center!important}
.ac-bonus .ac-pct{font-family:var(--ac-titoli);font-weight:800;font-size:76px;line-height:.9;margin:0}
.ac-bonus .ac-pct s{font-size:.45em;color:#5a4a10}

/* Riquadro prezzi */
.ac-pricecard{background:var(--ac-bianco);color:var(--ac-testo);border-radius:6px;padding:24px;border:1px solid var(--ac-linea)}
.ac-pricecard .ac-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed #cfd5d0}
.ac-pricecard .ac-row:last-of-type{border-bottom:0}
.ac-pricecard .ac-row span:last-child,.ac-mono{font-family:var(--ac-mono);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.ac-pricecard .ac-eyebrow{margin:0 0 8px}

/* Zone */
.ac-zones{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.ac-zones a,.ac-zones span{display:inline-block;padding:6px 12px;border:1.5px solid var(--ac-testo);border-radius:4px;font-weight:600;font-size:15px;color:var(--ac-testo);text-decoration:none}
.ac-zones a:hover{background:var(--ac-testo);color:#fff}

/* Listino */
.ac-listino{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}
@media (max-width:900px){.ac-listino{grid-template-columns:minmax(0,1fr)}}
.ac-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.ac-chip{font:inherit;font-size:15px;font-weight:600;padding:8px 16px;border-radius:999px;border:1.5px solid #cfd5d0;background:#fff;color:var(--ac-testo);cursor:pointer;min-height:40px}
.ac-chip[aria-pressed="true"]{background:var(--ac-testo);border-color:var(--ac-testo);color:#fff}
.ac-jobs{border:1px solid var(--ac-linea);border-radius:6px;background:#f9faf8}
.ac-job{display:grid;grid-template-columns:minmax(0,1fr) auto 110px;gap:16px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--ac-linea)}
.ac-job:last-child{border-bottom:0}
.ac-job[hidden]{display:none}
.ac-job .ac-name{font-weight:600}
.ac-job .ac-meta{font-size:14px;color:var(--ac-grigio)}
.ac-job .ac-mono{text-align:right}
.ac-tag{display:inline-block;margin-left:8px;font-family:var(--ac-mono);font-size:11px;padding:1px 6px;border-radius:3px;background:var(--ac-giallo);color:var(--ac-testo);vertical-align:2px}
.ac-add{font:inherit;font-size:14px;font-weight:700;min-height:44px;border-radius:4px;border:1.5px solid var(--ac-testo);background:transparent;color:var(--ac-testo);cursor:pointer;width:100%}
.ac-add[aria-pressed="true"]{background:var(--ac-verde);border-color:var(--ac-verde);color:#fff}
@media (max-width:560px){.ac-job{grid-template-columns:minmax(0,1fr) auto}.ac-job .ac-add{grid-column:1/-1}}
.ac-quote{position:sticky;top:90px;background:#fff;border:2px solid var(--ac-testo);border-radius:6px;padding:20px;display:flex;flex-direction:column;gap:10px}
.ac-quote ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px}
.ac-quote li{display:flex;justify-content:space-between;gap:10px}
.ac-quote li span:last-child{font-family:var(--ac-mono)}
.ac-quote .ac-disc{color:var(--ac-verde)}
.ac-quote .ac-total{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--ac-testo);padding-top:10px}
.ac-quote .ac-total strong{font-family:var(--ac-mono);font-size:28px}
.ac-quote .ac-empty{color:var(--ac-grigio);font-size:15px;margin:0}
.ac-quote .ac-go{background:var(--ac-blu);color:#fff;font-weight:700;padding:13px 20px;border-radius:4px;text-decoration:none;text-align:center}
.ac-rules{display:flex;flex-wrap:wrap;gap:10px 28px;font-size:15px;color:var(--ac-grigio);margin-top:20px}
.ac-rules span{border-left:3px solid var(--ac-giallo);padding-left:10px}

/* Modulo di prenotazione */
.ac-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:640px){.ac-form{grid-template-columns:minmax(0,1fr)}}
.ac-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:15px}
.ac-form .ac-full{grid-column:1/-1}
.ac-form input,.ac-form select,.ac-form textarea{font:inherit;font-weight:400;padding:12px;border:1.5px solid #cfd5d0;border-radius:4px;background:#fff;color:var(--ac-testo);width:100%;box-sizing:border-box}
.ac-form .ac-privacy{flex-direction:row;align-items:flex-start;font-weight:400}
.ac-form .ac-privacy input{width:auto;margin-top:4px}
.ac-form button{font:inherit;font-weight:700;background:var(--ac-giallo);color:var(--ac-testo);border:0;border-radius:4px;padding:14px 24px;cursor:pointer}
.ac-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ac-msg{border-radius:6px;padding:16px 18px;margin-bottom:20px}
.ac-msg--ok{border:2px solid var(--ac-verde);background:#f1f8f3}
.ac-msg--err{border:2px solid #b3261e;background:#fdf1f0}

/* CTA finale */
.ac-cta{background:var(--ac-blu);color:#fff;border-radius:6px;padding:28px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-top:40px}
.ac-cta p{margin:0;font-size:19px;font-weight:600}
.ac-cta a{background:var(--ac-giallo);color:var(--ac-testo);font-weight:700;padding:13px 22px;border-radius:4px;text-decoration:none}

/* Pie di pagina */
.ac-footer{background:var(--ac-blu);color:#fff;padding-top:40px;padding-bottom:90px;font-size:15px}
.ac-footer a{color:#fff}
.ac-foot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
@media (max-width:780px){.ac-foot{grid-template-columns:minmax(0,1fr)}}
.ac-foot h4{font-family:var(--ac-titoli);font-size:22px;text-transform:uppercase;margin:0 0 10px}
.ac-foot ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.ac-foot p{margin:0 0 6px;color:#dfe7ec}
.ac-legal{border-top:1px solid rgba(255,255,255,.2);margin-top:28px;padding-top:16px;color:#c6d2da;font-size:14px}

/* Pulsante WhatsApp */
.ac-wa{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:8px;background:#1f8f4e;color:#fff;font-weight:700;text-decoration:none;padding:12px 16px;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.ac-wa svg{width:22px;height:22px;fill:#fff}
@media (max-width:480px){.ac-wa span{display:none}.ac-wa{padding:14px}}

@media (prefers-reduced-motion:no-preference){.ac-chip,.ac-add{transition:background .15s,color .15s}}
