/* CalabriaVera — final UI/UX audit fixes. Loaded last. */
:root{--cv-focus:rgba(7,91,143,.34)}
html{scroll-padding-top:72px;-webkit-text-size-adjust:100%}
html,body{max-width:100%;overflow-x:clip}body{min-width:0}*,*::before,*::after{box-sizing:border-box}img,video,svg,canvas,iframe{max-width:100%}img{height:auto}[hidden]{display:none!important}
:where(h1,h2,h3,h4,p,a,span,td,th,label,button){overflow-wrap:anywhere}:where(a,button,input,select,textarea,summary,[role="button"]):focus-visible{outline:3px solid var(--cv-focus)!important;outline-offset:2px!important}button:disabled,.button[aria-disabled="true"],input:disabled,select:disabled,textarea:disabled{cursor:not-allowed!important;opacity:.62!important}
.container{width:min(100% - 32px,1200px)!important;margin-inline:auto!important}.section{min-width:0}.grid-2,.grid-3,.grid-4,.card-grid,.result-list,.catalog-layout,.map-layout,.filters-grid,.hero-grid{min-width:0}.grid-2>*,.grid-3>*,.grid-4>*,.card-grid>*,.result-list>*,.catalog-layout>*,.map-layout>*,.filters-grid>*,.hero-grid>*{min-width:0}
input,select,textarea,button,.button{max-width:100%;font:inherit}input,select,textarea{min-height:44px}select{width:100%}table{max-width:100%}.table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.table-wrap td,.table-wrap th{vertical-align:top}.prose{max-width:78ch}.card,.notice,.empty-state{min-width:0}

/* Search */
.hero-search{align-items:end}.hero-search label{min-width:0}.hero-search input{width:100%}.filters-grid>*{min-width:0}.filter-panel{min-width:0}.filter-panel label{min-width:0}.filter-panel input,.filter-panel select{width:100%;max-width:100%}.filter-actions{gap:8px}.result-toolbar{min-width:0;gap:10px;flex-wrap:wrap}.result-toolbar>*{min-width:0}
body[data-page="catalog"] .result-list{align-items:stretch!important}body[data-page="catalog"] .activity-item{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;overflow:hidden!important}body[data-page="catalog"] .activity-item>.media-placeholder{flex:0 0 175px!important;width:100%!important;height:175px!important;min-height:175px!important;padding:0!important;margin:0!important;aspect-ratio:auto!important;overflow:hidden!important}body[data-page="catalog"] .activity-item>.media-placeholder>a,body[data-page="catalog"] .activity-item>.media-placeholder img{display:block!important;width:100%!important;height:100%!important}body[data-page="catalog"] .activity-item>.media-placeholder img{object-fit:cover!important}body[data-page="catalog"] .activity-item>.media-placeholder+div{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-width:0!important;padding:12px 14px 8px!important}body[data-page="catalog"] .activity-item>.media-placeholder+div h3{margin:4px 0 5px!important;line-height:1.28!important}body[data-page="catalog"] .activity-item>.media-placeholder+div p{margin:0 0 8px!important;line-height:1.42!important;-webkit-line-clamp:3!important}body[data-page="catalog"] .activity-item>.media-placeholder+div .meta-row:last-child{margin-top:auto!important;padding-top:3px!important}body[data-page="catalog"] .activity-item>.button{position:static!important;inset:auto!important;z-index:auto!important;align-self:flex-start!important;flex:0 0 auto!important;margin:0 14px 14px!important;max-width:calc(100% - 28px)!important;min-height:38px!important;white-space:normal!important}body[data-page="catalog"] .cv-heart{z-index:3!important}

