/* Shared Dimora light interface. Image assets, financial data and legacy fallback are separate. */
@font-face{font-family:'Dimora Montserrat';src:url('fonts/Montserrat-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Dimora Montserrat';src:url('fonts/Montserrat-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Dimora Montserrat';src:url('fonts/Montserrat-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Dimora Montserrat';src:url('fonts/Montserrat-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
.dv-layout{
 --font-sans:'Dimora Montserrat',system-ui,sans-serif;
 --dv-bg:#f6f7f5;--dv-surface:#fff;--dv-text:#1c2924;--dv-muted:#526158;--dv-border:#dce3de;--dv-primary:#214b3c;--dv-modal-height:calc(100dvh - var(--dimora-translation-offset,0px));
 --bg-dark:#fff;--bg-darker:#f4f7f4;--card-bg:#fff;--panel-bg:#fff;--card-border:#dce3de;--card-hover-border:#789683;
 --text-light:#1c2924;--text-body:#34453c;--text-muted:#526158;--text-dark:#1c2924;--accent-gold:#775322;
 --success:#245b43;--warning:#785318;--danger:#a13028;--glass-blur:none;
 color:var(--dv-text);background-color:var(--dv-bg);color-scheme:light;font-family:var(--font-sans);
}
html:has(body.dv-layout){background:#f6f7f5;color:#1c2924;}
/* overflow-x:hidden creates an unintended body scroll container on mobile
   Chromium. Clip horizontal overflow without detaching the sticky header from
   the viewport. Modal, menu and filter-sheet scroll locks still take precedence. */
@supports(overflow:clip){
 html:has(body.dv-layout:not(.nav-menu-open)){overflow-x:clip!important;overflow-y:visible!important;}
 html:has(body.dv-layout.nav-menu-open){overflow:hidden!important;}
 body.dv-layout:not(.dv-has-modal):not(.dv-filter-open){overflow-x:clip!important;overflow-y:visible!important;}
}
/* Translation/catalogue work continues without floating spinners or release toasts. */
.dv-layout .catalog-sync-spinner,.dv-layout .goog-te-spinner-pos,.dv-layout .VIpgJd-ZVi9od-aZ2wEe-wOHMyf,.dv-layout #dimoraReleaseNotice{display:none!important;}
/* The four shared catalogue choices also serve phones/tablets. Their legacy
   quick strip duplicated those controls and carried a separate stale counter. */
.dv-layout .mobile-quick-catalog-strip{display:none!important;}
/* The inventory total already belongs to the four catalogue choices. Start
   the results banner on the same grid row as the filter column. */
.dv-layout #dashboardWrapper .dashboard-b2b-toolbar{display:none!important;}
.dv-layout .logo-mark{background:#d95f3b;color:#fffaf1;}
.dv-layout .main-header{background:rgba(255,255,255,.98)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:1px solid #dce3de!important;transition:background-color .15s,border-color .15s,box-shadow .15s;}
.dv-layout #headerAccountPortalBtn{background:#214b3c!important;color:#fff!important;border-color:#214b3c!important;}
.dv-layout #headerAccountPortalBtn :is(span,svg){color:inherit!important;}
/* Keep the complete brand and date beside three 44px touch actions. On the
   narrowest phones the language code replaces its decorative flag. */
@media(max-width:600px){
 .dv-layout .main-header{padding-inline:0!important;}
 .dv-layout .main-header .header-container{width:100%!important;max-width:100%!important;height:52px!important;min-height:52px!important;margin-inline:0!important;padding-inline:10px!important;gap:6px!important;}
 .dv-layout .main-header .logo{flex:0 0 auto!important;min-width:max-content!important;min-height:44px;margin-right:0!important;gap:6px;overflow:visible!important;}
 .dv-layout .main-header .logo-mark{flex:0 0 28px;width:28px;height:28px;}
 .dv-layout .main-header .logo-word{flex:0 0 auto;font-size:clamp(14px,4.4vw,17.28px)!important;}
 .dv-layout .main-header .logo-brand-line{gap:2px;white-space:nowrap;}
 .dv-layout .main-header .logo-version{font-size:clamp(9px,2.5vw,10px)!important;padding:2px 4px!important;}
 .dv-layout .main-header .header-actions{flex:0 0 auto!important;gap:4px!important;margin-left:0!important;}
 .dv-layout .main-header :is(.dimora-language-trigger,#headerAccountPortalBtn,#menuToggle){min-width:44px!important;min-height:44px!important;height:44px!important;box-sizing:border-box;}
 .dv-layout .main-header :is(#headerAccountPortalBtn,#menuToggle){width:44px!important;padding:0!important;}
}
@media(max-width:379px){
 .dv-layout .main-header .header-container{gap:4px!important;}
 .dv-layout .main-header .logo{gap:4px;}
 .dv-layout .main-header .logo-mark{flex-basis:24px;width:24px;height:24px;font-size:17px;}
 .dv-layout .main-header .logo-version{padding-inline:3px!important;}
 .dv-layout .main-header .dimora-language-trigger{width:44px;padding:4px;gap:3px;}
 .dv-layout .main-header .dimora-language-trigger .dimora-language-flag{display:none;}
}
@media(min-width:1367px){
 /* Desktop navigation keeps its own column after fonts, data and translation
    settle. Long labels wrap inside that column instead of hiding the whole menu. */
 .dv-layout .main-header .header-container{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;gap:12px!important;min-height:80px;}
 .dv-layout .main-header .logo{grid-column:1;min-width:max-content;margin-right:0!important;}
 .dv-layout .main-header .header-actions{grid-column:3;}
 .dv-layout:not(.nav-compact-mode) #navMenu{grid-column:2;min-width:0;width:100%;max-width:100%;flex-wrap:wrap!important;justify-content:center;row-gap:6px;}
 .dv-layout:not(.nav-compact-mode) #navMenu>.nav-link,.dv-layout:not(.nav-compact-mode) #navMenu>.nav-dropdown>.nav-dropdown-trigger{white-space:nowrap!important;max-width:none;line-height:1.25;text-align:center;}
 .dv-layout:not(.nav-compact-mode) #navMenu>.nav-link>span,.dv-layout:not(.nav-compact-mode) #navMenu>.nav-dropdown>.nav-dropdown-trigger>span{overflow-wrap:normal;word-break:normal;}
}
.dv-layout::before,.dv-layout::after{display:none!important;background:none!important;}
.dv-layout #hero::before,.dv-layout #hero::after,.dv-layout #hero>.hero-bg-overlay,.dv-layout .concept-bg-image,.dv-layout .concept-overlay{display:none!important;background:none!important;}
.dv-layout #hero .dv-hero-description{max-width:none!important;width:100%;}
.dv-layout #dashboard{background:transparent!important;}
/* WebKit can retain inherited visibility on a moved native select after the
   initial scaffold is revealed. Explicitly reveal the live sorter, not parents. */
.dv-layout.dv-layout-ready #sortSelect{visibility:visible!important;}
/* Only 20 cards are attached per page. Deferred intrinsic heights made Android
   smooth navigation overshoot sections as cards changed height during scroll. */
.dv-layout .property-card{content-visibility:visible;contain-intrinsic-size:none;}
/* Municipality name, distance and count each have a stable column/row. */
.dv-layout #dashboardSidebarControls #regionFilters .cluster-subcomuni-list{padding-left:12px!important;gap:6px;}
.dv-layout #dashboardSidebarControls #regionFilters .filter-btn.sub-comune-pill{display:grid!important;grid-template-columns:17px minmax(0,1fr) 36px;column-gap:6px!important;row-gap:3px!important;align-items:center!important;min-height:58px!important;padding:8px!important;}
.dv-layout #dashboardSidebarControls #regionFilters .sub-comune-pill>.filter-check-box{grid-column:1;grid-row:1;align-self:center;}
.dv-layout #dashboardSidebarControls #regionFilters .sub-comune-pill>.filter-btn-label{grid-column:2;grid-row:1;min-width:0;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;overflow:hidden;text-overflow:ellipsis;line-height:1.4!important;}
.dv-layout #dashboardSidebarControls #regionFilters .sub-comune-pill>.area-membership-badge{grid-column:2;grid-row:2;justify-self:start;max-width:100%;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#526158!important;font:500 11px/1.4 var(--font-sans)!important;white-space:nowrap;}
.dv-layout #dashboardSidebarControls #regionFilters .sub-comune-pill::after{grid-column:3;grid-row:1;justify-self:end;align-self:center;float:none!important;margin:0!important;min-width:28px;font-size:12px;}
/* Hide empty municipalities (0 results) unless explicitly active */
.dv-layout #dashboardSidebarControls #regionFilters .sub-comune-pill[data-count="0"]:not(.active){display:none!important;}
.dv-layout #dashboardSidebarControls #regionFilters .sub-comune-pill>.filter-solo-chip{display:inline-flex!important;position:static!important;grid-column:3;grid-row:2;justify-self:end;transform:none!important;min-height:20px;padding:2px 4px!important;font-size:9px!important;box-shadow:none!important;opacity:0!important;pointer-events:none!important;}
.dv-layout #dashboardSidebarControls #regionFilters .sub-comune-pill:is(:hover,:focus-visible)>.filter-solo-chip{opacity:1!important;pointer-events:auto!important;}
@media(hover:none),(pointer:coarse){.dv-layout #dashboardSidebarControls #regionFilters .sub-comune-pill>.filter-solo-chip{opacity:1!important;pointer-events:auto!important;}}
.dv-layout .property-card.is-summary-card{cursor:pointer;}
.dv-layout #cadastreMapModal .dv-modal-surface{overflow-y:auto!important;}
.dv-layout #cadastreMapModal .cadastre-map-viewport{display:block!important;flex:0 0 auto!important;min-height:0!important;height:clamp(260px,45vh,480px)!important;background:#edf1ed!important;}
.dv-layout #dimoraWmsMap{height:100%;width:100%;min-height:260px;font:13px/1.4 var(--font-sans);}
.dv-layout #dimoraWmsStatus{flex:none;margin:10px 0 0;padding:10px 12px;background:#edf3ef;border-radius:6px;font-size:13px;line-height:1.5;}
.dv-layout #dimoraWmsStatus[data-state=empty],.dv-layout #dimoraWmsStatus[data-state=error]{background:#fff4da;color:#6b4700;}
.dv-layout .dv-wms-details{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:8px;font-size:13px;}
.dv-layout .dv-wms-details>a{color:#214b3c;text-decoration:underline;}
.dv-layout .dv-wms-details>small{flex-basis:100%;font-size:12px;line-height:1.5;color:#526158;}
.dv-layout #cadastreMapModal .wms-layer-btn{background:#f4f7f4!important;color:#34453c!important;border-color:#b7ccbd!important;}
.dv-layout #cadastreMapModal .wms-layer-btn.active{background:#fff4da!important;color:#6b4700!important;border-color:#c6a859!important;}
.dv-layout #cadastreMapModal .leaflet-control-attribution{font-size:11px!important;background:#fff!important;color:#263e31!important;}
.dv-layout #cadastreMapModal .leaflet-control-attribution a{color:#214b3c!important;}
.dv-layout #cadastreMapModal .leaflet-tooltip{font-size:12px;color:#263e31;white-space:nowrap;}
.dv-layout .property-card.is-summary-card:hover{border-color:#668a75!important;box-shadow:0 2px 10px #214b3c18!important;}
.dv-layout .property-card.is-summary-card:focus-within{outline:2px solid #214b3c;outline-offset:2px;}

/* SoloValori B2B toolbar & scope choices live inside Filtri; keep zero override conflicts. */
.dv-layout #keywordSearchGroup #dbSearchInput{min-height:44px;padding-block:8px;}
@media(min-width:1200px) and (min-height:672px){
 .dv-layout #dashboardSidebarControls:not(.dv-in-dialog){top:calc(var(--dv-header-height,82px) + var(--dimora-translation-offset,0px) + 12px)!important;height:calc(100dvh - var(--dv-header-height,82px) - var(--dimora-translation-offset,0px) - 24px)!important;max-height:calc(100dvh - var(--dv-header-height,82px) - var(--dimora-translation-offset,0px) - 24px)!important;overflow-y:auto!important;overscroll-behavior-y:contain;scrollbar-gutter:stable;transition:none!important;}
}
@media(min-width:768px) and (max-width:1199px){
 .dv-layout .dv-search-tools{display:block;}
 .dv-layout #mobileFilterToggleBtn{width:100%!important;max-width:none!important;}
}
/* Detail media uses the same light surfaces as the catalogue. Captions sit
   below photos; navigation and badges no longer obscure the photographs. */
.dv-layout .property-card.is-expanded .card-image-wrapper{display:flex!important;flex-direction:column;height:auto!important;min-height:0!important;max-height:calc(100dvh - 120px);overflow:auto;background:#fff!important;border:1px solid #dce3de;border-radius:10px!important;}
.dv-layout .property-card.is-expanded .property-media-mode{position:relative!important;inset:auto!important;order:4;width:100%;height:auto!important;min-height:0;background:#fff!important;}
.dv-layout .property-card.is-expanded .property-thumbnail-overview{height:auto!important;grid-template-rows:none!important;grid-auto-rows:auto;gap:8px!important;padding:12px!important;background:#fff!important;}
.dv-layout .property-card.is-expanded .property-thumbnail-choice{display:flex;flex-direction:column;background:#f4f7f4!important;border:1px solid #dce3de;border-radius:6px;}
.dv-layout .property-card.is-expanded .property-thumbnail-choice:first-child{grid-row:auto!important;}
.dv-layout .property-card.is-expanded .property-thumbnail-choice img{display:block;flex:none;aspect-ratio:4/3;height:auto!important;min-height:0;object-fit:cover;transform:none!important;}
.dv-layout .property-card.is-expanded .property-thumbnail-choice>span{position:static!important;padding:8px!important;background:#f4f7f4!important;color:#263e31!important;}
.dv-layout .property-card.is-expanded .property-thumbnail-choice strong{font-size:12px;line-height:1.4;}
.dv-layout .property-card.is-expanded .property-thumbnail-choice small{display:block;white-space:normal;font-size:11px;line-height:1.5;color:#526158!important;}
.dv-layout .property-card.is-expanded .property-media-view-switch{position:static!important;order:0;transform:none!important;max-width:none;width:calc(100% - 24px);margin:12px;background:#f4f7f4!important;border:1px solid #dce3de!important;border-radius:8px;box-shadow:none!important;backdrop-filter:none!important;}
.dv-layout .property-card.is-expanded .property-media-view-switch button{flex:1;justify-content:center;min-height:40px;border-radius:6px;color:#214b3c!important;font-size:12px;}
.dv-layout .property-card.is-expanded .property-media-view-switch button.is-active{background:#214b3c!important;color:#fff!important;box-shadow:none!important;}
.dv-layout .property-card.is-expanded .listing-performance-badges{position:static!important;order:1;display:flex;flex-wrap:wrap;gap:6px;margin:0 12px 8px;align-items:start;}
.dv-layout .property-card.is-expanded .card-image-wrapper .badge-overlay:not(.dv-portal-badge){position:static!important;max-width:100%;white-space:normal;text-overflow:clip;background:#edf3ef!important;color:#214b3c!important;border:1px solid #b7ccbd!important;box-shadow:none!important;font-size:12px!important;line-height:1.4;}
.dv-layout .property-card.is-expanded .card-image-wrapper .badge-warning{background:#fff4da!important;color:#6b4700!important;border-color:#d8c493!important;}
.dv-layout .property-card.is-expanded .card-image-wrapper>.region-badge{order:2;margin:0 12px 8px;align-self:flex-start;}
.dv-layout .property-card.is-expanded .card-image-wrapper>.channel-badge{position:static!important;order:5;align-self:flex-start;margin:10px 12px 12px;}
.dv-layout .property-card.is-expanded .card-image-wrapper>.channel-badge:not(.dv-portal-badge){padding:6px 10px!important;background:#f4f7f4!important;color:#214b3c!important;border:1px solid #b7ccbd!important;box-shadow:none!important;}
.dv-layout .property-card.is-expanded .property-inline-gallery-main{height:auto!important;aspect-ratio:4/3;object-fit:contain;background:#f4f7f4!important;}
.dv-layout .property-card.is-expanded .property-inline-gallery-caption{position:static!important;padding:10px 12px;border-radius:0;background:#fff!important;color:#263e31!important;font-size:12px;justify-content:space-between;}
.dv-layout .property-card.is-expanded .property-inline-gallery-caption a{color:#214b3c!important;}
.dv-layout .property-card.is-expanded .property-inline-gallery-strip{position:static!important;background:#f4f7f4!important;}
.dv-layout .property-card.is-expanded .property-inline-gallery-thumb{background:#fff!important;}
.dv-layout .property-card.is-expanded .property-inline-gallery-thumb.is-active{border-color:#214b3c!important;}
.dv-layout .property-card.is-expanded .property-inline-gallery-thumb span{background:#fff!important;color:#214b3c!important;font-size:11px;}
.dv-layout .property-card.is-expanded .property-inline-gallery-nav{top:35%;background:#fff!important;color:#214b3c!important;border-color:#789683!important;}
@media(max-width:1199px){.dv-layout .property-card.is-expanded .card-image-wrapper{max-height:none;position:relative;top:auto;}}
.dv-layout :is(.dv-module,.dv-modal-surface,.dv-admin-shell){font-family:var(--font-sans,system-ui,sans-serif);line-height:1.6;color:var(--dv-text);text-shadow:none;}
.dv-layout .dv-module{background:#fff!important;border-top:1px solid var(--dv-border)!important;border-bottom:1px solid var(--dv-border)!important;}
.dv-layout section.dv-module{padding-block:40px!important;margin-block:24px;border-radius:12px;}
.dv-layout :is(.dv-module,.dv-modal-surface,.dv-admin-shell) *{box-sizing:border-box;text-shadow:none!important;}
.dv-layout :is(.glass-panel,.modal-card,.info-hub-card,.strategic-modal-dialog,.roi-guide-content,.roi-guide-card,.analyzer-card,.strategic-card,.tech-card,.restoration-card,.faq-item){background-color:#fff;border-color:var(--dv-border);backdrop-filter:none;}
.dv-layout .glass-panel{box-shadow:0 2px 8px #10291f08;}
.dv-layout .dv-module :is(h1,h2,h3,h4){font-family:var(--font-sans,system-ui,sans-serif)!important;line-height:1.3;color:var(--dv-text);}
.dv-layout :is(.dv-module,.dv-modal-surface) :is(h1,h2,h3,h4){overflow-wrap:anywhere;}
.dv-layout .dv-module :is(h2.section-title,h2.strategic-title,h2.concept-title){font-size:clamp(25px,2.2vw,34px)!important;letter-spacing:-.025em;}
.dv-layout .dv-module .section-lead{font-size:16px!important;line-height:1.7;}
.dv-layout .dv-module .section-header{margin-bottom:24px!important;}
.dv-layout :is(.dv-module,.dv-modal-surface) p{line-height:1.65;}
.dv-layout :is(.btn,.btn-info-header,.btn-info-yellow,.nav-dropdown-trigger,.nav-dropdown-item){border-radius:8px;}
.dv-layout :is(.btn-primary,.dv-primary-action,.mobile-sheet-apply-btn){background:#214b3c!important;background-image:none!important;border-color:#214b3c!important;color:#fff!important;box-shadow:none!important;}
.dv-layout :is(.btn-primary,.dv-primary-action,.mobile-sheet-apply-btn):is(:hover,:focus-visible){background:#17382c!important;border-color:#17382c!important;}
.dv-layout :is(.btn-primary,.dv-primary-action,.mobile-sheet-apply-btn) :is(span,strong,svg){color:inherit!important;}
.dv-layout :is(.btn-secondary,.btn-outline){background:#fff;border:1px solid #789683;color:#214b3c;box-shadow:none;}
.dv-layout :is(.btn-info-yellow,.btn-info-yellow-sm){background:#f2c96d!important;color:#263e31!important;border:1px solid #c6a859!important;box-shadow:none!important;}
.dv-layout :is(.btn-info-yellow,.btn-info-yellow-sm) *{color:inherit!important;}
.dv-layout :is(.dv-module,.dv-modal-surface,.dv-admin-shell) :is(button,.btn,input,select){min-height:44px;}
.dv-layout :is(.dv-module,.dv-modal-surface,.dv-admin-shell) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){
 background:#fff!important;color:#1c2924!important;border:1px solid #9caea3!important;border-radius:8px;font:400 16px/1.5 var(--font-sans,system-ui,sans-serif);font-size:16px!important;padding:10px 12px;max-width:100%;
}
.dv-layout :is(.dv-module,.dv-modal-surface) :is(td,th,label){font-size:14px!important;}
.dv-layout :is(.dv-module,.dv-modal-surface,.dv-admin-shell) :is(input,textarea)::placeholder{color:#617367;opacity:1;}
.dv-layout :is(.dv-module,.dv-modal-surface,.dv-admin-shell) :is(input[type=checkbox],input[type=radio],input[type=range]){accent-color:#214b3c;}
.dv-layout :is(.dv-module,.dv-modal-surface,.dv-admin-shell) :is(input[type=checkbox],input[type=radio]){min-height:20px;width:20px;flex-shrink:0;}
.dv-layout :is(.dv-module,.dv-modal-surface,.dv-admin-shell) label{line-height:1.5;}
.dv-layout :is(.dv-module,.dv-modal-surface,.dv-admin-shell) :is(table,th,td){border-color:#dce3de;}
.dv-layout :is(.dv-module,.dv-modal-surface,.dv-admin-shell) th{background:#edf3ef;color:#263e31;}
.dv-layout :is(.dv-module,.dv-modal-surface,.dv-admin-shell) :is(pre,code){color:#263e31;background-color:#f4f7f4;}
.dv-layout :is(.dv-module,.dv-modal-surface) :is(.text-gold,.text-white){color:#775322!important;}
.dv-layout :is(.dv-module,.dv-modal-surface) .text-success{color:#245b43!important;}
.dv-layout :is(.dv-module,.dv-modal-surface) .text-danger{color:#a13028!important;}
.dv-layout .nav-dropdown-menu{background:#fff!important;color:#263e31!important;border-color:#dce3de!important;box-shadow:0 8px 28px #10291f1c!important;}
.dv-layout .nav-dropdown-item{color:#263e31!important;min-height:48px;}
.dv-layout .nav-dropdown-item small{color:#526158!important;line-height:1.5;}
.dv-layout .nav-dropdown-item:hover{background:#edf3ef!important;}
.dv-layout .dv-modal-surface{background:#fff!important;background-image:none!important;color:#263e31!important;border:1px solid #dce3de!important;border-radius:12px!important;box-shadow:0 12px 40px #10291f33!important;max-height:calc(var(--dv-modal-height) - 40px)!important;}
.dv-layout :is(.modal-overlay,.info-hub-modal-overlay,.strategic-modal-overlay,.roi-guide-modal,.touch-info-popover-overlay,#accountPortalModal,#saveSearchModal,#dimoraHoneypotModal,#syncPasswordModal){background:rgba(15,32,26,.65)!important;backdrop-filter:none!important;}
.dv-layout .dv-top-modal{z-index:1000060!important;}
.dv-layout.dv-has-modal{overflow:hidden!important;}
.dv-layout .dv-modal-surface :is(.modal-header,.strategic-modal-header,.info-hub-header,.roi-guide-header){background:#fff!important;border-bottom:1px solid #dce3de!important;}
.dv-layout .dv-modal-surface :is(.modal-title,.info-hub-title,.strategic-modal-title,h2,h3){color:#1c2924!important;}
.dv-layout .dv-modal-surface :is(h1,h2,h3,h4){font-family:var(--font-sans,system-ui,sans-serif)!important;}
.dv-layout .dv-modal-surface :is(.strategic-modal-body,.modal-body,.info-hub-body){overscroll-behavior:contain;}
.dv-layout :is(#dimoraInfoHubModal,#dimoraFilterGuideModal,#strategicDocModal) .dv-modal-surface{height:calc(var(--dv-modal-height) - 48px)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;}
.dv-layout :is(#dimoraInfoHubModal,#dimoraFilterGuideModal) .info-hub-header{flex:0 0 auto!important;position:relative!important;}
.dv-layout :is(#dimoraInfoHubModal,#dimoraFilterGuideModal) .info-hub-body{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;padding:24px!important;}
.dv-layout #strategicDocModal .strategic-modal-body{flex:1 1 auto;min-height:0;overflow:auto!important;}
.dv-layout #strategicDocModal .strategic-modal-card{position:relative;}
.dv-layout #strategicDocModal .strategic-modal-header{padding-right:76px!important;}
.dv-layout #strategicDocModal #closeStratDocBtn{position:absolute!important;top:12px!important;right:12px!important;z-index:1000;width:44px;height:44px;margin:0!important;display:inline-flex;align-items:center;justify-content:center;}
.dv-layout .dv-modal-surface :is(.modal-close,.modal-close-btn,.strategic-modal-close,.info-hub-close){min-width:44px;min-height:44px;color:#263e31!important;background:#f4f7f4!important;border:1px solid #dce3de!important;border-radius:8px!important;box-shadow:none!important;flex-shrink:0;}
.dv-layout #closeHoneypotModalBtn{background:#214b3c!important;color:#fff!important;border:2px solid #17382c!important;}
.dv-layout .dv-modal-surface .modal-title{font-family:var(--font-sans,system-ui,sans-serif)!important;font-size:22px!important;line-height:1.35!important;}
.dv-layout .dv-module .analyzer-grid{align-items:start;}
.dv-layout .dv-module .analyzer-card{border-radius:12px;border:1px solid #dce3de;padding:24px;}
.dv-layout .dv-module .dropzone-panel{background:#f4f7f4!important;border:1px dashed #789683!important;}
.dv-layout .dv-module :is(.section-subtitle,.strategic-eyebrow){color:#526158;}
.dv-layout .dv-module .card-num{color:#785318!important;}
.dv-layout .js-acct-tab-btn{color:#263e31!important;border-color:#b7ccbd!important;}
.dv-layout .dv-module :is(.strategic-card,.scouting-pillar-card,.tech-card,.restoration-card){border:1px solid #dce3de;border-radius:12px;box-shadow:none;padding:24px;}
.dv-layout .dv-module :is(.info-hub-tabs,.strategic-modal-tabs,.account-quick-tabs){background:#f4f7f4;}
.dv-layout .dv-module .roi-guide-block{background:#f4f7f4;}
.dv-layout footer{background:#fff!important;color:#263e31!important;border-top:1px solid #dce3de;}
.dv-layout :focus-visible{outline:3px solid #2378a5!important;outline-offset:3px;}
.dv-layout :is(button,a,input,select,textarea)[aria-disabled=true],.dv-layout :is(button,input,select,textarea):disabled{opacity:.65;}
.dv-layout .dv-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;}
.dv-layout .dv-table-scroll:focus-visible{outline-offset:-3px;}
.dv-layout.dv-document-page{max-width:960px;margin:24px auto;padding:24px;background:#fff;line-height:1.7;font-family:system-ui,sans-serif;}
.dv-layout.dv-document-page::before,.dv-layout.dv-document-page::after{display:none;}
.dv-layout.dv-document-page h1{font-size:32px;}.dv-layout.dv-document-page h2{font-size:24px;margin-top:32px;}
.dv-layout.dv-document-page :is(h1,h2,a){color:#214b3c;}
.dv-layout.dv-admin{background:#f6f7f5!important;color:#263e31;}
.dv-layout.dv-admin::before,.dv-layout.dv-admin::after{display:none;}
.dv-layout.dv-admin :is(.glass-panel,.login-card,.stat-card,.chart-card,.session-card){background:#fff!important;color:#263e31!important;border:1px solid #dce3de;box-shadow:none;}
.dv-layout.dv-admin .container{max-width:1600px;margin-inline:auto;}
.dv-layout.dv-admin{--font-sans:'Dimora Montserrat',system-ui,sans-serif;}
.dv-layout.dv-admin :is(h1,h2,h3,h4){font-family:var(--font-sans)!important;}
.dv-layout.dv-admin table [style*="opacity"]{opacity:1!important;}
.dv-layout .dv-preview-notice{padding:12px 20px;background:#fff4da;color:#6b4700;border-bottom:1px solid #d8c493;font:500 14px/1.5 system-ui,sans-serif;}
@media(max-width:767px){
 .dv-layout section.dv-module{padding-block:24px!important;margin-block:16px;}
 .dv-layout .dv-module :is(.analyzer-grid,.concept-grid,.strategic-grid,.scouting-pillars-grid,.restoration-grid){grid-template-columns:minmax(0,1fr)!important;gap:16px!important;}
 .dv-layout .dv-module :is(.analyzer-card,.strategic-card,.scouting-pillar-card,.restoration-card){padding:18px!important;}
 .dv-layout .dv-modal-surface{width:100%!important;max-width:100%!important;max-height:calc(var(--dv-modal-height) - 16px)!important;border-radius:12px!important;}
 .dv-layout :is(.modal-overlay,.info-hub-modal-overlay,.strategic-modal-overlay,#accountPortalModal,#saveSearchModal,#dimoraHoneypotModal,#syncPasswordModal){padding:8px!important;}
 .dv-layout .dv-modal-surface :is(.strategic-modal-body,.modal-body,.info-hub-body){padding:16px!important;}
 .dv-layout .dv-modal-surface :is(.strategic-modal-header,.info-hub-header,.modal-header){padding:12px 16px!important;gap:12px;}
 .dv-layout .dv-module [style*="minmax(320px"],.dv-layout .dv-module [style*="minmax(340px"],.dv-layout .dv-modal-surface [style*="minmax(300px"],.dv-layout .dv-modal-surface [style*="minmax(320px"],.dv-layout .dv-modal-surface [style*="minmax(340px"]{grid-template-columns:minmax(0,1fr)!important;}
 .dv-layout.dv-document-page{margin:0;padding:20px 16px;}
 .dv-layout.dv-document-page h1{font-size:28px;}
}
@media(prefers-reduced-motion:reduce){.dv-layout *{scroll-behavior:auto!important;}}
@media print{.dv-layout .dv-module{box-shadow:none!important;background:#fff!important;}.dv-layout .dv-preview-notice{display:none;}}

/* Respect the existing Google Translate toolbar offset, including small screens. */
.dv-layout :is(.modal-overlay,.info-hub-modal-overlay,.strategic-modal-overlay,.roi-guide-modal,.touch-info-popover-overlay,#accountPortalModal,#saveSearchModal,#dimoraHoneypotModal,#syncPasswordModal){top:var(--dimora-translation-offset,0px)!important;bottom:0!important;}
.dv-layout .dv-filter-dialog{top:var(--dimora-translation-offset,0px)!important;height:var(--dv-modal-height)!important;max-height:var(--dv-modal-height)!important;}
.dv-layout #dimoraHoneypotModal .strategic-modal-dialog{max-height:calc(var(--dv-modal-height) - 16px)!important;}
.dv-layout #closeHoneypotModalBtn{background:#214b3c!important;color:#fff!important;border-color:#17382c!important;}

.dv-layout .dv-intro-panel{display:block;margin:16px 0 0;padding:0;border:0;border-top:1px solid #dce3de;border-radius:0;background:transparent;color:#263e31;}
.dv-layout .dv-intro-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:8px;}
.dv-layout .dv-intro-actions :is(button,a){display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:0;padding:9px 12px;border:1px solid transparent;border-radius:6px;background:transparent;color:#214b3c;font:600 14px/1.4 var(--font-sans);text-align:center;text-decoration:none;white-space:normal;box-shadow:none;cursor:pointer;}
.dv-layout .dv-intro-actions .dv-intro-trigger::after{content:'+';font-size:18px;font-weight:400;}
.dv-layout .dv-intro-actions .dv-intro-trigger[aria-expanded="true"]::after{content:'−';}
.dv-layout .dv-intro-actions :is(button,a):hover,.dv-layout .dv-intro-actions [aria-expanded="true"]{background:#edf3ef;border-color:#c5d3ca;}
.dv-layout .dv-intro-actions :is(button,a):focus-visible{outline:2px solid #214b3c;outline-offset:2px;}
.dv-layout #hero .dv-intro-body{min-width:0;max-width:100%;margin-top:12px;padding:20px 0 4px;border-top:1px solid #dce3de;color:#263e31;}
.dv-layout #hero .dv-intro-body h2{margin:0 0 12px;font:700 20px/1.35 var(--font-sans);color:#214b3c;}
.dv-layout #hero .dv-intro-body h3{margin:0 0 8px;font:700 16px/1.4 var(--font-sans);color:#263e31;}
.dv-layout #hero .dv-intro-body p{font:400 14px/1.6 var(--font-sans);margin:0 0 12px;max-width:90ch;}
.dv-layout .dv-how-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 36px;margin:0;padding-left:22px;}
.dv-layout .dv-how-steps li{padding-left:4px;min-width:0;}
.dv-layout .dv-how-steps strong{font-size:15px;}
.dv-layout .dv-guide-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.dv-layout .dv-guide-section{min-width:0;}
.dv-layout .dv-guide-links{display:flex;flex-wrap:wrap;gap:8px;}
.dv-layout .dv-guide-links .btn{font:600 14px/1.4 var(--font-sans);min-height:44px;padding:10px 12px;background:#fff;border:1px solid #789683;color:#214b3c;box-shadow:none;}
.dv-layout .dv-guide-downloads{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:8px;font-size:13px;}
.dv-layout .dv-guide-pdf{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;color:#214b3c;text-decoration:underline;text-underline-offset:3px;font:600 13px/1.4 var(--font-sans);}
.dv-layout .dv-coverage-content .hero-scout-panel,.dv-layout .dv-coverage-content .hero-sources-panel{max-width:100%!important;width:auto!important;background:#f5f7f5!important;box-shadow:none!important;margin:16px 0;}
.dv-layout .dv-coverage-content .dv-source-limit{padding-bottom:0;}
.dv-layout .dv-sidebar-help{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;border-bottom:1px solid #dce3de;}
.dv-layout .dv-help-link{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;border:0;background:transparent;color:#214b3c;font:600 14px/1.4 var(--font-sans);text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.dv-layout #dashboardSidebarControls{gap:8px!important;}
.dv-layout .dv-sidebar-help{margin:0;}
.dv-layout .dv-mandate{margin:0;padding:0;}
.dv-layout .dv-mandate>summary{padding:8px 0;}
.dv-layout #masterResetFiltersBtn{margin:0;}
.dv-layout #dashboardSidebarControls:not(.dv-in-dialog):not(:has(>.dv-mandate[open]))>#masterResetFiltersBtn{display:none!important;}
.dv-layout .dv-filter-group>summary{min-height:44px;padding:8px 0;}
.dv-layout #profileRulesToggle{display:none!important;}
.dv-layout #profileRuleControls{padding:0;border:0;gap:8px;}
.dv-layout #profileRulesHint{font:400 12px/1.5 var(--font-sans);color:#526158;padding:0 0 6px;}
.dv-layout #profileRuleControls .profile-rule-toggle{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-height:44px;padding:10px;border:1px solid #b9cbbf;background:#fff;color:#263e31;}
.dv-layout #profileRuleControls .profile-rule-toggle[aria-pressed="true"]{background:#edf3ef;border-color:#567d64;}
.dv-layout #profileRuleControls .profile-rule-copy{min-width:0;}
.dv-layout #profileRuleControls .profile-rule-copy strong{font:700 13px/1.4 var(--font-sans);}
.dv-layout #profileRuleControls .profile-rule-copy small{font:400 12px/1.45 var(--font-sans);color:#526158;}
.dv-layout #profileRuleControls .profile-rule-switch{display:none;}
.dv-layout .dv-profile-rule-state{justify-self:start;padding:3px 7px;border-radius:4px;background:#f0f2f0;font:600 12px/1.4 var(--font-sans);color:#526158;}
.dv-layout [aria-pressed="true"]>.dv-profile-rule-state{background:#dbeade;color:#214b3c;}
.dv-layout #profileRuleControls .profile-rule-toggle:focus-visible{outline:2px solid #214b3c;outline-offset:2px;}
.dv-layout .dv-profile-result-context{font:700 13px/1.5 var(--font-sans);color:#214b3c;margin:8px 0;}
.dv-layout .dv-profile-rule-feedback{font:500 12px/1.5 var(--font-sans);color:#214b3c;background:#edf3ef;border-left:3px solid #789683;padding:8px;margin:0 0 8px;}
.dv-layout .dv-profile-rule-feedback:empty{display:none;}
.dv-layout #dashboardSidebarControls.dv-in-dialog>.dv-mandate{display:block!important;margin:0 20px!important;width:calc(100% - 40px);}
.dv-layout #dashboardSidebarControls #masterAllRegionsBtn{height:auto!important;min-height:52px;}
.dv-layout #dashboardSidebarControls #masterAllRegionsBtn>.prov-name{min-width:0;max-width:22ch!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.3;}
.dv-layout #dvReportExamplesModal .dv-reports-dialog{width:min(1520px,100%)!important;max-width:100%!important;height:calc(var(--dv-modal-height) - 48px);max-height:calc(var(--dv-modal-height) - 48px)!important;display:flex;flex-direction:column;padding:0!important;overflow:hidden!important;}
.dv-layout .dv-reports-header{display:flex;flex:0 0 auto;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 20px;border-bottom:1px solid #dce3de;background:#fff;}
.dv-layout .dv-reports-header h2{flex:1 1 280px;margin:0;font:700 19px/1.35 var(--font-sans);color:#214b3c;}
.dv-layout .dv-reports-controls{display:flex;align-items:center;gap:8px;margin-left:auto;}
.dv-layout .dv-reports-controls .btn{min-height:44px;padding:10px 12px;font:600 14px/1.4 var(--font-sans);}
.dv-layout .dv-reports-close{position:static!important;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin:0!important;padding:0!important;border:1px solid #b7ccbd;border-radius:6px;background:#f4f7f4;color:#214b3c;font:400 28px/1 var(--font-sans);}
.dv-layout .dv-reports-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px;}
.dv-layout #dvReportExamplesModal #spearfish-showcase{margin:0!important;padding:0!important;max-width:100%!important;background:#fff!important;box-shadow:none!important;border:0!important;border-radius:0!important;}
.dv-layout #hero .dv-hero-coverage{display:inline-block;font-size:clamp(16px,1.2vw,19px)!important;font-weight:700;line-height:1.5;margin-top:14px;padding:9px 14px;max-width:100%;border-left:3px solid #f2c96d;border-radius:5px;background:rgba(15,38,29,.82);color:#fff;}
/* No reveal delay for text or layout. A loaded photo fades once, in 200 ms. */
.dv-layout .fade-in-up{opacity:1;transform:none;animation:none!important;}
.dv-layout :is(.db-tab-content,.cadastre-tab-pane,.cadastre-accordion-content,.deal-funding-expandable-content,.dossier-theme-body){animation:none!important;}
@keyframes dv-photo-arrive{from{opacity:.35}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){.dv-layout img.dv-photo-arrive{animation:dv-photo-arrive 200ms ease-out;}}
@media(prefers-reduced-motion:reduce){.dv-layout img.dv-photo-arrive{animation:none!important;}}
@media print{.dv-layout img.dv-photo-arrive{animation:none!important;opacity:1!important;}.dv-layout #closeStratDocBtn{display:none!important;}}
.dv-layout .dv-intro-body .fade-in-up{opacity:1;transform:none;animation:none;}
@media(max-width:767px){
 .dv-layout .dv-intro-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;}
 .dv-layout .dv-intro-actions :is(button,a){padding:8px 6px;font-size:13px;}
 .dv-layout .dv-how-steps,.dv-layout .dv-guide-sections{grid-template-columns:minmax(0,1fr);gap:16px;}
 .dv-layout .dv-guide-links .btn{width:100%;}
 .dv-layout #dvReportExamplesModal .dv-reports-dialog{height:calc(var(--dv-modal-height) - 16px);max-height:calc(var(--dv-modal-height) - 16px)!important;}
 .dv-layout .dv-reports-header{padding:12px 16px;}
 .dv-layout .dv-reports-controls{width:100%;}
 .dv-layout .dv-reports-controls .btn{flex:1;}
 .dv-layout .dv-reports-body{padding:16px;}
 .dv-layout #strategicDocModal .strategic-modal-header{display:flex;flex-direction:column;align-items:stretch;gap:8px!important;}
 .dv-layout #strategicDocModal .strategic-modal-nav{flex-wrap:nowrap!important;overflow-x:auto;min-width:0;max-width:100%;scrollbar-width:thin;}
 .dv-layout #strategicDocModal .strat-tab-btn{flex:0 0 auto;min-height:44px;font:600 13px/1.4 var(--font-sans)!important;white-space:nowrap;}
 .dv-layout #strategicDocModal .strategic-modal-controls{display:flex;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;}
 .dv-layout #strategicDocModal .strategic-modal-controls>div{flex-wrap:wrap;max-width:100%;}
 .dv-layout #strategicDocModal .strat-lang-btn{min-width:44px;min-height:44px;font:600 12px/1.3 var(--font-sans);}
 .dv-layout #strategicDocModal .strat-action-btn{min-height:44px;max-width:100%;font:600 13px/1.4 var(--font-sans);}
}

/* Smooth SoloValori province municipality accordion inside #regionFilters */
.dv-layout #dashboardSidebarControls #regionFilters .cluster-comuni{transition:opacity .22s ease;}
