/* assets/audit-v184.css */
/* Correzioni trasversali dell'audit tecnico v184. */
:focus-visible{outline:3px solid #f5bd15!important;outline-offset:3px}
button,a,input,select,summary{touch-action:manipulation}
.advanced-filters{grid-template-columns:repeat(4,minmax(0,1fr)) auto!important}
.feature-check-grid{grid-template-columns:repeat(2,minmax(150px,1fr))!important;max-height:420px;overflow:auto}
.feature-check-grid label,.mobile-feature-checks label{display:flex!important;align-items:center;gap:8px;text-transform:none!important;font-size:12px!important}
.feature-check-grid input,.mobile-feature-checks input{width:18px!important;height:18px!important;flex:0 0 18px}
.map-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;padding:12px 12px 18px}
.map-pagination a{display:grid;min-width:42px;min-height:42px;box-sizing:border-box;place-items:center;border:1px solid #bfd3dc;border-radius:9px;background:#fff;color:#075f88;font-weight:850;text-decoration:none}
.map-pagination a[aria-current="page"]{border-color:#075f88;background:#075f88;color:#fff}

@media (max-width:700px){
  .advanced-filters{grid-template-columns:1fr 1fr!important}
  .search-tabs{gap:12px!important;justify-content:flex-start!important;scrollbar-width:none}
  .search-tabs::-webkit-scrollbar{display:none}
  .search-tabs a{flex:0 0 auto;min-height:44px;box-sizing:border-box;padding:12px 4px!important}
  .mobile-map-switch button,
  .mobile-location-submit,
  .mobile-filter-submit,
  .portal-top summary,
  .listing-mobile-fixed-menu a,
  .listing-mobile-fixed-menu button{min-height:44px}
  .home-search-main input::placeholder{font-size:14px}
  .mobile-feature-checks{border:0;padding:0}
  .mobile-feature-checks>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
  .mobile-feature-checks label{min-height:40px;padding:6px;border:1px solid #d8e3e8;border-radius:8px;background:#fff}
}

@media (min-width:701px) and (max-width:1100px){
  .featured-random-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* assets/v186-fixes.css */
/* v186: l'avviso automatico resta laterale e non copre il sito su computer. */
@media(min-width:801px){
  body.property-zone-alert-open{overflow:auto!important}
  .property-zone-alert-modal{
    place-items:center end!important;
    padding:24px 30px!important;
    pointer-events:none!important;
  }
  .property-zone-alert-modal .save-search-backdrop{
    background:transparent!important;
    pointer-events:none!important;
  }
  .property-zone-alert-modal .save-search-dialog{
    width:min(430px,calc(100vw - 60px))!important;
    height:min(650px,calc(100vh - 48px))!important;
    border:1px solid #c7d7df!important;
    box-shadow:0 20px 65px #071a274d!important;
    pointer-events:auto!important;
  }
}

@media(max-width:800px){
  .property-zone-alert-modal{padding:10px!important}
  .property-zone-alert-modal .save-search-dialog{
    box-sizing:border-box!important;
    width:calc(100vw - 20px)!important;
    max-width:390px!important;
    height:min(560px,calc(100dvh - 20px))!important;
    max-height:calc(100dvh - 20px)!important;
  }
}

/* assets/v187-fixes.css */
/* v187: protezione generale della larghezza sulle pagine pubbliche mobili. */
@media(max-width:800px){
  body:not(.admin-body):not(.magazine-reader-page){
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body:not(.admin-body):not(.magazine-reader-page) main,
  body:not(.admin-body):not(.magazine-reader-page) section,
  body:not(.admin-body):not(.magazine-reader-page) .container{
    min-width:0;
    max-width:100%;
  }
  body:not(.admin-body):not(.magazine-reader-page) img,
  body:not(.admin-body):not(.magazine-reader-page) video,
  body:not(.admin-body):not(.magazine-reader-page) iframe{
    max-width:100%;
  }
  .public-return-menu{
    position:static!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:auto!important;
    margin:18px 12px 8px!important;
  }
}

/* assets/v188-fixes.css */
/* v188: la home conserva logo e colori del desktop anche sul telefono. */
.portal-home .portal-brand img,
.portal-home .hero-logo{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  object-fit:contain!important;
  background:transparent!important;
}
.portal-home .umbria-hero,
.portal-home .hero-search-content{color:#fff!important}
.portal-home .umbria-hero .hero-tagline{
  color:#fff!important;
  text-shadow:0 2px 7px #000!important;
}
.portal-home .umbria-hero .search-tabs a,
.portal-home .umbria-hero .search-tabs a:link,
.portal-home .umbria-hero .search-tabs a:visited{
  color:#f1eee8!important;
}
.portal-home .umbria-hero .search-tabs a.active,
.portal-home .umbria-hero .search-tabs a:hover,
.portal-home .umbria-hero .search-tabs a:focus{
  color:#f5bd15!important;
  border-color:#f5bd15!important;
}
.portal-home .umbria-hero .hero-bottom,
.portal-home .umbria-hero .hero-bottom a,
.portal-home .umbria-hero .hero-bottom a:link,
.portal-home .umbria-hero .hero-bottom a:visited{
  color:#fff!important;
}

/* Cestino e preferiti: contorni neri leggibili e stato del cuore evidente. */
.listing-preview-icon-actions button,
.map-search-page .listing-preview-icon-actions button,
#risultati .zone-property-list .listing-preview-icon-actions button{
  border-color:#c7d1d6!important;
  background:#fff!important;
  color:#111820!important;
  transition:transform .12s ease,background-color .16s ease,border-color .16s ease!important;
}
.listing-preview-icon-actions svg,
.map-search-page .listing-preview-icon-actions svg,
#risultati .zone-property-list .listing-preview-icon-actions svg{
  fill:none!important;
  stroke:#111820!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.listing-preview-icon-actions button:active{transform:scale(.92)!important}
.listing-preview-icon-actions .listing-favourite.active{
  border-color:#d9002b!important;
  background:#fff1f3!important;
}
.listing-preview-icon-actions .listing-favourite.active svg,
.map-search-page .listing-preview-icon-actions .listing-favourite.active svg,
#risultati .zone-property-list .listing-preview-icon-actions .listing-favourite.active svg{
  fill:#d9002b!important;
  stroke:#d9002b!important;
}

/* Su computer il pannello dell'avviso annuncio resta laterale e non copre la scheda. */
@media(min-width:801px){
  .map-search-page .save-map-search{
    min-height:58px!important;
    padding:13px 16px!important;
    border:0!important;
    border-radius:9px!important;
    background:#dda600!important;
    color:#211e17!important;
    font-size:19px!important;
    font-weight:900!important;
    line-height:1.2!important;
    box-shadow:0 5px 20px #0002!important;
  }
  body.property-watch-open{overflow:auto!important}
  .property-watch-modal{
    place-items:center end!important;
    padding:24px 30px!important;
    pointer-events:none!important;
  }
  .property-watch-modal .property-watch-backdrop{
    background:transparent!important;
    pointer-events:none!important;
  }
  .property-watch-modal .property-watch-dialog{
    box-sizing:border-box!important;
    width:min(430px,calc(100vw - 60px))!important;
    max-height:calc(100vh - 48px)!important;
    border:1px solid #c7d7df!important;
    box-shadow:0 20px 65px #071a274d!important;
    pointer-events:auto!important;
  }
}

@media(max-width:800px){
  /* Il duplicato sotto gli annunci resta nascosto sul telefono: e' gia' presente SALVA in alto. */
  .map-search-page .save-map-search{display:none!important}
  .portal-home .portal-top .portal-brand img{
    width:min(170px,47vw)!important;
    height:50px!important;
  }
  .portal-home .umbria-hero .hero-logo{
    width:min(350px,94vw)!important;
    height:104px!important;
    margin:0 auto!important;
  }
  .portal-home .umbria-hero .hero-tagline{
    max-width:350px!important;
    font-size:16px!important;
    line-height:1.38!important;
    text-align:center!important;
  }
}

@media(max-width:380px){
  .portal-home .umbria-hero .hero-logo{
    width:min(326px,94vw)!important;
    height:96px!important;
  }
  .portal-home .umbria-hero .hero-tagline{font-size:15px!important}
}

/* assets/map-button-permanent-v249.css */
/*
 * FUNZIONE PERMANENTE CERCOCASA UMBRIA v249
 * Non rimuovere: è il comando che mostra ogni annuncio sulla mappa.
 * La mappa apre l'annuncio scelto e conserva gli altri immobili della zona.
 */
.ccu-map-card-host{position:relative!important}
.listing-map-overlay,
[data-ccu-permanent-map-control="1"]{
  position:absolute!important;z-index:30!important;top:auto!important;right:auto!important;bottom:10px!important;left:10px!important;
  display:grid!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;box-sizing:border-box!important;place-items:center!important;padding:0!important;
  border:1px solid #fff!important;border-radius:10px!important;appearance:none!important;background:#087ca8!important;color:#fff!important;box-shadow:0 3px 12px #082b3d66!important;text-decoration:none!important;cursor:pointer!important;pointer-events:auto!important
}
.listing-map-overlay.ccu-map-positioned{top:var(--ccu-map-top,10px)!important;bottom:auto!important;left:var(--ccu-map-left,10px)!important}
.listing-map-overlay svg,[data-ccu-permanent-map-control="1"] svg{display:block!important;width:24px!important;height:24px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.listing-map-overlay span,[data-ccu-permanent-map-control="1"] span{display:none!important}
.listing-map-overlay:hover,.listing-map-overlay:focus-visible,[data-ccu-permanent-map-control="1"]:hover,[data-ccu-permanent-map-control="1"]:focus-visible{background:#075f88!important;outline:3px solid #ffffffa8!important}

@media(max-width:800px){
  .map-search-page .map-listing-preview .listing-map-overlay,#risultati .listing-preview-card .listing-map-overlay,.agency-search-page .listing-preview-card .listing-map-overlay,.featured-home-properties .portal-property .listing-map-overlay,.seo-listings .seo-card .listing-map-overlay{display:grid!important;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;padding:0!important;border-radius:11px!important}
  .mobile-card-gallery>.listing-map-overlay,.featured-photo-wrap>.listing-map-overlay{top:auto!important;right:auto!important;bottom:12px!important;left:12px!important}
}

/* CCU 17/09: solo mirino home, leggermente ridotto. */
.featured-home-properties .portal-property[data-featured-card] .listing-map-overlay {
  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
}
@media(max-width:800px){
  .featured-home-properties .portal-property[data-featured-card] .listing-map-overlay {
    width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  }
}

/* CCU-DESKTOP-MAPPE-20260920: grafica desktop, comportamento mobile conservato. */
.ccu-marker-agency-logo{display:none}
@media(min-width:801px){
 body.map-search-page>.map-layout{grid-template-columns:clamp(640px,62vw,1100px) minmax(0,1fr)!important}
 body.map-search-page .map-sidebar{width:auto!important;max-width:none!important;padding:0!important}
 body.map-search-page .map-results-scroll{padding:16px!important;box-sizing:border-box}
 body.map-search-page .map-listing-preview{display:grid!important;grid-template-columns:42% minmax(0,1fr)!important;gap:0!important;width:100%!important;max-width:none!important;height:auto!important;min-height:300px!important;max-height:none!important;padding:0!important;margin:0 0 18px!important;overflow:hidden!important;border:1px solid #d9e1e5!important;border-radius:14px!important;background:#fff!important;box-shadow:0 3px 10px #17354a16!important}
 body.map-search-page .map-listing-preview>.mobile-card-gallery{display:grid!important;grid-column:1!important;grid-row:1!important;grid-template-rows:minmax(225px,1fr) 70px!important;position:relative!important;width:100%!important;min-width:0!important;height:100%!important;overflow:hidden!important}
 body.map-search-page .map-listing-preview>.mobile-card-gallery .mobile-gallery-main{display:block!important;position:relative!important;width:100%!important;height:100%!important;min-height:225px!important;max-height:none!important;overflow:hidden!important;border-radius:0!important}
 body.map-search-page .map-listing-preview>.mobile-card-gallery .mobile-gallery-main img{display:block!important;width:100%!important;height:100%!important;position:absolute!important;inset:0!important;object-fit:cover!important}
 body.map-search-page .map-listing-preview>.mobile-card-gallery .mobile-gallery-main>b{position:absolute!important;bottom:8px!important;right:8px!important;top:auto!important;left:auto!important;padding:4px 7px!important;border-radius:5px!important;background:#112332b3!important;color:#fff!important;font-size:12px!important;z-index:3!important}
 body.map-search-page .map-listing-preview>.mobile-card-gallery .mobile-gallery-thumbs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;height:70px!important;gap:2px!important;margin:2px 0 0!important;overflow:hidden!important}
 body.map-search-page .map-listing-preview .mobile-gallery-thumbs>a,body.map-search-page .map-listing-preview .mobile-gallery-thumbs>span{display:block!important;min-width:0!important;height:68px!important;overflow:hidden!important}
 body.map-search-page .map-listing-preview .mobile-gallery-thumbs img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
 body.map-search-page .map-listing-preview>.mobile-card-gallery~img,body.map-search-page .map-listing-preview>.mobile-card-gallery~.map-no-photo{display:none!important}
 body.map-search-page .map-listing-preview>.map-card-body{display:flex!important;flex-direction:column!important;position:relative!important;grid-column:2!important;grid-row:1!important;min-width:0!important;height:auto!important;padding:16px!important;overflow:visible!important;box-sizing:border-box!important}
 body.map-search-page .map-listing-preview .map-card-agency-logo{position:absolute!important;top:14px!important;right:14px!important;left:auto!important;bottom:auto!important;display:flex!important;width:110px!important;height:42px!important;align-items:center!important;justify-content:flex-end!important;margin:0!important;padding:0!important;background:#fff!important}
 body.map-search-page .map-listing-preview .map-card-agency-logo img{width:100%!important;height:100%!important;object-fit:contain!important}
 body.map-search-page .map-listing-preview .map-card-body>b{order:0!important;display:block!important;min-height:42px!important;margin:0 120px 10px 0!important;font-size:26px!important;line-height:1.3!important;color:#112332!important;overflow-wrap:anywhere}
 body.map-search-page .map-listing-preview .map-card-body>small:not(.map-position-missing){order:1!important;position:static!important;display:block!important;margin:0 0 5px!important;color:#536571!important;font-size:12px!important;line-height:1.4!important}
 body.map-search-page .map-listing-preview .map-card-body>h2{order:2!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;max-height:48px!important;margin:0 0 10px!important;padding:0!important;font-size:18px!important;line-height:1.3!important;font-weight:700!important}
 body.map-search-page .map-listing-preview .map-listing-icons{order:3!important;display:flex!important;flex-wrap:wrap!important;gap:8px 14px!important;max-height:none!important;margin:0 0 10px!important;font-size:13px!important;line-height:1.3!important}
 body.map-search-page .map-listing-preview .listing-preview-description{order:4!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;max-height:42px!important;overflow:hidden!important;margin:0 0 12px!important;font-size:13px!important;line-height:1.5!important;color:#536571!important}
 body.map-search-page .map-listing-preview .map-position-missing{order:5!important;font-size:11px!important}
 body.map-search-page .map-listing-preview .map-card-actions{order:6!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin-top:auto!important;padding-top:4px!important;width:100%!important;min-width:0!important}
 body.map-search-page .map-listing-preview .listing-preview-primary-actions{display:flex!important;gap:6px!important;flex:1 1 auto!important;min-width:0!important}
 body.map-search-page .map-listing-preview .listing-preview-primary-actions>a{min-width:0!important;min-height:38px!important;padding:8px 10px!important;font-size:12px!important;box-sizing:border-box!important;white-space:nowrap!important}
 body.map-search-page .map-listing-preview .listing-preview-icon-actions{display:flex!important;flex:0 0 auto!important;gap:6px!important;margin:0!important}
 body.map-search-page .map-listing-preview .listing-preview-icon-actions>button{width:36px!important;height:38px!important;min-width:36px!important;min-height:38px!important;padding:5px!important}
 body.map-search-page .map-listing-preview>.tier-card-badge{top:12px!important;left:12px!important;right:auto!important;bottom:auto!important;z-index:5!important}
 body .ccu-map-card-host>.listing-map-overlay.ccu-map-positioned{position:absolute!important;top:var(--ccu-map-top,12px)!important;left:var(--ccu-map-left,12px)!important;bottom:auto!important;right:auto!important;margin:0!important;transform:none!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;z-index:30!important}
 body.map-search-page .map-listing-preview.listing-user-hidden,body.agency-search-page .listing-preview-card.listing-user-hidden{display:none!important}
 .property-price-marker>.ccu-marker-agency-logo,.agency-property-price-marker>.ccu-marker-agency-logo{display:block!important;position:absolute!important;bottom:36px!important;left:10px!important;width:72px!important;height:28px!important;box-sizing:border-box!important;padding:3px!important;object-fit:contain!important;background:#fff!important;border:1px solid #b8cbd6!important;border-radius:6px!important;box-shadow:0 2px 6px #0002!important;pointer-events:none!important}
}