/* Map */
body[data-page="map"] .map-layout{align-items:stretch!important}body[data-page="map"] .map-layout>section,body[data-page="map"] .map-layout>aside{min-width:0!important}body[data-page="map"] .map-layout>aside{overflow:hidden!important;max-height:680px!important}body[data-page="map"] .map-layout .filter-panel{flex:0 0 auto!important}body[data-page="map"] .map-layout #map-results{display:grid!important;flex:1 1 auto!important;align-content:start!important;min-height:0!important;max-height:none!important;overflow:auto!important;padding:12px!important;-webkit-overflow-scrolling:touch}body[data-page="map"] .cv-map-result{min-height:98px!important}body[data-page="map"] .cv-map-result__body{overflow:hidden!important}body[data-page="map"] .cv-map-result h3,body[data-page="map"] .cv-map-result p{overflow-wrap:anywhere!important}body[data-page="map"] #map{isolation:isolate;width:100%!important;min-height:420px;touch-action:pan-x pan-y}.leaflet-control-container .leaflet-top,.leaflet-control-container .leaflet-bottom{z-index:500}

.form-grid>*{min-width:0}.form-grid input,.form-grid select,.form-grid textarea{max-width:100%}body[data-page="activities"] .split>aside{max-width:100%}body[data-page="activities"] .media-placeholder{overflow:hidden}body[data-page="activities"] .media-placeholder img{display:block;width:100%;height:100%;object-fit:cover}
.cv-header .primary-nav{min-width:0!important}.cv-header .primary-nav>a{overflow-wrap:normal!important}.footer-grid>*{min-width:0}.footer-contact a{overflow-wrap:anywhere}

