/* Fioravanta – Restyling V3 | 2026-10 | sostituisce modern.css v1/v2
   Bootstrap 3, Classic ASP, blueimp Gallery. Solo presentazione.
*/
:root { --fv-ink:#243047; --fv-muted:#657287; --fv-border:#e4eaf0; --fv-purple:#84008e; --fv-teal:#008f83; --fv-bg:#f8fafc; --fv-radius:14px; }
html { scroll-behavior:smooth; }
body { font-family: Lato,"Segoe UI",Arial,sans-serif; font-size:16px; line-height:1.65; font-weight:400; color:var(--fv-ink); background:#fff; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,h6 { font-family:Raleway,"Segoe UI",Arial,sans-serif; color:#243047; font-weight:650; line-height:1.28; letter-spacing:-.025em; }
h1 { font-size:clamp(27px,3vw,38px); } h2 {font-size:clamp(23px,2.4vw,30px);} h3{font-size:21px;}
p { line-height:1.75; margin-bottom:18px; }
a { color:#1676a5; transition:color .2s ease,background-color .2s ease,box-shadow .2s ease; }
a:hover { color:#0b608b; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {outline:3px solid #48bbb0;outline-offset:3px;}
/* Struttura generale */
.container { max-width:1190px; }
.container.div_top { padding-bottom:28px; }
.jumbotron {border-radius:var(--fv-radius)!important;overflow:hidden;min-height:220px;display:flex;align-items:flex-end;padding:28px!important;margin:12px 0 28px;position:relative;isolation:isolate;}
.jumbotron::before {content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,28,35,.56),transparent 70%);z-index:-1;pointer-events:none;}
.jumbotron h1.whiteblur {color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.65);font-size:clamp(22px,2.7vw,35px);margin:0;}
/* Navigazione, logo e call to action */
.navbar-default { background:#fff!important;border:0;border-bottom:1px solid #e9edf1;box-shadow:0 3px 14px rgba(26,38,53,.045); }
.navbar .navbar-nav>li>a {font-size:15px;font-weight:500;color:#425069!important;border-radius:8px;}
.navbar .navbar-nav>li.active>a,.navbar .navbar-nav>li>a:hover {background:#f0f6f8!important;color:#1a5063!important;}
.navbar-brand {font-weight:600;}
.container.div_top > a.list-group-item {border:0!important;border-radius:10px!important;padding:9px 15px!important;margin-bottom:9px!important;font-size:18px!important;font-weight:600;letter-spacing:.01em;box-shadow:0 4px 12px rgba(31,44,56,.08);color:#fff!important;}
.container.div_top > a.list-group-item:first-child {background:var(--fv-purple)!important;}
.container.div_top > a.list-group-item:nth-child(2) {background:var(--fv-teal)!important;}
.container.div_top > a.list-group-item:hover {filter:brightness(1.08);}
/* Titoli contenuti e divisori: conservare il riferimento rosso, ma più raffinato */
.col-xs-12 > h2 {font-size:clamp(23px,2.5vw,30px)!important;margin-top:14px;margin-bottom:10px;text-transform:none;}
.col-xs-12 > h2 + hr {background:#dc6a6c!important;border:0!important;height:2px!important;margin:0 0 23px!important;}
/* Menu laterale */
#sidebar .list-group {border:1px solid var(--fv-border);border-radius:12px;overflow:hidden;box-shadow:0 6px 24px rgba(24,42,62,.05);}
#sidebar .list-group-item {font-size:14px;font-weight:500;line-height:1.4;padding:12px 13px;border-left:0;border-right:0;border-color:var(--fv-border);background:#fff;color:#45556a;}
#sidebar .list-group-item:hover {background:#f0f8f8;color:#146c72;}
#sidebar .list-group-item.active {background:#2f78ae!important;color:#fff!important;border-color:#2f78ae!important;}
#sidebar .list-group-item.small {font-size:12px;padding-left:17px;}
/* Elenco cuccioli: l'HTML legacy usa TABLE/TR/TD, non la griglia Bootstrap.
   :has() circoscrive questa modifica alle sole tabelle con miniature. */
.col-xs-12 > table:has(a.thumbnail) {display:block;width:100%!important;border:0;border-spacing:0!important;margin:0 0 30px;}
.col-xs-12 > table:has(a.thumbnail) > tbody {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;}
.col-xs-12 > table:has(a.thumbnail) > tbody > tr {display:contents;}
.col-xs-12 > table:has(a.thumbnail) td {display:block;width:auto!important;min-width:0;vertical-align:top;padding:0!important;border:0!important;text-align:center;}
.col-xs-12 > table:has(a.thumbnail) td > br {display:none;}
.col-xs-12 > table:has(a.thumbnail) a.thumbnail {height:100%;margin:0;padding:11px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-width:0;color:#25618a;font-size:14px;font-weight:650;line-height:1.42;background:#fff;border:1px solid var(--fv-border);border-radius:var(--fv-radius);box-shadow:0 6px 20px rgba(25,43,61,.075);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;overflow:hidden;text-decoration:none;overflow-wrap:anywhere;}
.col-xs-12 > table:has(a.thumbnail) a.thumbnail:hover {transform:translateY(-3px);border-color:#c9d8e5;box-shadow:0 12px 26px rgba(25,43,61,.14);}
.col-xs-12 > table:has(a.thumbnail) a.thumbnail > img {display:block!important;object-fit:contain;width:100%;height:200px;max-height:none;margin:0 auto;border-radius:9px;background:#f4f6f8;}
/* Scheda cucciolo: layout #links nativo anziché classi col-6 non riconosciute da Bootstrap 3 */
#links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:10px 0 28px;}
#links > [class*="col-"] {float:none;width:auto;max-width:none;padding:0;min-width:0;}
#links h2:empty {display:none;}
#links a.btn {display:block;width:100%;max-width:100%;margin:0;white-space:normal;background:white;border:1px solid var(--fv-border);border-radius:13px;padding:10px;color:#2d668f;box-shadow:0 5px 17px rgba(25,43,61,.07);font-size:0;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;}
#links a.btn:hover {transform:translateY(-2px);box-shadow:0 10px 22px rgba(25,43,61,.13);}
#links a.btn img {display:block;margin:auto;width:100%;height:290px;object-fit:contain;background:#f5f7f9;border-radius:8px;}
#links a.btn br {display:none;}
#links a.btn::after {content:"Apri fotografia  ↗";display:block;padding-top:10px;font:600 14px/1.35 Lato,"Segoe UI",Arial,sans-serif;color:#276e95;}
/* Blueimp Gallery: l'HTML ha '?' letterali; le etichette CSS li sostituiscono VISIVAMENTE. */
#blueimp-gallery > .prev,#blueimp-gallery > .next,#blueimp-gallery > .close {font-size:0!important;text-shadow:none!important;background:rgba(255,255,255,.94)!important;color:#213247!important;border:0!important;border-radius:50%!important;width:46px!important;height:46px!important;box-shadow:0 4px 18px rgba(0,0,0,.26);opacity:1!important;text-align:center;line-height:46px!important;text-decoration:none!important;}
#blueimp-gallery > .prev::before,#blueimp-gallery > .next::before,#blueimp-gallery > .close::before {display:block;font-family:Arial,sans-serif;font-size:30px;line-height:46px;content:"";position:static;}
#blueimp-gallery > .prev::before {content:"\2039";}
#blueimp-gallery > .next::before {content:"\203A";}
#blueimp-gallery > .close::before {content:"\00D7";}
#blueimp-gallery > .prev:hover,#blueimp-gallery > .next:hover,#blueimp-gallery > .close:hover {background:#fff!important;}
/* Moduli */
form .alert.alert-warning {background:#fffdf6;border:1px solid #eee3be;border-radius:14px;padding:22px;box-shadow:0 5px 22px rgba(40,45,50,.04);}
form legend {font-size:21px;font-weight:650;color:#344052;border-bottom:1px solid #ebe4d0;padding-bottom:9px;}
form .control-label {font-size:13px;font-weight:650;color:#45556a;margin-bottom:7px;}
.form-control {font-size:15px;min-height:43px;border:1px solid #cfd9e3;border-radius:8px;box-shadow:none;}
.form-control:focus {border-color:var(--fv-teal);box-shadow:0 0 0 3px rgba(0,143,131,.13);}
textarea.form-control {min-height:125px;}
.btn {border-radius:9px;transition:transform .2s ease,box-shadow .2s ease;}
.btn:hover {text-decoration:none;}
/* Piè di pagina */
footer {border-top:1px solid #e7edf1;padding:30px 12px;color:var(--fv-muted);}
/* Tablet */
@media (max-width:991px) {
 .col-xs-12 > table:has(a.thumbnail) > tbody {gap:13px;}
 .col-xs-12 > table:has(a.thumbnail) a.thumbnail {font-size:13px;padding:9px;}
 .col-xs-12 > table:has(a.thumbnail) a.thumbnail > img {height:155px;}
}
/* Telefono: due colonne effettive, non tre tabelle schiacciate */
@media (max-width:767px) {
 body{font-size:15px;}
 .container{padding-left:15px;padding-right:15px;}
 .container.div_top > a.list-group-item{font-size:16px!important;padding:10px!important;}
 .jumbotron {min-height:165px;padding:18px!important;margin:10px 0 24px;}
 .jumbotron h1.whiteblur{font-size:23px!important;}
 .col-xs-12 > h2 {font-size:25px!important;}
 .col-xs-12 > table:has(a.thumbnail) > tbody {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 .col-xs-12 > table:has(a.thumbnail) a.thumbnail {font-size:13px;padding:8px;gap:9px;border-radius:11px;}
 .col-xs-12 > table:has(a.thumbnail) a.thumbnail > img {height:145px;}
 #links {grid-template-columns:1fr;gap:15px;}
 #links a.btn img {height:auto;max-height:380px;object-fit:contain;}
 form .alert.alert-warning {padding:16px;}
 #blueimp-gallery > .prev,#blueimp-gallery > .next,#blueimp-gallery > .close {width:39px!important;height:39px!important;line-height:39px!important;}
 #blueimp-gallery > .prev::before,#blueimp-gallery > .next::before,#blueimp-gallery > .close::before {font-size:26px;line-height:39px;}
}
@media (max-width:370px) {
 .col-xs-12 > table:has(a.thumbnail) a.thumbnail > img{height:120px;}
 .col-xs-12 > table:has(a.thumbnail) a.thumbnail{font-size:12px;}
}
@media (prefers-reduced-motion:reduce) {html{scroll-behavior:auto;}*,*::before,*::after{transition:none!important;animation:none!important;}}
