/* sito.css — ritocchi al tema Bootstrap Italia per il sito pubblico Pourscan. Colori con contrasto AA verificato. */
/* Footer sempre a fondo pagina anche con poco contenuto */
body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1 0 auto}
body>footer.it-footer{flex-shrink:0}
/* Moduli: etichette statiche sopra il campo (niente etichette flottanti di Bootstrap Italia) */
.ps-form .form-group{margin-bottom:1.5rem}
.ps-form .form-group label,.ps-form .form-group label.active{position:static;transform:none;font-weight:600;color:#1a1a1a;margin-bottom:.4rem;display:block;padding:0;font-size:1rem}
.ps-form .form-control.ps-input{border:1px solid #5c6f82;border-radius:4px;padding:.6rem .75rem;height:auto;background:#fff}
.ps-form .form-control.ps-input:focus{border-color:#06c;box-shadow:0 0 0 2px rgba(0,102,204,.3)}
.ps-form .form-control.is-invalid{border-color:#9b2c2c}
.ps-form .form-check{margin:1.25rem 0 .5rem}
.ps-contact-card{border-top:4px solid #06c}
.ps-contact-list{margin:0 0 1rem}
.ps-contact-list>div{margin-bottom:.9rem}
.ps-contact-list dt{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:#4b5563;margin-bottom:.1rem}
.ps-contact-list dd{margin:0;font-size:1.05rem}
.it-hero-wrapper.ps-hero{background:linear-gradient(135deg,#0b3a8c 0%,#1d4ed8 60%,#2563eb 100%);min-height:0;padding:4rem 0}
.ps-hero .ps-hero-text{padding:0;text-align:left}
.ps-hero h1{font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin-bottom:1rem}
.ps-hero .it-category{font-weight:600;letter-spacing:.06em}
.ps-hero p.ps-hero-lead{font-family:var(--bs-body-font-family);font-size:1.2rem;line-height:1.6;color:#fff;opacity:.95;max-width:38rem}
.ps-hero .it-btn-container{margin-top:1.5rem}
.ps-pour{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:1.5rem;color:#fff}
.ps-pour-caption{font-family:var(--bs-body-font-family);font-size:1rem;margin:0 0 1rem;color:#fff;opacity:.95}
.ps-pour-caption abbr{text-decoration:none;font-weight:700;letter-spacing:.08em}
.ps-pour-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.ps-pour-grid li{display:flex;align-items:center;gap:.75rem;background:#fff;color:#0b3a8c;border-radius:8px;padding:.6rem .8rem;font-size:1.05rem}
.ps-pour-letter{flex:none;width:2.5rem;height:2.5rem;border-radius:8px;background:#0b3a8c;color:#fff;font-weight:700;font-size:1.4rem;display:grid;place-items:center}
@media (max-width:575.98px){.ps-pour-grid{grid-template-columns:1fr}.ps-hero .it-btn-container .btn{display:block;width:100%;margin:0 0 .75rem!important}}
.ps-section{padding:3rem 0}
.ps-section-alt{background:#f2f7fc}
.ps-feature .icon{width:40px;height:40px;fill:#06c;flex:none}
.ps-feature h3{font-size:1.25rem;margin:.75rem 0 .5rem}
.ps-steps{counter-reset:step;list-style:none;padding:0;margin:0}
.ps-steps li{counter-increment:step;display:flex;gap:1rem;align-items:flex-start;padding:.75rem 0;font-size:1.1rem}
.ps-steps li::before{content:counter(step);flex:none;width:2.25rem;height:2.25rem;border-radius:50%;background:#06c;color:#fff;display:grid;place-items:center;font-weight:700}
.ps-price .card{text-align:center}
.ps-price .price{font-size:2.6rem;font-weight:700;color:#06c;line-height:1}
.ps-price .period{color:#4b5563}
.ps-prose{max-width:46rem}
.ps-prose h2{margin-top:2rem;font-size:1.6rem}
.ps-prose h3{margin-top:1.5rem;font-size:1.25rem}
.ps-prose img{max-width:100%;height:auto}
.ps-news-body{max-width:46rem;font-size:1.1rem}
.ps-news-body h2{margin-top:2rem;font-size:1.5rem}
.ps-news-meta{color:#4b5563}
.it-card-text{font-size:1rem}
.it-header-slim-wrapper .navbar-brand{color:#fff;font-size:.9rem}
.it-footer-small-prints-list span{color:#fff;opacity:.85}
.ps-checksum{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem;word-break:break-all;color:#4b5563}
.form-error{color:#9b2c2c}
.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#9b2c2c}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.ps-contact-card,.ps-contact-card .card-wrapper{height:auto}