/* Header */
.cv-header .cv-icon-action{overflow:visible!important}.cv-counter-badge{position:absolute!important;right:-4px!important;top:-4px!important;z-index:4!important;display:grid!important;place-items:center!important;min-width:19px!important;height:19px!important;padding:0 4px!important;border:2px solid #00345a!important;border-radius:999px!important;background:#df1f32!important;color:#fff!important;font-size:10px!important;font-weight:900!important;line-height:1!important;box-shadow:0 2px 8px rgba(0,0,0,.25)!important;pointer-events:none!important}.cv-header .header-language{display:flex!important;align-items:center!important;gap:6px!important;margin:0!important}.cv-header .header-language select{width:auto!important;min-width:62px!important;max-width:82px!important;padding:0 4px!important;font-size:12px!important;font-weight:800!important;cursor:pointer!important}.cv-language-flag{position:relative;display:inline-block!important;flex:0 0 24px;width:24px;height:16px;border:1px solid rgba(255,255,255,.6);border-radius:3px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.22)}.cv-language-flag--it{background:linear-gradient(90deg,#009246 0 33.333%,#fff 33.333% 66.666%,#ce2b37 66.666%)}.cv-language-flag--fr{background:linear-gradient(90deg,#0055a4 0 33.333%,#fff 33.333% 66.666%,#ef4135 66.666%)}.cv-language-flag--de{background:linear-gradient(180deg,#111 0 33.333%,#dd0000 33.333% 66.666%,#ffce00 66.666%)}.cv-language-flag--es{background:linear-gradient(180deg,#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75%)}.cv-language-flag--en{background:#012169}.cv-language-flag--en:before{content:"";position:absolute;inset:-5px;background:linear-gradient(32deg,transparent 42%,#fff 42% 48%,#c8102e 48% 52%,#fff 52% 58%,transparent 58%),linear-gradient(-32deg,transparent 42%,#fff 42% 48%,#c8102e 48% 52%,#fff 52% 58%,transparent 58%)}.cv-language-flag--en:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 40%,#fff 40% 60%,transparent 60%),linear-gradient(180deg,transparent 32%,#fff 32% 68%,transparent 68%),linear-gradient(90deg,transparent 46%,#c8102e 46% 54%,transparent 54%),linear-gradient(180deg,transparent 43%,#c8102e 43% 57%,transparent 57%)}.cv-account-trigger{width:38px!important;height:38px!important;min-width:38px!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid rgba(255,255,255,.34)!important;border-radius:50%!important;background:rgba(255,255,255,.08)!important;color:#fff!important;text-decoration:none!important}.cv-account-icon{width:20px!important;height:20px!important;display:block!important;fill:currentColor!important}.cv-header .account-menu>summary.cv-account-trigger{list-style:none!important}.cv-header .account-menu>summary.cv-account-trigger::-webkit-details-marker{display:none!important}.cv-header .account-menu[open]>.cv-account-trigger{background:#fff!important;color:#00345a!important;border-color:#fff!important}

/* Favorites */
body[data-page="favorites"] #main-content{background:#f6f8fb}.cv-favorites-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 16px;padding:13px 16px;border:1px solid #e3e9ef;border-radius:12px;background:#fff}.cv-favorites-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cv-favorite-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #e0e7ed;border-radius:15px;background:#fff;box-shadow:0 10px 28px rgba(4,39,64,.07)}.cv-favorite-media{display:block;height:190px;background:#e8eef2;overflow:hidden}.cv-favorite-media img{display:block;width:100%;height:100%;object-fit:cover}.cv-favorite-media--placeholder{display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#00345a,#0b6b9e);color:#fff;font-weight:850;text-align:center}.cv-favorite-body{display:flex;flex:1;flex-direction:column;padding:17px}.cv-favorite-meta{display:flex;flex-wrap:wrap;gap:6px;color:#617081;font-size:10px;font-weight:800}.cv-favorite-body h2{font-size:18px;line-height:1.25;margin:7px 0}.cv-favorite-actions{display:flex;gap:8px;margin-top:auto}.cv-remove-favorite{border:1px solid #f0c7cb!important;background:#fff7f8!important;color:#b42634!important}.cv-favorites-empty{max-width:620px;margin:30px auto!important;padding:48px 30px!important;text-align:center}

/* Messages */
body[data-page="messages"] #main-content{background:#f5f7fa}.cv-messages-shell{display:grid;grid-template-columns:minmax(270px,340px) minmax(0,1fr);height:min(680px,calc(100dvh - 190px));min-height:520px;margin-top:18px;overflow:hidden;border:1px solid #dfe6ec;border-radius:17px;background:#fff;box-shadow:0 16px 42px rgba(4,36,59,.09)}.cv-conversations-panel{display:flex;min-width:0;flex-direction:column;border-right:1px solid #e2e8ee}.cv-conversation-list{min-height:0;overflow:auto;padding:8px}.cv-conversation-row{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:10px;border:0;border-radius:11px;background:transparent;text-align:left}.cv-conversation-copy{min-width:0}.cv-conversation-preview{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-thread-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;background:#f7f9fb}.cv-thread-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:#fff}.cv-thread-contact{display:flex;align-items:center;gap:11px;min-width:0}.cv-thread{min-height:0;overflow:auto;padding:22px 24px}.cv-message-row{display:flex;margin:7px 0}.cv-message-row.is-mine{justify-content:flex-end}.cv-message-bubble{max-width:min(72%,620px);padding:10px 12px;border:1px solid #e0e6eb;border-radius:14px;background:#fff}.cv-message-row.is-mine .cv-message-bubble{background:#075b8f;color:#fff}.cv-message-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:13px 16px;background:#fff}.cv-message-composer input{width:100%}.cv-send-button{min-height:44px;padding:8px 15px;border:0;border-radius:11px;background:#003e68;color:#fff;font-weight:850}

@media(max-width:1180px){.cv-favorites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.container{width:min(100% - 28px,1200px)!important}body[data-page="map"] .map-layout{grid-template-columns:1fr!important}body[data-page="map"] .map-layout>section{order:1}body[data-page="map"] .map-layout>aside{order:2;max-height:none!important;overflow:visible!important}body[data-page="map"] .map-layout #map-results{max-height:380px!important}body[data-page="map"] #map{min-height:52dvh!important;max-height:600px}.catalog-layout{grid-template-columns:1fr!important}body[data-page="catalog"] .catalog-layout>.filter-panel{position:static!important;padding:14px!important}.cv-messages-shell{grid-template-columns:290px minmax(0,1fr)}}
@media(max-width:760px){.container{width:min(100% - 24px,1200px)!important}.section{padding-block:28px!important}h1{font-size:clamp(1.75rem,8vw,2.45rem)!important}.hero-grid,.hero-search,.filters-grid,.address-map-layout{grid-template-columns:1fr!important}.hero-search .button,.filters-grid .button{width:100%!important}.section-heading{align-items:flex-start!important;gap:10px;flex-wrap:wrap}.section-heading .text-link{min-height:40px;display:inline-flex;align-items:center}.catalog-layout{gap:14px!important}body[data-page="catalog"] .filter-panel .stack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}body[data-page="catalog"] .filter-actions{grid-column:1/-1}body[data-page="catalog"] .activity-item>.media-placeholder{height:210px!important;min-height:210px!important}.result-toolbar .button{min-height:42px}.map-layout{gap:12px!important}body[data-page="map"] #map{min-height:50dvh!important;border-radius:14px!important}body[data-page="map"] .map-layout>aside{display:flex!important;flex-direction:column!important}body[data-page="map"] .map-layout .filter-panel .stack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}body[data-page="map"] .map-layout .filter-panel button{width:100%!important}body[data-page="map"] .map-layout #map-results{max-height:none!important;overflow:visible!important;padding:8px 0!important}body[data-page="map"] .cv-map-result{grid-template-columns:78px minmax(0,1fr)!important}.form-grid{grid-template-columns:1fr!important}.form-grid .full{grid-column:1!important}.footer-grid{grid-template-columns:1fr!important}.cv-messages-shell{grid-template-columns:1fr;height:auto;min-height:0}.cv-conversations-panel{max-height:290px;border-right:0;border-bottom:1px solid #e2e8ee}.cv-thread-panel{min-height:500px}.cv-thread{min-height:300px;padding:16px 13px}.cv-message-bubble{max-width:88%}}
@media(max-width:560px){.container{width:min(100% - 20px,1200px)!important}.section{padding-block:22px!important}.hero{padding-block:28px!important}.hero-search{gap:10px!important}.hero-search label{width:100%}.hero-search input{font-size:16px!important}.button,button{min-height:44px}body[data-page="catalog"] .filter-panel .stack,body[data-page="map"] .map-layout .filter-panel .stack{grid-template-columns:1fr!important}body[data-page="catalog"] .filter-actions{grid-template-columns:1fr!important}.filter-actions .button{width:100%!important}body[data-page="catalog"] .activity-item>.media-placeholder{height:190px!important;min-height:190px!important}body[data-page="catalog"] .activity-item>.button{width:calc(100% - 28px)!important;align-self:stretch!important;text-align:center!important}body[data-page="map"] #map{min-height:46dvh!important;max-height:480px}body[data-page="map"] .result-toolbar{font-size:12px}.leaflet-control-zoom a{width:38px!important;height:38px!important;line-height:38px!important}.leaflet-control-attribution{max-width:72vw;font-size:9px!important}.grid-2,.grid-3,.grid-4,.card-grid,.result-list{grid-template-columns:1fr!important}.stat-grid{grid-template-columns:1fr!important}.form-actions{display:grid!important;grid-template-columns:1fr!important}.form-actions>.button,.form-actions>button,.form-actions>a.button{width:100%!important}.whatsapp-float{right:12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important;width:52px!important;height:52px!important}.cv-favorites-toolbar{align-items:flex-start;flex-direction:column}.cv-favorites-grid{grid-template-columns:1fr}.cv-favorite-media{height:205px}.cv-favorite-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.cv-favorite-actions .button{width:100%!important}.cv-message-composer{grid-template-columns:1fr;padding:10px}.cv-send-button{width:100%}.cv-thread-heading{align-items:flex-start;padding:12px}.cv-thread-business-link{flex:0 0 auto}.cv-message-bubble{max-width:94%}}
@media(max-width:380px){.container{width:min(100% - 16px,1200px)!important}.cv-favorite-actions{grid-template-columns:1fr}.cv-header .header-language{gap:3px!important}.cv-language-flag{display:none!important}body[data-page="map"] #map{min-height:420px!important}.cv-thread-heading{flex-direction:column}.cv-thread-business-link{width:100%;text-align:center}}
@media(hover:none){.button,.cv-icon-action,a,button{-webkit-tap-highlight-color:transparent}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
