/* pcrt-sito: base comune. Il tema del sito ridefinisce solo le variabili in tema.css. */
@layer reset, base, layout, componenti, utilita;
@layer reset { *,*::before,*::after{box-sizing:border-box} body{margin:0} img,iframe{max-width:100%;display:block} ul{list-style:none;margin:0;padding:0} h1,h2,h3,p{margin:0} a{color:inherit} button{font:inherit} }
@layer base {
  :root{ --colore-1:#f28c00; --colore-2:#95a737; --testo:#4a4a4a; --sfondo:#fff; --sfondo-2:#f5f5f2; --font:"Open Sans",system-ui,sans-serif;
         --larghezza:1140px; --spazio:clamp(1rem,3vw,2rem); --sezione:clamp(3rem,8vw,6rem); --raggio:8px }
  html{scroll-behavior:smooth; scroll-padding-top:5rem} body{font-family:var(--font);color:var(--testo);background:var(--sfondo);line-height:1.6;font-size:clamp(1rem,.95rem + .3vw,1.125rem)}
  h1{font-size:clamp(1.8rem,1.2rem + 3vw,3rem);line-height:1.1;text-transform:uppercase;font-weight:700} h2{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.2rem);text-transform:uppercase;color:var(--colore-1);margin-block-end:var(--spazio)} h3{font-size:1.15rem;text-transform:uppercase;color:var(--colore-1)}
  p+p{margin-block-start:1em} a{text-decoration-thickness:1px;text-underline-offset:.15em} :focus-visible{outline:3px solid var(--colore-1);outline-offset:2px}
}
@layer layout {
  .contenitore{width:min(100% - 2*var(--spazio),var(--larghezza));margin-inline:auto}
  .sezione{padding-block:var(--sezione)} .sezione--chiara{background:var(--sfondo-2)} .sezione--colore{background:var(--colore-2);color:#fff} .sezione--colore h2,.sezione--colore h3{color:#fff}
  .griglia{display:grid;gap:var(--spazio);grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--min,16rem)),1fr));align-items:start} .griglia--centro{align-items:center}
  .centro{text-align:center} .prosa{max-width:70ch}
}
@layer componenti {
  .testata{position:sticky;top:0;z-index:10;background:var(--sfondo);box-shadow:0 1px 6px rgb(0 0 0/.08)} .testata__in{display:flex;align-items:center;justify-content:space-between;gap:var(--spazio);min-height:4.5rem} .logo img{width:auto;height:3rem}
  .menu ul{display:flex;gap:1.5rem;flex-wrap:wrap} .menu a{text-decoration:none;font-weight:600;text-transform:uppercase;font-size:.9rem;padding-block:.5rem} .menu a:hover,.menu a[aria-current]{color:var(--colore-1)}
  .menu-toggle{display:none;background:none;border:2px solid var(--colore-1);color:var(--colore-1);border-radius:var(--raggio);padding:.4rem .8rem;text-transform:uppercase;font-weight:600}
  @media (width < 48rem){ .menu-toggle{display:block} .menu{display:none;position:absolute;inset-inline:0;top:100%;background:var(--sfondo);padding:var(--spazio);box-shadow:0 8px 12px rgb(0 0 0/.1)} .menu.aperto{display:block} .menu ul{flex-direction:column;gap:.5rem} }
  .hero{position:relative;display:grid;place-items:center;min-height:min(80vh,40rem);color:#fff;text-align:center;background:var(--colore-2) var(--hero-img) center/cover no-repeat;isolation:isolate;overflow:hidden}
  .hero::before{content:"";position:absolute;inset:0;background:rgb(0 0 0/.35);z-index:-1} .hero__in{padding-block:var(--sezione)} .hero__sotto{font-size:clamp(1.1rem,1rem + 1vw,1.5rem);margin-block-start:1rem} .hero__logo{margin:0 auto 1.5rem;max-height:9rem;width:auto}
  .hero__video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;border:0;pointer-events:none;transform:scale(1.4)}
  .feature{text-align:center;padding:var(--spazio);background:var(--sfondo);border-radius:var(--raggio);height:100%} .feature__icona{margin:0 auto 1rem} .feature h3{margin-block-end:.5rem}
  .passi{counter-reset:passo} .passi .feature::before{counter-increment:passo;content:counter(passo);display:grid;place-items:center;width:3rem;height:3rem;margin:0 auto 1rem;border-radius:50%;background:var(--colore-1);color:#fff;font-weight:700;font-size:1.4rem}
  .galleria{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr))} .galleria a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--raggio)} .galleria img{width:100%;height:100%;object-fit:cover;transition:transform .3s} .galleria a:hover img{transform:scale(1.05)} .galleria figure{margin:0} .galleria figcaption{font-size:.9rem;text-align:center;padding-top:.4rem}
  .lightbox{border:0;padding:0;background:transparent;max-width:min(96vw,1400px);max-height:96vh} .lightbox::backdrop{background:rgb(0 0 0/.9)} .lightbox img{max-height:90vh;width:auto;margin:auto;border-radius:var(--raggio)}
  .lightbox button{position:fixed;top:50%;transform:translateY(-50%);background:rgb(255 255 255/.15);color:#fff;border:0;font-size:2rem;width:3rem;height:3rem;border-radius:50%;cursor:pointer} .lightbox .prec{left:1rem} .lightbox .succ{right:1rem} .lightbox .chiudi{top:1rem;right:1rem;transform:none}
  .mappa{width:100%;height:clamp(18rem,50vh,28rem);border:0;border-radius:var(--raggio)}
  .contatti{display:grid;gap:var(--spazio);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));text-align:center} .contatti a{display:block;padding:var(--spazio);background:var(--sfondo);border-radius:var(--raggio);font-weight:600;text-decoration:none;color:var(--colore-1)} .contatti a:hover{background:var(--colore-1);color:#fff}
  .bottone{display:inline-block;padding:.7rem 1.6rem;border-radius:999px;background:var(--colore-1);color:#fff;font-weight:600;text-decoration:none;text-transform:uppercase;font-size:.9rem} .bottone:hover{filter:brightness(1.1)}
  .pie{background:var(--testo);color:#fff;padding-block:var(--spazio);font-size:.85rem;text-align:center} .pie__in{display:grid;gap:.6rem;justify-items:center} .pie__logo{max-height:4rem;width:auto} .pie a{color:#fff}
  .sfondo{background:var(--colore-2) var(--img) center/cover no-repeat;color:#fff;position:relative;isolation:isolate} .sfondo::before{content:"";position:absolute;inset:0;background:rgb(0 0 0/var(--velo,.45));z-index:-1} .sfondo h2,.sfondo h3{color:#fff}
  .card{background:var(--sfondo);border-radius:var(--raggio);overflow:hidden;box-shadow:0 2px 10px rgb(0 0 0/.08)} .card img{width:100%;aspect-ratio:4/3;object-fit:cover} .card h3{padding:1rem;text-align:center}
  .elenco{display:grid;gap:.5rem 2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))} .elenco li{padding-left:1.4rem;position:relative} .elenco li::before{content:"✓";position:absolute;left:0;color:var(--colore-1);font-weight:700}
  .modulo{display:grid;gap:1rem;max-width:40rem;margin-inline:auto;text-align:left} .modulo label{display:grid;gap:.3rem;font-weight:600} .modulo input,.modulo textarea{font:inherit;padding:.7rem;border:1px solid #ccc;border-radius:var(--raggio);width:100%}
  .modulo .modulo__privacy{display:flex;gap:.5rem;align-items:start;font-weight:400;font-size:.9rem} .modulo__privacy input{width:auto;margin-top:.3rem} .modulo__esito{padding:.8rem 1rem;border-radius:var(--raggio)} .modulo__esito.ok{background:#e3f5e8} .modulo__esito.ko{background:#fbe4e2}
  .cookie{position:fixed;inset:auto 1rem 1rem;z-index:20;display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--testo);color:#fff;padding:1rem 1.25rem;border-radius:var(--raggio);box-shadow:0 4px 20px rgb(0 0 0/.25);max-width:60rem;margin-inline:auto;font-size:.9rem}
}
@layer utilita { .mt{margin-block-start:var(--spazio)} .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)} }
