/* CalabriaVera compact modern UI — density pass, September 2026. */
:root{--radius:13px;--radius-lg:18px;--radius-xl:24px;--shadow:0 12px 34px rgba(17,36,54,.075);--shadow-sm:0 5px 16px rgba(17,36,54,.055)}
body{background:linear-gradient(180deg,#f8fafc 0,#f4f7f9 32rem,#f6f8fb 100%)}

/* Header: keep navigation prominent without spending a full viewport band. */
.cv-header .header-inner{min-height:74px!important;gap:18px!important}.cv-header .brand-logo{width:158px!important;max-height:54px!important}.primary-nav{gap:18px!important}.primary-nav a{padding:23px 0 21px!important;font-size:.9rem!important}.primary-nav a::after{bottom:14px!important}.header-actions{gap:8px!important}.guest-actions{gap:8px!important}.guest-actions .button{min-height:38px!important;padding:.48rem .78rem!important}.account-menu summary{padding:8px 12px!important}.header-language select{min-height:36px!important}

/* Hero: compact, high-information and visually layered. */
.hero{padding:clamp(2.8rem,5vw,4.5rem) 0 clamp(3rem,5vw,4.7rem)!important;background:radial-gradient(circle at 84% 14%,rgba(10,155,194,.12),transparent 25%),radial-gradient(circle at 16% 4%,rgba(7,91,143,.06),transparent 24%),linear-gradient(180deg,#fff 0,#f5f9fb 100%)!important}.hero-grid{gap:clamp(1.7rem,3.6vw,3.6rem)!important}.hero h1{font-size:clamp(2.35rem,4vw,3.95rem)!important;max-width:820px}.hero p:not(.eyebrow){margin-bottom:.75rem!important}.hero-search{margin-top:1.35rem!important;padding:8px!important;border-radius:15px!important;box-shadow:0 14px 38px rgba(17,36,54,.08)!important}.hero-search label{padding:0 .3rem!important}.hero-search input{min-height:40px!important}.editorial-card{padding:clamp(1.2rem,2.2vw,1.65rem)!important;border-radius:16px!important;box-shadow:0 12px 34px rgba(17,36,54,.07)!important}.editorial-card strong{font-size:clamp(1.4rem,2.2vw,1.95rem)!important}

/* Global rhythm: remove large dead zones between content blocks. */
.section{padding:clamp(2.55rem,4.2vw,3.9rem) 0!important}.section-heading{margin-bottom:1.05rem!important;gap:1rem!important}.section-heading .eyebrow{margin-bottom:.25rem}.grid-4,.grid-3,.grid-2,.card-grid{gap:12px!important}.stack{gap:12px!important}.location-tile,.category-link{padding:.9rem 1rem!important}.card{padding:clamp(.95rem,1.5vw,1.15rem)!important}.card,.blog-card,.activity-item,.filter-panel,.notice,.table-wrap,.legal-prose,.auth-shell>.card{border-radius:15px!important}.card:hover,.blog-card:hover,.activity-item:hover{box-shadow:0 12px 30px rgba(17,36,54,.075)!important}.cta-band{padding:1.2rem 1.3rem!important;border:1px solid var(--line)!important;border-radius:16px;background:linear-gradient(135deg,#fff,#f6fafc);box-shadow:0 7px 22px rgba(17,36,54,.045)}.cta-band p:last-child{margin-bottom:0}.empty-state{padding:clamp(1.6rem,3vw,2.5rem) 1rem!important}.notice{padding:14px!important}.button{min-height:43px!important;padding:.64rem .92rem!important;border-radius:10px!important}

/* Catalog and map: denser results with less unused vertical area. */
.catalog-layout{grid-template-columns:280px minmax(0,1fr)!important;gap:16px!important}.filter-panel{top:88px!important;padding:14px!important}.filter-group{gap:10px!important;margin-bottom:14px!important}.result-toolbar{min-height:46px!important;padding:5px 0 10px!important;margin-bottom:12px!important}.activity-item{grid-template-columns:176px minmax(0,1fr) auto!important;gap:14px!important;padding:9px!important}.activity-item .media-placeholder{min-height:126px!important}.result-list{gap:10px!important}.map-layout{grid-template-columns:minmax(0,1.5fr) 360px!important;gap:12px!important}.map-panel{top:88px!important;min-height:520px!important}.leaflet-container{min-height:540px!important}.pagination{margin-top:1.35rem!important}

/* Forms, articles and account areas. */
.auth-shell{padding:1.45rem 0!important}.auth-shell>.card{padding:clamp(1.15rem,3vw,1.8rem)!important}.article-hero{padding:clamp(2.5rem,4.5vw,4rem) 0 1.4rem!important}.legal-page{padding-top:clamp(2rem,4vw,3.5rem)!important}.legal-prose{margin-top:1.35rem!important;padding:clamp(1.1rem,2.2vw,1.7rem)!important}.prose h2{margin-top:1.75rem!important}.prose h3{margin-top:1.4rem!important}.source-panel,.legal-note{margin-top:1.4rem!important}.stat-grid{gap:10px!important}.stat-grid .stat{padding:1rem!important}.tabs{margin-bottom:14px!important}

/* Footer should close the page, not create another large empty section. */
.footer{margin-top:2rem!important;padding:2.6rem 0 1.45rem!important}.footer-grid{gap:18px!important}.footer-logo{margin-bottom:.7rem!important}.footer-contact,.social-links{margin-top:.75rem!important}

@media(max-width:1180px){.catalog-layout{grid-template-columns:245px minmax(0,1fr)!important}.cv-header .header-inner{min-height:70px!important}.primary-mobile{max-height:calc(100dvh - 70px)!important}}
@media(max-width:860px){.hero{padding:2.7rem 0 3rem!important}.section{padding:2.45rem 0!important}.catalog-layout{grid-template-columns:1fr!important}.filter-panel{padding:13px!important}.activity-item{grid-template-columns:138px minmax(0,1fr)!important}.leaflet-container{min-height:500px!important}.footer{margin-top:1.5rem!important}}
@media(max-width:640px){.cv-header .header-inner{min-height:66px!important}.cv-header .brand-logo{width:136px!important}.hero{padding:2.25rem 0 2.6rem!important}.hero h1{font-size:clamp(2.15rem,10.7vw,3.05rem)!important}.hero-search{margin-top:1.05rem!important}.section{padding:2.15rem 0!important}.section-heading{margin-bottom:.85rem!important}.cta-band{padding:1rem!important}.card,.notice,.filter-panel{padding:13px!important}.activity-item{grid-template-columns:1fr!important}.activity-item .media-placeholder{min-height:0!important}.leaflet-container{min-height:58vh!important}.auth-shell{padding:1rem 0!important}.article-hero{padding:2.25rem 0 1rem!important}.legal-page{padding-top:2rem!important}.footer{margin-top:1.25rem!important;padding:2.25rem 0 1.25rem!important}}
@media(max-width:420px){.container{width:min(calc(100% - 18px),var(--max))!important}.hero{padding-top:2rem!important}.section{padding:1.95rem 0!important}.button{min-height:42px!important}.whatsapp-float{width:52px!important;height:52px!important}}
