:root{--orange:#e56a20;--blue:#337ab7;--dark:#0f2338;--bg:#f8f9fb;--grey:#6b7280;--border:#e5e7eb;--white:#fff;--purple:#9850f5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--dark);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.35}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}.site-header{height:72px;background:#fff;position:relative;z-index:30}.header-inner{height:100%;max-width:1180px;margin:auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between}.brand img{width:174px;display:block}.main-nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:800}.button{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:12px}.button-outline{border:1.5px solid var(--blue);color:var(--blue)}.menu-toggle{display:none}.app-home{max-width:1180px;margin:0 auto;padding-bottom:40px}.home-search-overlap{margin-top:-46px;position:relative;z-index:5;padding:0 20px}.home-search-box{width:min(720px,100%);min-height:92px;margin:auto;border:0;background:#fff;border-radius:23px;display:flex;align-items:center;padding:16px 18px;text-align:left;cursor:pointer;box-shadow:0 17px 34px #0b263b30,0 7px 12px #0b263b16}.home-search-box__search{font-size:43px;color:var(--orange);transform:rotate(-20deg);line-height:1}.home-search-box__text{display:flex;flex-direction:column;flex:1;margin-left:15px}.home-search-box__text strong{font-size:16.5px;font-weight:900}.home-search-box__text small{font-size:15px;color:#7b8490;font-weight:600;margin-top:6px}.home-search-box__divider{width:1px;height:43px;background:#e1e6ec;margin:0 12px}.home-search-box__pin{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#f1f8fd;color:var(--blue);font-size:25px}.quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:22px 12px;padding:34px 20px 10px}.quick-item{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;color:var(--dark);font-size:12px;text-align:center;font-weight:800}.quick-icon{width:62px;height:62px;border:1px solid #f0f3f6;border-radius:19px;background:#fff;display:grid;place-items:center;color:var(--blue);font-size:29px;box-shadow:0 7px 14px #0b263b16}.quick-item--ai .quick-icon{border-color:#aa63ff;color:var(--purple)}.quick-item:hover .quick-icon{transform:translateY(-2px)}.section-title-row{display:flex;align-items:center;justify-content:space-between;padding:0 20px}.section-title-row h2{font-size:22px;margin:0;font-weight:900}.section-title-row button{border:0;background:none;color:var(--orange);font-weight:800;cursor:pointer}.recent-section,.recently-viewed{margin-top:26px}.recent-scroll,.property-scroll{display:flex;gap:14px;overflow:auto;padding:12px 20px 8px;scrollbar-width:none}.recent-card{flex:0 0 250px;background:#fff;border:1px solid #e8edf2;border-radius:20px;overflow:hidden}.recent-map{height:105px;background:linear-gradient(135deg,#dce9f3,#f5f7f9);display:grid;place-items:center;color:var(--blue);font-size:30px}.recent-card__body{padding:15px}.recent-card h3{font-size:16px;margin:0 0 8px}.recent-card p{font-size:13px;color:var(--grey);margin:0}.property-card{flex:0 0 260px;background:#fff;border-radius:18px;border:1px solid #e8edf2;overflow:hidden}.property-card img{width:100%;height:150px;object-fit:cover}.property-card div{padding:14px}.bottom-action-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:34px 22px 0}.bottom-action-card{background:#fff;border-radius:22px;padding:18px;display:flex;gap:15px;box-shadow:0 3px 12px #00000012}.bottom-action-card__icon{flex:0 0 62px;height:62px;border-radius:18px;display:grid;place-items:center;font-size:27px}.bottom-action-card__icon.orange{background:#fff2ea;color:var(--orange)}.bottom-action-card__icon.blue{background:#eaf3fb;color:var(--blue)}.bottom-action-card>span:last-child{display:flex;flex-direction:column;align-items:flex-start}.bottom-action-card strong{font-size:18px;font-weight:900}.bottom-action-card small{color:var(--grey);font-size:13.5px;line-height:1.35;margin-top:7px}.bottom-action-card b{color:var(--orange);font-size:14px;margin-top:13px}.blue-text{color:var(--blue)!important}.mobile-bottom-nav{display:none}.sheet{display:none;position:fixed;inset:0;z-index:100}.sheet[aria-hidden="false"]{display:block}.sheet__backdrop{position:absolute;inset:0;background:#071c2c99;backdrop-filter:blur(3px)}.sheet__panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100% - 30px));background:#fff;border-radius:25px;padding:28px}.sheet__handle{display:none}.sheet__close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:30px}.sheet h2{font-size:28px;margin:0 0 7px}.sheet p{color:var(--grey);margin:0 0 20px}.contract-tabs{display:flex;gap:8px;margin-bottom:15px}.contract-tab{border:0;border-radius:12px;padding:10px 18px;background:#edf3f8;color:#526474;font-weight:800}.contract-tab.active{background:#fff0e4;color:var(--orange)}.location-input-wrap{position:relative;display:flex;align-items:center;border:1.5px solid #dfe6ec;border-radius:15px;padding:0 15px;height:58px}.location-input-wrap>span{font-size:28px;color:var(--orange);margin-right:8px}.location-input-wrap input{border:0;outline:0;width:100%;font-size:16px}.autocomplete{position:absolute;left:0;right:0;top:65px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 40px #0b263b2e;padding:7px;z-index:10;max-height:280px;overflow:auto}.autocomplete-item{width:100%;border:0;background:#fff;text-align:left;padding:12px;border-radius:9px;display:flex;justify-content:space-between}.autocomplete-item:hover{background:#f1f7fb}.autocomplete-item span{font-size:12px;color:var(--grey)}.primary-btn{width:100%;height:54px;border:0;border-radius:14px;background:var(--blue);color:#fff;font-weight:900;margin-top:16px;cursor:pointer}.ai-chip{display:inline-block;background:#f3eaff;color:var(--purple);padding:7px 10px;border-radius:10px;font-weight:900}.ai-panel textarea{width:100%;border:1.5px solid #dfe6ec;border-radius:14px;padding:14px;resize:vertical;outline:0}.ai-btn{background:linear-gradient(90deg,#7b42d3,#9850f5)}.form-status{min-height:22px;margin-top:8px;color:#a63d18}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);z-index:150;background:var(--dark);color:#fff;padding:12px 18px;border-radius:13px;box-shadow:0 10px 30px #0004}.site-footer{background:#fff;margin-top:45px;padding:42px 0 20px}.footer-grid,.footer-bottom{max-width:1180px;margin:auto;padding:0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-logo{width:180px}.footer-grid p,.footer-grid a{color:var(--grey);font-size:14px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.footer-bottom{margin-top:30px;padding-top:18px;border-top:1px solid var(--border);color:var(--grey);font-size:13px}
@media(max-width:760px){body{padding-bottom:90px}.site-header{height:66px}.header-inner{padding:0 18px}.brand img{width:162px}.main-nav{display:none}.menu-toggle{display:block;border:0;background:#fff}.app-home{width:100%;padding-bottom:20px}.home-search-overlap{margin-top:-46px}.home-search-box{width:100%}.quick-grid{grid-template-columns:repeat(4,1fr);padding:34px 18px 5px}.bottom-action-list{grid-template-columns:1fr}.mobile-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;height:92px;padding:8px 18px 18px;background:#fff;border-radius:30px 30px 0 0;box-shadow:0 -8px 28px #0000001a;justify-content:space-around}.mobile-bottom-nav a,.mobile-bottom-nav button{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--dark);font-size:12px;font-weight:600;padding:0 10px}.mobile-bottom-nav span{font-size:27px}.mobile-bottom-nav .active{color:var(--orange);font-weight:900}.mobile-bottom-nav i{width:0;height:3px;background:var(--orange);border-radius:9px}.mobile-bottom-nav .active i{width:36px}.sheet__panel{left:0;right:0;bottom:0;top:auto;transform:none;width:100%;border-radius:28px 28px 0 0;padding:26px 20px 28px}.sheet__handle{display:block;width:42px;height:5px;background:#d9dde2;border-radius:99px;margin:-12px auto 18px}.site-footer{display:none}}
@media(max-width:380px){.quick-grid{grid-template-columns:repeat(3,1fr)}.home-search-box__text strong{font-size:15.5px}.home-search-box__text small{font-size:14px}}

/* ===== Home app fidelity v2 ===== */
svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.site-header{height:72px}.header-inner{padding:0 20px}.brand{display:flex;align-items:center;height:100%}.brand img{width:170px;height:50px;object-fit:contain;object-position:left center}.header-actions{display:flex;align-items:center;gap:6px}.header-icon-button,.header-profile-button{display:grid;place-items:center;color:var(--dark)}.header-icon-button{width:44px;height:44px;padding:8px}.header-profile-button{width:45px;height:45px;padding:8px;border-radius:50%;background:#fff;box-shadow:0 8px 18px rgba(0,0,0,.08)}.header-icon-button svg{width:28px;height:28px}.header-profile-button svg{width:28px;height:28px}.app-svg{display:grid;place-items:center}.app-svg svg{width:30px;height:30px}.app-svg.orange{color:var(--orange)}.home-search-box__search{transform:none;font-size:0}.home-search-box__pin{color:var(--blue)}.home-search-box__pin svg{width:22px;height:22px}.quick-icon{display:grid;place-items:center}.quick-icon svg{width:29px;height:29px}.quick-item--ai .quick-icon{color:var(--purple)}.bottom-action-card__icon svg{width:28px;height:28px}.mobile-bottom-nav span{display:grid;place-items:center;width:28px;height:28px}.mobile-bottom-nav span svg{width:27px;height:27px}

.app-dialog{display:none;position:fixed;inset:0;z-index:120;background:#fff}.app-dialog[aria-hidden="false"]{display:block}.app-dialog__page{width:100%;height:100%;background:#fff;overflow:auto}.dialog-appbar{height:64px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid #eef1f4;position:sticky;top:0;background:#fff;z-index:5}.dialog-appbar h2{margin:0;font-size:20px;font-weight:900}.dialog-back{width:44px;height:44px;border:0;background:transparent;padding:10px;margin-right:4px;color:var(--dark);cursor:pointer}.location-page-content,.ai-page-content{max-width:680px;margin:0 auto;padding:18px 20px 34px}.app-search-field{height:58px;border:1.5px solid #dfe5ea;border-radius:16px;display:flex;align-items:center;padding:0 14px;background:#fff}.app-search-field>span{width:25px;height:25px;color:var(--blue);margin-right:9px}.app-search-field input{flex:1;border:0;outline:0;font-size:16px;color:var(--dark);min-width:0}.app-search-field button{width:38px;height:38px;border:0;background:transparent;padding:9px;color:#667281}.app-location-results{padding-top:10px}.app-location-item{width:100%;border:0;background:#fff;text-align:left;padding:12px 2px;display:flex;align-items:center;gap:13px;border-bottom:1px solid #f0f2f4;cursor:pointer}.app-location-item .result-icon{width:40px;height:40px;border-radius:12px;background:#eef5fb;color:var(--blue);display:grid;place-items:center;padding:9px;flex:0 0 auto}.app-location-item strong{display:block;font-size:15px}.app-location-item small{display:block;color:var(--grey);margin-top:3px}.location-action-tile{width:100%;border:0;background:#fff;margin-top:12px;padding:14px;border-radius:18px;display:flex;align-items:center;text-align:left;gap:13px;box-shadow:0 3px 13px rgba(11,38,59,.09);cursor:pointer}.location-action-tile .tile-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;padding:12px;flex:0 0 auto}.location-action-tile .tile-icon.blue{color:var(--blue);background:#f0f6fb}.location-action-tile .tile-icon.orange{color:var(--orange);background:#fff0e6}.location-action-tile>span:nth-child(2){flex:1}.location-action-tile strong{display:block;font-size:15.5px;font-weight:900}.location-action-tile small{display:block;color:var(--grey);font-size:13px;margin-top:3px;line-height:1.3}.location-action-tile i{width:21px;height:21px;color:#7a8590}.location-submit-wrap{margin-top:18px}.ai-page-content{padding-top:28px}.ai-page-content>h2{font-size:27px;margin:18px 0 7px}.ai-page-content>p{color:var(--grey);margin:0 0 20px}.ai-chip{display:inline-flex;align-items:center;gap:7px}.ai-chip svg{width:19px;height:19px}.ai-page textarea{width:100%;border:1.5px solid #dfe6ec;border-radius:16px;padding:15px;resize:vertical;outline:0;font-size:16px}.toast{bottom:110px}

@media(min-width:761px){.app-dialog{background:rgba(7,28,44,.62);backdrop-filter:blur(3px);padding:40px}.app-dialog__page{max-width:620px;height:auto;max-height:calc(100vh - 80px);margin:auto;border-radius:25px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.dialog-appbar{border-radius:25px 25px 0 0}.header-actions{display:none}}

@media(max-width:760px){.site-header{height:72px}.header-inner{padding:0 20px}.brand img{width:170px;height:50px}.header-actions{margin-left:auto}.main-nav,.menu-toggle{display:none}.quick-item{min-width:0}.quick-item strong{font-size:11.5px}.quick-icon{width:62px;height:62px}.mobile-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;height:92px;padding:8px 18px calc(18px + env(safe-area-inset-bottom));background:#fff;border-radius:30px 30px 0 0;box-shadow:0 -8px 28px rgba(0,0,0,.10);justify-content:space-around}.mobile-bottom-nav a,.mobile-bottom-nav button{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--dark);font-size:12px;font-weight:600;padding:0 10px;cursor:pointer}.mobile-bottom-nav .active{color:var(--orange);font-weight:900}.mobile-bottom-nav i{width:0;height:3px;background:var(--orange);border-radius:9px;transition:.2s}.mobile-bottom-nav .active i{width:36px}.app-dialog__page{padding-bottom:env(safe-area-inset-bottom)}.dialog-appbar{padding-top:env(safe-area-inset-top);height:calc(64px + env(safe-area-inset-top))}}

/* ===== Search form + results app fidelity v3 ===== */
.search-app-page,.results-app-page{max-width:760px;margin:0 auto;background:#f7f8fa;min-height:calc(100vh - 72px);padding-bottom:100px}.search-appbar,.results-appbar{height:64px;display:flex;align-items:center;gap:8px;padding:0 14px;background:#fff;border-bottom:1px solid #edf0f3;position:sticky;top:0;z-index:30}.search-appbar h1,.search-appbar h2{font-size:20px;margin:0;font-weight:900}.search-back,.results-icon-btn{width:44px;height:44px;border:0;background:transparent;color:#1e2b36;padding:10px;display:grid;place-items:center;cursor:pointer}.search-form-app{padding:16px 16px 0}.search-card-app{width:100%;border:0;background:#fff;border-radius:18px;min-height:74px;box-shadow:0 4px 18px rgba(12,35,54,.08);padding:13px 15px;display:flex;align-items:center;text-align:left;margin-bottom:18px;cursor:pointer;color:#17232e}.search-row-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;padding:10px;flex:none}.search-row-icon.blue{color:#337ab7;background:#edf5fb}.search-row-icon.orange{color:#e56a20;background:#fff1e8}.search-row-copy{flex:1;min-width:0;padding:0 12px}.search-row-copy small,.search-row-copy strong{display:block}.search-row-copy small{font-size:12.5px;color:#77828c;margin-bottom:3px}.search-row-copy strong{font-size:16px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-row-chevron{width:22px;height:22px;color:#77828c}.form-section-app{margin:0 0 20px}.form-section-app h2{font-size:17px;margin:0 0 11px;font-weight:900}.segmented-app{display:grid;grid-template-columns:repeat(3,1fr);background:#e9edf1;border-radius:14px;padding:4px}.segmented-app button{height:45px;border:0;border-radius:11px;background:transparent;font-weight:800;color:#596673;cursor:pointer}.segmented-app button.active{background:#fff;color:#337ab7;box-shadow:0 3px 10px rgba(0,0,0,.09)}.two-fields-app{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two-fields-app label>span{display:block;font-size:12px;color:#66727d;margin:0 0 6px 4px}.two-fields-app label>div{height:54px;display:flex;align-items:center;background:#fff;border:1px solid #dfe4e8;border-radius:14px;padding:0 13px;gap:7px}.two-fields-app input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:15px}.two-fields-app b{font-size:14px;color:#687580}.choice-scroll{display:flex;gap:9px;overflow:auto;padding-bottom:4px;scrollbar-width:none}.choice-scroll button{min-width:50px;height:45px;padding:0 15px;border:1px solid #dce2e7;border-radius:13px;background:#fff;font-weight:800;color:#52606c;cursor:pointer}.choice-scroll button.active{color:#337ab7;border-color:#337ab7;background:#edf5fb}.search-submit-sticky{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(760px,100%);padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#fff 24%);z-index:25}.search-main-button{min-height:52px;border:0;border-radius:14px;background:#337ab7;color:#fff;font-size:16px;font-weight:900;padding:0 22px;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;width:100%}.search-main-button span{width:23px;height:23px}.full-dialog{display:none;position:fixed;inset:0;z-index:150;background:#fff}.full-dialog[aria-hidden="false"]{display:block}.full-dialog-page{height:100%;display:flex;flex-direction:column;background:#f7f8fa}.dialog-content-app{width:min(680px,100%);margin:0 auto;padding:16px;overflow:auto;flex:1}.picker-search{height:56px;background:#fff;border:1px solid #dce3e8;border-radius:16px;display:flex;align-items:center;padding:0 13px;gap:9px}.picker-search>span{width:24px;height:24px;color:#337ab7}.picker-search input{flex:1;min-width:0;border:0;outline:0;font-size:16px}.picker-search button{width:34px;height:34px;border:0;background:transparent;font-size:25px;color:#68747f}.italy-choice,.picker-result-item{width:100%;border:0;background:#fff;border-radius:16px;margin-top:12px;display:flex;align-items:center;text-align:left;padding:12px;cursor:pointer;color:#1c2832}.italy-choice>span:nth-child(2),.picker-result-item>span:nth-child(2){padding-left:11px}.italy-choice strong,.picker-result-item strong{display:block;font-size:15.5px}.italy-choice small,.picker-result-item small{display:block;font-size:12.5px;color:#77828c;margin-top:3px}.picker-results{display:grid;gap:8px;margin-top:8px}.picker-result-item{margin:0;border-radius:13px}.dialog-section-title{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px}.dialog-section-title h3{margin:0;font-size:18px}.dialog-section-title button{border:0;background:transparent;color:#337ab7;font-weight:800}.check-list-app{display:grid;gap:7px;margin-bottom:16px}.check-list-app label{display:flex;align-items:center;gap:11px;background:#fff;border-radius:13px;padding:13px 14px;font-weight:700}.check-list-app input{width:21px;height:21px;accent-color:#337ab7}.types-groups-app{display:grid;gap:12px}.type-group-app{background:#fff;border-radius:17px;overflow:hidden}.type-group-head{display:flex;align-items:center;padding:14px;font-weight:900;border-bottom:1px solid #edf0f2}.type-group-head label{display:flex;align-items:center;gap:10px;width:100%}.type-group-options{padding:4px 14px 10px}.type-group-options label{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid #f0f2f4}.type-group-options label:last-child{border:0}.type-group-app input{width:21px;height:21px;accent-color:#337ab7}.dialog-footer-app{display:grid;grid-template-columns:.7fr 1.3fr;gap:10px;padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e9edf0}.secondary-app-btn{border:1px solid #cfd7dd;background:#fff;border-radius:14px;font-weight:900;color:#45525e}.more-filters-app{display:grid;gap:15px}.more-filters-app label{font-size:13px;color:#65717c;font-weight:700}.more-filters-app select{display:block;width:100%;height:54px;margin-top:7px;border:1px solid #dce3e8;border-radius:14px;background:#fff;padding:0 13px;font-size:15px;color:#1d2933}.loading-inline,.results-status{text-align:center;color:#6b7782;padding:24px}.results-app-page{padding-bottom:30px}.results-appbar{gap:4px}.results-search-summary{flex:1;min-width:0;border:0;background:transparent;text-align:left;padding:4px 7px;cursor:pointer}.results-search-summary strong,.results-search-summary small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.results-search-summary strong{font-size:16px}.results-search-summary small{font-size:12px;color:#6c7882;margin-top:2px}.results-toolbar{height:55px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #edf0f2}.results-toolbar select{border:0;background:transparent;color:#337ab7;font-weight:800}.property-list-app{display:grid;gap:14px;padding:14px 14px 0}.property-card-app{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 16px rgba(12,35,54,.08);position:relative}.property-card-image{height:220px;background:#e9edf0 center/cover no-repeat;position:relative}.property-card-badge{position:absolute;left:11px;top:11px;background:#e56a20;color:#fff;border-radius:8px;padding:6px 9px;font-size:11px;font-weight:900}.property-heart{position:absolute;right:11px;top:11px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.95);padding:10px;color:#273642}.property-card-body{padding:14px}.property-card-price{font-size:21px;font-weight:900;color:#172530}.property-card-title{font-size:16px;font-weight:900;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-card-city{font-size:13px;color:#6e7a84;margin-top:5px}.property-card-details{display:flex;gap:14px;margin-top:12px;color:#43515d;font-size:13px;font-weight:700}.property-card-details span{white-space:nowrap}.load-more-app{display:block;margin:18px auto 30px;border:1px solid #337ab7;background:#fff;color:#337ab7;border-radius:13px;padding:12px 22px;font-weight:900}.empty-results-app{background:#fff;border-radius:18px;padding:28px;text-align:center;margin:15px}.empty-results-app h3{margin:0 0 7px}.empty-results-app p{color:#6e7a84;margin:0}.site-footer{display:none}
@media(min-width:761px){.search-app-page,.results-app-page{margin:24px auto;border-radius:22px;min-height:calc(100vh - 120px);overflow:hidden;box-shadow:0 12px 40px rgba(9,32,50,.11)}.full-dialog{background:rgba(7,28,44,.58);padding:34px}.full-dialog-page{max-width:680px;max-height:calc(100vh - 68px);margin:auto;border-radius:24px;overflow:hidden}.search-appbar{top:0}.search-submit-sticky{position:sticky;left:auto;bottom:0;transform:none;width:auto;margin:18px -16px -16px}.property-list-app{grid-template-columns:1fr 1fr}.property-card-image{height:190px}}
@media(max-width:480px){.two-fields-app{grid-template-columns:1fr 1fr}.two-fields-app label>div{padding:0 10px}.property-card-image{height:205px}.site-header{display:none}.search-app-page,.results-app-page{min-height:100vh}.search-appbar,.results-appbar{top:0}}

/* ===== v4: mobile header + zone selection aligned with Flutter app ===== */
.selected-zones-card{background:#fff;border-radius:18px;box-shadow:0 4px 18px rgba(12,35,54,.08);padding:14px 15px;margin:-4px 0 18px}.selected-zones-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.selected-zones-head small,.selected-zones-head strong{display:block}.selected-zones-head small{font-size:12px;color:#77828c;margin-bottom:3px}.selected-zones-head strong{font-size:15.5px;font-weight:900}.selected-zones-head button{border:0;background:transparent;color:#337ab7;font-weight:900;padding:8px}.selected-zone-chips{display:flex;gap:7px;overflow:auto;padding-top:11px;scrollbar-width:none}.selected-zone-chips span{flex:0 0 auto;border:1px solid #d7e5f0;background:#f1f7fb;color:#337ab7;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.zone-help{margin:-2px 0 12px;color:#6d7882;font-size:13px}.check-list-app label:has(.zone-check:checked){background:#edf5fb;color:#245f91}
@media(max-width:760px){
  body{padding-top:0}
  .site-header{display:block!important;height:64px;position:sticky;top:0;z-index:90;border-bottom:1px solid #edf0f3}
  .header-inner{height:64px;padding:0 14px}
  .brand img{width:144px;height:44px;object-fit:contain;object-position:left center}
  .main-nav{display:none!important}
  .header-actions{display:flex!important;margin-left:auto;gap:2px}
  .header-icon-button,.header-profile-button{width:42px;height:42px;padding:8px;box-shadow:none;background:transparent}
  .header-icon-button svg,.header-profile-button svg{width:25px;height:25px}
  .search-app-page,.results-app-page{min-height:calc(100vh - 64px)}
  .search-appbar,.results-appbar{top:64px}
}
@media(max-width:480px){.site-header{display:block!important}.search-app-page,.results-app-page{min-height:calc(100vh - 64px)}}

/* ===== v5: form di ricerca allineato a search_page.dart ===== */
.search-v5{background:#f7f8fa}.app-form-header{justify-content:space-between}.search-logo{height:40px;width:auto;max-width:230px;object-fit:contain}.appbar-spacer{width:46px}.app-search-exact{padding:26px 20px 120px;max-width:760px;margin:0 auto}.app-search-exact>h1{font-size:29px;line-height:1.15;margin:0 0 26px;color:#112738;font-weight:900;max-width:420px}.contract-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.contract-tabs button{position:relative;height:58px;border:0;background:transparent;color:#263d50;font-size:17px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 4px;cursor:pointer}.contract-tabs button span{width:26px;height:26px;color:#73808b}.contract-tabs button:after{content:"";position:absolute;left:4px;right:4px;bottom:0;height:4px;border-radius:4px;background:transparent}.contract-tabs button.active.vendita{color:#e56a20}.contract-tabs button.active.vendita span{color:#e56a20}.contract-tabs button.active.vendita:after{background:#e56a20}.contract-tabs button.active.affitto{color:#337ab7}.contract-tabs button.active.affitto span{color:#337ab7}.contract-tabs button.active.affitto:after{background:#337ab7}.contract-tabs button.active.asta{color:#b84545}.contract-tabs button.active.asta span{color:#b84545}.contract-tabs button.active.asta:after{background:#b84545}.app-tap-field,.app-filter-row{width:100%;min-height:94px;border:1px solid #dfe3e7;border-radius:18px;background:#f9fafb;display:flex;align-items:center;text-align:left;padding:18px 18px;position:relative;color:#12283a;margin-bottom:16px;cursor:pointer}.field-floating-label{position:absolute;left:28px;top:-10px;background:#f7f8fa;padding:0 7px;color:#7a838d;font-size:13px;font-weight:700}.field-icon{width:34px;height:34px;display:grid;place-items:center;color:#3682ae;flex:none}.field-icon svg,.field-chevron svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.app-tap-field strong,.app-filter-row strong{font-size:17px;font-weight:900;margin-left:16px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-chevron{width:25px;height:25px;margin-left:auto;color:#6e7780;flex:none}.app-filter-section>h2{font-size:22px;color:#112738;margin:34px 0 18px;font-weight:900}.app-filter-row{min-height:96px;margin-bottom:12px}.app-filter-row small{margin-left:auto;color:#6f7983;font-size:13px;max-width:42%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-inline-choice,.app-select-row,.energy-field{border:1px solid #dfe3e7;border-radius:18px;background:#f9fafb;padding:16px;margin-bottom:12px}.app-inline-title{display:flex;align-items:center;gap:14px;margin-bottom:12px}.app-inline-title strong{font-size:16px;font-weight:900}.app-select-row{display:flex;align-items:center;gap:14px}.app-select-row>span:last-child{display:flex;align-items:center;flex:1;min-width:0}.app-select-row b{font-size:15px;white-space:nowrap}.app-select-row select{margin-left:auto;max-width:58%;border:0;background:transparent;color:#273b4c;font-size:15px;font-weight:700;outline:0;text-align:right}.energy-field p{margin:0 0 12px 48px;color:#6e7881;font-size:13px}.energy-choices{display:flex;gap:8px;flex-wrap:wrap}.energy-choices button{height:40px;padding:0 15px;border:1px solid #d6dde3;border-radius:12px;background:#fff;font-weight:800;color:#263d50}.energy-choices button.active{background:#337ab7;border-color:#337ab7;color:#fff}.app-orange-button{background:#e96a16;border-radius:18px;min-height:58px}.dialog-footer-single{padding:12px 20px calc(16px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e3e7ea}.zone-list-exact{display:grid;gap:6px}.zone-check-row{width:100%;border:0;background:transparent;border-radius:14px;padding:10px 2px;display:flex;align-items:center;gap:16px;text-align:left;font-size:17px;color:#152a3a;cursor:pointer}.zone-check-box{width:38px;height:38px;border:1.5px solid #d6dde4;border-radius:12px;background:#fff;display:grid;place-items:center;color:transparent;font-size:24px;font-weight:900;flex:none}.zone-check-row.selected .zone-check-box{background:#337ab7;border-color:#337ab7;color:#fff}.zone-check-row strong{font-weight:700}.inline-error{margin:14px 0;background:#fff1f0;color:#a33d35;border:1px solid #f1cbc7;border-radius:13px;padding:13px;font-weight:700}.compact-dialog{max-width:560px}.range-dialog-content{display:grid;gap:16px}.range-dialog-content label>span{display:block;font-weight:800;color:#4b5964;margin:0 0 7px 3px}.range-dialog-content label>div{height:58px;border:1px solid #dce2e7;border-radius:15px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 14px}.range-dialog-content input{border:0;outline:0;min-width:0;flex:1;font-size:17px}.vertical-choice-list{display:grid;gap:7px}.vertical-choice-list button{height:56px;border:1px solid #dbe1e6;border-radius:14px;background:#fff;text-align:left;padding:0 16px;font-size:16px;font-weight:800;color:#263d50}.vertical-choice-list button.active{background:#edf5fb;border-color:#337ab7;color:#337ab7}.search-submit-sticky{background:linear-gradient(transparent,#fff 26%)}
@media(max-width:760px){.app-search-exact{padding-top:28px}.search-v5 .site-header{display:none!important}.search-v5{min-height:100vh}.app-form-header{top:0}.search-logo{height:39px;max-width:245px}.contract-tabs button{font-size:16px}.app-tap-field,.app-filter-row{min-height:94px}.search-submit-sticky{width:100%}}

/* v6 - località e zone */
.field-text-stack{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:3px}
.field-text-stack strong{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.field-text-stack small{display:block;max-width:100%;color:#6f7783;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#selected-zones-summary:empty{display:none}
.zone-list-exact{padding-bottom:90px}
.app-search-form{padding-bottom:110px}

/* v9 - flusso Flutter LocationPickerPage -> ZoneSelectionPage */
.home-zone-page{position:absolute;inset:0;background:#fff;display:flex;flex-direction:column;z-index:3}
.home-zone-page[hidden]{display:none!important}
.home-zone-content{flex:1;min-height:0;overflow:auto;padding:8px 20px 96px}
#home-zone-list .zone-check-row{font-size:18px;padding:13px 2px}
#home-zone-list .zone-check-box{width:42px;height:42px;border-radius:13px}
#home-zone-confirm{width:100%;min-height:58px;border-radius:18px}
.location-page-content[hidden]{display:none!important}


/* Results server-side SEO */
.server-results-page{background:#f7f8fa;min-height:70vh;padding:18px 0 48px}.results-head{padding-top:8px}.seo-breadcrumb{display:flex;gap:8px;align-items:center;font-size:13px;color:#667085;margin-bottom:18px}.seo-breadcrumb a{color:#337ab7;text-decoration:none}.results-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.results-title-row h1{font-size:28px;line-height:1.2;margin:0 0 6px;color:#1f2937}.results-title-row p{margin:0;color:#667085}.results-edit-button{border:1px solid #337ab7;color:#337ab7;border-radius:10px;padding:10px 15px;text-decoration:none;font-weight:700;background:#fff}.results-sort-form{display:flex;justify-content:flex-end;margin:12px 0 18px}.results-sort-form label{font-size:14px;color:#475467}.results-sort-form select{margin-left:8px;border:1px solid #d0d5dd;background:#fff;border-radius:9px;padding:9px 34px 9px 10px}.server-results-layout{display:grid;grid-template-columns:minmax(0,760px) 280px;gap:24px;align-items:start}.server-property-list{display:grid;gap:16px}.property-card-server{display:grid;grid-template-columns:280px 1fr;background:#fff;border:1px solid #e4e7ec;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px rgba(16,24,40,.05)}.property-card-server__image{position:relative;min-height:205px;background:#e9edf2 center/cover no-repeat}.property-card-server__body{padding:18px}.property-card-server__price{font-size:22px;font-weight:800;color:#e56a20;margin-bottom:8px}.property-card-server h2{font-size:19px;line-height:1.3;margin:0 0 8px}.property-card-server h2 a{color:#1d2939;text-decoration:none}.property-card-server__location{color:#667085;margin:0 0 14px;font-size:14px}.property-card-server__details{display:flex;gap:8px;flex-wrap:wrap}.property-card-server__details span{background:#f2f4f7;border-radius:8px;padding:6px 9px;font-size:13px;color:#344054}.property-card-server .property-heart{position:absolute;top:10px;right:10px;background:#fff;border:0;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.16)}.property-card-server .property-heart svg{width:21px;height:21px;fill:none;stroke:#344054;stroke-width:1.8}.results-seo-aside,.results-seo-copy,.results-server-message{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:20px}.results-seo-aside{position:sticky;top:90px}.results-seo-aside h2,.results-seo-copy h2{font-size:18px;margin:0 0 10px}.results-seo-aside p,.results-seo-copy p{color:#667085;line-height:1.6}.results-seo-aside a,.results-server-message a{color:#337ab7;font-weight:700}.results-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:28px}.results-pagination a{background:#fff;border:1px solid #d0d5dd;border-radius:9px;padding:10px 14px;text-decoration:none;color:#337ab7;font-weight:700}.results-seo-copy{margin-top:28px}.results-server-message{text-align:center;padding:36px}.results-server-message h2{margin-top:0}
@media(max-width:850px){.server-results-layout{grid-template-columns:1fr}.results-seo-aside{display:none}.property-card-server{grid-template-columns:1fr}.property-card-server__image{min-height:230px}.server-results-page{padding-top:8px;padding-bottom:90px}.results-title-row h1{font-size:22px}.results-title-row{align-items:center}.results-edit-button{white-space:nowrap;padding:9px 11px;font-size:13px}.results-sort-form{justify-content:flex-start}.server-results-layout,.results-head,.results-seo-copy,.results-pagination{padding-left:12px;padding-right:12px}.site-footer{margin-bottom:65px}}


/* Dettaglio annuncio — porting della DetailPage Flutter */
.detail-page{background:#f5f7fa;min-height:100vh;padding-bottom:90px}.detail-hero{position:relative;background:#e8eef4;height:min(56vw,520px);min-height:330px;overflow:hidden}.detail-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;height:100%;scrollbar-width:none}.detail-gallery-track::-webkit-scrollbar{display:none}.detail-photo{flex:0 0 100%;height:100%;border:0;padding:0;background:#e8eef4;scroll-snap-align:start}.detail-photo img{width:100%;height:100%;object-fit:cover}.detail-round{position:absolute;top:18px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 3px 14px rgba(19,48,74,.2);display:grid;place-items:center;font-size:25px;color:#17324d;text-decoration:none;z-index:3}.detail-back{left:18px}.detail-share{right:72px;color:#337ab7}.detail-favorite{right:18px;color:#e56a20}.detail-favorite.is-saved{background:#fff0e8}.detail-photo-count{position:absolute;right:18px;bottom:20px;background:rgba(255,255,255,.95);padding:7px 11px;border-radius:12px;font-weight:900}.detail-tabs{position:sticky;top:0;z-index:25;background:#fff;border-bottom:1px solid #e6ebef;overflow-x:auto}.detail-tabs .shell{display:flex;gap:25px;white-space:nowrap}.detail-tabs a{padding:16px 0 13px;text-decoration:none;color:#657786;font-weight:800;border-bottom:3px solid transparent}.detail-tabs a:first-child{color:#337ab7;border-color:#337ab7}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;padding-top:24px}.detail-content{min-width:0}.detail-overview,.detail-card,.detail-contact-box{background:#fff;border:1px solid #e5ebf0;border-radius:18px;padding:24px;box-shadow:0 5px 20px rgba(25,55,80,.06);margin-bottom:20px}.detail-overview{display:grid;grid-template-columns:1fr auto;gap:18px}.detail-overview h1{font-size:clamp(25px,3vw,38px);line-height:1.12;margin:5px 0 9px}.detail-eyebrow{margin:0;color:#337ab7;text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:12px}.detail-location{color:#687b8b;margin:0}.detail-price{font-size:30px;font-weight:950;color:#17324d;white-space:nowrap}.detail-facts{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid #edf1f4;padding-top:18px}.detail-facts span{background:#f5f8fb;border-radius:12px;padding:10px 14px;color:#607486}.detail-facts strong{color:#17324d}.detail-card h2{margin:0 0 18px;font-size:22px}.detail-description{font-size:16px;line-height:1.7;color:#526879}.detail-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.detail-feature-grid>div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #edf1f4}.detail-feature-grid span{color:#718392}.detail-feature-grid strong{text-align:right;color:#263e51}.detail-map{height:320px;border-radius:14px;overflow:hidden}.detail-map iframe{width:100%;height:100%;border:0}.detail-agency{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}.detail-agency>img{width:80px;height:80px;object-fit:contain;border:1px solid #e6ebef;border-radius:14px}.detail-agency-actions{display:flex;gap:10px;flex-wrap:wrap}.detail-sidebar{position:relative}.detail-contact-box{position:sticky;top:74px}.detail-contact-box h2{font-size:20px}.button-block{display:flex;width:100%;justify-content:center;margin-top:10px}.button-soft{background:#eaf3fa;color:#337ab7;border-color:#d3e6f5}.detail-bottom-actions{display:none}.empty-state{padding:80px 20px;text-align:center}.empty-state .button{display:inline-flex;margin-top:15px}
@media(max-width:850px){.detail-hero{height:330px}.detail-layout{display:block;padding:16px 14px 100px}.detail-sidebar{display:none}.detail-overview,.detail-card{border-radius:15px;padding:18px}.detail-overview{display:block}.detail-price{font-size:26px;margin-top:14px}.detail-facts{margin-top:17px}.detail-feature-grid{grid-template-columns:1fr}.detail-agency{grid-template-columns:auto 1fr}.detail-agency-actions{grid-column:1/-1}.detail-tabs .shell{padding:0 18px}.detail-bottom-actions{position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;border-top:1px solid #dde6ed;display:flex;justify-content:space-around;padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));box-shadow:0 -6px 22px rgba(20,48,71,.12)}.detail-bottom-actions a,.detail-bottom-actions button{flex:1;border:0;background:none;text-decoration:none;color:#337ab7;font-size:20px;display:flex;flex-direction:column;align-items:center;gap:2px}.detail-bottom-actions span{font-size:11px;font-weight:800}.bottom-nav{display:none!important}.site-footer{padding-bottom:80px}}


/* v14: privacy indirizzo */
.detail-map-approximate { position: relative; overflow: hidden; }
.detail-map-area { position:absolute; left:50%; top:50%; width:116px; height:116px; transform:translate(-50%,-50%); border:3px solid rgba(51,122,183,.9); background:rgba(51,122,183,.18); border-radius:50%; pointer-events:none; box-shadow:0 0 0 9999px rgba(255,255,255,.06); }
.detail-map-note { margin-top:10px; color:#687382; font-size:.92rem; }

/* Search page: usa un solo header, quello identico all'app. */
.search-page-body{padding-top:0}
.search-page-body .search-app-page{margin-top:0}
.search-page-body .app-form-header{position:sticky;top:0;z-index:45;background:#fff}


/* v19 — Ricerche recenti e annunci recenti, porting delle card Flutter */
.recent-section,.recently-viewed{margin-top:28px}.section-title-row{display:flex;align-items:center;justify-content:space-between;padding:0 20px;margin-bottom:10px}.section-title-row h2{margin:0;color:#132d43;font-size:22px;font-weight:950}.section-title-row button{border:0;background:none;color:#e56a20;font-weight:850;font-size:14px;cursor:pointer}.recent-scroll,.property-scroll{display:flex;gap:14px;overflow-x:auto;padding:2px 20px 18px;scroll-snap-type:x proximity;scrollbar-width:none}.recent-scroll::-webkit-scrollbar,.property-scroll::-webkit-scrollbar{display:none}.home-recent-search-card{position:relative;flex:0 0 286px;background:#fff;border:1px solid #e8edf2;border-radius:20px;overflow:hidden;box-shadow:0 7px 16px rgba(11,38,59,.08);scroll-snap-align:start}.home-recent-search-link{display:block;color:inherit;text-decoration:none}.recent-map-preview{height:132px;position:relative;overflow:hidden;background:linear-gradient(135deg,#eaf1f5,#f7f1e8)}.recent-map-preview:before,.recent-map-preview:after{content:"";position:absolute;background:#d6dde2;border-radius:999px;transform:rotate(-18deg)}.recent-map-preview:before{width:140%;height:9px;left:-20%;top:45%}.recent-map-preview:after{width:9px;height:160%;left:62%;top:-25%;transform:rotate(28deg)}.recent-map-road{position:absolute;background:#fff;border:1px solid #dce5ea;border-radius:999px}.road-a{width:130%;height:7px;left:-15%;top:25%;transform:rotate(13deg)}.road-b{width:90%;height:6px;left:18%;top:72%;transform:rotate(-22deg)}.road-c{width:6px;height:120%;left:29%;top:-10%;transform:rotate(12deg)}.recent-map-area{position:absolute;width:104px;height:68px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-8deg);background:rgba(51,122,183,.16);border:2px solid #438fd0;clip-path:polygon(12% 8%,90% 0,100% 65%,62% 100%,0 82%)}.recent-map-pin{position:absolute;left:50%;top:47%;width:13px;height:13px;background:#e56a20;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 5px rgba(0,0,0,.25)}.recent-map-preview small{position:absolute;left:10px;bottom:8px;background:rgba(255,255,255,.9);padding:4px 7px;border-radius:8px;color:#3b5266;font-weight:800;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-recent-search-body{padding:12px 16px 14px}.home-recent-search-body>strong{display:block;color:#132d43;font-size:17px;line-height:1.16;font-weight:950;min-height:39px}.home-recent-search-body>small{display:block;color:#7a8794;font-size:12px;margin-top:5px}.home-filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.home-filter-chips span{background:#eef5fa;border-radius:999px;padding:5px 8px;color:#38566e;font-size:11px;font-weight:800}.home-recent-remove{position:absolute;right:8px;top:8px;z-index:2;width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#425466;font-size:22px;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.13);cursor:pointer}.home-viewed-property-card{flex:0 0 220px;height:258px;background:#fff;border-radius:20px;overflow:hidden;color:inherit;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.1);scroll-snap-align:start}.home-viewed-property-image{height:132px;background:#e9eef4 center/cover no-repeat;position:relative}.home-photo-count{position:absolute;right:8px;bottom:8px;background:rgba(255,255,255,.94);color:#334b60;border-radius:9px;padding:4px 7px;font-size:11px;font-weight:900}.home-viewed-property-body{padding:10px 13px 12px;display:flex;min-height:126px;flex-direction:column}.home-viewed-price{color:#e56a20;font-size:18px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-viewed-property-body>b{color:#132d43;font-size:14px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-viewed-property-body>small{color:#748392;font-size:12px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-viewed-property-body>p{color:#6b7480;font-size:11px;margin:auto 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(min-width:900px){.recent-section,.recently-viewed{max-width:1180px;margin-left:auto;margin-right:auto}.recent-scroll,.property-scroll{padding-left:0;padding-right:0}.section-title-row{padding-left:0;padding-right:0}.home-recent-search-card{flex-basis:300px}}


/* v20 — anteprime reali dei confini comunali, come nell'app Flutter. */
.recent-map-preview.recent-map-live{height:132px;position:relative;overflow:hidden;background:#e9eef2;isolation:isolate}
.recent-map-preview.recent-map-live:before,.recent-map-preview.recent-map-live:after{display:none!important}
.recent-map-live .recent-map-loading{position:absolute;inset:0;display:grid;place-items:center;color:#687887;font-size:12px;font-weight:800;background:#eef3f6;z-index:2}
.recent-map-live>small{z-index:500;pointer-events:none}
.recent-map-live .leaflet-container{width:100%;height:100%;font-family:inherit;background:#e8edf0}
.recent-map-live .leaflet-control-attribution{font-size:7px;line-height:11px;padding:0 3px;background:rgba(255,255,255,.78)}
.recent-map-live .leaflet-control-attribution a{color:#536b7d}
.recent-map-live.recent-map-unavailable{background:linear-gradient(135deg,#eef3f6,#e2e9ee)}

/* v21 - mappe recenti uguali all'app e confini sempre sopra le tile */
.recent-map-live .leaflet-map-pane{z-index:1}
.recent-map-live .leaflet-tile-pane{filter:saturate(.7) brightness(1.08)}
.recent-map-live .leaflet-overlay-pane{z-index:450!important}
.recent-map-live .leaflet-marker-pane{z-index:500!important}
.recent-map-label-wrap{background:transparent!important;border:0!important}
.recent-map-label{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;background:rgba(255,255,255,.94);border:1px solid rgba(51,122,183,.42);border-radius:18px;padding:5px 10px;color:#24465f;font-size:12px;font-weight:900;box-shadow:0 2px 7px rgba(0,0,0,.12)}
.recent-map-live .leaflet-control-attribution{display:none}

/* v22 — anteprime mappa replicate da FlutterMap */
.recent-map-preview.recent-map-live{height:132px;position:relative;overflow:hidden;background:#e9eef2;isolation:isolate}
.recent-map-live .leaflet-container{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:#e8edf0;font-family:inherit;z-index:1}
.recent-map-live .leaflet-map-pane,.recent-map-live .leaflet-tile-pane,.recent-map-live .leaflet-overlay-pane,.recent-map-live .leaflet-marker-pane{position:absolute;left:0;top:0}
.recent-map-live .leaflet-tile-pane{z-index:200!important;filter:none!important}
.recent-map-live .leaflet-overlay-pane{z-index:400!important}
.recent-map-live .leaflet-marker-pane{z-index:600!important}
.recent-map-live .leaflet-tile{visibility:inherit!important;opacity:1!important;max-width:none!important;max-height:none!important}
.recent-map-live>small{display:none!important}
.recent-map-loading{position:absolute;inset:0;display:grid;place-items:center;background:#eef3f6;color:#687887;font-size:12px;font-weight:800;z-index:10}
.recent-map-label-wrap{background:transparent!important;border:0!important}
.recent-map-label{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;background:rgba(255,255,255,.92);border:1px solid rgba(51,122,183,.45);border-radius:16px;padding:5px 10px;color:#132d43;font-size:11px;font-weight:800;box-shadow:0 2px 5px rgba(0,0,0,.10)}
.recent-map-credit{position:absolute;left:5px;bottom:3px;z-index:700;color:#526170;font-size:7px;font-weight:600;background:rgba(255,255,255,.88);padding:1px 3px;pointer-events:none}
.recent-map-unavailable{background:linear-gradient(135deg,#eaf4fb,#d9eaf5)}

/* v23: mini-mappe identiche alla logica Flutter, senza etichetta centrale */
.recent-map-label-wrap,.recent-map-label{display:none!important}
.recent-map-live .leaflet-overlay-pane svg{display:block!important;overflow:visible!important;pointer-events:none}
.recent-map-live .leaflet-overlay-pane path{display:block!important;stroke:#337ab7!important;stroke-width:1.5!important;stroke-opacity:1!important;fill:#337ab7!important;fill-opacity:.22!important;vector-effect:non-scaling-stroke}

/* v25: confine comunale sempre visibile e nessuna attribuzione nella miniatura */
.recent-map-live .leaflet-control-attribution,.recent-map-credit{display:none!important}
.recent-map-live .leaflet-pane.municipalityBoundaryPane,.recent-map-live .leaflet-municipalityBoundary-pane{z-index:650!important}


/* v28: anteprime più ravvicinate e quattro schede intere su desktop */
.recent-map-live .leaflet-overlay-pane path{stroke-width:1.2!important}
@media(min-width:900px){
  .home-recent-search-card{flex-basis:282px}
}


/* v29: zoom leggermente ridotto e frecce desktop per i caroselli */
.recent-section,.recently-viewed{position:relative}
.desktop-carousel-arrow{position:absolute;top:50%;z-index:40;width:42px;height:42px;border:1px solid #dbe5ed;border-radius:50%;background:rgba(255,255,255,.97);color:#1f5f92;box-shadow:0 5px 16px rgba(11,38,59,.18);font-size:34px;line-height:34px;display:none;align-items:center;justify-content:center;cursor:pointer;transform:translateY(-8%)}
.desktop-carousel-arrow--prev{left:-18px}
.desktop-carousel-arrow--next{right:-18px}
.desktop-carousel-arrow:hover{background:#f3f8fc}
.desktop-carousel-arrow[hidden]{display:none!important}
@media(min-width:900px){
  .desktop-carousel-arrow:not([hidden]){display:flex}
  .recent-scroll,.property-scroll{scroll-behavior:smooth}
}
@media(max-width:899px){.desktop-carousel-arrow{display:none!important}}


/* v31 - schede immobili home con titolo completo e caratteristiche iconiche */
.home-viewed-property-card{flex:0 0 270px;height:322px;border:1px solid #dfe5eb;border-radius:18px;box-shadow:0 3px 10px rgba(13,38,59,.08)}
.home-viewed-property-image{height:178px;background-size:cover;background-position:center}
.home-viewed-property-body{min-height:144px;padding:13px 15px 14px}
.home-viewed-price{font-size:20px;line-height:1.1;color:#303846}
.home-viewed-title{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal!important;overflow:hidden;text-overflow:ellipsis;color:#303846!important;font-size:14px!important;line-height:1.45!important;min-height:41px;margin-top:8px!important}
.home-viewed-facts{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:10px;color:#46505d;font-size:11px;white-space:nowrap}
.home-viewed-facts span{display:inline-flex;align-items:center;gap:3px;min-width:0}
.home-viewed-facts svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.home-viewed-facts b{font-weight:700;color:inherit}
@media(max-width:899px){.home-viewed-property-card{flex-basis:252px;height:306px}.home-viewed-property-image{height:164px}.home-viewed-property-body{min-height:142px}.home-viewed-facts{gap:8px;font-size:10.5px}}

/* v32 - schede annunci home allineate alle schede ricerche recenti */
.home-viewed-property-card{
  flex:0 0 282px;
  width:282px;
  min-width:282px;
  height:320px;
  border:1px solid #e8edf2;
  border-radius:20px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 7px 16px rgba(11,38,59,.08);
  scroll-snap-align:start;
}
.home-viewed-property-image{
  height:150px;
  background-size:cover;
  background-position:center;
}
.home-viewed-property-body{
  min-height:170px;
  padding:13px 16px 14px;
  display:flex;
  flex-direction:column;
}
.home-viewed-price{
  color:#e56a20;
  font-size:18px;
  line-height:1.15;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.home-viewed-title{
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  white-space:normal!important;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#132d43!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:850!important;
  min-height:38px;
  margin-top:7px!important;
}
.home-viewed-facts{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-top:auto;
  padding-top:10px;
  color:#53606d;
  font-size:12px;
  line-height:1.2;
  white-space:normal;
}
.home-viewed-facts span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-width:0;
}
.home-viewed-facts svg{
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  max-width:14px!important;
  min-height:14px!important;
  max-height:14px!important;
  display:block;
  flex:0 0 14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  overflow:visible;
}
.home-viewed-facts b{font-weight:800}
.home-photo-count{font-size:10px;padding:3px 6px}
@media(max-width:899px){
  .home-viewed-property-card{flex-basis:260px;width:260px;min-width:260px;height:308px}
  .home-viewed-property-image{height:145px}
  .home-viewed-property-body{min-height:163px}
}


/* Results v33 */
.results-page-body{background:#fff}.server-results-page{padding:0 0 40px}.results-toolbar{padding-top:16px;padding-bottom:14px}.results-toolbar-main{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.results-toolbar h1{font-size:24px;margin:8px 0 3px}.results-toolbar p{margin:0;color:#667085}.results-toolbar-actions{display:flex;align-items:center;gap:12px}.results-sort-form{margin:0}.server-results-split{display:grid;grid-template-columns:minmax(650px,800px) minmax(480px,1fr);align-items:start;border-top:1px solid #e5e7eb}.server-property-list{padding:16px 14px 30px;display:grid;gap:18px;min-width:0}.results-map-column{display:block;min-width:0;border-left:1px solid #e5e7eb}.results-map-sticky{height:calc(100vh - 74px);position:sticky;top:74px}.results-map{height:100%;min-height:560px;background:#eef2f4}.results-map-expand{position:absolute;z-index:500;right:18px;top:16px;border:0;border-radius:10px;background:#fff;color:#1676bb;padding:11px 16px;font-weight:800;box-shadow:0 3px 12px #0002}.result-property-card{display:grid;grid-template-columns:minmax(270px,40%) 1fr;min-height:320px;background:#fff;border:1px solid #dfe5ea;border-radius:18px;overflow:hidden;box-shadow:0 2px 8px #102a4312;transition:opacity .25s,transform .25s,box-shadow .25s}.result-property-card.is-pending{display:none}.result-property-card.is-map-highlight{box-shadow:0 0 0 3px #337ab755,0 8px 24px #102a4320}.result-property-media{display:flex;flex-direction:column;min-width:0;background:#eef2f5}.result-property-main-photo{position:relative;display:block;flex:1;min-height:235px;background:#e8edf1 center/cover no-repeat}.result-property-badge{position:absolute;left:12px;top:12px;border-radius:7px;background:#0d83ca;color:#fff;font-size:12px;font-weight:900;padding:5px 8px}.result-photo-counter{position:absolute;right:10px;bottom:10px;border-radius:7px;background:#17283dcc;color:#fff;font-size:12px;font-weight:900;padding:4px 7px}.result-property-thumbs{height:76px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:#fff}.result-property-thumbs span{background:#e8edf1 center/cover no-repeat}.result-property-thumb-more{display:grid;place-items:center;color:#fff;font-weight:900;background:#23415dcc!important}.result-property-content{padding:18px 20px;display:flex;flex-direction:column;min-width:0}.result-property-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.result-property-price{font-size:26px;line-height:1.1;font-weight:950;color:#17283d;white-space:nowrap}.result-agency-logo{max-width:132px;max-height:48px;object-fit:contain}.result-agency-name{max-width:145px;font-size:12px;color:#536273;text-align:right;font-weight:800}.result-property-title{font-size:18px;line-height:1.35;margin:14px 0 13px}.result-property-title a{color:#1d2939}.result-property-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;color:#303c4a;font-size:13px}.result-property-facts span{display:flex;align-items:center;gap:6px;min-width:0}.result-property-facts svg,.result-property-actions svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}.result-property-facts b{font-weight:850}.result-property-description{color:#5c6877;font-size:13.5px;line-height:1.5;margin:16px 0 14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.result-property-actions{margin-top:auto;display:flex;align-items:center;gap:9px}.result-action-button,.result-icon-button{height:40px;border:1px solid #cfd8e2;border-radius:9px;background:#fff;color:#1676bb;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;font-size:12.5px;font-weight:850}.result-icon-button{width:42px;padding:0;margin-left:auto}.result-favorite-button svg{stroke:#e11d2e}.result-favorite-button.is-saved svg{fill:#e11d2e}.results-load-sentinel{height:2px}.results-loading-more,.results-end-message{text-align:center;color:#667085;padding:18px}.result-price-marker{background:transparent!important;border:0!important}.result-price-marker span{display:block;background:#0780c8;color:#fff;border:2px solid #fff;border-radius:999px;padding:4px 7px;white-space:nowrap;font-size:11px;font-weight:900;box-shadow:0 2px 7px #0003}.results-map-error{height:100%;display:grid;place-items:center;color:#667085}.results-map-expanded .server-property-list{display:none}.results-map-expanded .server-results-split{grid-template-columns:1fr}.results-map-expanded .results-map-sticky{height:calc(100vh - 74px)}
@media(max-width:1299px){.server-results-split{display:block}.results-map-column{display:none}.server-property-list{max-width:1060px;margin:0 auto;padding-left:20px;padding-right:20px}.result-property-card{grid-template-columns:minmax(290px,38%) 1fr}.results-toolbar{padding-left:20px;padding-right:20px}}
@media(max-width:760px){.results-toolbar-main{align-items:flex-start;flex-direction:column}.results-toolbar-actions{width:100%;justify-content:space-between}.result-property-card{grid-template-columns:1fr}.result-property-main-photo{min-height:245px}.result-property-thumbs{display:none}.result-property-content{padding:16px}.result-property-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.result-property-description{display:none}.result-property-actions{margin-top:16px}.server-property-list{padding:12px}.result-agency-logo{max-width:108px}.result-property-price{font-size:23px}}


/* ===== Results map, gallery and mobile layout v34 ===== */
.results-page-body,
.results-page-body .server-results-page {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

@media (min-width: 1300px) {
  .server-results-split {
    align-items: stretch;
  }

  .results-map-column {
    position: relative;
    min-height: 100%;
  }

  .results-map-sticky {
    position: sticky;
    top: 0;
    height: 100vh;
    min-height: 620px;
    max-height: 100vh;
    overflow: hidden;
  }

  .results-map {
    height: 100%;
    min-height: 620px;
  }
}

.result-property-main-photo {
  overflow: hidden;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}

.result-property-photo-link {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.result-property-badge,
.result-photo-counter {
  z-index: 4;
  pointer-events: none;
}

.result-photo-counter b {
  font-weight: inherit;
}

.result-photo-arrow {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  padding: 9px;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #17283d;
  background: rgba(255,255,255,.94);
  box-shadow: 0 3px 12px rgba(0,0,0,.22);
  cursor: pointer;
  opacity: 0;
  transform: scale(.94);
  transition: opacity .18s ease, transform .18s ease;
}

.result-photo-arrow svg {
  width: 22px;
  height: 22px;
  stroke-width: 2.2;
}

.result-photo-arrow--prev { left: 10px; }
.result-photo-arrow--next { right: 10px; }

.result-property-main-photo:hover .result-photo-arrow,
.result-photo-arrow:focus-visible {
  opacity: 1;
  transform: scale(1);
}

.result-property-thumbs span {
  cursor: pointer;
  position: relative;
}

.result-property-thumbs span.is-active::after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 0 3px #337ab7;
  pointer-events: none;
}

@media (max-width: 1299px) {
  .server-results-split,
  .server-property-list,
  .result-property-card,
  .results-toolbar,
  .results-toolbar-main,
  .results-toolbar-actions {
    max-width: 100%;
    min-width: 0;
  }
}

@media (max-width: 760px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .server-results-page {
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  .results-toolbar {
    width: 100%;
    padding-left: 14px;
    padding-right: 14px;
  }

  .results-toolbar-main,
  .results-toolbar-main > div:first-child {
    width: 100%;
    min-width: 0;
  }

  .results-toolbar h1 {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .server-property-list {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 12px;
    overflow: hidden;
  }

  .result-property-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .result-property-media,
  .result-property-main-photo,
  .result-property-content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .result-photo-arrow {
    width: 38px;
    height: 38px;
    margin-top: -19px;
    opacity: .92;
    transform: none;
    background: rgba(255,255,255,.9);
  }

  .result-photo-arrow--prev { left: 8px; }
  .result-photo-arrow--next { right: 8px; }

  .result-property-main-photo {
    min-height: 250px;
  }
}


/* ===== Mobile results header + unified bottom navigation v36 ===== */
.results-mobile-appbar,
.results-mobile-count{display:none}

@media(max-width:760px){
  .results-page-body{padding-bottom:76px!important;background:#f7f9fb}
  .results-page-body .site-header{display:none!important}

  .results-mobile-appbar{
    position:sticky;
    top:0;
    z-index:95;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 40px 40px 40px;
    align-items:center;
    gap:4px;
    min-height:64px;
    padding:7px 10px;
    background:#fff;
    border-bottom:1px solid #e8edf2;
    box-shadow:0 2px 9px rgba(13,39,59,.05)
  }
  .results-mobile-brand{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:12px;
    overflow:hidden
  }
  .results-mobile-brand img{
    width:38px;
    height:38px;
    object-fit:cover;
    border-radius:10px
  }
  .results-mobile-summary{min-width:0;padding:0 4px}
  .results-mobile-summary strong,
  .results-mobile-summary small{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
  }
  .results-mobile-summary strong{
    font-size:17px;
    line-height:1.15;
    font-weight:900;
    color:#10253a
  }
  .results-mobile-summary small{
    margin-top:3px;
    font-size:12px;
    line-height:1.15;
    color:#73808d;
    font-weight:650
  }
  .results-mobile-action{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:12px;
    color:#337ab7
  }
  .results-mobile-action svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round
  }
  .results-mobile-action--ai{color:#9850f5}

  .results-toolbar{
    padding:0 14px!important;
    height:54px;
    min-height:54px;
    display:flex;
    align-items:center;
    background:#fff;
    border-bottom:1px solid #e8edf2
  }
  .results-toolbar .seo-breadcrumb,
  .results-title-block,
  .results-edit-button{display:none!important}
  .results-toolbar-main{
    width:100%;
    display:block!important
  }
  .results-toolbar-actions{
    width:100%;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px
  }
  .results-mobile-count{
    display:block;
    color:#394657;
    font-size:14px
  }
  .results-mobile-count strong{font-weight:900}
  .results-sort-form{margin-left:auto}
  .results-sort-form label{
    display:flex;
    align-items:center;
    gap:5px;
    color:#337ab7;
    font-size:14px;
    font-weight:850
  }
  .results-sort-form label::before{
    content:"↕";
    display:inline-block;
    font-size:19px;
    line-height:1;
    color:#1680ca
  }
  .results-sort-label{display:inline}
  .results-sort-form select{
    width:auto;
    max-width:140px;
    padding:0 18px 0 0;
    border:0;
    outline:0;
    background:transparent;
    color:#337ab7;
    font-size:14px;
    font-weight:850
  }

  .server-property-list{padding-top:12px!important;padding-bottom:22px!important}

  .mobile-bottom-nav{
    height:72px!important;
    min-height:72px;
    padding:7px 14px calc(6px + env(safe-area-inset-bottom))!important;
    border-radius:24px 24px 0 0!important;
    align-items:flex-start;
    box-shadow:0 -6px 22px rgba(13,39,59,.13)!important
  }
  .mobile-bottom-nav a,
  .mobile-bottom-nav button{
    position:relative;
    flex:1;
    min-width:0;
    border:0;
    background:transparent;
    color:#12283d;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:2px;
    padding:1px 2px 0!important;
    font-size:11px
  }
  .mobile-bottom-nav a>span,
  .mobile-bottom-nav button>span{
    width:27px!important;
    height:27px!important;
    display:grid;
    place-items:center
  }
  .mobile-bottom-nav svg{
    width:25px!important;
    height:25px!important;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
  }
  .mobile-bottom-nav b{
    font-size:10.5px!important;
    line-height:1.1;
    font-weight:850
  }
  .mobile-bottom-nav .active{color:#e56a20!important}
  .mobile-bottom-nav i{
    display:block;
    width:20px;
    height:3px;
    margin-top:2px;
    border-radius:99px;
    background:transparent
  }
  .mobile-bottom-nav .active i{background:#e56a20}
  .site-footer{display:none!important}
}


/* ===== Risultati: badge TOP/SUPER/STANDARD, NUOVO e telefono v37 ===== */
.result-property-badge{
  min-width:64px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  border-radius:10px;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:0 3px 8px rgba(0,0,0,.09);
}
.result-property-badge--top{background:#e56a20;color:#fff}
.result-property-badge--super{background:#ffd700;color:#332600}
.result-property-badge--standard{background:#686868;color:#fff}
.result-property-new-badge{
  position:absolute;
  z-index:4;
  right:12px;
  top:12px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  border-radius:10px;
  background:#337ab7;
  color:#fff;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:0 3px 8px rgba(0,0,0,.09);
  pointer-events:none;
}
.result-action-button--phone{flex:0 0 auto}
.result-action-button--phone svg{width:19px;height:19px}
@media(max-width:760px){
  .result-property-badge,.result-property-new-badge{top:12px;height:32px;border-radius:9px;padding:0 10px}
  .result-property-badge{left:12px}
  .result-property-new-badge{right:12px}
  .result-property-actions{gap:8px}
  .result-action-button{min-width:0;padding:0 11px}
  .result-action-button--phone{width:42px;padding:0}
  .result-action-phone-label{display:none}
}

/* ===== Risultati: telefono in dialog e galleria solo MEGA/SUPER v38 ===== */
.result-action-button--phone{
  cursor:pointer;
  font-family:inherit;
}
.result-phone-dialog[hidden]{display:none!important}
.result-phone-dialog{
  position:fixed;
  inset:0;
  z-index:5000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.result-phone-dialog__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.52);
  backdrop-filter:blur(1px);
}
.result-phone-dialog__panel{
  position:relative;
  z-index:1;
  width:min(430px,calc(100vw - 32px));
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  box-shadow:0 22px 70px rgba(15,23,42,.28);
}
.result-phone-dialog__header{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 58px 14px 22px;
  border-bottom:1px solid #e7ebef;
  color:#303846;
  font-size:17px;
  text-align:center;
}
.result-phone-dialog__close{
  position:absolute;
  right:14px;
  top:50%;
  width:38px;
  height:38px;
  transform:translateY(-50%);
  border:0;
  border-radius:50%;
  background:transparent;
  color:#364152;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}
.result-phone-dialog__close:hover{background:#f2f5f7}
.result-phone-dialog__body{
  min-height:104px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.result-phone-dialog__body a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:#0879c9;
  font-size:19px;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}
.result-phone-dialog__body svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.result-phone-dialog-open{overflow:hidden}

@media(max-width:760px){
  .result-phone-dialog{
    align-items:flex-end;
    padding:0;
  }
  .result-phone-dialog__panel{
    width:100%;
    max-width:none;
    border-radius:14px 14px 0 0;
    padding-bottom:env(safe-area-inset-bottom);
  }
  .result-phone-dialog__header{
    min-height:58px;
    font-size:16px;
  }
  .result-phone-dialog__body{
    min-height:92px;
    padding:20px;
  }
  .result-phone-dialog__body a{font-size:18px}
}


/* ===== Risultati v39: gallerie complete e mappa alleggerita ===== */
@media (min-width:1300px){
  .server-results-split{
    grid-template-columns:minmax(780px,62vw) minmax(380px,1fr);
  }
  .server-property-list{padding-left:18px;padding-right:18px}
}
.result-cluster-marker{background:transparent!important;border:0!important}
.result-cluster-marker span{
  width:38px;height:38px;padding:0!important;
  display:grid!important;place-items:center;
  border-radius:50%!important;
  font-size:12px!important;
  background:#087fc5!important;
  color:#fff!important;
  border:3px solid #fff!important;
  box-shadow:0 3px 10px rgba(0,0,0,.24)!important;
}
@media(max-width:760px){
  .result-property-thumbs{display:none!important}
  .result-photo-arrow{opacity:.94!important;transform:none!important}
}


/* ===== Risultati v40: foto più leggibili, miniature mobile e mappa veloce ===== */
.result-media-favorite{
  display:none;
  position:absolute;
  z-index:7;
  top:12px;
  right:12px;
  width:40px;
  height:40px;
  padding:0;
  border:0;
  border-radius:50%;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.96);
  color:#e11d2e;
  box-shadow:0 4px 14px rgba(15,23,42,.20);
  cursor:pointer;
}
.result-media-favorite svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.result-media-favorite.is-saved svg{fill:currentColor}

.results-map-dot-canvas{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
}

@media(min-width:1300px){
  .server-results-split{
    grid-template-columns:minmax(850px,68vw) minmax(420px,1fr);
  }
  .result-property-card{
    grid-template-columns:minmax(250px,34%) minmax(0,1fr);
  }
  .result-property-main-photo{
    background-size:contain;
    background-color:#edf1f4;
    background-repeat:no-repeat;
  }
  .result-property-thumbs{height:68px}
}

@media(max-width:760px){
  .result-property-thumbs{
    display:grid!important;
    height:58px;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .result-property-thumbs span{
    min-width:0;
    background-size:cover;
    background-position:center;
  }
  .result-media-favorite{display:flex}
  .result-property-new-badge{right:62px}
  .result-property-actions .result-favorite-button{display:none}
  .result-property-main-photo{
    background-size:cover;
    background-position:center;
  }
}


/* ===== Risultati v41: foto compatte, mappa più ampia e paginazione ===== */
@media(min-width:1300px){
  .server-results-split{
    grid-template-columns:minmax(800px,64vw) minmax(500px,1fr);
  }
  .result-property-card{
    grid-template-columns:minmax(220px,30%) minmax(0,1fr);
  }
  .result-property-main-photo{
    background-size:cover;
    background-position:center;
    background-color:#e8edf1;
  }
}

.results-pagination--numbered{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding:26px 16px 6px;
  margin-top:0;
}
.results-pagination--numbered a,
.results-pagination--numbered .is-current{
  min-width:42px;
  height:42px;
  padding:0 12px;
  border:1px solid #d5dde5;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#1676bb;
  font-weight:850;
}
.results-pagination--numbered .is-current{
  background:#337ab7;
  border-color:#337ab7;
  color:#fff;
}
.results-pagination--numbered .results-page-arrow{
  font-size:25px;
  line-height:1;
}
.results-page-dots{
  color:#667085;
  padding:0 3px;
}
@media(max-width:760px){
  .results-pagination--numbered{
    padding:20px 10px 8px;
    gap:6px;
  }
  .results-pagination--numbered a,
  .results-pagination--numbered .is-current{
    min-width:38px;
    height:38px;
    padding:0 9px;
  }
}


/* ===== Risultati v42: foto quadrata e collegamento card/marker ===== */
@media(min-width:1300px){
  .server-results-split{
    grid-template-columns:minmax(820px,65vw) minmax(480px,1fr);
  }
  .result-property-card{
    grid-template-columns:minmax(210px,28%) minmax(0,1fr);
    align-items:stretch;
  }
  .result-property-media{
    align-self:start;
    width:100%;
  }
  .result-property-main-photo{
    width:100%;
    aspect-ratio:1 / 1;
    min-height:0;
    flex:none;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
  }
  .result-property-thumbs{
    height:64px;
  }
}

/* Il marker della card sotto il mouse diventa immediatamente riconoscibile. */
.result-price-marker.is-card-hover{
  z-index:1000!important;
}
.result-price-marker.is-card-hover span{
  transform:scale(1.18);
  background:#e56a20;
  box-shadow:0 0 0 4px rgba(229,106,32,.22),0 5px 14px rgba(0,0,0,.28);
}
.result-price-marker span{
  transition:transform .14s ease,background-color .14s ease,box-shadow .14s ease;
}


/* ===== Risultati v43: foto a tutta altezza, frecce responsive e transizione swipe ===== */
@media (min-width: 761px) {
  .result-property-card {
    align-items: stretch;
  }

  .result-property-media {
    align-self: stretch;
    height: 100%;
    min-height: 100%;
  }

  .result-property-main-photo {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    aspect-ratio: auto;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }

  .result-property-thumbs {
    flex: 0 0 64px;
    height: 64px;
  }

  /* Da desktop le frecce compaiono solo passando sopra foto o scheda. */
  .result-photo-arrow {
    opacity: 0 !important;
    visibility: hidden;
    transform: scale(.94) !important;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  }

  .result-property-card:hover .result-photo-arrow:not([hidden]),
  .result-property-main-photo:hover .result-photo-arrow:not([hidden]),
  .result-photo-arrow:focus-visible {
    opacity: 1 !important;
    visibility: visible;
    transform: scale(1) !important;
  }
}

/* Tablet e smartphone: freccia destra sempre visibile sulla prima foto;
   dopo il primo swipe compare anche la sinistra. */
@media (max-width: 760px) {
  .result-photo-arrow:not([hidden]) {
    display: grid !important;
    opacity: .96 !important;
    visibility: visible !important;
    transform: scale(1) !important;
  }

  .result-photo-arrow[hidden] {
    display: none !important;
  }

  .result-property-main-photo {
    overflow: hidden;
  }
}

/* Le frecce nascoste agli estremi non devono lasciare spazio né ricevere click. */
.result-photo-arrow[hidden],
.result-photo-arrow:disabled {
  display: none !important;
  pointer-events: none !important;
}

/* Due livelli temporanei per rendere visibile lo scorrimento laterale. */
.result-photo-slide-layer {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  pointer-events: none;
  will-change: transform, opacity;
}

.result-photo-slide-layer--new {
  z-index: 3;
}

.result-property-main-photo.is-sliding-next .result-photo-slide-layer--old {
  animation: resultPhotoOldToLeft .34s cubic-bezier(.22,.61,.36,1) both;
}
.result-property-main-photo.is-sliding-next .result-photo-slide-layer--new {
  animation: resultPhotoNewFromRight .34s cubic-bezier(.22,.61,.36,1) both;
}
.result-property-main-photo.is-sliding-prev .result-photo-slide-layer--old {
  animation: resultPhotoOldToRight .34s cubic-bezier(.22,.61,.36,1) both;
}
.result-property-main-photo.is-sliding-prev .result-photo-slide-layer--new {
  animation: resultPhotoNewFromLeft .34s cubic-bezier(.22,.61,.36,1) both;
}

@keyframes resultPhotoOldToLeft {
  from { transform: translateX(0); opacity: 1; }
  to   { transform: translateX(-34%); opacity: .35; }
}
@keyframes resultPhotoNewFromRight {
  from { transform: translateX(100%); opacity: .9; }
  to   { transform: translateX(0); opacity: 1; }
}
@keyframes resultPhotoOldToRight {
  from { transform: translateX(0); opacity: 1; }
  to   { transform: translateX(34%); opacity: .35; }
}
@keyframes resultPhotoNewFromLeft {
  from { transform: translateX(-100%); opacity: .9; }
  to   { transform: translateX(0); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .result-photo-slide-layer {
    animation-duration: .01ms !important;
  }
}

/* Correzione breakpoint: tablet fino a 1299px mantiene sempre i controlli foto. */
@media (min-width: 761px) and (max-width: 1299px) {
  .result-photo-arrow:not([hidden]) {
    display: grid !important;
    opacity: .96 !important;
    visibility: visible !important;
    transform: scale(1) !important;
  }
}
@media (min-width: 1300px) {
  .result-photo-arrow {
    opacity: 0 !important;
    visibility: hidden;
    transform: scale(.94) !important;
  }
  .result-property-card:hover .result-photo-arrow:not([hidden]),
  .result-property-main-photo:hover .result-photo-arrow:not([hidden]),
  .result-photo-arrow:focus-visible {
    opacity: 1 !important;
    visibility: visible;
    transform: scale(1) !important;
  }
}

/* I controlli e le etichette restano sopra i livelli animati. */
.result-property-photo-link { position:absolute; inset:0; z-index:1; }
.result-property-badge,
.result-property-new-badge,
.result-photo-counter { z-index:6; }
.result-photo-arrow { z-index:8; }


/* ===== Risultati v44: media desktop a misura fissa ===== */
/* Da 761 px in su il riquadro fotografico mantiene sempre la stessa
   larghezza, come nei portali immobiliari desktop. Sotto 761 px resta
   invariato il layout mobile già approvato. */
@media (min-width: 761px) {
  .result-property-card {
    grid-template-columns: 320px minmax(0, 1fr) !important;
    min-height: 304px;
  }

  .result-property-media {
    width: 320px !important;
    min-width: 320px;
    height: 100%;
    align-self: stretch;
  }

  .result-property-main-photo {
    width: 100%;
    min-height: 0;
    flex: 1 1 auto;
    aspect-ratio: auto !important;
    background-size: cover;
    background-position: center;
  }

  .result-property-thumbs {
    flex: 0 0 64px;
    height: 64px;
  }
}

/* Nei tablet appena sopra il breakpoint manteniamo la misura fissa ma
   leggermente più compatta, senza alterare il comportamento mobile. */
@media (min-width: 761px) and (max-width: 920px) {
  .result-property-card {
    grid-template-columns: 292px minmax(0, 1fr) !important;
  }
  .result-property-media {
    width: 292px !important;
    min-width: 292px;
  }
}

/* v45 */
.site-header--results{height:64px;border-bottom:1px solid #e4e9ef;position:sticky;top:0}
.site-header--results .header-inner{max-width:none;padding:0 18px;gap:18px}
.site-header--results .brand img{width:172px}
.results-header-location{height:42px;min-width:300px;max-width:560px;flex:1;border:1px solid #d7e0e8;border-radius:9px;background:#fff;display:flex;align-items:center;padding:0 10px 0 14px}
.results-header-location span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#126fb1;font-weight:700}
.results-header-location a{margin-left:auto;width:34px;height:34px;display:grid;place-items:center;color:#2f83bc}
.results-header-location svg,.results-header-icon svg,.results-filter-chip svg,.results-save-search svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.results-header-actions{display:flex;align-items:center;gap:10px}
.results-header-icon{width:42px;height:42px;border:1px solid #d7e0e8;border-radius:10px;background:#fff;color:#123047;display:grid;place-items:center}
.results-filterbar{position:sticky;top:64px;z-index:25;background:#fff;border-bottom:1px solid #dfe6ed}
.results-filterbar-inner{min-height:48px;display:flex;align-items:center;gap:8px;padding:6px 14px;overflow-x:auto}
.results-filter-chip,.results-save-search{height:36px;border:1px solid #c9d7e3;border-radius:8px;background:#f7fbfe;color:#126fb1;padding:0 13px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-weight:700;cursor:pointer}
.results-filter-chip--all{background:#eaf5fc}
.results-save-search{margin-left:auto;background:#e30620;border-color:#e30620;color:#fff;text-transform:uppercase}
.results-filter-panel{padding:14px 18px 16px;border-top:1px solid #edf1f4;background:#fff;box-shadow:0 10px 24px #102a4318}
.results-filter-panel-grid{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px}
.results-filter-panel label{font-size:12px;font-weight:800;color:#344054}
.results-filter-panel input{width:100%;height:42px;margin-top:6px;border:1px solid #d4dde6;border-radius:9px;padding:0 11px}
.results-filter-panel-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:14px}
.results-filter-panel-actions button{border:0;border-radius:9px;background:#e56a20;color:#fff;padding:11px 18px;font-weight:900}
.result-cluster-marker{background:transparent!important;border:0!important}
.result-cluster-marker span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#0780c8;color:#fff;border:2px solid #fff;font-weight:900;box-shadow:0 2px 7px #0003}
.results-map-dot-canvas{pointer-events:none}
@media(max-width:1050px){.results-filter-panel-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.results-header-location{min-width:220px}}
@media(max-width:760px){.site-header--results,.results-filterbar{display:none!important}}


/* ===== Risultati: filtri desktop v46 ===== */
.results-filter-dropdown{position:relative;flex:0 0 auto}
.results-filter-chip svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.results-filter-menu[hidden],.results-filters-overlay[hidden]{display:none!important}
.results-filter-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:230px;max-height:min(520px,70vh);overflow:auto;padding:8px;background:#fff;border:1px solid #dbe4ec;border-radius:14px;box-shadow:0 16px 42px rgba(15,35,56,.18);z-index:80}
.results-filter-menu--wide{min-width:310px}
.results-filter-menu a,.results-filter-menu strong{display:block;padding:10px 12px;border-radius:9px;font-size:14px}
.results-filter-menu strong{padding-top:14px;color:#6b7280;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.results-filter-menu a:hover,.results-filter-menu a.is-active{background:#eaf4fb;color:#0877bf}
.results-filter-menu a.is-active{font-weight:800}

.results-filters-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:start center;padding:72px 18px 24px}
.results-filters-backdrop{position:absolute;inset:0;border:0;background:rgba(15,35,56,.54);cursor:default}
.results-filter-modal{position:relative;width:min(640px,calc(100vw - 36px));max-height:calc(100vh - 96px);display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.28);overflow:hidden}
.results-filter-modal>header{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #e5e7eb}
.results-filter-modal>header h2{margin:0;font-size:19px}
.results-filter-modal>header button{border:0;background:transparent;font-size:30px;line-height:1;color:#44515f;cursor:pointer}
.results-filter-modal-scroll{overflow:auto;padding:0 18px 14px}
.results-modal-contract-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin:0 -18px 8px;border-bottom:1px solid #e5e7eb}
.results-modal-contract-tabs label{position:relative;padding:14px;text-align:center;cursor:pointer;font-weight:700}
.results-modal-contract-tabs label.is-active{color:#087cc1;background:#eef8ff}
.results-modal-contract-tabs label.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#087cc1}
.results-modal-contract-tabs input{position:absolute;opacity:0;pointer-events:none}
.results-modal-section{border-bottom:1px solid #e5e7eb}
.results-modal-section summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 4px;cursor:pointer;font-weight:800}
.results-modal-section summary::-webkit-details-marker{display:none}
.results-modal-section summary:after{content:"⌄";margin-left:auto;color:#66717d}
.results-modal-section[open] summary:after{content:"⌃"}
.results-modal-section summary span{margin-left:auto;color:#6b7280;font-size:13px;font-weight:500}
.results-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 4px 16px}
.results-modal-grid--single{grid-template-columns:1fr}
.results-modal-grid label{font-size:12px;color:#6b7280}
.results-modal-grid input,.results-modal-grid select{width:100%;height:44px;margin-top:5px;padding:0 12px;border:1px solid #d8e0e7;border-radius:10px;background:#fff;color:#0f2338}
.results-modal-types{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;padding:0 4px 16px;max-height:300px;overflow:auto}
.results-modal-types h3{grid-column:1/-1;margin:10px 0 2px;font-size:13px;color:#6b7280}
.results-modal-types label{display:flex;gap:8px;align-items:flex-start;font-size:14px;cursor:pointer}
.results-modal-pills{display:flex;flex-wrap:wrap;gap:8px;padding:0 4px 16px}
.results-modal-pills input{position:absolute;opacity:0}
.results-modal-pills span{display:block;padding:8px 13px;border:1px solid #d5dee7;border-radius:9px;background:#fff;cursor:pointer}
.results-modal-pills input:checked+span{background:#e8f4fc;border-color:#337ab7;color:#176aa3;font-weight:800}
.results-filter-modal>footer{display:flex;justify-content:flex-end;gap:12px;padding:14px 18px;border-top:1px solid #e5e7eb;background:#fff}
.results-filter-reset,.results-filter-submit{height:42px;padding:0 20px;border-radius:10px;font-weight:800;cursor:pointer}
.results-filter-reset{border:0;background:transparent;color:#337ab7}
.results-filter-submit{border:0;background:#e60012;color:#fff}
body.results-filters-open{overflow:hidden}

@media(max-width:760px){
  .results-filter-dropdown{display:none}
  .results-filters-overlay{padding:0;place-items:stretch}
  .results-filter-modal{width:100%;max-height:100vh;height:100vh;border-radius:0}
  .results-filter-modal-scroll{padding-bottom:90px}
  .results-filter-modal>footer{position:absolute;left:0;right:0;bottom:0;padding-bottom:calc(14px + env(safe-area-inset-bottom))}
  .results-modal-types{grid-template-columns:1fr}
}

/* v47 - Selettore categorie/tipologie come app e portali principali */
.results-types-picker{padding:0;min-width:320px;overflow:hidden}
.results-types-picker form{display:flex;flex-direction:column;max-height:min(620px,78vh)}
.results-type-category{border-bottom:1px solid #e4e9ee;background:#fff}
.results-type-category-toggle{width:100%;min-height:48px;border:0;background:#fff;display:flex;align-items:center;gap:10px;padding:0 14px;color:#303b47;text-align:left;cursor:pointer}
.results-type-category-toggle b{font-size:15px;flex:1}
.results-type-radio{width:19px;height:19px;border:2px solid #0b83c9;border-radius:50%;position:relative;flex:0 0 auto}
.results-type-category.is-open .results-type-radio:after{content:"";position:absolute;inset:3px;background:#0b83c9;border-radius:50%}
.results-type-chevron{font-size:18px;color:#087cc1;transform:rotate(180deg);transition:transform .18s ease}
.results-type-category.is-open .results-type-chevron{transform:rotate(0)}
.results-type-category-options{display:none;padding:2px 14px 12px 43px;max-height:330px;overflow:auto}
.results-type-category.is-open .results-type-category-options{display:block}
.results-type-option{display:flex!important;align-items:center;gap:9px;padding:8px 0!important;font-size:14px!important;cursor:pointer;border-radius:0!important}
.results-type-option:hover{background:transparent!important;color:#087cc1!important}
.results-type-option input{appearance:none;width:19px;height:19px;border:1px solid #ccd6df;border-radius:5px;background:#fff;display:grid;place-content:center;flex:0 0 auto}
.results-type-option input:checked{background:#087cc1;border-color:#087cc1}
.results-type-option input:checked:after{content:"✓";color:#fff;font-size:14px;font-weight:900;line-height:1}
.results-type-option--all{font-weight:700}
.results-types-apply{margin:10px 14px 14px;height:42px;border:0;border-radius:8px;background:#e60012;color:#fff;font-weight:900;cursor:pointer}
.results-modal-type-categories{padding:0 4px 14px}
.results-modal-type-categories .results-type-category{border:1px solid #e1e7ed;border-radius:10px;margin:8px 0;overflow:hidden}
.results-modal-type-categories .results-type-category-options{max-height:none}
.results-filter-menu[data-filter-dropdown="contract"] a{cursor:pointer}
@media(max-width:760px){
  .results-modal-type-categories .results-type-category-options{padding-left:18px}
  .results-filter-modal-scroll{padding-left:14px;padding-right:14px}
}

/* v48 - scala visiva più compatta, categorie distinte e selettori prezzo stile app */
html{font-size:15px}
body{font-size:14px}
@media(max-width:760px){html{font-size:14px}body{font-size:13.5px}}

/* Riduzione uniforme delle schermate home/ricerca e dei dialog */
.search-v5,.full-dialog-page{font-size:.9rem}
.app-search-exact{max-width:700px;padding-top:20px}
.app-search-exact>h1{font-size:25px;margin-bottom:20px}
.contract-tabs button{height:51px;font-size:15px}
.app-tap-field,.app-filter-row{min-height:80px;border-radius:15px;padding:14px 16px;margin-bottom:12px}
.app-filter-row{min-height:80px}
.app-tap-field strong,.app-filter-row strong{font-size:15px}
.app-filter-section>h2{font-size:19px;margin:27px 0 14px}
.app-inline-choice,.app-select-row,.energy-field{border-radius:15px;padding:13px}
.search-appbar{min-height:54px}
.search-logo{height:34px}
.zone-check-row{font-size:15px;padding:8px 2px}
.zone-check-box{width:34px;height:34px;border-radius:10px}
.full-dialog-page{max-width:620px}
.dialog-content-app{padding-top:14px}
@media(max-width:760px){
  .app-search-exact{padding:18px 16px 105px}
  .app-search-exact>h1{font-size:22px}
  .contract-tabs button{font-size:14px;height:48px}
  .app-tap-field,.app-filter-row{min-height:72px;padding:12px 14px}
  .field-icon{width:29px;height:29px}
  .app-tap-field strong,.app-filter-row strong{font-size:14px;margin-left:12px}
  .app-filter-section>h2{font-size:18px}
}

/* Categoria = radio circolare; tipologia = checkbox quadrata */
.results-type-category-radio{appearance:none;width:19px;height:19px;border:2px solid #cbd5df;border-radius:50%;background:#fff;display:grid;place-content:center;flex:0 0 auto;margin:0}
.results-type-category-radio:checked{border-color:#087cc1}
.results-type-category-radio:checked:after{content:"";width:9px;height:9px;border-radius:50%;background:#087cc1}
.results-type-category.is-open>.results-type-category-toggle .results-type-chevron{transform:rotate(180deg)}
.results-type-category:not(.is-open)>.results-type-category-toggle .results-type-chevron{transform:rotate(0deg)}
.results-modal-type-categories .results-type-category{border:0;border-bottom:1px solid #e4e9ee;border-radius:0;margin:0}
.results-modal-type-categories .results-type-category-toggle{padding-left:2px}
.results-modal-type-categories .results-type-category-options{padding-left:31px}

/* Prezzo: due campi liberi e lista suggerimenti */
.results-price-selector{padding:0 4px 16px}
.results-price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:sticky;top:0;background:#fff;padding:2px 0 10px;z-index:2}
.results-price-inputs label{height:46px;border:1px solid #d5dde5;border-radius:10px;display:flex;align-items:center;padding:0 13px;gap:7px;background:#fff;color:#66717d}
.results-price-inputs label span{font-weight:700}
.results-price-inputs input{min-width:0;width:100%;border:0;outline:0;font:inherit;color:#17283d;background:transparent}
.results-price-suggestions{max-height:340px;overflow:auto;border-top:1px solid #e7ebef;padding-top:7px}
.results-price-suggestions button{display:block;width:100%;height:44px;border:0;background:#fff;text-align:left;padding:0 10px;border-radius:8px;color:#303b47;font-size:14px;cursor:pointer}
.results-price-suggestions button:hover,.results-price-suggestions button:focus{background:#e8f4fc;color:#087cc1}

/* Selettore prezzo del form principale */
.range-dialog-content{padding:14px 16px 82px!important;display:block!important}
.range-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:sticky;top:0;background:#fff;z-index:2;padding-bottom:10px}
.range-dialog-content .range-input-grid label>span{font-size:12px;margin:0 0 5px 2px}
.range-dialog-content .range-input-grid label>div{height:48px;border-radius:10px;padding:0 11px}
.range-dialog-content .range-input-grid input{font-size:15px}
.range-suggestion-list{max-height:calc(100vh - 245px);overflow:auto;border-top:1px solid #e4e9ee;padding-top:7px}
.range-suggestion-list button{display:block;width:100%;height:46px;border:0;border-radius:8px;background:#fff;text-align:left;padding:0 10px;font-size:15px;color:#303b47}
.range-suggestion-list button:hover,.range-suggestion-list button:focus{background:#e8f4fc;color:#087cc1}

/* Tipologie del form principale: categoria comprimibile */
.type-group-app{border-bottom:1px solid #e5e9ed}
.type-group-head{width:100%;min-height:48px;border:0;background:#fff;display:flex;align-items:center;gap:10px;padding:0 4px;text-align:left;color:#303b47}
.type-group-head strong{flex:1;font-size:15px}
.type-category-radio{width:19px;height:19px;border:2px solid #cbd5df;border-radius:50%;display:grid;place-content:center}
.type-group-app.is-selected .type-category-radio{border-color:#087cc1}
.type-group-app.is-selected .type-category-radio:after{content:"";width:9px;height:9px;border-radius:50%;background:#087cc1}
.type-group-chevron{font-size:20px;transition:transform .18s}
.type-group-app.is-open .type-group-chevron{transform:rotate(180deg)}
.type-group-options{display:none;padding:2px 8px 12px 31px!important}
.type-group-app.is-open .type-group-options{display:block}
.type-group-options input{appearance:none;width:19px!important;height:19px!important;border:1px solid #ccd6df;border-radius:5px;background:#fff;display:grid;place-content:center;accent-color:transparent!important}
.type-group-options input:checked{background:#087cc1;border-color:#087cc1}
.type-group-options input:checked:after{content:"✓";color:#fff;font-size:14px;font-weight:900}
.type-group-options label{font-size:14px;padding:8px 0!important}
.type-all-option{font-weight:700}

/* Home più compatta senza alterare la struttura */



.home-search-box{min-height:82px;border-radius:20px}
.home-search-box__search{font-size:38px}
.home-search-box__text strong{font-size:15px}
.home-search-box__text small{font-size:13.5px}
.quick-grid{padding-top:28px;gap:18px 10px}
.quick-icon{width:56px;height:56px;border-radius:17px;font-size:25px}
.section-title-row h2{font-size:20px}
.home-recent-search-card{flex-basis:265px}
.home-viewed-property-card{flex-basis:210px}
@media(max-width:760px){
  
  
  
  .home-search-box{min-height:76px;padding:12px 14px}
  .home-search-box__search{font-size:34px}
  .home-search-box__text strong{font-size:14px}
  .home-search-box__text small{font-size:12.5px}
  .quick-grid{padding-top:27px}
  .quick-icon{width:52px;height:52px}
  .section-title-row h2{font-size:18px}
}


/* v49 - form località/zone più compatto e selettori Da/A coerenti con l'app */
.search-page-body .picker-result-item{padding:8px 2px;gap:9px;border-radius:10px}
.search-page-body .picker-result-item .search-row-icon{width:36px;height:36px;border-radius:10px;padding:8px}
.search-page-body .picker-result-item strong{font-size:13.5px;line-height:1.2}
.search-page-body .picker-result-item small{font-size:10.5px;margin-top:2px}
.search-page-body .picker-results{gap:2px}
.search-page-body .zone-check-row{font-size:14px;line-height:1.25;padding:8px 2px;gap:13px}
.search-page-body .zone-check-box{width:34px;height:34px;border-radius:10px;font-size:20px}
.search-page-body .zone-check-row strong{font-size:14px;line-height:1.25}
.search-page-body #home-zone-list .zone-check-row{font-size:14px!important;padding:8px 2px!important}

.search-page-body .compact-dialog{background:#fff}
.search-page-body .range-dialog-content{padding:12px 16px 84px!important;background:#fff}
.search-page-body .range-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:sticky;top:0;background:#fff;z-index:3;padding:0 0 10px}
.search-page-body .range-input-grid label>span{font-size:11px;font-weight:800;margin:0 0 5px 2px;color:#465462}
.search-page-body .range-input-grid label>div{height:46px;border:1px solid #d7dee5;border-radius:10px;padding:0 11px;background:#fff}
.search-page-body .range-input-grid input{font-size:14px;width:100%;min-width:0}
.search-page-body .range-suggestion-list{display:block;max-height:calc(100vh - 230px);overflow:auto;border-top:1px solid #e5eaf0;padding:6px 0 10px;background:#fff}
.search-page-body .range-suggestion-list button{display:block;width:100%;height:42px;border:0;border-radius:8px;background:#fff;text-align:left;padding:0 10px;font-size:14px;color:#303b47}
.search-page-body .range-suggestion-list button:hover,.search-page-body .range-suggestion-list button:focus{background:#e8f4fc;color:#087cc1}
.search-page-body .range-suggestion-list button:first-child{background:#e8f4fc;color:#087cc1}
.search-page-body .rooms-dialog-content .range-suggestion-list button{font-size:14px}
.search-page-body .rooms-dialog-content input::placeholder{color:#7c8790;opacity:1}

@media (min-width:761px){
  .search-page-body .full-dialog[aria-hidden="false"]{background:rgba(18,31,43,.36);display:flex;align-items:center;justify-content:center;padding:22px}
  .search-page-body .full-dialog-page.compact-dialog{width:min(480px,100%);height:min(700px,calc(100vh - 44px));border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.2)}
}


/* v50 - interfaccia ricerca ulteriormente compatta */
.search-page-body .picker-results .picker-result,
.search-page-body .location-result-row,
.search-page-body .italy-choice{
  min-height:52px!important;
  padding:7px 10px!important;
}
.search-page-body .picker-results strong,
.search-page-body .location-result-row strong,
.search-page-body .italy-choice strong{
  font-size:13px!important;
  line-height:1.18!important;
}
.search-page-body .picker-results small,
.search-page-body .location-result-row small,
.search-page-body .italy-choice small{
  font-size:10.5px!important;
  line-height:1.15!important;
}
.search-page-body .search-row-icon{
  width:36px!important;
  height:36px!important;
  border-radius:10px!important;
}
.search-page-body .zone-check-row,
.search-page-body #home-zone-list .zone-check-row{
  font-size:12.5px!important;
  line-height:1.18!important;
  padding:6px 2px!important;
  gap:11px!important;
}
.search-page-body .zone-check-row strong,
.search-page-body #home-zone-list .zone-check-row strong{
  font-size:12.5px!important;
  line-height:1.18!important;
}
.search-page-body .zone-check-box,
.search-page-body #home-zone-list .zone-check-box{
  width:30px!important;
  height:30px!important;
  border-radius:9px!important;
  font-size:18px!important;
}
.search-page-body .app-search-exact{
  max-width:660px!important;
  padding-left:16px!important;
  padding-right:16px!important;
}
.search-page-body .app-search-exact>h1{
  font-size:22px!important;
  margin-bottom:17px!important;
}
.search-page-body .contract-tabs{
  margin-bottom:15px!important;
}
.search-page-body .contract-tabs button{
  height:45px!important;
  font-size:13.5px!important;
}
.search-page-body .contract-tabs button span{
  width:21px!important;
  height:21px!important;
}
.search-page-body .app-tap-field,
.search-page-body .app-filter-row{
  min-height:68px!important;
  border-radius:14px!important;
  padding:12px 14px!important;
  margin-bottom:10px!important;
}
.search-page-body .app-tap-field strong,
.search-page-body .app-filter-row strong{
  font-size:13.5px!important;
  margin-left:11px!important;
}
.search-page-body .field-icon{
  width:27px!important;
  height:27px!important;
}
.search-page-body .field-chevron{
  width:20px!important;
  height:20px!important;
}
.search-page-body .field-floating-label{
  font-size:10.5px!important;
  top:-8px!important;
}
.search-page-body .app-filter-section>h2{
  font-size:17px!important;
  margin:22px 0 12px!important;
}
.search-page-body .app-inline-choice,
.search-page-body .app-select-row,
.search-page-body .energy-field{
  border-radius:14px!important;
  padding:11px 12px!important;
  margin-bottom:9px!important;
}
.search-page-body .app-inline-title{
  gap:10px!important;
  margin-bottom:8px!important;
}
.search-page-body .app-inline-title strong,
.search-page-body .app-select-row b{
  font-size:13px!important;
}
.search-page-body .app-select-row select{
  font-size:12px!important;
}
.search-page-body .choice-scroll button{
  height:34px!important;
  padding:0 11px!important;
  font-size:11.5px!important;
}
.search-page-body .app-orange-button{
  min-height:50px!important;
  border-radius:15px!important;
}

/* Campo attivo Da/A */
.range-selecting-max #range-max-input,
.range-selecting-max #rooms-max-input{
  border-color:#337ab7!important;
  box-shadow:0 0 0 2px rgba(51,122,183,.12)!important;
}

/* Efficienza energetica come nell'app */
.search-page-body .energy-field p{
  margin:0 0 10px 37px!important;
  font-size:11px!important;
  line-height:1.3!important;
}
.search-page-body .energy-choices{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
}
.search-page-body .energy-choices button{
  min-height:50px!important;
  height:auto!important;
  padding:7px 6px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  border-radius:11px!important;
  font-size:11.5px!important;
  line-height:1.1!important;
}
.search-page-body .energy-choices button small{
  display:block;
  font-size:8.5px;
  line-height:1.15;
  font-weight:700;
  opacity:.9;
  white-space:normal;
}
.search-page-body .energy-high:not(.active){border-color:#72ad63!important;color:#3f7f34!important;background:#f5fbf3!important}
.search-page-body .energy-medium:not(.active){border-color:#e6a64d!important;color:#a86408!important;background:#fff8ee!important}
.search-page-body .energy-low:not(.active){border-color:#dc6e64!important;color:#a53d35!important;background:#fff4f3!important}
.search-page-body .energy-high.active{background:#4b9b43!important;border-color:#4b9b43!important;color:#fff!important}
.search-page-body .energy-medium.active{background:#dc8a22!important;border-color:#dc8a22!important;color:#fff!important}
.search-page-body .energy-low.active{background:#c94d43!important;border-color:#c94d43!important;color:#fff!important}

@media (max-width:520px){
  .search-page-body .energy-choices{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .search-page-body .app-search-exact{
    padding-left:14px!important;
    padding-right:14px!important;
  }
}


/* v51 - località/zone realmente compatte ed efficienza energetica come app */
.search-page-body #picker-results .picker-result-item,
.search-page-body .picker-results .picker-result-item{
  min-height:46px!important;
  padding:5px 8px!important;
  gap:9px!important;
}
.search-page-body #picker-results .picker-result-item strong,
.search-page-body .picker-results .picker-result-item strong{
  font-size:12px!important;
  line-height:1.12!important;
  font-weight:800!important;
}
.search-page-body #picker-results .picker-result-item small,
.search-page-body .picker-results .picker-result-item small{
  font-size:9.5px!important;
  line-height:1.1!important;
}
.search-page-body #picker-results .search-row-icon,
.search-page-body .picker-results .search-row-icon{
  width:32px!important;
  height:32px!important;
  border-radius:9px!important;
}
.search-page-body #zone-list.zone-list-exact .zone-check-row,
.search-page-body .zone-list-exact .zone-check-row{
  min-height:54px!important;
  padding:6px 8px!important;
  gap:10px!important;
  font-size:12px!important;
  line-height:1.14!important;
}
.search-page-body #zone-list.zone-list-exact .zone-check-row strong,
.search-page-body .zone-list-exact .zone-check-row strong{
  font-size:12px!important;
  line-height:1.14!important;
  font-weight:800!important;
}
.search-page-body #zone-list.zone-list-exact .zone-check-box,
.search-page-body .zone-list-exact .zone-check-box{
  flex:0 0 28px!important;
  width:28px!important;
  height:28px!important;
  border-radius:8px!important;
  font-size:16px!important;
}
.search-page-body #zone-picker .dialog-content-app{
  padding:8px 14px 86px!important;
}
.search-page-body .energy-field{
  padding:12px!important;
}
.search-page-body .energy-field p{
  margin:4px 0 12px 37px!important;
  font-size:12px!important;
  line-height:1.28!important;
  min-height:16px;
  color:#516170!important;
}
.search-page-body .energy-field p strong{font-weight:900}
.search-page-body .energy-class-high{color:#43a047!important}
.search-page-body .energy-class-medium{color:#e68621!important}
.search-page-body .energy-class-low{color:#d94a3f!important}
.search-page-body .energy-choices{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.search-page-body .energy-choices button{
  min-height:38px!important;
  height:38px!important;
  flex:0 0 auto!important;
  min-width:68px!important;
  padding:0 16px!important;
  border-radius:11px!important;
  font-size:12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.search-page-body .energy-choices button small{display:none!important}
.search-page-body .energy-all:not(.active){background:#fff!important;color:#24384b!important;border-color:#d5dde5!important}
.search-page-body .energy-high:not(.active),
.search-page-body .energy-medium:not(.active),
.search-page-body .energy-low:not(.active){background:#fff!important;color:#24384b!important;border-color:#d5dde5!important}
.search-page-body .energy-all.active,
.search-page-body .energy-high.active,
.search-page-body .energy-medium.active,
.search-page-body .energy-low.active{
  background:#337ab7!important;
  border-color:#337ab7!important;
  color:#fff!important;
}
@media(max-width:520px){
  .search-page-body .energy-choices{display:flex!important;grid-template-columns:none!important}
  .search-page-body .energy-choices button{min-width:64px!important;padding:0 13px!important}
}


/* v52 - un solo modulo Comune/Provincia/Zone, condiviso da home e ricerca */
.search-page-body #location-picker .full-dialog-page,
.search-page-body #zone-picker .full-dialog-page{
  max-width:560px;
}
.search-page-body #location-picker .search-appbar,
.search-page-body #zone-picker .search-appbar{
  min-height:58px;
}
.search-page-body #location-picker .search-appbar h2,
.search-page-body #zone-picker .search-appbar h2{
  font-size:18px!important;
  line-height:1.2!important;
}
.search-page-body #picker-results .picker-result-item{
  min-height:43px!important;
  padding:4px 7px!important;
  gap:8px!important;
  border-bottom:1px solid #edf0f2;
}
.search-page-body #picker-results .picker-result-item strong{
  font-size:11.5px!important;
  line-height:1.12!important;
  font-weight:800!important;
}
.search-page-body #picker-results .picker-result-item small{
  font-size:8.8px!important;
  line-height:1.08!important;
  margin-top:1px!important;
}
.search-page-body #picker-results .search-row-icon{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  border-radius:8px!important;
  padding:7px!important;
}
.search-page-body #zone-list.zone-list-exact{
  gap:1px!important;
}
.search-page-body #zone-list.zone-list-exact .zone-check-row{
  min-height:46px!important;
  padding:4px 7px!important;
  gap:9px!important;
  border-radius:10px!important;
}
.search-page-body #zone-list.zone-list-exact .zone-check-row strong{
  font-size:11.5px!important;
  line-height:1.16!important;
  font-weight:800!important;
}
.search-page-body #zone-list.zone-list-exact .zone-check-box{
  flex:0 0 26px!important;
  width:26px!important;
  height:26px!important;
  border-radius:7px!important;
  font-size:15px!important;
}
.search-page-body #zone-picker .dialog-content-app{
  padding:5px 14px 78px!important;
}
@media (max-width:760px){
  .search-page-body #location-picker .full-dialog-page,
  .search-page-body #zone-picker .full-dialog-page{max-width:none}
  .search-page-body #picker-results .picker-result-item strong,
  .search-page-body #zone-list.zone-list-exact .zone-check-row strong{
    font-size:11.25px!important;
  }
}

/* v54 — selettore località home come app, ricerche recenti e testi compatti */
.location-recent-searches{margin-top:24px;padding-bottom:20px}
.location-recent-searches h3{margin:0 0 12px;font-size:18px;line-height:1.2;color:#132d43;font-weight:900}
.location-recent-list{display:grid;gap:10px}
.location-recent-card{display:grid;grid-template-columns:116px minmax(0,1fr) 22px;align-items:center;min-height:92px;background:#fff;border:1px solid #e3e8ed;border-radius:17px;overflow:hidden;color:inherit;box-shadow:0 2px 7px rgba(12,35,54,.04)}
.location-recent-card .recent-map-preview{height:92px;border-radius:0}
.location-recent-copy{padding:10px 12px;min-width:0}
.location-recent-copy strong{display:block;font-size:14px;line-height:1.2;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.location-recent-copy small{display:block;margin-top:5px;color:#75818d;font-size:11.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.location-recent-chevron{font-size:28px;color:#337ab7;font-weight:400;padding-right:9px}
.app-location-item strong,.picker-result-item strong,.zone-check-row strong{font-weight:500!important}
.app-location-item .result-icon,.picker-result-item .search-row-icon{width:34px!important;height:34px!important;border-radius:10px!important;padding:7px!important}
.app-location-item{padding:7px 3px!important;gap:9px!important}
.app-location-item strong{font-size:13px!important;line-height:1.16!important}
.app-location-item small{font-size:10px!important;margin-top:1px!important}
.zone-check-row{font-size:13px!important;padding:7px 2px!important;gap:10px!important}
.zone-check-box{width:28px!important;height:28px!important;border-radius:8px!important;font-size:18px!important}
.zone-check-row strong{font-size:13px!important;line-height:1.2!important}
.picker-result-item.is-province .search-row-icon{background:#fff3e9!important;color:#e56a20!important}
.picker-result-item.is-municipality .search-row-icon{background:#edf6fc!important;color:#337ab7!important}
@media(max-width:760px){
  .location-page-content{padding-left:17px!important;padding-right:17px!important}
  .location-recent-card{grid-template-columns:104px minmax(0,1fr) 20px;min-height:84px}
  .location-recent-card .recent-map-preview{height:84px}
  .location-recent-searches h3{font-size:17px}
  .location-recent-copy strong{font-size:13px}
  .location-recent-copy small{font-size:11px}
}


/* v55: modifica ricerca precompilata e selettore ordinamento */
.results-sort-button{display:inline-flex;align-items:center;gap:8px;min-height:42px;border:0;background:transparent;color:#1672b9;font:inherit;cursor:pointer;padding:6px 8px;border-radius:10px}
.results-sort-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.results-sort-button strong{font-weight:800;color:#1672b9}.results-sort-button>svg:last-child{width:16px;height:16px}
.results-sort-overlay{position:fixed;inset:0;z-index:1000}.results-sort-backdrop{position:absolute;inset:0;border:0;background:rgba(9,22,34,.45)}
.results-sort-sheet{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,calc(100% - 32px));max-height:min(700px,calc(100vh - 40px));background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.24);overflow:hidden;display:flex;flex-direction:column}
.results-sort-sheet header{height:58px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #e8edf1;position:relative;background:#f7f8fa}.results-sort-sheet h2{font-size:18px;margin:0}.results-sort-sheet header button{position:absolute;right:10px;width:42px;height:42px;border:0;background:transparent;font-size:30px;color:#394653;cursor:pointer}
.results-sort-options{padding:8px;overflow:auto}.results-sort-options button{width:100%;border:0;background:#fff;text-align:left;padding:15px 12px;border-radius:10px;font-size:16px;color:#37424e;cursor:pointer}.results-sort-options button.is-active{background:#e5f2fb;color:#0879c5}
.results-sort-sheet footer{padding:10px 8px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #e8edf1;background:#fff}.results-sort-confirm{width:100%;height:44px;border:0;border-radius:8px;background:#ed0017;color:#fff;font-weight:900;font-size:15px;cursor:pointer}
body.results-modal-open{overflow:hidden}
@media(max-width:760px){
  .results-sort-button{margin-left:auto;padding:5px 0;gap:5px}.results-sort-button strong{display:none}.results-sort-button>svg:last-child{display:none}
  .results-sort-sheet{left:0;right:0;top:auto;bottom:0;transform:none;width:100%;max-height:88vh;border-radius:16px 16px 0 0}
  .results-sort-options button{font-size:15px;padding:14px 8px}
}


/* ===== Risultati mobile: intestazione, ordinamento e mappa v56 ===== */
.results-mobile-map-button,
.results-map-mobile-close{display:none}

@media(max-width:760px){
  .results-mobile-summary{
    display:block;
    min-width:0;
    padding:0 4px;
    color:inherit;
    text-decoration:none
  }
  .results-mobile-summary:active{opacity:.72}

  .results-toolbar{
    height:62px!important;
    min-height:62px!important;
    padding:8px 14px!important
  }
  .results-toolbar-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important
  }
  .results-mobile-count{display:none!important}

  .results-sort-button{
    min-height:44px;
    width:100%;
    margin:0!important;
    padding:7px 12px!important;
    border:1px solid #d9e1e8;
    border-radius:14px;
    background:#fff;
    justify-content:flex-start
  }
  .results-sort-button span{font-weight:850}
  .results-sort-button strong{
    display:block!important;
    margin-left:auto;
    max-width:130px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis
  }
  .results-sort-button>svg:last-child{display:block!important}

  .results-mobile-map-button{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid #d9e1e8;
    border-radius:14px;
    background:#fff;
    color:#1672b9;
    padding:7px 13px;
    font-weight:850
  }
  .results-mobile-map-button svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round
  }

  body.results-mobile-map-open{overflow:hidden}
  body.results-mobile-map-open .results-map-column{
    display:block!important;
    position:fixed;
    inset:64px 0 0;
    z-index:900;
    border:0;
    background:#eef2f4
  }
  body.results-mobile-map-open .results-map-sticky{
    position:relative!important;
    top:0!important;
    width:100%;
    height:100%!important
  }
  body.results-mobile-map-open .results-map{
    width:100%;
    height:100%!important;
    min-height:0!important
  }
  body.results-mobile-map-open .results-map-expand{display:none!important}
  body.results-mobile-map-open .results-map-mobile-close{
    display:grid;
    place-items:center;
    position:absolute;
    z-index:1000;
    right:14px;
    top:14px;
    width:44px;
    height:44px;
    border:0;
    border-radius:50%;
    background:#fff;
    color:#173047;
    font-size:30px;
    line-height:1;
    box-shadow:0 5px 18px rgba(0,0,0,.18)
  }
}


/* v57 — risultati: separazione miniature, ordinamento e popup mobile mappa */
.result-property-thumbs{
  margin-top:3px!important;
}

.results-sort-button{
  justify-content:space-between;
}
.results-sort-button strong{
  display:inline!important;
}
.results-sort-button > svg:last-child{
  display:block!important;
}

.results-map-property-leaflet-popup .leaflet-popup-content-wrapper{
  padding:0;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 14px 42px rgba(8,35,58,.24);
}
.results-map-property-leaflet-popup .leaflet-popup-content{
  margin:0;
  width:300px!important;
}
.results-map-property-leaflet-popup .leaflet-popup-close-button{
  width:34px;
  height:34px;
  line-height:31px;
  top:8px;
  right:8px;
  border-radius:50%;
  background:#fff;
  color:#11283c;
  font-size:23px;
  box-shadow:0 4px 15px rgba(0,0,0,.16);
  z-index:3;
}
.results-map-property-popup{
  background:#fff;
  color:#11283c;
}
.results-map-popup-image{
  position:relative;
  display:block;
  height:165px;
  overflow:hidden;
  background:#eaf1f6;
}
.results-map-popup-image img,
.results-map-popup-placeholder{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.results-map-popup-image > span{
  position:absolute;
  right:10px;
  bottom:9px;
  padding:4px 8px;
  border-radius:8px;
  background:rgba(13,31,48,.86);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.results-map-popup-body{
  padding:14px 16px 15px;
}
.results-map-popup-body > strong{
  display:block;
  font-size:22px;
  line-height:1.1;
  margin-bottom:8px;
}
.results-map-popup-body h3{
  margin:0 0 8px;
  font-size:15px;
  line-height:1.35;
}
.results-map-popup-body p{
  margin:0 0 12px;
  color:#617184;
  font-size:13px;
}
.results-map-popup-body > a{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:40px;
  border-radius:10px;
  background:#eaf5fc;
  color:#0879c9;
  font-weight:800;
  text-decoration:none;
}

@media (max-width:760px){
  .results-sort-button{
    min-width:0;
  }
  .results-sort-button strong{
    font-size:14px;
  }
  .results-map-property-leaflet-popup .leaflet-popup-content{
    width:min(300px,calc(100vw - 58px))!important;
  }
}


/* v58 — mappa mobile interattiva, popup completo e ordinamento compatto */
.results-map-mobile-close{
  gap:7px!important;
  width:auto!important;
  min-width:92px!important;
  height:44px!important;
  padding:0 14px!important;
  border-radius:22px!important;
  font-size:14px!important;
  font-weight:850!important;
}
.results-map-mobile-close svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.results-map-property-leaflet-popup .leaflet-popup-close-button{
  width:40px!important;height:40px!important;line-height:36px!important;top:7px!important;right:7px!important;
  border:2px solid #d9e1e8!important;font-size:27px!important;font-weight:500!important;
}
.results-map-property-popup{cursor:pointer}
.results-map-popup-image{position:relative}
.results-map-popup-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border:0;border-radius:50%;
  background:rgba(255,255,255,.94);color:#173047;font-size:32px;line-height:1;box-shadow:0 4px 14px rgba(0,0,0,.2);cursor:pointer
}
.results-map-popup-arrow--prev{left:9px}.results-map-popup-arrow--next{right:9px}
.results-map-popup-image img.is-slide-next{animation:mapPopupNext .24s ease}
.results-map-popup-image img.is-slide-prev{animation:mapPopupPrev .24s ease}
@keyframes mapPopupNext{from{opacity:.35;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes mapPopupPrev{from{opacity:.35;transform:translateX(-18px)}to{opacity:1;transform:none}}
.results-map-popup-facts{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#596b7e;font-size:13px;margin:2px 0 13px}
.results-map-popup-facts span{display:inline-flex;align-items:center;gap:5px}.results-map-popup-facts svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.results-map-popup-actions{display:flex;gap:8px;border-top:1px solid #e8edf1;padding-top:11px}
.results-map-popup-actions button,.results-map-popup-actions a{width:42px;height:40px;display:grid;place-items:center;border:1px solid #cfd8e2;border-radius:9px;background:#fff;color:#0879c9;cursor:pointer}
.results-map-popup-actions svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.results-map-popup-actions .result-favorite-button{margin-left:auto;color:#e11d2e}
.results-map-popup-actions .result-favorite-button.is-saved svg{fill:#e11d2e}
@media(max-width:760px){
  .results-sort-button{flex:0 1 auto!important;width:auto!important;min-width:150px!important;max-width:210px!important;padding:0 13px!important;height:46px!important}
  .results-sort-button strong{font-size:13.5px!important}
  .results-mobile-map-button{flex:0 0 auto!important;width:auto!important;min-width:106px!important;padding:0 14px!important}
}


/* v59 — mappa mobile: header fisso, lista solo icona, pallini leggibili e zoom interattivo */
.results-map-zoom-hint{
  position:absolute;left:50%;bottom:22px;z-index:850;transform:translateX(-50%);
  max-width:min(360px,calc(100% - 36px));padding:12px 18px;border-radius:10px;
  background:#fff;color:#26384a;font-size:14px;font-weight:750;text-align:center;
  box-shadow:0 5px 20px rgba(15,35,56,.20);pointer-events:none
}
.results-map-zoom-hint[hidden]{display:none!important}
.result-property-card.is-map-outside{display:none!important}
.results-map-list-empty{padding:28px 18px;text-align:center;color:#667085;background:#fff;border:1px solid #e2e8ee;border-radius:14px}
.results-map-property-leaflet-popup .leaflet-popup-close-button{display:none!important}

@media(max-width:760px){
  .results-page-body{padding-top:64px!important}
  .results-mobile-appbar{
    position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;
    z-index:1200!important
  }
  body.results-mobile-map-open .results-mobile-appbar{z-index:1400!important}
  body.results-mobile-map-open .results-map-column{inset:64px 0 0!important;z-index:1000!important}
  .results-map-mobile-close{
    min-width:0!important;width:48px!important;height:48px!important;padding:0!important;border-radius:50%!important
  }
  .results-map-mobile-close span{display:none!important}
  .results-map-mobile-close svg{width:23px!important;height:23px!important}
  .results-map-zoom-hint{bottom:18px;font-size:13px;padding:10px 14px}
}

/* v61 — popup mappa più compatto, frecce centrate e cluster leggibili */
.results-map-property-leaflet-popup .leaflet-popup-content{width:270px!important}
.results-map-popup-image{height:145px!important}
.results-map-popup-body{padding:11px 13px 12px!important}
.results-map-popup-body>strong{font-size:20px!important;margin-bottom:6px!important}
.results-map-popup-body h3{font-size:14px!important;margin-bottom:7px!important}
.results-map-popup-arrow{
  width:34px!important;height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;font-size:25px!important;line-height:1!important
}
.results-map-popup-arrow--prev{left:7px!important}.results-map-popup-arrow--next{right:7px!important}
.result-cluster-marker--small span{width:30px;height:30px;font-size:12px}
.result-property-card--map{margin-bottom:14px}
@media(max-width:760px){
  .results-map-property-leaflet-popup .leaflet-popup-content{width:min(270px,calc(100vw - 72px))!important}
  .results-map-popup-image{height:142px!important}
}

/* v62 — card mobile come app, azioni complete, popup mappa più compatto */
.results-map-popup-arrow{
  width:28px!important;height:28px!important;padding:0!important;
  display:grid!important;place-items:center!important;
}
.results-map-popup-arrow svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.results-map-popup-arrow--prev{left:6px!important}.results-map-popup-arrow--next{right:6px!important}

.result-contact-dialog[hidden]{display:none!important}
.result-contact-dialog{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:18px}
.result-contact-dialog__backdrop{position:absolute;inset:0;background:rgba(12,22,32,.62)}
.result-contact-dialog__panel{position:relative;width:min(520px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.result-contact-dialog__panel header{display:flex;align-items:center;justify-content:center;padding:22px 56px 16px;border-bottom:1px solid #edf0f3}
.result-contact-dialog__panel header strong{font-size:26px;color:#17283d}
.result-contact-dialog__panel header button{position:absolute;right:18px;top:14px;border:0;background:none;font-size:30px;color:#26384a;cursor:pointer}
.result-contact-dialog__panel form{padding:20px;display:grid;gap:14px}
.result-contact-dialog__panel label{display:grid;gap:5px;color:#526071;font-size:13px}
.result-contact-dialog__panel input,.result-contact-dialog__panel textarea{width:100%;border:1.5px solid #cfd7df;border-radius:14px;padding:14px 16px;outline:none;color:#17283d;background:#fff}
.result-contact-dialog__panel textarea{resize:vertical;min-height:110px}
.result-contact-dialog__panel form>button{height:52px;border:0;border-radius:999px;background:#ef6c16;color:#fff;font-weight:900;font-size:17px;cursor:pointer}
.result-contact-dialog-open{overflow:hidden}

@media(max-width:760px){
  .result-property-facts{
    display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:12px!important;
    scrollbar-width:none;padding-bottom:2px
  }
  .result-property-facts::-webkit-scrollbar{display:none}
  .result-property-facts span{flex:0 0 auto!important;gap:5px!important;white-space:nowrap!important}
  .result-property-facts span small{display:none!important}
  .result-property-facts span:nth-child(2) small{display:inline!important;font-size:inherit!important}
  .result-property-facts svg{width:19px!important;height:19px!important}
  .result-property-actions{display:flex!important;width:100%!important;gap:8px!important;margin-top:14px!important}
  .result-property-actions .result-action-button{flex:1 1 0!important;min-width:0!important;padding:0 8px!important;height:46px!important;border-radius:11px!important;font-size:12.5px!important}
  .result-property-actions .result-action-button--phone{flex:0 0 46px!important;width:46px!important;padding:0!important}
  .result-property-actions .result-action-button--phone .result-action-phone-label{display:none!important}
  .result-property-actions .result-icon-button{display:none!important}
  .result-action-button--details{display:inline-flex!important}
  .result-contact-dialog{align-items:end;padding:0}
  .result-contact-dialog__panel{width:100%;max-height:90vh;border-radius:28px 28px 0 0}
  .result-contact-dialog__panel header strong{font-size:24px}
  .result-contact-dialog__panel form{padding:18px 22px 26px}
}


/* v63 — icone coerenti con l'app e invio messaggi reale */
.result-contact-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.result-contact-dialog__status{
  min-height:0;
  margin:0;
  padding:0;
  border-radius:12px;
  font-size:13px;
  font-weight:800;
  line-height:1.35;
}
.result-contact-dialog__status.is-error{
  padding:11px 13px;
  color:#a61b1b;
  background:#fff0f0;
  border:1px solid #ffc9c9;
}
.result-contact-dialog__status.is-success{
  padding:11px 13px;
  color:#176b35;
  background:#edf9f1;
  border:1px solid #b9e6c8;
}
.result-contact-dialog__panel form>button:disabled{
  opacity:.72;
  cursor:wait;
}
[data-contact-spinner]{
  width:18px;
  height:18px;
  border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  border-radius:50%;
  animation:bilocale-contact-spin .75s linear infinite;
}
@keyframes bilocale-contact-spin{to{transform:rotate(360deg)}}

@media (max-width:760px){
  .result-property-facts{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    overflow-x:auto!important;
    padding:0 0 2px!important;
    scrollbar-width:none;
  }
  .result-property-facts::-webkit-scrollbar{display:none}
  .result-property-facts span{
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    color:#354255!important;
    font-size:13px!important;
    white-space:nowrap!important;
  }
  .result-property-facts span+span::before{
    content:"·";
    color:#8a98a8;
    margin-right:3px;
    font-weight:900;
  }
  .result-property-facts svg{
    width:18px!important;
    height:18px!important;
    stroke-width:1.8!important;
  }
  .result-property-facts b{font-size:13px!important}
  .result-property-facts small{
    display:none!important;
  }
  .result-property-facts span:nth-child(2) small{
    display:inline!important;
    font-size:12px!important;
  }

  .result-property-actions{
    display:flex!important;
    width:100%!important;
    gap:8px!important;
    margin-top:15px!important;
  }
  .result-property-actions>.result-action-button{
    flex:1 1 0!important;
    min-width:0!important;
    height:48px!important;
    padding:0 8px!important;
    border-radius:11px!important;
    font-size:13px!important;
  }
  .result-property-actions>.result-action-button--phone{
    flex:0 0 48px!important;
    width:48px!important;
    padding:0!important;
  }
  .result-property-actions>.result-action-button--phone .result-action-phone-label{
    display:none!important;
  }
  .result-property-actions>.result-icon-button{
    display:none!important;
  }
  .result-property-actions svg{
    width:20px!important;
    height:20px!important;
  }
}


/* v64 — header risultati mobile come app/portale */
@media (max-width:760px){
  body.results-page-body{
    padding-top:0!important;
  }

  .results-mobile-fixed-head{
    position:sticky;
    top:0;
    z-index:1350;
    background:#fff;
    box-shadow:0 1px 0 #dfe6ed;
  }

  .results-mobile-appbar{
    position:relative!important;
    top:auto!important;
    z-index:auto!important;
    height:64px!important;
    min-height:64px!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    padding:0 14px!important;
    background:#fff!important;
    border-bottom:1px solid #edf0f3!important;
  }

  .results-mobile-brand{
    flex:0 0 40px!important;
    width:40px!important;
    height:40px!important;
    display:grid!important;
    place-items:center!important;
  }
  .results-mobile-brand img{
    width:38px!important;
    height:38px!important;
    object-fit:contain!important;
  }

  .results-mobile-summary{
    flex:1 1 auto!important;
    min-width:0!important;
    padding:4px 2px!important;
    text-decoration:none!important;
  }
  .results-mobile-summary strong,
  .results-mobile-summary small{
    display:block!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .results-mobile-summary strong{
    color:#17283d!important;
    font-size:17px!important;
    line-height:1.15!important;
    font-weight:900!important;
  }
  .results-mobile-summary small{
    margin-top:2px!important;
    color:#6f7d8c!important;
    font-size:12px!important;
    font-weight:750!important;
  }

  .results-mobile-action{
    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
    border:0!important;
    display:grid!important;
    place-items:center!important;
    color:#8d35f4!important;
  }
  .results-mobile-action svg{
    width:25px!important;
    height:25px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }

  .results-mobile-quickbar{
    height:58px;
    display:grid;
    grid-template-columns:1fr 1.25fr 54px;
    gap:8px;
    align-items:center;
    padding:7px 12px;
    background:#fff;
    border-bottom:1px solid #dfe6ed;
  }

  .results-mobile-quick{
    height:44px;
    border:1px solid #cbd9e6;
    border-radius:12px;
    background:#fff;
    color:#1676bb;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
  }
  .results-mobile-quick svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.75;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .results-mobile-quick--filters{
    background:#edf6fc;
    border-color:#83bce2;
  }
  .results-mobile-quick--filters>span{
    min-width:24px;
    height:24px;
    padding:0 6px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:#337ab7;
    color:#fff;
    font-size:11px;
  }
  .results-mobile-quick--save{
    background:#e90016;
    border-color:#e90016;
    color:#fff;
    text-transform:uppercase;
  }
  .results-mobile-quick--map{
    padding:0;
  }

  .results-toolbar{
    position:sticky!important;
    top:122px!important;
    z-index:1300!important;
    padding:7px 14px!important;
    min-height:54px!important;
    background:#fff!important;
    border-bottom:1px solid #dfe6ed!important;
  }
  .results-toolbar-main{
    width:100%!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
  }
  .results-title-block,
  .results-toolbar .seo-breadcrumb,
  .results-edit-button{
    display:none!important;
  }
  .results-toolbar-actions{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
  }
  .results-mobile-count{
    display:block!important;
    flex:1 1 auto!important;
    color:#303b48!important;
    font-size:14px!important;
    white-space:nowrap!important;
  }
  .results-sort-button{
    flex:0 0 auto!important;
    min-width:0!important;
    height:38px!important;
    padding:0 8px!important;
    border:0!important;
    background:transparent!important;
    color:#1676bb!important;
    gap:5px!important;
    font-size:13px!important;
    box-shadow:none!important;
  }
  .results-sort-button svg:first-child{
    width:19px!important;
    height:19px!important;
  }
  .results-sort-button svg:last-child{
    width:16px!important;
    height:16px!important;
  }

  .result-property-facts span:nth-child(n){
    display:inline-flex!important;
  }
}

/* Le mappe a schermo intero devono restare sopra l'header fisso. */
body.results-mobile-map-open .results-map-column{
  z-index:1600!important;
}
body.results-mobile-map-open .results-mobile-fixed-head{
  z-index:1700!important;
}


/* v65 — filtri e località separati; conteggio e ordinamento scorrono con la lista */
@media (max-width:760px){
  .results-toolbar{
    position:relative!important;
    top:auto!important;
    z-index:10!important;
  }

  .results-mobile-quick--filters{
    text-decoration:none!important;
  }
}


/* v66 — località senza flash del form e toolbar integrata nello sfondo risultati */
.search-page-body .picker-result-item strong,
.search-page-body .zone-check-row strong,
.search-page-body .italy-choice strong{
  font-weight:400!important;
}
.search-page-body .picker-result-item small,
.search-page-body .zone-check-row,
.search-page-body .zone-check-row strong{
  font-weight:400!important;
}
.search-page-body [data-select-italy][hidden]{display:none!important}

@media (max-width:760px){
  .results-toolbar{
    background:#f7f9fb!important;
    border-bottom:0!important;
    box-shadow:none!important;
    padding-top:10px!important;
    padding-bottom:8px!important;
  }
  .results-toolbar-main,
  .results-toolbar-actions{
    background:transparent!important;
  }
  .server-results-split{
    border-top:0!important;
  }
}


/* v67 — picker località uniforme alla home */
.search-page-body .picker-result-item strong,
.search-page-body .location-result-row strong,
.search-page-body .zone-check-row strong,
.search-page-body #zone-list strong{
  font-family:inherit!important;
  font-weight:400!important;
  letter-spacing:0!important;
}

.search-page-body .picker-result-item small,
.search-page-body .location-result-row small{
  font-family:inherit!important;
  font-weight:400!important;
}

.search-page-body .zone-check-row{
  font-family:inherit!important;
  font-weight:400!important;
}

.location-picker-defaults{
  display:grid;
}

.location-picker-defaults[hidden]{
  display:none!important;
}

.picker-recent-searches{
  margin-top:22px;
}

.picker-recent-searches[hidden]{
  display:none!important;
}

.picker-recent-searches h3{
  margin:0 0 10px;
  color:#17283d;
  font-size:18px;
  font-weight:850;
}

.picker-recent-list{
  display:grid;
  gap:0;
}

.picker-recent-row{
  min-height:58px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 20px;
  align-items:center;
  gap:10px;
  padding:8px 2px;
  color:#303b48;
  text-decoration:none;
  border-bottom:1px solid #e7ebef;
}

.picker-recent-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  color:#687789;
}

.picker-recent-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.picker-recent-copy{
  min-width:0;
}

.picker-recent-copy strong{
  display:block;
  overflow:hidden;
  color:#303b48;
  font-size:14px;
  font-weight:400;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.picker-recent-copy small{
  display:block;
  margin-top:2px;
  overflow:hidden;
  color:#6f7c8d;
  font-size:12px;
  font-weight:400;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.picker-recent-chevron{
  color:#337ab7;
  font-size:24px;
  font-weight:400;
}

#picker-near-me.is-loading{
  opacity:.65;
  pointer-events:none;
}

@media (max-width:760px){
  .search-page-body .picker-result-item strong,
  .search-page-body .location-result-row strong,
  .search-page-body .zone-check-row strong,
  .search-page-body #zone-list strong{
    font-size:13px!important;
    font-weight:400!important;
  }

  .search-page-body .zone-check-row{
    min-height:44px!important;
  }

  .search-page-body .location-action-tile strong{
    font-size:15px!important;
  }

  .search-page-body .location-action-tile small{
    font-size:12px!important;
  }
}


/* v68 — tipografia località definitiva e header mobile nascosto su desktop */
.results-mobile-fixed-head{display:none}

.search-page-body #picker-results .picker-result-item,
.search-page-body #picker-results .picker-result-item *,
.search-page-body #zone-list .zone-check-row,
.search-page-body #zone-list .zone-check-row *{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-variation-settings:"wght" 400!important;
}

.search-page-body #picker-results .picker-result-name,
.search-page-body #zone-list .zone-name{
  display:block!important;
  color:#263544!important;
  font-size:13px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.18!important;
  letter-spacing:0!important;
}

.search-page-body #picker-results .picker-result-item small{
  display:block!important;
  margin-top:1px!important;
  color:#6f7c8b!important;
  font-size:10px!important;
  font-weight:400!important;
  line-height:1.15!important;
}

.search-page-body #picker-results .picker-result-item{
  font-weight:400!important;
}

.search-page-body #zone-list .zone-check-row{
  font-size:13px!important;
  font-weight:400!important;
}

@media (max-width:760px){
  .results-mobile-fixed-head{display:block}
}


/* v69 — tipografia località, toolbar compatta, icona asta e marker prezzo */
.search-page-body #picker-results .picker-result-name,
.search-page-body #zone-list .zone-name{
  font-size:14.5px!important;
  font-weight:400!important;
  line-height:1.22!important;
}
.search-page-body #picker-results .picker-result-item small{
  font-size:11px!important;
}
.search-page-body #zone-list .zone-check-row{
  font-size:14.5px!important;
  font-weight:400!important;
}

.contract-auction-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  vertical-align:-4px;
  margin-right:5px;
}
.results-filter-menu a{
  display:flex;
  align-items:center;
  gap:5px;
}
.results-modal-contract-tabs label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
}

.result-price-marker{
  width:auto!important;
  height:auto!important;
}
.result-price-marker span{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:0!important;
  width:max-content!important;
  padding:4px 8px!important;
  line-height:1!important;
}

@media (max-width:760px){
  .results-toolbar{
    min-height:44px!important;
    height:auto!important;
    padding:3px 14px 4px!important;
    margin:0!important;
  }
  .results-toolbar-main,
  .results-toolbar-actions{
    min-height:36px!important;
  }
  .results-mobile-count{
    line-height:1.15!important;
  }
  .results-sort-button{
    height:34px!important;
  }
}

/* v70 — header fisso durante la mappa mobile */
@media (max-width:760px){
  body.results-mobile-map-open .results-mobile-fixed-head{
    display:block!important;position:fixed!important;top:0!important;right:0!important;left:0!important;width:100%!important;z-index:2200!important;transform:none!important
  }
  body.results-mobile-map-open .results-map-column{position:fixed!important;inset:122px 0 0!important;z-index:2000!important}
  body.results-mobile-map-open .results-map-sticky,body.results-mobile-map-open .results-map{height:100%!important;min-height:0!important}
}
/* v70 — pagine mappa */
.map-search-page-body{margin:0;overflow:hidden;background:#eef2f5}
.map-search-page-body .site-header,.map-search-page-body .site-footer{display:none!important}
.map-search-app{height:100dvh;display:grid;grid-template-rows:64px minmax(0,1fr) auto;background:#eef2f5;color:#17283d}
.map-search-header{position:relative;z-index:1100;display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;padding:0 10px;background:#fff;border-bottom:1px solid #e3e8ed}
.map-search-header h1{margin:0;text-align:center;font-size:18px;font-weight:900}
.map-search-back{width:42px;height:42px;display:grid;place-items:center;color:#17283d}
.map-search-back svg,.map-search-bottom svg,.map-tool-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.map-search-stage{position:relative;min-height:0;overflow:hidden}
.map-search-map{position:absolute;inset:0;background:#e9eff2;touch-action:pan-x pan-y}
.map-search-map.is-drawing{cursor:crosshair;touch-action:none}
.map-search-floating{position:absolute;z-index:800;top:14px;left:14px}
.map-tool-button{min-height:44px;display:flex;align-items:center;gap:8px;padding:0 14px;border:0;border-radius:13px;background:#fff;color:#1676bb;font-weight:850;box-shadow:0 4px 16px rgba(20,42,62,.18)}
.map-draw-help{position:absolute;z-index:800;right:16px;bottom:16px;left:16px;max-width:560px;margin:auto;padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.94);color:#354255;text-align:center;font-size:13px;font-weight:750;box-shadow:0 4px 16px rgba(20,42,62,.16)}
.map-search-bottom{position:relative;z-index:1000;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -4px 16px rgba(20,42,62,.12)}
.map-search-bottom--draw{display:grid;grid-template-columns:auto 1fr 1fr;gap:9px}
.map-primary-button,.map-secondary-button{min-height:50px;border-radius:13px;font-size:14px;font-weight:900}
.map-primary-button{border:0;display:flex;align-items:center;justify-content:center;gap:8px;background:#ef6c16;color:#fff}
.map-primary-button.is-active{background:#337ab7}.map-primary-button:disabled,.map-secondary-button:disabled{opacity:.48}
.map-secondary-button{border:1px solid #cfd9e2;padding:0 15px;background:#fff;color:#354255}
.map-search-bottom--nearby{display:grid;gap:13px}.map-search-bottom--nearby strong{display:block;margin-bottom:9px;font-size:15px}
.nearby-radius-options{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.nearby-radius-options::-webkit-scrollbar{display:none}
.nearby-radius-options button{flex:0 0 auto;min-width:58px;height:38px;border:1px solid #d3dce4;border-radius:999px;background:#fff;color:#354255;font-weight:800}
.nearby-radius-options button.is-active{border-color:#ef6c16;background:#fff0e6;color:#d95808}.map-nearby-submit{width:100%}
.map-search-toast{position:fixed;z-index:3000;right:18px;bottom:110px;left:18px;max-width:520px;margin:auto;padding:13px 16px;border-radius:12px;background:#17283d;color:#fff;text-align:center;font-size:13px;font-weight:800;box-shadow:0 6px 24px rgba(0,0,0,.26)}
.map-search-app .leaflet-control-zoom{border:0!important;box-shadow:0 3px 12px rgba(0,0,0,.18)!important}
.map-search-app .leaflet-control-zoom a{width:38px!important;height:38px!important;line-height:38px!important;font-size:22px!important}
@media(min-width:761px){
  .map-search-app{max-width:1180px;margin:0 auto;box-shadow:0 0 32px rgba(20,42,62,.15)}
  .map-search-header h1{font-size:20px}
  .map-search-bottom--draw{grid-template-columns:140px minmax(220px,320px) minmax(220px,320px);justify-content:center}
  .map-search-bottom--nearby{grid-template-columns:1fr minmax(260px,360px);align-items:end}
}


/* v71 — disegno mappa corretto e interfaccia coerente con la mappa risultati */
@media (max-width:760px){
  body.results-mobile-map-open .results-mobile-fixed-head{
    display:block!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    left:0!important;
    z-index:2400!important;
    width:100%!important;
    transform:none!important;
  }
  body.results-mobile-map-open .results-map-column{
    position:fixed!important;
    inset:122px 0 0!important;
    z-index:2200!important;
  }
}

.map-search-page-body{
  margin:0;
  overflow:hidden;
  background:#f5f7f9;
}
.map-search-page-body .site-header,
.map-search-page-body .site-footer,
.map-search-page-body .mobile-bottom-nav{
  display:none!important;
}
.map-search-app{
  height:100dvh;
  display:grid;
  grid-template-rows:58px auto minmax(0,1fr) auto;
  overflow:hidden;
  background:#f5f7f9;
  color:#17283d;
}
.map-search-header{
  position:relative;
  z-index:1500;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 48px;
  align-items:center;
  background:#f5f6f7;
  border-bottom:1px solid #e6e9ec;
}
.map-search-header h1{
  margin:0;
  text-align:center;
  font-size:17px;
  font-weight:800;
}
.map-search-back,
.map-search-close{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  color:#354255;
}
.map-search-back svg,
.map-search-close svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.map-search-location{
  position:relative;
  z-index:1450;
  padding:17px 16px;
  background:#fff;
}
.map-location-searchbox{
  height:50px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 34px;
  align-items:center;
  gap:4px;
  padding:0 12px;
  border:1px solid #ccd5de;
  border-radius:9px;
  background:#fff;
}
.map-location-searchbox>svg,
.map-location-searchbox button svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:#617084;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.map-location-searchbox input{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:#303b48;
  font:400 16px/1.2 Inter,system-ui,"Segoe UI",Roboto,Arial,sans-serif;
}
.map-location-searchbox input::placeholder{color:#9aa7b7}
.map-location-searchbox button{
  width:34px;
  height:34px;
  border:0;
  background:transparent;
}
.map-location-panel{
  position:absolute;
  top:73px;
  right:16px;
  left:16px;
  z-index:1700;
  max-height:min(440px,calc(100dvh - 170px));
  overflow:auto;
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 28px rgba(20,42,62,.22);
}
.map-location-panel[hidden]{display:none!important}
.map-location-position,
.map-location-result{
  width:100%;
  min-height:58px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border:0;
  border-bottom:1px solid #edf0f3;
  background:#fff;
  color:#303b48;
  text-align:left;
}
.map-location-position__icon,
.map-location-result>span:first-child{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#edf6fc;
  color:#2787c8;
}
.map-location-result>span:first-child.is-province{
  background:#fff0e7;
  color:#ef6c16;
}
.map-location-position svg,
.map-location-result svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.map-location-position strong,
.map-location-result strong{
  display:block;
  color:#263548;
  font-size:14px;
  font-weight:500;
}
.map-location-position small,
.map-location-result small{
  display:block;
  margin-top:2px;
  color:#748193;
  font-size:11px;
  font-weight:400;
}
.map-location-loading,
.map-location-empty{
  padding:18px;
  color:#6c7989;
  text-align:center;
  font-size:13px;
}
.map-search-stage{
  position:relative;
  min-height:0;
  overflow:hidden;
}
.map-search-map{
  position:absolute;
  inset:0;
  background:#eaf0f2;
  touch-action:pan-x pan-y;
}
.map-search-map.is-drawing{
  cursor:crosshair;
  touch-action:none!important;
  user-select:none;
  -webkit-user-select:none;
}
.map-location-corner{
  position:absolute;
  right:12px;
  bottom:16px;
  z-index:900;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:10px;
  background:#fff;
  color:#617084;
  box-shadow:0 4px 14px rgba(20,42,62,.22);
}
.map-location-corner svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.map-location-corner.is-loading svg{animation:map-location-spin .8s linear infinite}
@keyframes map-location-spin{to{transform:rotate(360deg)}}
.map-draw-help{
  position:absolute;
  z-index:950;
  right:18px;
  bottom:18px;
  left:18px;
  padding:11px 14px;
  border-radius:10px;
  background:rgba(255,255,255,.96);
  color:#354255;
  text-align:center;
  font-size:13px;
  font-weight:650;
  box-shadow:0 4px 16px rgba(20,42,62,.18);
}
.map-draw-help[hidden]{display:none!important}
.map-search-bottom{
  position:relative;
  z-index:1400;
  padding:8px calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));
  background:#fff;
  border-top:1px solid #e1e6ea;
}
.map-search-bottom--single{display:block}
.map-draw-main-button{
  width:100%;
  min-height:42px;
  border:1px solid #bfcbd6;
  border-radius:7px;
  background:#fff;
  color:#0879c4;
  font-size:13px;
  font-weight:800;
}
.map-draw-main-button.is-active{
  border-color:#ef6c16;
  background:#ef6c16;
  color:#fff;
}
.map-search-bottom--nearby{
  display:grid;
  gap:12px;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
}
.map-search-bottom--nearby>div>strong{
  display:block;
  margin-bottom:8px;
  font-size:14px;
}
.nearby-radius-options{
  display:flex;
  gap:7px;
  overflow-x:auto;
  scrollbar-width:none;
}
.nearby-radius-options::-webkit-scrollbar{display:none}
.nearby-radius-options button{
  min-width:58px;
  height:38px;
  border:1px solid #d3dce4;
  border-radius:999px;
  background:#fff;
  color:#354255;
  font-weight:750;
}
.nearby-radius-options button.is-active{
  border-color:#ef6c16;
  background:#fff0e6;
  color:#d95808;
}
.map-search-toast{
  position:fixed;
  z-index:3000;
  right:18px;
  bottom:78px;
  left:18px;
  max-width:520px;
  margin:auto;
  padding:13px 16px;
  border-radius:11px;
  background:#17283d;
  color:#fff;
  text-align:center;
  font-size:13px;
  font-weight:700;
  box-shadow:0 6px 24px rgba(0,0,0,.25);
}
.map-search-app .leaflet-control-container{display:none}
@media(min-width:761px){
  .map-search-app{
    max-width:1180px;
    margin:0 auto;
    box-shadow:0 0 32px rgba(20,42,62,.14);
  }
  .map-search-location{padding-right:22px;padding-left:22px}
  .map-location-panel{right:22px;left:22px}
  .map-search-header h1{font-size:18px}
  .map-search-bottom--nearby{
    grid-template-columns:1fr minmax(260px,360px);
    align-items:end;
  }
}


/* v72 — flusso area/vicino a me verso i filtri */
.map-location-position[hidden],
.map-location-position[style*="display: none"]{
  display:none!important;
}
.map-draw-complete-actions{
  position:absolute;
  right:14px;
  bottom:16px;
  z-index:980;
  display:flex;
  align-items:center;
  gap:9px;
}
.map-draw-complete-actions[hidden]{display:none!important}
.map-draw-delete,
.map-draw-finish{
  height:46px;
  border:0;
  border-radius:12px;
  box-shadow:0 5px 18px rgba(20,42,62,.22);
}
.map-draw-delete{
  width:46px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#e34b45;
}
.map-draw-finish{
  min-width:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 17px;
  background:#337ab7;
  color:#fff;
  font-size:14px;
  font-weight:850;
}
.map-draw-delete svg,
.map-draw-finish svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.map-draw-main-button[hidden]{display:none!important}

/* v74 corretto — piccolo margine laterale per le card recenti */
@media (max-width:899px){
  .recent-scroll,
  .property-scroll{
    padding-left:14px!important;
    padding-right:14px!important;
    scroll-padding-left:14px;
    scroll-padding-right:14px;
  }
}


/* v76 — frecce caroselli recenti visibili anche su mobile */
.desktop-carousel-arrow:not([hidden]){
  display:flex!important;
}
.desktop-carousel-arrow{
  top:52%;
}
@media(max-width:899px){
  .desktop-carousel-arrow{
    display:flex!important;
    width:36px;
    height:36px;
    font-size:28px;
    line-height:28px;
    top:52%;
    transform:translateY(-50%);
  }
  .desktop-carousel-arrow--prev{left:5px}
  .desktop-carousel-arrow--next{right:5px}
}
.desktop-carousel-arrow[hidden]{display:none!important}

/* Il contatore fotografie non viene più mostrato nelle card della home. */
.home-photo-count{display:none!important}

/* Directory SEO: HTML statico, nessuna API e nessun JavaScript necessario. */
.home-seo-directory{
  margin:42px 20px 20px;
  padding:28px;
  border:1px solid #e1e7ed;
  border-radius:20px;
  background:#fff;
}
.home-seo-directory__intro h2{
  margin:0;
  color:#17283d;
  font-size:24px;
  line-height:1.2;
}
.home-seo-directory__intro p{
  max-width:900px;
  margin:9px 0 20px;
  color:#647184;
  font-size:14px;
  line-height:1.55;
}
.home-seo-contracts,
.home-seo-types{
  display:flex;
  gap:4px 22px;
  overflow-x:auto;
  border-bottom:1px solid #dce3e9;
  scrollbar-width:none;
}
.home-seo-contracts::-webkit-scrollbar,
.home-seo-types::-webkit-scrollbar{display:none}
.home-seo-contracts a,
.home-seo-types a{
  flex:0 0 auto;
  padding:11px 4px;
  color:#344054;
  font-size:14px;
  white-space:nowrap;
}
.home-seo-contracts a.is-active,
.home-seo-contracts a:hover,
.home-seo-types a:hover{
  color:#0879c4;
  border-bottom:2px solid #4e9bd0;
}
.home-seo-provinces{
  margin-top:18px;
}
.home-seo-provinces summary{
  cursor:pointer;
  color:#17283d;
  font-size:16px;
  font-weight:850;
}
.home-seo-province-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:30px;
  row-gap:8px;
  margin-top:17px;
}
.home-seo-province-grid a{
  min-width:0;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  color:#0879c4;
  font-size:13px;
}
.home-seo-province-grid a:hover{text-decoration:underline}
.home-seo-province-grid small{
  color:#8b98aa;
  font-size:10px;
}
@media(max-width:760px){
  .home-seo-directory{
    margin:34px 14px 105px;
    padding:20px 16px;
    border-radius:17px;
  }
  .home-seo-directory__intro h2{font-size:20px}
  .home-seo-directory__intro p{font-size:13px}
  .home-seo-province-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:18px;
  }
  .home-seo-province-grid a{font-size:12px}
}
@media(max-width:390px){
  .home-seo-province-grid{grid-template-columns:1fr}
}


/* v77 — directory SEO dinamiche e veloci */
.seo-directory-page{
  max-width:1380px;
  margin:0 auto;
  padding:38px 48px 80px;
  color:#344054;
}
.seo-directory-hero h1{
  margin:0 0 8px;
  color:#303846;
  font-size:27px;
  line-height:1.2;
}
.seo-directory-hero p{
  max-width:1180px;
  margin:0 0 24px;
  color:#667085;
  font-size:15px;
  line-height:1.55;
}
.seo-directory-contract-tabs,
.seo-directory-category-tabs,
.seo-directory-type-tabs{
  display:flex;
  gap:8px 34px;
  overflow-x:auto;
  border-bottom:1px solid #d8dee6;
  scrollbar-width:none;
}
.seo-directory-contract-tabs::-webkit-scrollbar,
.seo-directory-category-tabs::-webkit-scrollbar,
.seo-directory-type-tabs::-webkit-scrollbar{display:none}
.seo-directory-contract-tabs a,
.seo-directory-category-tabs a,
.seo-directory-type-tabs a{
  flex:0 0 auto;
  padding:12px 2px;
  color:#344054;
  font-size:14px;
  white-space:nowrap;
}
.seo-directory-contract-tabs a.is-active,
.seo-directory-category-tabs a.is-active,
.seo-directory-type-tabs a.is-active{
  color:#0879c4;
  border-bottom:2px solid #60a9dc;
}
.seo-directory-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:46px;
  row-gap:7px;
  margin-top:28px;
}
.seo-directory-grid>a,
.seo-directory-location__results{
  min-width:0;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:baseline;
  gap:8px;
  color:#0073c6;
  font-size:14px;
}
.seo-directory-grid small{
  color:#94a0b4;
  font-size:13px;
  text-align:right;
}
.seo-directory-location{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
}
.seo-directory-location__communes{
  padding-left:7px;
  border-left:1px solid #d9e0e7;
  color:#8390a3;
  font-size:10px;
}
.seo-directory-grid a:hover span,
.seo-directory-location__communes:hover{
  text-decoration:underline;
}
.seo-directory-back-row{
  margin-top:20px;
}
.seo-directory-back-row a{
  color:#0879c4;
  font-size:14px;
}
.seo-directory-updated{
  margin-top:28px;
  color:#8b97a8;
  font-size:11px;
}
@media(max-width:900px){
  .seo-directory-page{padding:26px 22px 110px}
  .seo-directory-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:24px;
  }
}
@media(max-width:520px){
  .seo-directory-page{padding:22px 16px 110px}
  .seo-directory-hero h1{font-size:21px}
  .seo-directory-hero p{font-size:13px}
  .seo-directory-grid{grid-template-columns:1fr}
  .seo-directory-contract-tabs,
  .seo-directory-category-tabs,
  .seo-directory-type-tabs{gap:8px 22px}
}


/* v78 — ordine completo tipologie e province verso le pagine Comuni */
.seo-directory-type-tabs--all{
  flex-wrap:wrap;
  gap:0 24px;
  padding-bottom:2px;
}
.seo-directory-type-tabs--all a{
  padding-top:11px;
  padding-bottom:11px;
}
@media(max-width:760px){
  .seo-directory-type-tabs--all{
    flex-wrap:nowrap;
  }
}


/* v80 — tipologie SEO su più righe */
.home-seo-types,
.seo-directory-type-tabs,
.seo-directory-type-tabs--all,
.seo-directory-category-tabs{
  flex-wrap:wrap!important;
  overflow:visible!important;
  row-gap:0!important;
}

.home-seo-types a,
.seo-directory-type-tabs a,
.seo-directory-category-tabs a{
  white-space:normal!important;
}

@media(min-width:761px){
  .home-seo-types{
    padding-top:2px;
    padding-bottom:2px;
  }
  .home-seo-types a{
    padding:10px 4px;
  }
  .seo-directory-type-tabs,
  .seo-directory-category-tabs{
    padding-top:2px;
  }
}

@media(max-width:760px){
  .home-seo-types,
  .seo-directory-type-tabs,
  .seo-directory-category-tabs{
    gap:0 18px!important;
  }
}


/* v81 — messaggio diagnostico quando l'API dei Comuni non restituisce righe */
.seo-directory-empty{
  grid-column:1 / -1;
  margin:8px 0 0;
  padding:18px 20px;
  border:1px solid #dce4eb;
  border-radius:12px;
  background:#f8fafc;
  color:#667085;
  font-size:14px;
}

/* v84 — gerarchia SEO contratto > categoria > tipologia */
.home-seo-category-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:0 24px;
  border-bottom:1px solid #dce3e9;
}
.home-seo-category-tabs a{
  padding:11px 4px;
  color:#344054;
  font-size:14px;
}
.home-seo-category-tabs a.is-active,
.home-seo-category-tabs a:hover{
  color:#0879c4;
  border-bottom:2px solid #4e9bd0;
}


/* v85 — contenuti Home nelle landing SEO */
.seo-landing-search{
  max-width:860px;
  margin:0 auto 28px;
  padding:0 16px;
}
.seo-landing-search .home-search-box{
  position:relative;
  width:100%;
  margin:0;
}
.seo-landing-search--compact{
  max-width:720px;
  margin-bottom:22px;
}
.seo-directory-recent,
.seo-directory-actions{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}
.seo-directory-actions{
  margin-bottom:34px;
}

.seo-directory-province-cta{
  display:inline-flex;
  align-items:center;
  margin:4px 0 22px;
  color:#0879c9;
  font-weight:700;
  text-decoration:none;
}
.seo-directory-province-cta:hover{
  text-decoration:underline;
}

.seo-directory-neighbors{
  margin-top:34px;
  padding-top:20px;
  border-top:1px solid #d8dee6;
}
.seo-directory-neighbors h2{
  margin:0 0 14px;
  font-size:18px;
}
.seo-directory-neighbors div{
  display:flex;
  flex-wrap:wrap;
  gap:8px 0;
}
.seo-directory-neighbors a{
  color:#344054;
  text-decoration:none;
}
.seo-directory-neighbors a:not(:last-child)::after{
  content:",";
  margin-right:6px;
}
.seo-directory-neighbors a:hover{
  color:#0879c9;
  text-decoration:underline;
}

@media(max-width:760px){
  .seo-landing-search{
    padding:0;
    margin-bottom:20px;
  }
  .seo-directory-page > .recent-section,
  .seo-directory-page > .recently-viewed,
  .seo-directory-page > .bottom-action-list{
    padding-left:14px;
    padding-right:14px;
  }
  .seo-directory-province-cta{
    line-height:1.45;
  }
}


/* v86 — hero completo nelle landing SEO */
.seo-directory-page{
  scroll-margin-top:0;
}
.seo-landing-hero{
  width:100%;
  margin:0 0 0;
}
.seo-landing-search:not(.seo-landing-search--compact){
  position:relative;
  z-index:5;
  margin-top:-46px;
  margin-bottom:34px;
}
.seo-directory-hero{
  scroll-margin-top:84px;
}

@media(min-width:761px){
  .seo-landing-hero{
    height:260px;
  }
}

@media(max-width:760px){
  .seo-landing-hero{
    height:188px;
  }
  .seo-landing-hero 
  .seo-landing-hero h1{
    font-size:29px;
  }
  .seo-landing-search:not(.seo-landing-search--compact){
    margin-top:-36px;
    padding:0 16px;
  }
  .seo-directory-hero{
    scroll-margin-top:72px;
  }
}


/* v87 — sfondo hero casuale anche nelle directory dei Comuni */


.seo-landing-hero--compact{
  height:150px;
  min-height:150px;
}

.seo-landing-hero--compact + .seo-landing-search--compact{
  position:relative;
  z-index:5;
  margin-top:-46px;
  margin-bottom:28px;
}

@media(max-width:760px){
  .seo-landing-hero--compact{
    height:132px;
    min-height:132px;
  }

  .seo-landing-hero--compact + .seo-landing-search--compact{
    margin-top:-38px;
    padding:0 16px;
    margin-bottom:22px;
  }
}


/* v90 — hero e form delle pagine Comuni con le stesse misure della Home */
.seo-landing-hero--compact{
  width:100%;
  height:260px;
  min-height:260px;
}
.seo-landing-search--compact{
  max-width:860px;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:34px;
  padding:0 16px;
}
.seo-landing-hero--compact + .seo-landing-search--compact{
  position:relative;
  z-index:5;
  margin-top:-46px;
  margin-bottom:34px;
}
.seo-landing-hero--compact 
.seo-landing-hero--compact h1{
  font-size:40px;
  line-height:1.08;
  letter-spacing:-1px;
}

@media(max-width:760px){
  .seo-landing-hero--compact{
    height:188px;
    min-height:188px;
  }
  .seo-landing-hero--compact + .seo-landing-search--compact{
    margin-top:-36px;
    margin-bottom:24px;
    padding:0 16px;
  }
  .seo-landing-hero--compact 
  .seo-landing-hero--compact h1{
    font-size:29px;
    letter-spacing:-.7px;
  }
}


/* v91 — hero attaccato alla navbar e liste SEO in ordine verticale */
.seo-directory-page{
  padding-top:0;
}

/*
 * L'HTML è già ordinato alfabeticamente.
 * grid-auto-flow:column riempie prima la colonna dall'alto verso il basso
 * e soltanto dopo passa alla colonna successiva.
 */
.seo-directory-grid--vertical{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(var(--directory-rows-desktop),auto);
  grid-auto-flow:column;
  align-content:start;
}

@media(max-width:900px){
  .seo-directory-grid--vertical{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(var(--directory-rows-tablet),auto);
    grid-auto-flow:column;
  }
}

@media(max-width:520px){
  .seo-directory-page{
    padding-top:0;
  }

  .seo-directory-grid--vertical{
    display:flex;
    flex-direction:column;
  }
}


/* v92 — province della Home ordinate verticalmente */
.home-seo-province-grid--vertical{
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(var(--home-province-rows-desktop),auto);
  grid-auto-flow:column;
  align-content:start;
}

@media(max-width:760px){
  .home-seo-province-grid--vertical{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(var(--home-province-rows-tablet),auto);
    grid-auto-flow:column;
  }
}

@media(max-width:390px){
  .home-seo-province-grid--vertical{
    display:flex;
    flex-direction:column;
  }
}


/* v93 — menu SEO mobile su una sola riga con scorrimento orizzontale */
@media(max-width:760px){
  .home-seo-contracts,
  .home-seo-category-tabs,
  .home-seo-types,
  .seo-directory-contract-tabs,
  .seo-directory-category-tabs,
  .seo-directory-type-tabs,
  .seo-directory-type-tabs--all{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:0 24px!important;
    width:100%;
    max-width:100%;
    padding-left:2px;
    padding-right:18px;
    scroll-snap-type:x proximity;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    scrollbar-color:#c8d0da transparent;
  }

  .home-seo-contracts a,
  .home-seo-category-tabs a,
  .home-seo-types a,
  .seo-directory-contract-tabs a,
  .seo-directory-category-tabs a,
  .seo-directory-type-tabs a,
  .seo-directory-type-tabs--all a{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    scroll-snap-align:start;
    padding-top:11px;
    padding-bottom:11px;
  }

  .home-seo-contracts::-webkit-scrollbar,
  .home-seo-category-tabs::-webkit-scrollbar,
  .home-seo-types::-webkit-scrollbar,
  .seo-directory-contract-tabs::-webkit-scrollbar,
  .seo-directory-category-tabs::-webkit-scrollbar,
  .seo-directory-type-tabs::-webkit-scrollbar,
  .seo-directory-type-tabs--all::-webkit-scrollbar{
    height:3px;
  }

  .home-seo-contracts::-webkit-scrollbar-track,
  .home-seo-category-tabs::-webkit-scrollbar-track,
  .home-seo-types::-webkit-scrollbar-track,
  .seo-directory-contract-tabs::-webkit-scrollbar-track,
  .seo-directory-category-tabs::-webkit-scrollbar-track,
  .seo-directory-type-tabs::-webkit-scrollbar-track,
  .seo-directory-type-tabs--all::-webkit-scrollbar-track{
    background:transparent;
  }

  .home-seo-contracts::-webkit-scrollbar-thumb,
  .home-seo-category-tabs::-webkit-scrollbar-thumb,
  .home-seo-types::-webkit-scrollbar-thumb,
  .seo-directory-contract-tabs::-webkit-scrollbar-thumb,
  .seo-directory-category-tabs::-webkit-scrollbar-thumb,
  .seo-directory-type-tabs::-webkit-scrollbar-thumb,
  .seo-directory-type-tabs--all::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:#c8d0da;
  }
}


/* v94 — dettaglio annuncio: galleria, fullscreen e navigazione tra risultati */
.detail-page-body .site-header{
  position:sticky;
  top:0;
  z-index:100;
}
.detail-page-body .header-inner{
  justify-content:flex-start;
}
.detail-page-body .brand{
  margin-right:auto;
}
.detail-header-back{
  width:42px;
  height:42px;
  flex:0 0 42px;
  margin-right:10px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#17324d;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.detail-header-back:hover{background:#f1f5f8}
.detail-header-back svg,
.detail-round svg,
.detail-photo-arrow svg,
.detail-list-navigation svg,
.detail-lightbox svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.detail-list-navigation{
  position:absolute;
  left:18px;
  top:18px;
  z-index:5;
  min-height:42px;
  display:flex;
  align-items:center;
  gap:5px;
  padding:3px 6px;
  border-radius:999px;
  background:rgba(18,35,52,.72);
  color:#fff;
  backdrop-filter:blur(7px);
}
.detail-list-navigation button,.detail-list-navigation a{
  width:32px;
  height:32px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.detail-list-navigation button:hover:not(:disabled),.detail-list-navigation a:hover:not([aria-disabled="true"]){background:#ffffff24}
.detail-list-navigation button:disabled,.detail-list-navigation a[aria-disabled="true"]{opacity:.3;cursor:default}
.detail-list-navigation span{
  min-width:72px;
  text-align:center;
  font-size:14px;
  font-weight:800;
}
.detail-list-navigation b{font-weight:900}

.detail-photo-arrow{
  position:absolute;
  top:50%;
  z-index:6;
  width:46px;
  height:46px;
  margin-top:-23px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.95);
  color:#17324d;
  box-shadow:0 4px 16px #102b4135;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.detail-photo-arrow--left{left:18px}
.detail-photo-arrow--right{right:18px}
.detail-photo-arrow[hidden]{display:none}
.detail-fullscreen{right:126px}
.detail-share{right:72px}
.detail-round svg{width:21px;height:21px}
.detail-share.is-complete{background:#eaf7ef;color:#16814b}

.detail-lightbox{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:68px 76px;
  background:rgba(5,14,23,.96);
}
.detail-lightbox.is-open{display:flex}
.detail-lightbox img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  user-select:none;
}
.detail-lightbox-close{
  position:absolute;
  top:18px;
  right:18px;
  width:48px;
  height:48px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#17324d;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.detail-lightbox-arrow{
  position:absolute;
  top:50%;
  width:52px;
  height:52px;
  margin-top:-26px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#17324d;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.detail-lightbox-arrow--left{left:18px}
.detail-lightbox-arrow--right{right:18px}
.detail-lightbox-arrow[hidden]{display:none}
.detail-lightbox-count{
  position:absolute;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  padding:8px 13px;
  border-radius:999px;
  background:#fff;
  color:#17324d;
  font-weight:900;
}
.detail-lightbox-open{overflow:hidden}

@media(max-width:850px){
  .detail-page-body .site-header{
    height:66px;
  }
  .detail-page-body .header-inner{
    padding:0 12px;
  }
  .detail-page-body .brand img{
    width:166px;
    height:auto;
  }
  .detail-list-navigation{
    top:12px;
    left:10px;
  }
  .detail-photo-arrow{
    width:42px;
    height:42px;
    margin-top:-21px;
  }
  .detail-photo-arrow--left{left:12px}
  .detail-photo-arrow--right{right:12px}
  .detail-fullscreen{right:116px}
  .detail-share{right:65px}
  .detail-favorite{right:14px}
  .detail-round{
    top:12px;
    width:40px;
    height:40px;
  }
  .detail-lightbox{
    padding:64px 12px 58px;
  }
  .detail-lightbox-arrow{
    width:42px;
    height:42px;
    margin-top:-21px;
    background:rgba(255,255,255,.94);
  }
  .detail-lightbox-arrow--left{left:10px}
  .detail-lightbox-arrow--right{right:10px}
}


/* v95 — correzioni funzionali dettaglio annuncio */
.detail-gallery-track{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-x:contain;
  overscroll-behavior-y:none;
  touch-action:pan-x pinch-zoom;
  -webkit-overflow-scrolling:touch;
}
.detail-photo{
  overflow:hidden;
  touch-action:pan-x pinch-zoom;
}
.detail-photo img{
  display:block;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}
.detail-lightbox{
  touch-action:none;
}
.detail-action-notice{
  position:fixed;
  left:50%;
  bottom:105px;
  z-index:1200;
  transform:translate(-50%,16px);
  padding:11px 17px;
  border-radius:999px;
  background:#10283e;
  color:#fff;
  font-size:14px;
  font-weight:800;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
}
.detail-action-notice.is-visible{
  opacity:1;
  transform:translate(-50%,0);
}
.detail-list-navigation[hidden]{
  display:none!important;
}


/* v96 — dettagli annuncio allineati all'app */
.detail-header-back{
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
  margin-right:3px!important;
  padding:5px!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.detail-header-back:hover{
  background:transparent!important;
}
.detail-header-back svg{
  width:20px!important;
  height:20px!important;
  stroke-width:1.8!important;
}

/* Contatore annunci senza pillola o sfondo */
.detail-list-navigation{
  min-height:auto!important;
  padding:0!important;
  gap:2px!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  text-shadow:0 1px 4px rgba(0,0,0,.75);
}
.detail-list-navigation button,.detail-list-navigation a{
  width:28px!important;
  height:30px!important;
  padding:4px!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.detail-list-navigation button:hover:not(:disabled),.detail-list-navigation a:hover:not([aria-disabled="true"]){
  background:transparent!important;
}
.detail-list-navigation span{
  min-width:auto!important;
  padding:0 3px;
  font-size:15px!important;
  font-weight:800!important;
}
.detail-list-navigation svg{
  width:20px!important;
  height:20px!important;
  stroke-width:2.2!important;
}

/* Rimosso il pulsante fullscreen: la foto resta cliccabile */
.detail-fullscreen{
  display:none!important;
}
.detail-share{
  right:68px!important;
}

/* Barra azioni mobile uguale all'app */
@media(max-width:850px){
  .detail-page-body .header-inner{
    padding-left:14px!important;
    padding-right:12px!important;
  }
  .detail-page-body .brand img{
    width:158px!important;
  }

  .detail-list-navigation{
    top:16px!important;
    left:18px!important;
  }

  .detail-bottom-actions{
    gap:8px!important;
    justify-content:flex-start!important;
    padding:
      9px max(14px,env(safe-area-inset-right))
      calc(9px + env(safe-area-inset-bottom))
      max(14px,env(safe-area-inset-left))!important;
  }

  .detail-bottom-actions .detail-bottom-action{
    min-height:52px;
    border-radius:11px;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    padding:0 11px!important;
    font-size:15px!important;
    font-weight:900!important;
    line-height:1!important;
  }

  .detail-bottom-actions .detail-bottom-action svg{
    width:21px!important;
    height:21px!important;
    flex:0 0 21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .detail-bottom-actions .detail-bottom-action span{
    font-size:14px!important;
    font-weight:900!important;
  }

  .detail-bottom-action--phone{
    flex:0 0 54px!important;
    width:54px!important;
    padding:0!important;
    background:#22a447!important;
    color:#fff!important;
    border:1px solid #22a447!important;
  }

  .detail-bottom-action--message{
    flex:1 1 auto!important;
    background:#e56a20!important;
    color:#fff!important;
    border:1px solid #e56a20!important;
  }

  .detail-bottom-action--visit{
    flex:0 0 106px!important;
    width:106px!important;
    background:#fff!important;
    color:#8a5a3a!important;
    border:1.5px solid #8a5a3a!important;
  }
}

@media(max-width:380px){
  .detail-bottom-action--visit{
    flex-basis:94px!important;
    width:94px!important;
  }
  .detail-bottom-actions .detail-bottom-action{
    padding-left:7px!important;
    padding-right:7px!important;
  }
}


/* v97 — toggle mappa/lista mobile e scheda interamente cliccabile */
.results-mobile-view-icon--list{
  display:none;
}

@media(max-width:760px){
  .results-mobile-quick--map.is-list-mode .results-mobile-view-icon--map{
    display:none;
  }
  .results-mobile-quick--map.is-list-mode .results-mobile-view-icon--list{
    display:block;
  }

  /* Il ritorno alla lista usa il pulsante fisso nella barra superiore. */
  .results-map-mobile-close{
    display:none!important;
  }

  .result-property-card[data-detail-url]{
    cursor:pointer;
  }

  .result-property-card[data-detail-url]:focus-visible{
    outline:2px solid #1683d8;
    outline-offset:2px;
  }
}


/* v98 — icone risultati e pagina login */
.results-mobile-quick--filters svg{
  width:24px!important;
  height:24px!important;
  stroke-width:1.9!important;
}
.results-mobile-action--profile{
  color:#17324d!important;
}
@media(max-width:760px){
  .results-mobile-appbar{
    grid-template-columns:42px minmax(0,1fr) 38px 38px!important;
    gap:4px!important;
  }
  .results-mobile-action{
    width:38px!important;
    height:38px!important;
    flex-basis:38px!important;
  }
  .results-mobile-action svg{
    width:23px!important;
    height:23px!important;
  }
}

.login-page-body{
  background:#fff;
}
.login-page-body .site-header{
  display:none;
}
.login-page{
  min-height:calc(100vh - 220px);
  padding:42px 20px 70px;
}
.login-shell{
  width:min(500px,100%);
  margin:0 auto;
}
.login-mobile-header{
  display:none;
}
.login-card h1{
  margin:0;
  color:#172433;
  font-size:30px;
  line-height:1.15;
  font-weight:900;
}
.login-card>p{
  margin:10px 0 28px;
  color:#6d747c;
  font-size:16px;
}
.login-form{
  display:grid;
  gap:14px;
}
.login-form label>span:first-child{
  display:block;
  margin:0 0 7px;
  color:#172433;
  font-size:14px;
  font-weight:800;
}
.login-field{
  min-height:58px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 14px;
  border:1px solid #d7dee5;
  border-radius:12px;
  background:#fff;
}
.login-field:focus-within{
  border-color:#337ab7;
  box-shadow:0 0 0 3px rgba(51,122,183,.12);
}
.login-field>svg,
.login-password-toggle svg{
  width:22px;
  height:22px;
  flex:0 0 22px;
  fill:none;
  stroke:#337ab7;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.login-field input{
  min-width:0;
  flex:1;
  height:56px;
  border:0;
  outline:0;
  background:transparent;
  color:#172433;
  font:inherit;
  font-size:16px;
}
.login-password-toggle{
  width:40px;
  height:40px;
  border:0;
  background:transparent;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.login-submit{
  width:100%;
  height:54px;
  margin-top:4px;
  border:0;
  border-radius:9px;
  background:#337ab7;
  color:#fff;
  font-size:17px;
  font-weight:850;
  cursor:pointer;
}
.login-submit:disabled{opacity:.7}
.login-spinner{
  width:22px;
  height:22px;
  display:inline-block;
  border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  border-radius:50%;
  animation:login-spin .8s linear infinite;
}
@keyframes login-spin{to{transform:rotate(360deg)}}
.login-error{
  padding:13px;
  border-radius:8px;
  background:#fff1ec;
  color:#8d3217;
  font-weight:750;
}
.login-divider{
  display:flex;
  align-items:center;
  gap:12px;
  margin:24px 0 20px;
  color:#6d747c;
}
.login-divider::before,
.login-divider::after{
  content:"";
  height:1px;
  flex:1;
  background:#dfe4e8;
}
.login-social{
  width:100%;
  height:56px;
  margin-bottom:12px;
  border:1px solid #d7dee5;
  border-radius:12px;
  background:#fff;
  color:#172433;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
}
.login-social-logo{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-weight:900;
  font-size:20px;
}
.login-social-logo--google{
  color:#4285f4;
  border:1px solid #dfe4e8;
  background:#fff;
}
.login-social-logo--facebook{
  background:#1877f2;
  color:#fff;
}
.login-register{
  margin:28px 0 0!important;
  text-align:center;
  color:#172433!important;
  font-size:15px!important;
}
.login-register a{
  color:#337ab7;
  font-weight:850;
  text-decoration:none;
}
.login-bottom-nav{display:none}

@media(max-width:760px){
  .login-page-body{
    padding-bottom:88px;
  }
  .login-page{
    padding:0 22px 35px;
    min-height:100vh;
  }
  .login-mobile-header{
    height:66px;
    margin:0 -22px 20px;
    padding:0 17px;
    display:grid;
    grid-template-columns:36px minmax(0,1fr) 36px;
    align-items:center;
    border-bottom:1px solid #edf0f3;
  }
  .login-mobile-header a{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    color:#172433;
  }
  .login-mobile-header svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .login-mobile-header img{
    width:190px;
    max-width:100%;
    margin:auto;
  }
  .login-card h1{
    font-size:27px;
  }
  .login-card>p{
    font-size:15px;
  }
  .login-bottom-nav{
    display:flex;
  }
  .login-page-body .site-footer{
    display:none;
  }
}


/* v99 — login senza doppia intestazione e loghi social ufficiali */
.login-page-body .site-header{
  display:none!important;
}
.login-social-logo{
  border:0!important;
  background:transparent!important;
}
.login-social-logo svg{
  width:27px;
  height:27px;
  display:block;
}


/* v100 — stato spinner e loghi social caricati dagli asset forniti */
.login-spinner[hidden],
.login-submit span[hidden]{
  display:none!important;
}
.login-social-logo img{
  width:27px;
  height:27px;
  display:block;
  object-fit:contain;
}


/* v101 — area personale */
.personal-area-body{
  background:#f5f7f9;
  padding-bottom:0;
}
.personal-area-body .site-footer{display:none}
.personal-area{
  min-height:100vh;
  color:#15283b;
}
.personal-area-appbar{
  height:72px;
  padding:0 22px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  align-items:center;
  border-bottom:1px solid #e6ebef;
  background:#fff;
  position:sticky;
  top:0;
  z-index:20;
}
.personal-area-appbar>a,
.personal-area-appbar>button{
  width:40px;height:40px;border:0;background:transparent;color:#15283b;
  display:grid;place-items:center;cursor:pointer;
}
.personal-area-appbar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.personal-area-appbar img{width:188px;max-width:100%;margin:auto}
.personal-area-shell{width:min(980px,calc(100% - 36px));margin:0 auto;padding:30px 0 110px}
.account-loading{min-height:55vh;display:grid;place-content:center;justify-items:center;gap:14px}
.account-loading span{width:38px;height:38px;border:3px solid #d9e5ee;border-top-color:#e56a20;border-radius:50%;animation:login-spin .8s linear infinite}
.account-loading p{color:#6b7885}
.account-error{text-align:center;padding:70px 20px}
.account-error h1{font-size:30px;margin:0 0 10px}
.account-error p{color:#6b7885}
.account-error button{border:0;border-radius:10px;background:#e56a20;color:#fff;padding:13px 24px;font-weight:850}
.account-welcome{display:flex;align-items:center;gap:17px;margin-bottom:24px}
.account-avatar{width:72px;height:72px;flex:0 0 72px;border-radius:22px;background:#e9f4fc;color:#337ab7;display:grid;place-items:center;font-size:25px;font-weight:900}
.account-role{display:inline-flex;padding:4px 10px;border-radius:999px;background:#fff0e7;color:#d75d15;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.account-welcome h1{margin:7px 0 3px;font-size:29px;line-height:1.05}
.account-welcome p{margin:0;color:#6b7885}
.account-tabs{display:flex;gap:6px;padding:5px;background:#e9eef2;border-radius:14px;margin-bottom:22px}
.account-tabs button{flex:1;min-height:44px;border:0;border-radius:10px;background:transparent;color:#566574;font-weight:850;cursor:pointer}
.account-tabs button.is-active{background:#fff;color:#337ab7;box-shadow:0 2px 8px rgba(25,55,80,.08)}
.account-panel{display:none}
.account-panel.is-active{display:block}
.account-panel>h2{font-size:20px;margin:0 0 14px}
.account-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.account-action{min-height:92px;padding:16px;border:1px solid #e0e6eb;border-radius:17px;background:#fff;display:grid;grid-template-columns:46px minmax(0,1fr) 22px;align-items:center;gap:12px;color:#15283b;text-decoration:none;box-shadow:0 6px 18px rgba(25,55,80,.045)}
.account-action>span{width:46px;height:46px;border-radius:14px;background:#edf6fc;color:#337ab7;display:grid;place-items:center}
.account-action>span svg,.account-action>svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.account-action>svg{color:#8b98a4}
.account-action strong{display:block;font-size:16px;margin-bottom:4px}
.account-action small{display:block;color:#6b7885;line-height:1.35}
.account-action--professional,.account-action--admin{display:none}
.personal-area.is-professional .account-action--professional{display:grid}
.personal-area.is-professional .account-action--private{display:none}
.personal-area.is-admin .account-action--admin{display:grid}
.account-form-card{padding:22px;border:1px solid #e0e6eb;border-radius:18px;background:#fff;margin-bottom:15px}
.account-form-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}
.account-form-heading>span{width:44px;height:44px;flex:0 0 44px;border-radius:13px;background:#edf6fc;color:#337ab7;display:grid;place-items:center}
.account-form-heading svg,.account-primary-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.account-form-heading h2{font-size:18px;margin:1px 0 4px}
.account-form-heading p{margin:0;color:#6b7885;font-size:14px}
.account-fields{display:grid;gap:14px}
.account-fields--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.account-field--wide{grid-column:1/-1}
.account-field>span{display:block;margin:0 0 7px;font-size:13px;font-weight:850}
.account-field input,.account-field textarea{box-sizing:border-box;width:100%;border:1px solid #d8e0e6;border-radius:11px;background:#fff;padding:13px 14px;color:#15283b;font:inherit;outline:none}
.account-field input:focus,.account-field textarea:focus{border-color:#337ab7;box-shadow:0 0 0 3px rgba(51,122,183,.1)}
.account-field input:disabled{background:#f3f5f7;color:#77838e}
.account-switch{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid #edf0f2;cursor:pointer}
.account-switch:first-of-type{border-top:0}
.account-switch span{min-width:0}
.account-switch strong,.account-switch small{display:block}
.account-switch small{margin-top:4px;color:#6b7885;line-height:1.35}
.account-switch input{position:absolute;opacity:0}
.account-switch i{width:46px;height:26px;flex:0 0 46px;border-radius:999px;background:#cbd3da;position:relative;transition:.2s}
.account-switch i::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.2s}
.account-switch input:checked+i{background:#337ab7}
.account-switch input:checked+i::after{transform:translateX(20px)}
.account-primary-button{width:100%;min-height:54px;border:0;border-radius:13px;background:#e56a20;color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;font-size:15px;font-weight:900;cursor:pointer}
.account-primary-button:disabled{opacity:.55}
.account-form-message{padding:13px 15px;border-radius:10px;margin:0 0 14px;font-weight:750}
.account-form-message.is-success{background:#e9f8ee;color:#16713c}
.account-form-message.is-error{background:#fff0ec;color:#9a321d}
.personal-bottom-nav{display:none}

@media(max-width:760px){
  .personal-area-body{padding-bottom:86px}
  .personal-area-appbar{height:66px;padding:0 12px}
  .personal-area-appbar img{width:176px}
  .personal-area-shell{width:100%;padding:22px 17px 35px;box-sizing:border-box}
  .account-avatar{width:60px;height:60px;flex-basis:60px;border-radius:18px;font-size:21px}
  .account-welcome h1{font-size:23px}
  .account-welcome p{font-size:13px}
  .account-action-grid{grid-template-columns:1fr}
  .account-action{min-height:82px}
  .account-fields--two{grid-template-columns:1fr}
  .account-field--wide{grid-column:auto}
  .account-form-card{padding:17px}
  .personal-bottom-nav{display:flex}
}


/* v102 — rispetta sempre l'attributo hidden nell'area personale */
.account-loading[hidden],
.account-error[hidden],
[data-account-content][hidden],
[data-professional-profile][hidden],
.account-form-message[hidden]{
  display:none!important;
}


/* v103 — immobili gestiti e navbar professionale */
.professional-bottom-nav{
  display:none;
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:90;
  min-height:76px;
  padding:8px 8px calc(8px + env(safe-area-inset-bottom));
  border-radius:24px 24px 0 0;
  background:#fff;
  box-shadow:0 -7px 22px rgba(25,55,80,.12);
  justify-content:space-around;
}
.professional-bottom-nav a{
  flex:1;min-width:0;color:#17324d;text-decoration:none;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;
}
.professional-bottom-nav span{height:29px;display:grid;place-items:center}
.professional-bottom-nav svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.professional-bottom-nav b{font-size:12px;font-weight:850}
.professional-bottom-nav a.active{color:#e56a20}
.professional-bottom-nav a.active i{width:34px;height:3px;border-radius:99px;background:#e56a20}

.personal-bottom-nav--professional{display:none}
.personal-area.is-professional ~ .personal-bottom-nav--professional{display:none}
.personal-area.is-professional ~ .personal-bottom-nav--private{display:none!important}

.my-listings-body{background:#f5f7f9;padding-bottom:95px}
.my-listings-body .site-footer{display:none}
.my-listings-page{width:min(760px,100%);margin:0 auto;min-height:100vh;background:#fff}
.my-listings-header{height:90px;padding:0 22px;display:flex;align-items:center;justify-content:space-between}
.my-listings-header img{width:190px}
.my-listings-header button,.my-listings-search button{border:0;background:transparent;color:#337ab7;display:grid;place-items:center}
.my-listings-header svg,.my-listings-search svg,.my-listings-toolbar svg,.managed-property-stats svg,.managed-property-edit svg{
  width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
}
.my-listings-search{padding:0 22px 20px}
.my-listings-search label{height:58px;border:1px solid #d7dee5;border-radius:16px;display:flex;align-items:center;gap:12px;padding:0 12px}
.my-listings-search label>svg{color:#337ab7}
.my-listings-search input{min-width:0;flex:1;height:56px;border:0;outline:0;font:inherit;font-size:16px}
.my-listings-toolbar{padding:16px 22px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0f2}
.my-listings-toolbar button{border:0;background:transparent;display:flex;align-items:center;gap:7px;color:#17324d;font-size:16px}
.my-listings-toolbar button:last-child{color:#337ab7}
.my-listings-status{min-height:280px;display:grid;place-content:center;justify-items:center;color:#6b7885}
.my-listings-status>span{width:34px;height:34px;border:3px solid #d9e5ee;border-top-color:#e56a20;border-radius:50%;animation:login-spin .8s linear infinite}
.my-listings-status[hidden],.my-listings-grid[hidden],.my-listings-load-more[hidden]{display:none!important}
.my-listings-error button,.my-listings-load-more{border:0;border-radius:10px;background:#337ab7;color:#fff;padding:12px 20px;font-weight:850}
.my-listings-grid{padding:8px 14px 24px;background:#f5f7f9}
.managed-property-card{overflow:hidden;margin-bottom:16px;border:1px solid #cfd7de;border-radius:20px;background:#fff;box-shadow:0 3px 10px rgba(25,55,80,.06)}
.managed-property-photo{position:relative;aspect-ratio:16/9;background:#e9eef2}
.managed-property-photo img{width:100%;height:100%;object-fit:cover}
.managed-property-badge,.managed-property-photo-count{position:absolute;bottom:13px;padding:7px 10px;border-radius:9px;background:#656565;color:#fff;font-weight:900}
.managed-property-badge{left:13px}.managed-property-photo-count{right:13px;background:rgba(0,0,0,.72)}
.managed-property-content{padding:16px}
.managed-property-price{font-size:25px;font-weight:900;margin-bottom:10px}
.managed-property-card h2{margin:0 0 14px;font-size:18px;line-height:1.35}
.managed-property-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px 8px;padding:13px;border:1px solid #e1e5e9;border-radius:13px;background:#f7f8fa}
.managed-property-stats>div{min-width:0}
.managed-property-stats small,.managed-property-stats strong{display:block}
.managed-property-stats small{color:#7a838c}.managed-property-stats strong{font-size:16px;margin-top:2px}
.managed-property-stats svg{width:19px;height:19px;color:#4e8caf;float:left;margin-right:5px}
.managed-property-edit{margin-top:12px;min-height:44px;border:1px solid #337ab7;border-radius:11px;color:#337ab7;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:850}
.my-listings-load-more{display:block;margin:0 auto 110px}

@media(max-width:760px){
  .professional-bottom-nav{display:flex}
  .personal-area.is-professional ~ .personal-bottom-nav--professional{display:flex}
  .personal-area.is-professional ~ .personal-bottom-nav--private{display:none!important}
}

@media(max-width:760px){
  body.is-professional-account .personal-bottom-nav--private{display:none!important}
  body.is-professional-account .personal-bottom-nav--professional{display:flex!important}
}


/* v104 — menu immobili, intestazione fissa e area personale stile app */
.my-listings-sticky{
  position:sticky;
  top:0;
  z-index:70;
  background:#fff;
  box-shadow:0 1px 0 #e9edf0;
}
.my-listings-menu-wrap{position:relative}
.my-listings-menu{
  position:absolute;
  top:calc(100% + 9px);
  left:0;
  width:250px;
  padding:0;
  overflow:hidden;
  border:1px solid #e0d9d4;
  border-radius:10px;
  background:#fff4ef;
  box-shadow:0 8px 22px rgba(24,38,52,.19);
  z-index:85;
}
.my-listings-menu--right{left:auto;right:0}
.my-listings-menu[hidden]{display:none!important}
.my-listings-menu button{
  width:100%;
  min-height:60px;
  padding:0 20px;
  border:0;
  border-bottom:1px solid rgba(80,60,50,.08);
  border-radius:0;
  background:transparent!important;
  color:#272727!important;
  display:flex!important;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
  font-size:17px!important;
  font-weight:500;
}
.my-listings-menu button:last-child{border-bottom:0}
.my-listings-menu button:hover,.my-listings-menu button:focus{background:#eee5e0!important}
.my-listings-caret{font-size:20px;line-height:1}
.my-listings-toolbar{overflow:visible}

.account-page-heading{margin:0 0 24px}
.account-page-heading h1{margin:0 0 5px;font-size:32px;line-height:1.05}
.account-page-heading p{margin:0;color:#737d86;font-size:16px}
.account-identity-card{
  min-height:176px;
  margin-bottom:28px;
  padding:25px 30px;
  border-radius:32px;
  background:linear-gradient(115deg,#15547a,#1976b9);
  color:#fff;
  display:flex;
  align-items:center;
  gap:26px;
  box-shadow:0 12px 28px rgba(30,88,130,.16);
}
.account-identity-card .account-avatar{
  width:128px;height:128px;flex:0 0 128px;border-radius:50%;
  background:#fff;color:#337ab7;overflow:hidden;
  display:grid;place-items:center;font-size:32px;
}
.account-avatar img{width:100%;height:100%;object-fit:contain;padding:10px;box-sizing:border-box}
.account-identity-copy h2{margin:0 0 8px;font-size:28px;line-height:1.1;color:#fff}
.account-identity-copy p{margin:0 0 14px;font-size:18px;color:#e8f4fb}
.account-identity-card .account-role{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.25);
  font-size:13px;
  padding:8px 16px;
  text-transform:none;
}
.account-tabs{
  margin-bottom:28px;
  border-radius:0;
  padding:0;
  background:#fff;
  box-shadow:0 2px 10px rgba(25,55,80,.05);
}
.account-tabs button{min-height:66px;border-radius:0;font-size:17px}
.account-tabs button.is-active{
  color:#337ab7;background:#fff;box-shadow:inset 0 -4px #337ab7;
}
.account-activity-card{
  padding:26px 28px 8px;
  border:1px solid #dce3e8;
  border-radius:30px;
  background:#fff;
  box-shadow:0 6px 18px rgba(25,55,80,.06);
}
.account-activity-heading{display:flex;gap:18px;align-items:flex-start;padding-bottom:18px}
.account-activity-heading>span{
  width:66px;height:66px;flex:0 0 66px;border-radius:20px;
  background:#edf6fc;color:#337ab7;display:grid;place-items:center
}
.account-activity-heading svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.account-activity-heading h2{margin:4px 0 5px;font-size:23px}
.account-activity-heading p{margin:0;color:#7b838a;font-size:16px;line-height:1.45}
.account-action-list .account-action{
  min-height:88px;
  padding:15px 0;
  border:0;
  border-top:1px solid #e8ecef;
  border-radius:0;
  box-shadow:none;
  grid-template-columns:54px minmax(0,1fr) 22px;
}
.account-action-list .account-action>span{
  width:48px;height:48px;border-radius:0;background:transparent
}
.account-action-list .account-action strong{font-size:18px}
.account-action-list .account-action small{font-size:14px}
.account-logout-button{
  width:100%;
  min-height:64px;
  margin:30px 0 10px;
  border:2px solid #d87832;
  border-radius:18px;
  background:transparent;
  color:#d2671f;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:18px;
  font-weight:850;
}
.account-logout-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:760px){
  .my-listings-header{height:82px}
  .my-listings-search{padding-bottom:14px}
  .my-listings-toolbar{padding-top:12px;padding-bottom:12px}
  .my-listings-menu{width:270px}
  .personal-area-shell{padding-top:26px}
  .account-page-heading h1{font-size:29px}
  .account-page-heading p{font-size:15px}
  .account-identity-card{
    min-height:148px;padding:22px;border-radius:28px;gap:20px
  }
  .account-identity-card .account-avatar{width:100px;height:100px;flex-basis:100px}
  .account-identity-copy h2{font-size:24px}
  .account-identity-copy p{font-size:16px}
  .account-tabs button{min-height:60px;font-size:16px}
  .account-activity-card{padding:21px 22px 5px;border-radius:26px}
  .account-activity-heading>span{width:58px;height:58px;flex-basis:58px}
  .account-activity-heading h2{font-size:21px}
  .account-activity-heading p{font-size:14px}
  .account-action-list .account-action{min-height:80px}
  .account-action-list .account-action strong{font-size:17px}
}


/* v105 — destinazione login per ruolo e freccia filtro allineata */
.my-listings-toolbar [data-listings-filter]{
  align-items:center;
  gap:7px;
  line-height:1;
}
.my-listings-toolbar [data-listings-filter] strong{
  display:inline-flex;
  align-items:center;
  line-height:1.15;
}
.my-listings-caret{
  width:20px;
  height:20px;
  display:inline-grid;
  place-items:center;
  flex:0 0 20px;
  margin-top:0;
}
.my-listings-caret svg{
  width:17px!important;
  height:17px!important;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* v107 — Salvati, Messaggi e navbar account autenticato */
.saved-page-body,.messages-page-body{background:#f6f7f9;padding-bottom:94px}
.saved-page-body .site-footer,.messages-page-body .site-footer{display:none}
.saved-page,.messages-page{width:min(760px,100%);min-height:100vh;margin:auto;background:#f6f7f9}
.logged-page-title{padding:42px 22px 24px;background:#fff;text-align:center}
.logged-page-title h1{margin:0;font-size:30px}
.saved-tabs{display:flex;background:#fff;border-bottom:1px solid #ded6cf}
.saved-tabs button{flex:1;min-height:72px;border:0;background:#fff;color:#6b7078;font-size:17px;font-weight:850;position:relative}
.saved-tabs button.is-active{color:#df681f}
.saved-tabs button.is-active::after{content:"";position:absolute;left:25%;right:25%;bottom:0;height:4px;border-radius:99px 99px 0 0;background:#df681f}
.logged-loading,.logged-empty{min-height:300px;display:grid;place-content:center;justify-items:center;text-align:center;color:#6c7884;padding:20px}
.logged-loading span{width:36px;height:36px;border:3px solid #d9e5ee;border-top-color:#e56a20;border-radius:50%;animation:login-spin .8s linear infinite}
.logged-loading[hidden],.logged-empty[hidden]{display:none!important}
.saved-panel{display:none;padding:18px}
.saved-panel.is-active{display:block}
.saved-property-grid{display:grid;gap:18px}
.saved-property-card{position:relative;overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 5px 18px rgba(25,55,80,.08)}
.saved-property-photo{display:block;aspect-ratio:16/10;position:relative;background:#e9eef2}
.saved-property-photo img{width:100%;height:100%;object-fit:cover}
.saved-property-photo span{position:absolute;left:16px;top:16px;padding:8px 12px;border-radius:10px;background:#666;color:#fff;font-size:12px;font-weight:900}
.saved-remove{position:absolute;right:16px;top:16px;width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:#e56a20;font-size:24px;box-shadow:0 2px 8px rgba(0,0,0,.14)}
.saved-property-content{padding:20px}
.saved-price{display:block;color:#e56a20;font-size:25px;margin-bottom:12px}
.saved-property-content h2{margin:0 0 8px;font-size:20px}
.saved-property-content h2 a{color:#15283b;text-decoration:none}
.saved-property-content p{margin:0;color:#337ab7;font-weight:750}
.saved-property-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid #e5e9ec}
.saved-property-actions a{min-height:48px;border-radius:13px;background:#eaf5fc;color:#2875a8;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:850}
.saved-search-list{display:grid;gap:13px}
.saved-search-card{border:1px solid #dce2e7;border-radius:18px;background:#fff;overflow:hidden}
.saved-search-card>a{padding:17px;display:grid;grid-template-columns:44px minmax(0,1fr) 20px;align-items:center;gap:12px;color:#15283b;text-decoration:none}
.saved-search-card>a>span{width:44px;height:44px;border-radius:13px;background:#edf6fc;color:#337ab7;display:grid;place-items:center;font-size:25px}
.saved-search-card h2{margin:0 0 4px;font-size:17px}.saved-search-card p{margin:0;color:#6d7781}
.saved-search-card button{width:100%;min-height:40px;border:0;border-top:1px solid #edf0f2;background:#fff;color:#d75d15;font-weight:800}
.saved-panel[hidden]{display:none!important}
.messages-page .logged-page-title{text-align:left}
.messages-list{display:grid;gap:14px;padding:18px}
.message-request-card{min-height:124px;padding:18px;border:1px solid #d9dfe4;border-radius:22px;background:#fff;display:grid;grid-template-columns:92px minmax(0,1fr) 22px;align-items:center;gap:16px}
.message-request-card>img{width:92px;height:92px;border-radius:14px;object-fit:cover;background:#e9eef2}
.message-request-top{display:flex;align-items:flex-start;gap:10px}
.message-request-top h2{flex:1;margin:0;font-size:17px;line-height:1.25}.message-request-top time{color:#7c858d;font-size:12px;white-space:nowrap}
.message-request-card p{margin:5px 0;color:#337ab7;font-weight:800}.message-request-card strong{color:#e56a20}
.message-request-card>span{font-size:32px}
.messages-more{display:block;margin:0 auto 110px;border:0;border-radius:11px;background:#337ab7;color:#fff;padding:12px 22px;font-weight:850}
.messages-more[hidden]{display:none!important}
.logged-bottom-nav{display:flex!important}
.logged-bottom-nav b{font-size:11px}
@media(min-width:761px){.logged-bottom-nav{display:none!important}.saved-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v108 — navbar diversa per privati e professionisti */
.logged-nav-host .logged-bottom-nav--professional{
  display:none!important;
}
.logged-nav-host.is-professional .logged-bottom-nav--private{
  display:none!important;
}
.logged-nav-host.is-professional .logged-bottom-nav--professional{
  display:flex!important;
}
.logged-bottom-nav[hidden]{
  display:none!important;
}


/* v109 — lista immobili compatta, carousel, badge e form annuncio */
.my-listings-sticky{
  top:0!important;
  z-index:95!important;
}
.my-listings-search{
  padding-bottom:8px!important;
}
.my-listings-search label{
  margin-bottom:0;
}
.my-listings-toolbar{
  border-top:0!important;
  padding-top:7px!important;
  padding-bottom:10px!important;
  margin-top:0!important;
}
.my-listings-header{
  padding-bottom:0;
}
.managed-property-photo{
  overflow:hidden;
  touch-action:pan-y;
}
.managed-property-photo-track{
  height:100%;
  display:flex;
  transition:transform .28s ease;
  will-change:transform;
}
.managed-property-photo-track img{
  flex:0 0 100%;
  width:100%;
  height:100%;
  object-fit:cover;
}
.managed-photo-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#17324d;
  box-shadow:0 3px 10px rgba(0,0,0,.16);
  font-size:31px;
  line-height:1;
  display:grid;
  place-items:center;
}
.managed-photo-arrow--prev{left:12px}
.managed-photo-arrow--next{right:12px}
.managed-photo-arrow[hidden]{display:none!important}
.managed-property-badge--standard{background:#666!important;color:#fff!important}
.managed-property-badge--top{background:#ef6c00!important;color:#fff!important}
.managed-property-badge--super{background:#ffd400!important;color:#17283a!important}
.managed-property-badge--mega{background:#8e44ec!important;color:#fff!important}

/* Form pubblicazione/modifica */
.listing-form-body{background:#f5f7f9;padding-bottom:100px}
.listing-form-body .site-footer{display:none}
.listing-form-page{width:min(860px,100%);margin:auto;min-height:100vh}
.listing-form-appbar{
  min-height:76px;padding:12px 18px;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;
  align-items:center;background:#fff;border-bottom:1px solid #e3e8ec;position:sticky;top:0;z-index:90
}
.listing-form-appbar>a{width:40px;height:40px;display:grid;place-items:center;color:#15283b}
.listing-form-appbar svg,.listing-form-submit svg,.listing-photo-picker svg,.listing-form-map-placeholder svg{
  width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
}
.listing-form-appbar h1{margin:0;text-align:center;font-size:21px}
.listing-form-appbar p{margin:3px 0 0;text-align:center;color:#76818b;font-size:12px}
.listing-form-tabs{
  position:sticky;top:76px;z-index:89;display:flex;overflow-x:auto;background:#fff;border-bottom:1px solid #dde3e8;scrollbar-width:none
}
.listing-form-tabs button{
  flex:1;min-width:max-content;min-height:54px;padding:0 18px;border:0;background:#fff;color:#65727e;font-weight:850;position:relative
}
.listing-form-tabs button.is-active{color:#337ab7}
.listing-form-tabs button.is-active::after{content:"";position:absolute;left:15px;right:15px;bottom:0;height:3px;border-radius:99px;background:#337ab7}
.listing-form-loading{min-height:55vh;display:grid;place-content:center;justify-items:center;color:#6b7885}
.listing-form-loading>span{width:38px;height:38px;border:3px solid #d9e5ee;border-top-color:#e56a20;border-radius:50%;animation:login-spin .8s linear infinite}
.listing-form-loading[hidden],[data-listing-form][hidden]{display:none!important}
.listing-form-panel{display:none;padding:18px}
.listing-form-panel.is-active{display:block}
.listing-form-card{padding:20px;margin-bottom:15px;border:1px solid #dfe5ea;border-radius:20px;background:#fff}
.listing-form-card h2{margin:0 0 18px;font-size:19px}
.listing-form-card>label,.listing-form-grid label,.listing-feature-row label{display:block;margin-bottom:14px}
.listing-form-card label>span,.listing-form-grid label>span{display:block;margin-bottom:7px;font-size:13px;font-weight:850}
.listing-form-card input,.listing-form-card select,.listing-form-card textarea{
  width:100%;min-height:48px;border:1px solid #d4dde4;border-radius:11px;background:#fff;padding:11px 13px;color:#15283b;outline:none
}
.listing-form-card textarea{resize:vertical}
.listing-form-card input:focus,.listing-form-card select:focus,.listing-form-card textarea:focus{border-color:#337ab7;box-shadow:0 0 0 3px rgba(51,122,183,.1)}
.listing-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.listing-form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.listing-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #edf0f2}
.listing-toggle span{margin:0!important}.listing-toggle strong,.listing-toggle small{display:block}.listing-toggle small{margin-top:3px;color:#75808b;font-weight:500}
.listing-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.listing-toggle i{width:46px;height:26px;flex:0 0 46px;border-radius:999px;background:#cbd3da;position:relative}
.listing-toggle i::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
.listing-toggle input:checked+i{background:#337ab7}.listing-toggle input:checked+i::after{transform:translateX(20px)}
.listing-form-map-placeholder{min-height:90px;border:1px dashed #b9cad7;border-radius:14px;background:#f4f9fc;color:#337ab7;display:flex;align-items:center;justify-content:center;gap:10px;padding:15px;text-align:center}
.listing-feature-row{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.listing-form-help{color:#6c7883;font-size:13px}
.listing-photo-picker{min-height:130px;border:2px dashed #a9c5da!important;border-radius:17px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;color:#337ab7;cursor:pointer}
.listing-photo-picker input{display:none}.listing-photo-picker strong,.listing-photo-picker small{display:block}.listing-photo-picker small{color:#77838d}
.listing-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.listing-photo-item{position:relative;aspect-ratio:1.25;border-radius:13px;overflow:hidden;background:#e9eef2}
.listing-photo-item img{width:100%;height:100%;object-fit:cover}
.listing-photo-item span{position:absolute;left:7px;bottom:7px;padding:4px 7px;border-radius:7px;background:rgba(0,0,0,.72);color:#fff;font-size:11px;font-weight:850}
.listing-photo-item button{position:absolute;right:6px;top:6px;width:28px;height:28px;border:0;border-radius:50%;background:#fff;color:#d64040;font-size:20px}
.listing-visibility-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.listing-visibility-options label{margin:0}.listing-visibility-options input{position:absolute;opacity:0}
.visibility-card{min-height:92px;border:2px solid transparent;border-radius:16px;padding:15px;display:flex;flex-direction:column;justify-content:center}
.visibility-card small{margin-top:6px;color:inherit;opacity:.75}
.visibility-card--standard{background:#eee;color:#333}.visibility-card--top{background:#fff0e6;color:#e85f00}.visibility-card--super{background:#fff8cc;color:#6f5e00}.visibility-card--mega{background:#f3e9ff;color:#7d35c7}
.listing-visibility-options input:checked+.visibility-card{border-color:#337ab7;box-shadow:0 0 0 3px rgba(51,122,183,.1)}
.listing-form-submit-wrap{position:sticky;bottom:78px;z-index:70;padding:10px 18px;background:linear-gradient(transparent,#f5f7f9 30%)}
.listing-form-submit{width:100%;min-height:56px;border:0;border-radius:14px;background:#e56a20;color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:900;font-size:16px}
.listing-form-submit:disabled{opacity:.55}
.listing-form-message{margin:0 18px 8px;padding:13px 15px;border-radius:11px;font-weight:800}
.listing-form-message.is-success{background:#e9f8ee;color:#16713c}.listing-form-message.is-error{background:#fff0ec;color:#9a321d}
.listing-form-message[hidden]{display:none!important}

@media(max-width:760px){
  .my-listings-search{padding:0 22px 6px!important}
  .my-listings-toolbar{padding:6px 28px 10px!important}
  .listing-form-panel{padding:13px}
  .listing-form-card{padding:16px}
  .listing-form-grid,.listing-form-grid--three{grid-template-columns:1fr}
  .listing-photo-grid{grid-template-columns:repeat(2,1fr)}
  .listing-visibility-options{grid-template-columns:1fr}
}


/* v110 — correzione carousel e spaziatura contatore */
.my-listings-toolbar [data-listings-filter] strong{
  gap:4px;
}


/* v111 — frecce centrate, logo cliccabile e navbar home autenticata */
.my-listings-logo{
  display:block;
  width:190px;
  line-height:0;
}
.my-listings-logo img{
  width:100%;
  height:auto;
}
.managed-photo-arrow{
  padding:0!important;
  font-size:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.managed-photo-arrow svg{
  width:22px;
  height:22px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transform:none!important;
}
.managed-photo-arrow[hidden]{
  display:none!important;
}
.home-authenticated-nav[hidden],
.home-public-bottom-nav[hidden]{
  display:none!important;
}
.home-authenticated-nav .logged-nav-host{
  display:block;
}
@media(max-width:760px){
  .home-authenticated-nav .logged-bottom-nav{
    display:flex;
  }
}


/* v112 — messaggi stile app e navbar autenticata nei risultati */
.messages-page-body{background:#f6f7f9;padding-bottom:96px}
.messages-page{width:min(700px,100%);margin:auto;min-height:100vh}
.messages-header{padding:30px 20px 15px;background:#fff}
.messages-header h1{margin:0;text-align:center;font-size:30px;line-height:1.1}
.messages-summary{display:flex;align-items:center;justify-content:space-between;margin-top:18px}
.messages-summary strong{color:#e14d45;font-size:15px}
.messages-summary button{border:0;background:transparent;color:#7b5135;font-size:15px;font-weight:800;padding:8px 0}
.messages-summary button:disabled{opacity:.45}
.messages-search{height:58px;margin-top:18px;border:1px solid #dce1e6;border-radius:16px;background:#f7f8fa;display:flex;align-items:center;padding:0 14px}
.messages-search>svg{width:25px;height:25px;flex:0 0 25px;color:#343c44}
.messages-search input{flex:1;min-width:0;border:0;background:transparent;outline:0;padding:0 12px;font-size:16px}
.messages-search button{width:34px;height:34px;border:0;background:transparent;color:#6f7982;font-size:24px}
.messages-list{display:grid;gap:12px;padding:16px}
.message-conversation-card{min-height:128px;padding:13px;border:1px solid #dce1e6;border-radius:20px;background:#fff;display:grid;grid-template-columns:84px minmax(0,1fr) 20px;gap:13px;align-items:start;box-shadow:0 2px 7px rgba(25,55,80,.035);cursor:pointer}
.message-conversation-card.is-unread{background:#fff8f7}
.message-conversation-image{width:84px;height:84px;border-radius:14px;object-fit:cover;background:#eef2f5}
.message-conversation-copy{min-width:0}
.message-conversation-top{display:flex;align-items:center;gap:7px}
.message-conversation-top h2{min-width:0;flex:1;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:17px}
.message-conversation-top i{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#f04747}
.message-conversation-top time{color:#7f878e;font-size:12px;white-space:nowrap}
.message-conversation-reference{display:block;margin-top:5px;color:#d97834;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.message-conversation-copy p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:7px 0 0;color:#5e6770;line-height:1.3}
.message-conversation-status{display:block;margin-top:6px;color:#e04a43;font-size:12px}
.message-conversation-replies{display:block;margin-top:6px;color:#337ab7;font-size:12px}
.message-conversation-chevron{align-self:center;color:#6f7982;font-size:28px}
.results-authenticated-nav[hidden],
.results-public-bottom-nav[hidden]{display:none!important}
@media(max-width:760px){
  .messages-header{padding-top:22px}
  .messages-header h1{font-size:28px}
  .message-conversation-card{grid-template-columns:76px minmax(0,1fr) 18px}
  .message-conversation-image{width:76px;height:76px}
}


/* v113 — candidato LCP esplicito e stabile */








/* v114 — LCP mobile: picture in-flow, risorsa stabile e specifica per viewport */







@media(max-width:760px){
  
}


/* v115 navbar più bassa */
.mobile-bottom-nav,
.bottom-nav,
.app-bottom-nav{
  padding-top:4px!important;
  padding-bottom:calc(env(safe-area-inset-bottom,0px) + 2px)!important;
  min-height:60px!important;
}
.mobile-bottom-nav a,
.bottom-nav a,
.app-bottom-nav a{
  padding-top:2px!important;
}


/* v116 — footer completo Bilocale.it */
.site-footer{
  display:block;
  margin-top:52px;
  padding:0;
  background:#0878bb;
  color:#fff;
}
.bilocale-footer-grid{
  max-width:1180px;
  margin:auto;
  padding:44px 24px 38px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:34px 74px;
}
.bilocale-footer-group{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
}
.bilocale-footer-group h2{
  margin:0 0 2px;
  display:flex;
  align-items:center;
  gap:9px;
  color:#fff;
  font-size:15px;
  font-weight:900;
}
.bilocale-footer-group h2 svg{
  width:20px;
  height:20px;
  flex:0 0 20px;
  fill:none;
  stroke:#fff;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bilocale-footer-group a,
.bilocale-footer-group span{
  color:#fff;
  font-size:14px;
  line-height:1.4;
  opacity:.96;
}
.bilocale-footer-group a:hover{
  text-decoration:underline;
}
.bilocale-footer-language{
  flex-direction:row;
  align-items:center;
  gap:13px;
}
.bilocale-footer-language h2{
  margin:0;
}
.bilocale-footer-language span{
  padding-left:13px;
  border-left:1px solid rgba(255,255,255,.48);
  font-weight:800;
}
.bilocale-footer-bottom{
  background:#3294cc;
}
.bilocale-footer-bottom-inner{
  min-height:68px;
  max-width:1180px;
  margin:auto;
  padding:14px 24px;
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  font-size:13px;
}
.bilocale-footer-bottom-inner p{
  margin:0;
  white-space:nowrap;
}
.bilocale-footer-bottom-inner p+p{
  padding-left:12px;
  border-left:1px solid rgba(255,255,255,.55);
}
.bilocale-footer-bottom-inner nav{
  display:flex;
  flex-wrap:wrap;
  gap:7px 14px;
}
.bilocale-footer-bottom-inner nav a{
  color:#fff;
}
@media(max-width:760px){
  .site-footer{
    display:block!important;
    margin-top:36px;
    margin-bottom:60px;
  }
  .bilocale-footer-grid{
    grid-template-columns:1fr;
    gap:28px;
    padding:38px 20px 32px;
  }
  .bilocale-footer-group{
    gap:6px;
  }
  .bilocale-footer-group h2{
    font-size:16px;
  }
  .bilocale-footer-group a,
  .bilocale-footer-group span{
    padding-left:30px;
    font-size:15px;
  }
  .bilocale-footer-language span{
    padding-left:13px;
  }
  .bilocale-footer-bottom-inner{
    min-height:110px;
    padding:22px 20px;
    flex-direction:column;
    justify-content:center;
    gap:9px;
    text-align:center;
  }
  .bilocale-footer-bottom-inner p+p{
    padding-left:0;
    border-left:0;
  }
  .bilocale-footer-bottom-inner nav{
    justify-content:center;
  }
}


/* v117 — correzione spazio inferiore mobile */
@media(max-width:760px){
  body{
    padding-bottom:0!important;
  }
  .site-footer{
    margin-bottom:0!important;
  }
  .bilocale-footer-bottom{
    padding-bottom:72px;
  }
}


/* v118 — social footer e gestione consenso cookie */
.bilocale-footer-social{
  justify-content:flex-start;
}
.bilocale-social-links{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:7px;
}
.bilocale-social-links a{
  width:40px;
  height:40px;
  padding:9px!important;
  border:1px solid rgba(255,255,255,.5);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  transition:background .18s ease,transform .18s ease;
}
.bilocale-social-links a:hover{
  background:rgba(255,255,255,.16);
  transform:translateY(-2px);
  text-decoration:none;
}
.bilocale-social-links svg{
  width:21px!important;
  height:21px!important;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-cookie-settings{
  border:0;
  padding:0;
  background:transparent;
  color:#fff;
  font:inherit;
  cursor:pointer;
}
.footer-cookie-settings:hover{
  text-decoration:underline;
}

.cookie-banner[hidden],
.cookie-modal[hidden]{
  display:none!important;
}
.cookie-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:1000;
  padding:14px;
  opacity:0;
  transform:translateY(100%);
  transition:opacity .22s ease,transform .22s ease;
}
.cookie-banner.is-visible{
  opacity:1;
  transform:translateY(0);
}
.cookie-banner__content{
  width:min(1220px,100%);
  margin:auto;
  padding:18px 20px;
  border-radius:14px;
  background:#06476f;
  color:#fff;
  box-shadow:0 -8px 30px rgba(0,0,0,.22);
  display:flex;
  align-items:center;
  gap:24px;
}
.cookie-banner__text{
  flex:1;
}
.cookie-banner__text h2{
  margin:0 0 6px;
  color:#fff;
  font-size:17px;
}
.cookie-banner__text p{
  margin:0;
  font-size:13px;
  line-height:1.55;
}
.cookie-banner__text a{
  color:#fff;
  text-decoration:underline;
}
.cookie-banner__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
.cookie-button{
  min-height:44px;
  padding:10px 17px;
  border-radius:8px;
  border:1px solid #fff;
  font-weight:900;
  cursor:pointer;
}
.cookie-button--primary{
  background:#fff;
  color:#0878bb;
}
.cookie-button--secondary{
  background:transparent;
  color:#fff;
}
.cookie-banner .cookie-button--secondary:hover{
  background:rgba(255,255,255,.12);
}

.cookie-modal{
  position:fixed;
  inset:0;
  z-index:1010;
  display:grid;
  place-items:center;
  padding:18px;
  opacity:0;
  transition:opacity .18s ease;
}
.cookie-modal.is-visible{
  opacity:1;
}
.cookie-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,25,39,.66);
}
.cookie-modal__panel{
  position:relative;
  z-index:1;
  width:min(620px,100%);
  max-height:min(760px,calc(100vh - 36px));
  overflow:auto;
  border-radius:20px;
  background:#fff;
  box-shadow:0 25px 80px rgba(0,0,0,.3);
}
.cookie-modal__panel>header{
  padding:22px;
  border-bottom:1px solid #e5e9ed;
  display:flex;
  gap:16px;
  align-items:flex-start;
}
.cookie-modal__panel h2{
  margin:0 0 5px;
  font-size:23px;
}
.cookie-modal__panel header p{
  margin:0;
  color:#64717d;
  line-height:1.45;
}
.cookie-modal__close{
  margin-left:auto;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#eef3f6;
  color:#15283b;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}
.cookie-category{
  margin:0 22px;
  padding:20px 0;
  border-bottom:1px solid #e8ecef;
  display:flex;
  align-items:center;
  gap:20px;
}
.cookie-category>div{
  flex:1;
}
.cookie-category strong{
  display:block;
  margin-bottom:5px;
  font-size:16px;
}
.cookie-category p{
  margin:0;
  color:#64717d;
  font-size:13px;
  line-height:1.45;
}
.cookie-always-on{
  color:#28784a;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.cookie-category input{
  position:absolute;
  opacity:0;
}
.cookie-category i{
  width:48px;
  height:27px;
  flex:0 0 48px;
  border-radius:999px;
  background:#cbd4db;
  position:relative;
  transition:background .18s ease;
}
.cookie-category i::after{
  content:"";
  position:absolute;
  left:3px;
  top:3px;
  width:21px;
  height:21px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 5px rgba(0,0,0,.2);
  transition:transform .18s ease;
}
.cookie-category input:checked+i{
  background:#0878bb;
}
.cookie-category input:checked+i::after{
  transform:translateX(21px);
}
.cookie-modal__panel>footer{
  padding:18px 22px;
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.cookie-modal__panel .cookie-button--secondary{
  color:#0878bb;
  border-color:#0878bb;
}
.cookie-modal__panel .cookie-button--primary{
  color:#fff;
  border-color:#0878bb;
  background:#0878bb;
}
.cookie-noscript{
  margin:0;
  padding:10px;
  background:#fff4dc;
  color:#5c480d;
  text-align:center;
}

@media(max-width:760px){
  .bilocale-footer-social{
    align-items:center;
  }
  .bilocale-footer-social h2{
    align-self:flex-start;
  }
  .bilocale-social-links{
    width:100%;
    justify-content:center;
    margin-top:8px;
  }
  .bilocale-social-links a{
    padding:9px!important;
  }
  .cookie-banner{
    padding:8px;
    bottom:66px;
  }
  .cookie-banner__content{
    padding:16px;
    border-radius:15px;
    display:block;
  }
  .cookie-banner__text h2{
    font-size:16px;
  }
  .cookie-banner__text p{
    font-size:12px;
    line-height:1.48;
  }
  .cookie-banner__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    margin-top:13px;
  }
  .cookie-banner__actions .cookie-button--primary{
    grid-column:1/-1;
    grid-row:1;
  }
  .cookie-button{
    min-height:42px;
    padding:8px 10px;
    font-size:13px;
  }
  .cookie-modal{
    padding:0;
    place-items:end center;
  }
  .cookie-modal__panel{
    width:100%;
    max-height:92vh;
    border-radius:24px 24px 0 0;
  }
  .cookie-modal__panel>header{
    padding:20px 18px;
  }
  .cookie-category{
    margin:0 18px;
  }
  .cookie-modal__panel>footer{
    padding:15px 18px calc(15px + env(safe-area-inset-bottom,0px));
    flex-direction:column-reverse;
  }
  .cookie-modal__panel>footer .cookie-button{
    width:100%;
  }
}


/* v119 — banner cookie compatto, pulsanti funzionanti e logo X corretto */
.social-x-logo{
  width:21px!important;
  height:21px!important;
}
.cookie-banner{
  padding:0!important;
}
.cookie-banner__content{
  width:100%!important;
  max-width:none!important;
  min-height:112px;
  border-radius:0!important;
  padding:12px 18px!important;
  background:#06486f!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:22px!important;
}
.cookie-banner__text p{
  margin:0!important;
  max-width:920px;
  font-size:12.5px!important;
  line-height:1.48!important;
}
.cookie-inline-link{
  border:0;
  padding:0;
  background:transparent;
  color:#fff;
  text-decoration:underline;
  cursor:pointer;
  font:inherit;
}
.cookie-continue-link{
  display:block;
  margin-top:5px;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  font-size:12.5px;
  cursor:pointer;
  text-align:left;
}
.cookie-continue-link:hover,
.cookie-inline-link:hover{
  opacity:.85;
}
.cookie-banner__actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:18px!important;
}
.cookie-more-button,
.cookie-accept-button{
  min-height:42px;
  border:0;
  border-radius:4px;
  padding:10px 17px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
.cookie-more-button{
  background:transparent;
  color:#fff;
}
.cookie-accept-button{
  min-width:92px;
  background:#fff;
  color:#0878bb;
}
.cookie-accept-button:hover{
  background:#f1f7fb;
}
@media(max-width:760px){
  .cookie-banner{
    left:16px!important;
    right:16px!important;
    bottom:72px!important;
    width:auto!important;
  }
  .cookie-banner__content{
    min-height:0;
    border-radius:12px!important;
    padding:13px 11px 9px!important;
    display:block!important;
    box-shadow:0 10px 28px rgba(0,0,0,.3)!important;
  }
  .cookie-banner__text p{
    font-size:11.5px!important;
    line-height:1.35!important;
  }
  .cookie-continue-link{
    font-size:11.5px;
    margin-top:5px;
  }
  .cookie-banner__actions{
    margin-top:8px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
  }
  .cookie-more-button,
  .cookie-accept-button{
    width:100%;
    min-height:38px;
    padding:7px 10px;
    font-size:12px;
  }
  .cookie-more-button{
    order:1;
  }
  .cookie-accept-button{
    order:2;
  }
}


/* v120 — testo consenso aggiornato e banner mobile più alto */
@media(max-width:760px){
  .cookie-banner{
    bottom:84px!important;
  }
}


/* v121 — workaround NO_LCP mobile: nessuna animazione sul banner iniziale */
.cookie-banner{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
.cookie-banner.is-visible{
  opacity:1!important;
  transform:none!important;
}
@media(max-width:760px){
  .cookie-banner{
    opacity:1!important;
    transform:none!important;
  }
}




/* v124 — pagina Ricerca AI */
.ai-search-page-body{background:#fff;padding:0!important}
.ai-search-screen{min-height:100svh;background:#fff;color:#15283b;display:flex;flex-direction:column}
.ai-search-appbar{height:72px;padding:0 24px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;border-bottom:1px solid #eef0f3;background:#fff}
.ai-search-appbar h1{margin:0;text-align:left;font-size:26px;font-weight:900}
.ai-search-back{width:38px;height:38px;display:grid;place-items:center;color:#17293b;border-radius:50%}
.ai-search-back svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ai-search-content{width:min(680px,100%);margin:0 auto;flex:1;padding:34px 24px 128px}
.ai-search-input-wrap{min-height:120px;padding:17px 15px;border:1px solid #d8dde6;border-radius:22px;display:grid;grid-template-columns:34px minmax(0,1fr) 42px;align-items:start;gap:7px;background:#fff;box-shadow:0 1px 2px rgba(12,34,52,.03)}
.ai-search-input-wrap textarea{width:100%;min-height:76px;max-height:160px;padding:4px 0;border:0;resize:none;outline:0;background:transparent;color:#243445;font:inherit;font-size:20px;line-height:1.42}
.ai-search-input-wrap textarea::placeholder{color:#68727c;opacity:1}
.ai-search-sparkles{padding-top:5px;color:#9442f4}
.ai-search-sparkles svg,.ai-search-submit-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ai-search-mic{width:42px;height:42px;border:0;background:transparent;color:#287fad;display:grid;place-items:center;border-radius:50%;cursor:pointer}
.ai-search-mic svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ai-search-mic.is-listening{color:#fff;background:#e14d45;animation:aiMicPulse 1s infinite alternate}
@keyframes aiMicPulse{to{transform:scale(1.08)}}
.ai-search-examples{margin-top:38px}
.ai-search-examples h2{margin:0 0 18px;font-size:25px;font-weight:900}
.ai-search-example{width:100%;padding:12px 0;border:0;background:transparent;display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;text-align:left;color:#2c3035;cursor:pointer}
.ai-search-example>span{color:#7f8794;padding-top:2px}
.ai-search-example svg{width:33px;height:33px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.ai-search-example strong{font-size:20px;line-height:1.4;font-weight:400}
.ai-search-example:hover strong{color:#7e35e8}
.ai-search-status{min-height:26px;margin-top:12px;text-align:center;color:#337ab7;font-weight:800}
.ai-search-status.is-error{color:#b03b2e}
.ai-search-submit-bar{position:fixed;z-index:30;left:0;right:0;bottom:0;padding:16px max(24px,calc((100vw - 680px)/2 + 24px)) calc(18px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e8ebf0}
.ai-search-submit{width:100%;height:58px;border:0;border-radius:18px;background:linear-gradient(90deg,#843af0,#9d43f5);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-size:19px;font-weight:900;box-shadow:0 5px 12px rgba(132,58,240,.22);cursor:pointer}
.ai-search-submit:disabled{opacity:.72;cursor:wait}
.ai-search-spinner{width:22px;height:22px;border:2.5px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:aiSpin .75s linear infinite}
@keyframes aiSpin{to{transform:rotate(360deg)}}
@media(min-width:761px){.ai-search-screen{max-width:760px;margin:24px auto;border-radius:24px;min-height:calc(100vh - 48px);box-shadow:0 12px 50px rgba(26,48,66,.12);overflow:hidden}.ai-search-submit-bar{position:sticky;padding:18px 24px}.ai-search-content{padding-bottom:24px}}
@media(max-width:760px){.ai-search-appbar{height:68px;padding:0 18px;grid-template-columns:40px 1fr 40px}.ai-search-appbar h1{font-size:25px}.ai-search-content{padding:36px 30px 130px}.ai-search-input-wrap{min-height:118px}.ai-search-examples{margin-top:34px}.ai-search-examples h2{font-size:24px}.ai-search-example{grid-template-columns:48px 1fr;padding:11px 0}.ai-search-example strong{font-size:19px}.ai-search-page-body .site-footer{display:none!important}}


/* v126 — salvataggio ricerca dalla pagina risultati */
.results-save-search,
.results-mobile-quick--save{
  font:inherit;
  cursor:pointer;
}
.results-save-search.is-saved,
.results-mobile-quick--save.is-saved{
  opacity:.72;
}
.results-mobile-quick--save.is-saved{
  background:#eaf6ee!important;
  color:#257347!important;
}
.save-search-overlay[hidden]{display:none!important}
.save-search-overlay{
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:20px;
  opacity:0;
  transition:opacity .18s ease;
}
.save-search-overlay.is-open{opacity:1}
.save-search-backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(10,28,45,.58);
}
.save-search-sheet{
  position:relative;
  z-index:1;
  width:min(610px,100%);
  max-height:min(90vh,850px);
  overflow:auto;
  padding:20px 26px 26px;
  border-radius:26px;
  background:#fff;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
  transform:translateY(18px);
  transition:transform .18s ease;
}
.save-search-overlay.is-open .save-search-sheet{transform:translateY(0)}
.save-search-handle{
  display:none;
  width:46px;
  height:5px;
  margin:0 auto 16px;
  border-radius:99px;
  background:#dfe5e9;
}
.save-search-header{
  display:flex;
  align-items:flex-start;
  gap:13px;
}
.save-search-header>svg{
  width:35px;
  height:35px;
  flex:0 0 35px;
  fill:none;
  stroke:#e56a20;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.save-search-header h2{
  margin:0;
  font-size:28px;
  line-height:1.15;
}
.save-search-header p{
  margin:7px 0 0;
  color:#6e7780;
  line-height:1.45;
}
.save-search-close{
  margin-left:auto;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#eef3f6;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.save-search-form{margin-top:22px}
.save-search-field{
  display:block;
  margin-bottom:18px;
}
.save-search-field>span{
  display:block;
  margin-bottom:7px;
  color:#59636d;
  font-size:13px;
  font-weight:800;
}
.save-search-field>div{
  min-height:58px;
  border:1px solid #d9e0e6;
  border-radius:15px;
  display:flex;
  align-items:center;
  padding:0 15px;
}
.save-search-field>div:focus-within{
  border-color:#337ab7;
  box-shadow:0 0 0 3px rgba(51,122,183,.1);
}
.save-search-field svg{
  width:25px;
  height:25px;
  flex:0 0 25px;
  fill:none;
  stroke:#4a5660;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.save-search-field input{
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  padding:0 13px;
  background:transparent;
  color:#182c41;
  font:inherit;
  font-size:17px;
}
.save-search-field small,
.save-search-privacy-error{
  display:block;
  min-height:0;
  margin-top:5px;
  color:#c83b34;
  font-size:12px;
}
.save-search-field small:empty,
.save-search-privacy-error:empty{display:none}
.save-search-field i{
  width:18px;
  height:18px;
  border:2px solid #d6e2ec;
  border-top-color:#337ab7;
  border-radius:50%;
  animation:save-search-spin .7s linear infinite;
}
@keyframes save-search-spin{to{transform:rotate(360deg)}}
.save-search-summary{
  margin:4px 0 20px;
  padding:17px;
  border:1px solid #dce2e7;
  border-radius:18px;
  background:#f7f9fc;
}
.save-search-summary h3{
  margin:0 0 12px;
  font-size:17px;
}
.save-search-summary>div{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.save-search-summary span{
  padding:9px 13px;
  border:1px solid #dbe1e6;
  border-radius:12px;
  background:#fff;
  font-size:14px;
}
.save-search-frequency{
  margin:0 0 20px;
  padding:0;
  border:0;
}
.save-search-frequency legend{
  margin-bottom:10px;
  font-weight:900;
}
.save-search-frequency>div{
  display:grid;
  grid-template-columns:1fr 1fr;
}
.save-search-frequency label{position:relative}
.save-search-frequency input{
  position:absolute;
  opacity:0;
}
.save-search-frequency span{
  min-height:58px;
  border:1px solid #aeb7bf;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:9px 12px;
  text-align:center;
  cursor:pointer;
}
.save-search-frequency label:first-child span{
  border-radius:999px 0 0 999px;
}
.save-search-frequency label:last-child span{
  border-radius:0 999px 999px 0;
  border-left:0;
}
.save-search-frequency input:checked+span{
  background:#ffe1d2;
  border-color:#b06a47;
  color:#6b351b;
}
.save-search-frequency svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.save-search-spam{
  margin:-10px 0 18px;
  color:#7b858e;
  font-size:12px;
}
.save-search-privacy{
  display:grid;
  grid-template-columns:26px 1fr;
  gap:12px;
  align-items:start;
  cursor:pointer;
}
.save-search-privacy input{
  position:absolute;
  opacity:0;
}
.save-search-privacy>span{
  width:25px;
  height:25px;
  border:2px solid #6c747b;
  border-radius:4px;
  position:relative;
}
.save-search-privacy input:checked+span{
  border-color:#e56a20;
  background:#e56a20;
}
.save-search-privacy input:checked+span::after{
  content:"";
  position:absolute;
  left:7px;
  top:3px;
  width:7px;
  height:13px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.save-search-privacy b{
  font-weight:500;
  line-height:1.45;
}
.save-search-privacy a{
  color:#337ab7;
  text-decoration:underline;
}
.save-search-error{
  margin-top:14px;
  padding:11px 13px;
  border-radius:10px;
  background:#fff0ed;
  color:#9d3027;
  font-size:13px;
  font-weight:700;
}
.save-search-submit{
  width:100%;
  min-height:55px;
  margin-top:20px;
  border:0;
  border-radius:15px;
  background:#ef690f;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.save-search-submit:disabled{opacity:.68;cursor:wait}
.save-search-submit svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.save-search-submit i{
  width:19px;
  height:19px;
  border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  border-radius:50%;
  animation:save-search-spin .7s linear infinite;
}
body.save-search-open{overflow:hidden}
.save-search-toast{
  position:fixed;
  left:50%;
  bottom:92px;
  z-index:1300;
  width:min(440px,calc(100% - 28px));
  padding:13px 17px;
  border-radius:12px;
  background:#193b2a;
  color:#fff;
  text-align:center;
  box-shadow:0 12px 30px rgba(0,0,0,.24);
  opacity:0;
  transform:translate(-50%,16px);
  transition:opacity .2s ease,transform .2s ease;
}
.save-search-toast.is-visible{
  opacity:1;
  transform:translate(-50%,0);
}
@media(max-width:760px){
  .save-search-overlay{
    padding:0;
    place-items:end center;
  }
  .save-search-sheet{
    width:100%;
    max-height:92vh;
    padding:12px 20px calc(22px + env(safe-area-inset-bottom,0px));
    border-radius:28px 28px 0 0;
    transform:translateY(100%);
  }
  .save-search-overlay.is-open .save-search-sheet{transform:translateY(0)}
  .save-search-handle{display:block}
  .save-search-header h2{font-size:25px}
  .save-search-header p{font-size:14px}
  .save-search-close{display:none}
  .save-search-form{margin-top:20px}
  .save-search-frequency span{
    min-height:62px;
    font-size:14px;
  }
}


/* v127 — form salva ricerca più compatto e Ricerca AI ridimensionata */
@media(max-width:760px){
  /* Salva ricerca: resta interamente sotto la barra superiore */
  .save-search-overlay{
    padding-top:128px;
    align-items:end;
  }
  .save-search-sheet{
    max-height:calc(100vh - 128px);
    padding:8px 18px calc(16px + env(safe-area-inset-bottom,0px));
    border-radius:24px 24px 0 0;
  }
  .save-search-handle{
    width:40px;
    height:4px;
    margin-bottom:10px;
  }
  .save-search-header{
    gap:10px;
  }
  .save-search-header>svg{
    width:29px;
    height:29px;
    flex-basis:29px;
  }
  .save-search-header h2{
    font-size:22px;
  }
  .save-search-header p{
    margin-top:4px;
    font-size:12.5px;
    line-height:1.35;
  }
  .save-search-form{
    margin-top:14px;
  }
  .save-search-field{
    margin-bottom:13px;
  }
  .save-search-field>span{
    margin-bottom:5px;
    font-size:12px;
  }
  .save-search-field>div{
    min-height:50px;
    border-radius:13px;
    padding:0 13px;
  }
  .save-search-field svg{
    width:22px;
    height:22px;
    flex-basis:22px;
  }
  .save-search-field input{
    padding:0 11px;
    font-size:15px;
  }
  .save-search-summary{
    margin:2px 0 14px;
    padding:13px;
    border-radius:15px;
  }
  .save-search-summary h3{
    margin-bottom:9px;
    font-size:15px;
  }
  .save-search-summary>div{
    gap:6px;
  }
  .save-search-summary span{
    padding:7px 10px;
    border-radius:10px;
    font-size:12.5px;
  }
  .save-search-frequency{
    margin-bottom:14px;
  }
  .save-search-frequency legend{
    margin-bottom:7px;
    font-size:14px;
  }
  .save-search-frequency span{
    min-height:52px;
    gap:7px;
    padding:7px 9px;
    font-size:12.5px;
  }
  .save-search-frequency svg{
    width:19px;
    height:19px;
  }
  .save-search-spam{
    margin:-6px 0 12px;
    font-size:11px;
  }
  .save-search-privacy{
    grid-template-columns:23px 1fr;
    gap:10px;
  }
  .save-search-privacy>span{
    width:22px;
    height:22px;
  }
  .save-search-privacy input:checked+span::after{
    left:6px;
    top:2px;
    width:6px;
    height:12px;
  }
  .save-search-privacy b{
    font-size:12px;
    line-height:1.35;
  }
  .save-search-submit{
    min-height:48px;
    margin-top:14px;
    border-radius:13px;
    font-size:14px;
  }
  .save-search-submit svg{
    width:20px;
    height:20px;
  }

  /* Ricerca AI: caratteri e spazi più equilibrati */
  .ai-search-appbar{
    height:62px;
    padding:0 16px;
    grid-template-columns:36px 1fr 36px;
  }
  .ai-search-appbar h1{
    font-size:22px;
  }
  .ai-search-back svg{
    width:25px;
    height:25px;
  }
  .ai-search-content{
    padding:28px 24px 116px;
  }
  .ai-search-input-wrap{
    min-height:104px;
    padding:16px 14px;
    border-radius:20px;
  }
  .ai-search-input-wrap textarea{
    font-size:18px;
    line-height:1.4;
  }
  .ai-search-sparkles svg,
  .ai-search-mic svg{
    width:25px;
    height:25px;
  }
  .ai-search-examples{
    margin-top:28px;
  }
  .ai-search-examples h2{
    font-size:21px;
    margin-bottom:14px;
  }
  .ai-search-example{
    grid-template-columns:42px 1fr;
    gap:8px;
    padding:8px 0;
  }
  .ai-search-example>span svg{
    width:25px;
    height:25px;
  }
  .ai-search-example strong{
    font-size:16px;
    line-height:1.4;
  }
  .ai-search-submit-bar{
    padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));
  }
  .ai-search-submit{
    min-height:52px;
    font-size:18px;
    border-radius:15px;
  }
}


/* v128 — panoramica annuncio come app e richiesta visita */
.detail-overview{
  display:block!important;
}
.detail-overview>.detail-price{
  margin:0 0 14px;
  color:#e56a20;
  font-size:34px;
  line-height:1.05;
  font-weight:950;
}
.detail-overview-main h1{
  margin:0;
  font-size:30px;
  line-height:1.12;
}
.detail-location{
  margin:10px 0 0!important;
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:#337ab7!important;
  font-weight:750;
  line-height:1.4;
}
.detail-location svg{
  width:22px;
  height:22px;
  flex:0 0 22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.detail-facts--app{
  margin-top:18px!important;
  display:flex!important;
  flex-wrap:wrap;
  gap:9px 14px!important;
}
.detail-facts--app span{
  display:inline-flex!important;
  align-items:center;
  gap:5px;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#495864;
}
.detail-facts--app svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:#495864;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.detail-facts--app strong{
  font-size:15px;
  color:#182c41;
}
.detail-facts--app small{
  font-size:13px;
}

.visit-request-overlay[hidden]{display:none!important}
.visit-request-overlay{
  position:fixed;
  inset:0;
  z-index:1400;
  display:grid;
  place-items:center;
  padding:18px;
  opacity:0;
  transition:opacity .18s ease;
}
.visit-request-overlay.is-open{opacity:1}
.visit-request-backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(8,24,39,.6);
}
.visit-request-sheet{
  position:relative;
  z-index:1;
  width:min(560px,100%);
  max-height:min(88vh,760px);
  overflow:auto;
  padding:10px 22px 24px;
  border-radius:25px;
  background:#fff;
  box-shadow:0 25px 80px rgba(0,0,0,.28);
  transform:translateY(18px);
  transition:transform .18s ease;
}
.visit-request-overlay.is-open .visit-request-sheet{transform:translateY(0)}
.visit-request-top{
  min-height:32px;
  display:flex;
  align-items:center;
}
.visit-request-handle{
  width:42px;
  height:4px;
  margin:auto;
  border-radius:99px;
  background:#dce2e7;
}
.visit-request-close{
  position:absolute;
  top:8px;
  right:12px;
  border:0;
  background:transparent;
  font-size:28px;
  cursor:pointer;
}
.visit-request-step{display:none}
.visit-request-step.is-active{display:block}
.visit-request-step h2{
  margin:7px 0 0;
  font-size:25px;
}
.visit-request-property{
  margin:4px 0 18px;
  color:#7a838b;
}
.visit-request-section{
  margin:0 0 18px;
  padding:0;
  border:0;
}
.visit-request-section legend{
  margin-bottom:9px;
  font-weight:900;
}
.visit-request-type{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.visit-request-type label,
.visit-request-slots label,
.visit-request-days label{position:relative}
.visit-request-type input,
.visit-request-slots input,
.visit-request-days input{
  position:absolute;
  opacity:0;
}
.visit-request-type span{
  min-height:54px;
  border:1px solid #d8dee3;
  border-radius:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  font-weight:850;
}
.visit-request-type input:checked+span{
  border-color:#337ab7;
  background:#337ab7;
  color:#fff;
}
.visit-request-type svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.visit-request-days{
  display:flex;
  gap:8px;
  overflow-x:auto;
  scrollbar-width:none;
  padding-bottom:2px;
}
.visit-request-days::-webkit-scrollbar{display:none}
.visit-request-days span{
  width:76px;
  min-height:70px;
  border:1px solid #d8dee3;
  border-radius:12px;
  display:grid;
  place-items:center;
  padding:7px;
  text-align:center;
  cursor:pointer;
  font-weight:800;
  line-height:1.25;
}
.visit-request-days input:checked+span{
  border-color:#337ab7;
  background:#337ab7;
  color:#fff;
}
.visit-request-slots{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.visit-request-slots span{
  min-width:82px;
  min-height:43px;
  padding:8px 12px;
  border:1px solid #d8dee3;
  border-radius:11px;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-weight:800;
}
.visit-request-slots input:checked+span{
  border-color:#337ab7;
  background:#337ab7;
  color:#fff;
}
.visit-request-note{
  margin-top:2px;
  padding:13px 14px;
  border-radius:13px;
  background:#eef6ff;
  color:#253b4f;
  font-size:13px;
  line-height:1.45;
}
.visit-request-primary{
  width:100%;
  min-height:49px;
  margin-top:18px;
  border:0;
  border-radius:14px;
  background:#ef690f;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font:inherit;
  font-weight:950;
  text-transform:uppercase;
  cursor:pointer;
}
.visit-request-primary--blue{background:#337ab7}
.visit-request-contact-title{
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:16px;
}
.visit-request-contact-title button{
  width:36px;
  height:36px;
  border:0;
  background:transparent;
  cursor:pointer;
}
.visit-request-contact-title svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:#182c41;
  stroke-width:2;
}
.visit-request-contact-title h2{margin:0}
.visit-request-field{
  display:block;
  margin-bottom:12px;
}
.visit-request-field>span{
  display:block;
  margin-bottom:5px;
  font-size:12px;
  font-weight:800;
  color:#58636d;
}
.visit-request-field input{
  width:100%;
  min-height:49px;
  padding:0 13px;
  border:1px solid #d8dee3;
  border-radius:12px;
  outline:0;
  font:inherit;
}
.visit-request-field input:focus{
  border-color:#337ab7;
  box-shadow:0 0 0 3px rgba(51,122,183,.1);
}
.visit-request-field small,
.visit-request-privacy-error{
  display:block;
  margin-top:4px;
  color:#b5342b;
  font-size:11px;
}
.visit-request-field small:empty,
.visit-request-privacy-error:empty{display:none}
.visit-request-privacy{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:9px;
  align-items:start;
  cursor:pointer;
}
.visit-request-privacy input{position:absolute;opacity:0}
.visit-request-privacy>span{
  width:21px;
  height:21px;
  border:2px solid #6c747b;
  border-radius:4px;
  position:relative;
}
.visit-request-privacy input:checked+span{
  border-color:#337ab7;
  background:#337ab7;
}
.visit-request-privacy input:checked+span::after{
  content:"";
  position:absolute;
  left:5px;
  top:1px;
  width:6px;
  height:11px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.visit-request-privacy b{
  font-size:12px;
  line-height:1.35;
  font-weight:500;
}
.visit-request-privacy a{color:#337ab7;text-decoration:underline}
.visit-request-error{
  margin-top:12px;
  padding:10px 12px;
  border-radius:10px;
  background:#fff0ed;
  color:#9d3027;
  font-size:12px;
  font-weight:700;
}
.visit-request-primary i{
  width:18px;
  height:18px;
  border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;
  border-radius:50%;
  animation:visit-spin .7s linear infinite;
}
@keyframes visit-spin{to{transform:rotate(360deg)}}
.visit-request-success{
  padding:18px 0 4px;
  text-align:center;
}
.visit-request-success-icon{
  width:68px;
  height:68px;
  margin:0 auto;
  border-radius:50%;
  background:#eaf8ef;
  display:grid;
  place-items:center;
}
.visit-request-success-icon svg{
  width:38px;
  height:38px;
  fill:none;
  stroke:#218b45;
  stroke-width:2.4;
}
.visit-request-success p{
  color:#6e7780;
  line-height:1.45;
}
body.visit-request-open{overflow:hidden}

@media(max-width:760px){
  .detail-overview{
    padding:18px 20px 20px!important;
  }
  .detail-overview>.detail-price{
    margin-bottom:12px;
    font-size:30px;
  }
  .detail-overview-main h1{
    font-size:27px;
  }
  .detail-location{
    font-size:15px;
  }
  .detail-facts--app{
    gap:8px 12px!important;
    margin-top:15px!important;
  }
  .detail-facts--app small{
    display:none;
  }

  .visit-request-overlay{
    padding:0;
    place-items:end center;
  }
  .visit-request-sheet{
    width:100%;
    max-height:88vh;
    padding:8px 18px calc(18px + env(safe-area-inset-bottom,0px));
    border-radius:26px 26px 0 0;
    transform:translateY(100%);
  }
  .visit-request-overlay.is-open .visit-request-sheet{transform:translateY(0)}
  .visit-request-step h2{font-size:22px}
  .visit-request-property{font-size:13px;margin-bottom:14px}
  .visit-request-section{margin-bottom:15px}
  .visit-request-section legend{font-size:14px}
  .visit-request-type span{min-height:50px;font-size:14px}
  .visit-request-days span{width:70px;min-height:64px;font-size:13px}
  .visit-request-slots span{min-width:76px;min-height:40px;font-size:13px}
  .visit-request-note{font-size:12px}
  .visit-request-primary{min-height:47px;margin-top:15px;font-size:13px}
}


/* v129 — caratteristiche e mappa dettaglio come app */
.detail-characteristics-card h3{margin:24px 0 12px;color:#337ab7;font-size:17px;font-weight:950}
.detail-feature-table{width:100%}
.detail-feature-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,auto);align-items:center;gap:18px;min-height:46px;border-bottom:1px solid #e2e7ec}
.detail-feature-row:last-child{border-bottom:0}
.detail-feature-row span{color:#6b7580;font-size:14px}
.detail-feature-row strong{color:#182c41;font-size:14px;font-weight:850;text-align:right}
.detail-location-card{overflow:hidden}
.detail-map-address{margin:0 0 14px;display:flex;align-items:flex-start;gap:8px;color:#182c41;font-weight:750;line-height:1.4}
.detail-map-address svg{width:21px;height:21px;flex:0 0 21px;fill:none;stroke:#337ab7;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.detail-app-map{width:100%;height:250px;border-radius:18px;overflow:hidden;background:#eef2f5}
.detail-app-map .leaflet-control-zoom{margin:12px 0 0 12px;border:0;border-radius:8px;overflow:hidden;box-shadow:0 3px 10px rgba(0,0,0,.18)}
.detail-app-map .leaflet-control-zoom a{width:42px;height:42px;line-height:40px;color:#222;font-size:24px;border:0}
.detail-app-map .leaflet-control-zoom a+a{border-top:1px solid #e1e5e9}
.detail-property-marker-wrap{background:transparent!important;border:0!important}
.detail-property-label{width:max-content;max-width:220px;margin:0 auto;padding:11px 17px;border-radius:14px;background:#fff;color:#333;font-size:14px;font-weight:700;text-align:center;box-shadow:0 5px 14px rgba(0,0,0,.2)}
.detail-property-pin{position:relative;width:46px;height:46px;margin:-1px auto 0;border-radius:50% 50% 50% 0;background:#337ab7;transform:rotate(-45deg);box-shadow:0 4px 8px rgba(0,0,0,.25)}
.detail-property-pin span{position:absolute;width:16px;height:16px;left:15px;top:15px;border-radius:50%;background:#fff}
.detail-map-note{margin:9px 0 0;color:#727d87;font-size:12px}
.detail-directions-button{width:100%;min-height:50px;margin-top:14px;border:1px solid #337ab7;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:8px;color:#337ab7;font-weight:850;text-decoration:none}
.detail-directions-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.detail-map-unavailable{min-height:160px;border-radius:16px;display:grid;place-items:center;padding:20px;background:#eef3f6;color:#697783;text-align:center}
@media(max-width:760px){
  .detail-characteristics-card{padding:18px!important}
  .detail-characteristics-card h2{font-size:21px}
  .detail-characteristics-card h3{margin-top:20px;font-size:16px}
  .detail-feature-row{min-height:42px;gap:12px}
  .detail-feature-row span,.detail-feature-row strong{font-size:13px}
  .detail-app-map{height:225px;border-radius:16px}
  .detail-directions-button{min-height:47px;font-size:13px}
}

/* v130 — HERO HOME consolidata: unico set di regole, candidato LCP stabile */
.hero-app{
  position:relative;
  display:grid;
  isolation:isolate;
  width:100%;
  height:238px;
  overflow:hidden;
  background-color:#174b6d;
  background-image:none;
}

.hero-app__picture,
.hero-app::before,
.hero-app__shade,
.hero-app__copy{
  grid-area:1 / 1;
}

.hero-app__picture{
  position:relative;
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  overflow:hidden;
}

.hero-app__image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.hero-app::before{
  content:"";
  position:relative;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,#0b3658f2 0%,#145c8cd9 58%,#17335068 100%);
}

.hero-app__shade{
  position:relative;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.22));
}

.hero-app__copy{
  position:relative;
  z-index:3;
  align-self:start;
  justify-self:start;
  margin:42px 0 0 48px;
  color:#fff;
}

.hero-app h1{
  margin:0;
  font-size:36px;
  line-height:1.08;
  letter-spacing:-1px;
  font-weight:900;
  text-shadow:0 2px 7px #0004;
}

.hero-app__copy span{
  display:block;
  width:72px;
  height:4px;
  margin-top:17px;
  border-radius:99px;
  background:var(--orange);
}

@media(max-width:760px){
  .hero-app{
    height:178px;
    min-height:178px;
    max-height:178px;
    border-radius:0;
  }

  .hero-app__copy{
    margin:25px 20px 0 25px;
  }

  .hero-app h1{
    font-size:25px;
    line-height:1.08;
    letter-spacing:-.7px;
  }
}

/* v135 — footer mobile: render solo dopo scroll reale vicino al fondo */
@media(max-width:760px){
  .site-footer.site-footer--mobile-lazy{
    display:none!important;
  }

  .site-footer.site-footer--mobile-lazy.is-revealed{
    display:block!important;
  }
}

@media(min-width:761px){
  .site-footer.site-footer--mobile-lazy{
    display:block!important;
  }
}



/* Messaggi: dettaglio conversazione */
.messages-chat-header{display:flex;align-items:center;gap:12px;padding:18px 16px;border-bottom:1px solid #e7ebef;background:#fff;position:sticky;top:0;z-index:3}
.messages-chat-header h1{margin:0;font-size:20px}.messages-chat-header p{margin:2px 0 0;color:#6d7780;font-size:13px}
.messages-chat-back{width:40px;height:40px;border:0;border-radius:50%;background:#f1f4f6;font-size:32px;line-height:36px;cursor:pointer}
.messages-chat-thread{display:flex;flex-direction:column;gap:10px;padding:18px 14px 110px;min-height:55vh;max-height:calc(100vh - 190px);overflow:auto;background:#f5f7f9}
.messages-chat-bubble{align-self:flex-start;max-width:min(82%,620px);padding:10px 12px;border-radius:16px 16px 16px 4px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.messages-chat-bubble.is-mine{align-self:flex-end;border-radius:16px 16px 4px 16px;background:#e8f3fb}
.messages-chat-bubble p{margin:0;white-space:normal;overflow-wrap:anywhere}.messages-chat-bubble time{display:block;margin-top:5px;text-align:right;color:#7c8790;font-size:11px}
.messages-chat-compose{position:sticky;bottom:72px;display:flex;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid #e1e6ea;z-index:3}
.messages-chat-compose textarea{flex:1;resize:none;border:1px solid #ccd4da;border-radius:18px;padding:10px 13px;font:inherit;min-height:44px;max-height:120px}
.messages-chat-compose button{border:0;border-radius:18px;padding:0 18px;background:#337ab7;color:#fff;font-weight:700}.messages-chat-compose button:disabled{opacity:.55}
.messages-chat-error{margin:8px 14px;color:#b42318;font-size:13px}
@media(min-width:761px){.messages-chat-compose{bottom:0}.messages-chat-thread{max-height:calc(100vh - 150px)}}

/* v141 — ritorno login ai risultati e foto risultati mobile più alte */
@media(max-width:760px){
  .result-property-main-photo{
    min-height:285px!important;
  }

  .login-bottom-nav{
    display:flex!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:1200!important;
  }

  .login-page-body{
    padding-bottom:76px!important;
  }
}

/* v142 — navbar login visibile + caratteristiche annunci 3x2 */
@media(max-width:760px){
  .login-page-body .login-bottom-nav{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:72px!important;
    min-height:72px!important;
    padding:7px 14px calc(6px + env(safe-area-inset-bottom))!important;
    background:#fff!important;
    color:#12283d!important;
    z-index:5000!important;
  }
  .login-page-body .login-bottom-nav>a{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    color:#12283d!important;
  }
  .login-page-body .login-bottom-nav>a.active{
    color:#e56a20!important;
  }
  .login-page-body .login-bottom-nav>a>span,
  .login-page-body .login-bottom-nav>a>b,
  .login-page-body .login-bottom-nav>a>i{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .login-page-body .login-bottom-nav>a>b{
    display:block!important;
  }

  .result-property-facts{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:13px 10px!important;
    overflow:visible!important;
    padding:2px 0!important;
  }
  .result-property-facts span{
    min-width:0!important;
    display:grid!important;
    grid-template-columns:27px minmax(0,1fr)!important;
    align-items:center!important;
    gap:7px!important;
    white-space:normal!important;
    color:#354255!important;
  }
  .result-property-facts span+span::before{
    display:none!important;
    content:none!important;
  }
  .result-property-facts svg{
    width:25px!important;
    height:25px!important;
    stroke-width:1.65!important;
  }
  .result-property-facts small{
    display:block!important;
    min-width:0!important;
    color:#354255!important;
    font-size:12.5px!important;
    line-height:1.2!important;
    font-weight:500!important;
  }
  .result-property-facts span:nth-child(2) small{
    display:block!important;
    font-size:12.5px!important;
  }
}

/* v144 — caratteristiche risultati e dettaglio coerenti */
.result-property-facts .result-fact-label{
  display:block;
  min-width:0;
  margin:0;
  color:#354255;
  font-style:normal;
  font-size:13px;
  line-height:1.2;
  font-weight:500;
}
.detail-facts--app span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:transparent!important;
  padding:4px 2px!important;
  border-radius:0!important;
}
.detail-facts--app span svg{
  width:21px;
  height:21px;
  flex:0 0 21px;
  fill:none;
  stroke:#28435c;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.detail-facts--app span strong{
  color:#17324d;
  font-size:13px;
  font-weight:850;
}
@media(max-width:760px){
  .result-property-facts{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px 10px!important;
    overflow:visible!important;
    padding:4px 0 2px!important;
  }
  .result-property-facts>span{
    display:grid!important;
    grid-template-columns:27px minmax(0,1fr)!important;
    align-items:center!important;
    gap:7px!important;
    min-width:0!important;
    white-space:normal!important;
  }
  .result-property-facts>span::before{
    display:none!important;
    content:none!important;
  }
  .result-property-facts>span svg{
    width:25px!important;
    height:25px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.65!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .result-property-facts .result-fact-label{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    color:#354255!important;
    font-size:12.5px!important;
    line-height:1.2!important;
    font-weight:500!important;
  }

  .detail-facts--app{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:8px 13px!important;
  }
  .detail-facts--app span{
    display:inline-flex!important;
    align-items:center!important;
    gap:4px!important;
    padding:2px 0!important;
  }
  .detail-facts--app span svg{
    width:20px!important;
    height:20px!important;
    flex-basis:20px!important;
  }
  .detail-facts--app span strong{
    font-size:12.5px!important;
  }
}



/* v145 — ricerche correlate SEO */
.results-related-searches{margin-top:20px;margin-bottom:26px;padding:18px 22px;border-top:1px solid #d8dee6;color:#404957;font-size:13px;line-height:1.45}
.results-related-searches h2{margin:0 0 10px;font-size:15px;font-weight:850}
.results-related-line{margin:7px 0}
.results-related-line strong{font-weight:500}
.results-related-line a{color:#337ab7;text-decoration:none}
.results-related-line a:hover{text-decoration:underline}
@media(max-width:760px){.results-related-searches{margin:16px 14px 100px;padding:15px 0 0;font-size:12.5px}.results-related-searches h2{font-size:14px}}


/* v146 — il titolo del selettore località resta sopra al campo Comune/Provincia */
.search-page-body #location-picker .search-appbar,
.search-page-body #zone-picker .search-appbar{
  position:relative!important;
  top:0!important;
  flex:0 0 auto!important;
  z-index:5!important;
}
.search-page-body #location-picker .dialog-content-app{
  padding-top:12px!important;
}
.search-page-body #location-picker .picker-search{
  display:flex!important;
  position:relative!important;
  z-index:1!important;
  margin:0 0 12px!important;
  flex:0 0 auto!important;
}

/* v147 — Altre caratteristiche + icone filtro più chiare */
.app-other-features{margin:18px 0 4px}.app-other-features h3{margin:0 0 11px;color:#17283d;font-size:16px;font-weight:900}
.app-feature-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.app-feature-toggle{min-height:66px;padding:8px 7px;border:1px solid #dbe3e9;border-radius:13px;background:#fff;color:#435464;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.app-feature-toggle>span{width:25px;height:25px;display:grid;place-items:center;color:#337ab7}.app-feature-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.app-feature-toggle b{font-size:11.5px;line-height:1.15;text-align:center}.app-feature-toggle.active{border-color:#337ab7;background:#edf6fd;color:#1d6395;box-shadow:0 0 0 1px rgba(51,122,183,.08)}
.results-extra-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.results-extra-feature{cursor:pointer}.results-extra-feature input{position:absolute;opacity:0;pointer-events:none}
.results-extra-feature span{min-height:42px;display:flex;align-items:center;justify-content:center;padding:8px 10px;border:1px solid #d6dfe6;border-radius:11px;background:#fff;color:#435464;font-size:12px;font-weight:750;text-align:center}
.results-extra-feature input:checked+span{border-color:#337ab7;background:#edf6fd;color:#246b9d}
@media(max-width:420px){.app-feature-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v148 — modifica annuncio: errori obbligatori visibili */
.listing-form-page .is-invalid{border-color:#d93939!important;box-shadow:0 0 0 2px rgba(217,57,57,.10)!important}
.listing-field-error{display:block;margin-top:5px;color:#c72d2d;font-size:11.5px;font-weight:750}
.listing-form-tabs [data-form-tab].has-error{color:#c72d2d!important}
.listing-form-tabs [data-form-tab].has-error::after{content:"";width:7px;height:7px;margin-left:5px;display:inline-block;border-radius:50%;background:#d93939;vertical-align:middle}
.listing-form-message.is-error{white-space:normal;line-height:1.35}

/* v149 — validazione modifica annuncio + preferiti server */
.listing-form-page input.is-invalid,
.listing-form-page select.is-invalid,
.listing-form-page textarea.is-invalid{
  border:2px solid #d52f2f!important;
  background:#fff5f5!important;
  box-shadow:0 0 0 2px rgba(213,47,47,.10)!important;
}
.listing-field-error{color:#c62828!important;font-weight:800!important}
.result-favorite-button.has-error,.detail-favorite.has-error{animation:favoriteError .22s linear 0s 2}
@keyframes favoriteError{50%{transform:translateX(3px)}}

/* v150 - evidenza obbligatori nel form annuncio */
form[data-listing-form] input.is-invalid,
form[data-listing-form] select.is-invalid,
form[data-listing-form] textarea.is-invalid,
.listing-form input.is-invalid,
.listing-form select.is-invalid,
.listing-form textarea.is-invalid {
  border: 2px solid #d32f2f !important;
  background-color: #fff1f1 !important;
  outline: none !important;
}
form[data-listing-form] .listing-field-error,
.listing-form .listing-field-error {
  display:block !important;
  margin-top:6px;
  color:#c62828 !important;
  font-size:12px;
  font-weight:700;
}

/* v151 — tab form più leggibili e navigazione avanti/indietro */
.listing-form-tabs{
  padding:6px 8px 7px!important;
  gap:5px;
}
.listing-form-tabs button{
  min-height:43px!important;
  padding:0 11px!important;
  border-radius:11px!important;
  transition:background-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.listing-form-tabs button.is-active{
  background:#edf6fd!important;
  color:#246fa5!important;
  box-shadow:inset 0 0 0 1px #c8e0f2;
}
.listing-form-tabs button.is-active::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  bottom:3px!important;
  width:18px!important;
  height:3px!important;
  transform:translateX(-50%)!important;
  border-radius:99px!important;
  background:#337ab7!important;
}
.listing-form-tabs [data-form-tab].has-error{
  color:#c72d2d!important;
}
.listing-form-tabs [data-form-tab].has-error::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:4px;
  width:6px;
  height:6px;
  transform:translateX(-50%);
  border-radius:50%;
  background:#d93939;
}
.listing-form-tabs [data-form-tab].has-error::after{
  display:none!important;
}
.listing-form-tabs [data-form-tab].has-error.is-active{
  background:#fff1f1!important;
  color:#b62525!important;
  box-shadow:inset 0 0 0 1px #f0bcbc!important;
}
.listing-form-tabs [data-form-tab].has-error.is-active::before{
  bottom:3px;
  width:18px;
  height:3px;
  border-radius:99px;
}

.listing-form-section-nav{
  display:flex;
  gap:10px;
  padding:4px 18px 12px;
}
.listing-form-step-button{
  min-height:52px;
  border-radius:14px;
  border:1px solid #d5dfe7;
  background:#fff;
  color:#1e5f91;
  font-weight:850;
  font-size:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}
.listing-form-step-button svg{
  width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}
.listing-form-step-button--back{flex:0 0 105px}
.listing-form-step-button--next{
  flex:1;
  background:#337ab7;
  border-color:#337ab7;
  color:#fff;
}
.listing-form-step-button[hidden],.listing-form-submit-wrap[hidden]{display:none!important}

@media(max-width:430px){
  .listing-form-tabs{padding-left:5px!important;padding-right:5px!important;gap:2px}
  .listing-form-tabs button{font-size:11.5px;padding:0 7px!important}
}

/* v152 — visibilità come app, senza Mega; salva sempre disponibile */
.listing-form-visibility-head{padding:20px 22px 12px}
.listing-form-visibility-head h2{margin:0 0 8px;font-size:25px;line-height:1.1;color:#17202a}
.listing-form-visibility-head p{margin:0;color:#69737d;font-size:14px;line-height:1.45}
.listing-visibility-options--app{display:flex!important;flex-direction:column;gap:12px;padding:8px 18px 16px}
.listing-visibility-option{margin:0!important}
.listing-visibility-option>input{position:absolute!important;opacity:0!important;pointer-events:none}
.listing-visibility-options--app .visibility-card{
  min-height:126px!important;padding:17px 18px!important;border:1px solid #d9dfe4!important;
  border-radius:19px!important;background:#fff!important;color:#20252a!important;
  display:grid!important;grid-template-columns:52px minmax(0,1fr) 30px;align-items:center;gap:14px;
  box-shadow:0 3px 10px rgba(25,40,55,.06);
}
.visibility-card-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#f0f1f3;color:#6c757d}
.visibility-card-icon svg,.listing-visibility-expiry svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.visibility-card-copy{display:block!important}
.visibility-card-copy strong{display:block;font-size:18px;font-weight:900}
.visibility-card-copy small{display:block;margin-top:4px!important;color:#697078!important;opacity:1!important;font-size:13px;line-height:1.35}
.visibility-card-copy b{display:block;margin-top:7px;font-size:14px;font-weight:900}
.visibility-card--top .visibility-card-icon{background:#fff0e6;color:#e56a20}.visibility-card--top .visibility-card-copy b{color:#e56a20}
.visibility-card--super .visibility-card-icon{background:#eaf5fb;color:#337ab7}.visibility-card--super .visibility-card-copy b{color:#337ab7}
.visibility-radio-dot{width:25px;height:25px;border:3px solid #555;border-radius:50%;position:relative}
.listing-visibility-option>input:checked+.visibility-card{border-width:2px!important}
.listing-visibility-option>input[value="0"]:checked+.visibility-card{border-color:#6c757d!important;background:#f7f7f7!important}
.listing-visibility-option>input[value="1"]:checked+.visibility-card{border-color:#e56a20!important;background:#fff7f1!important}
.listing-visibility-option>input[value="2"]:checked+.visibility-card{border-color:#337ab7!important;background:#f2f9fd!important}
.listing-visibility-option>input:checked+.visibility-card .visibility-radio-dot::after{content:"";position:absolute;inset:4px;border-radius:50%;background:currentColor}
.listing-visibility-option>input[value="1"]:checked+.visibility-card .visibility-radio-dot{color:#e56a20;border-color:#e56a20}
.listing-visibility-option>input[value="2"]:checked+.visibility-card .visibility-radio-dot{color:#337ab7;border-color:#337ab7}
.listing-visibility-option.is-disabled{opacity:.46;pointer-events:none}
.listing-visibility-expiry{margin:0 18px 14px;padding:14px 16px;border:1px solid #dfe4e8;border-radius:14px;background:#f7f8fa;color:#26313a;display:flex;align-items:center;gap:11px}
.listing-visibility-expiry svg{color:#337ab7;flex:0 0 auto}.listing-visibility-expiry strong{font-size:13px;line-height:1.35}
.listing-form-submit-wrap{display:block!important}
.listing-form-section-nav{padding-bottom:4px}
@media(max-width:430px){
  .listing-form-visibility-head{padding:17px 18px 9px}
  .listing-form-visibility-head h2{font-size:22px}
  .listing-visibility-options--app{padding-left:13px;padding-right:13px}
  .listing-visibility-options--app .visibility-card{min-height:116px!important;padding:15px!important;grid-template-columns:46px minmax(0,1fr) 27px;gap:11px}
  .visibility-card-icon{width:44px;height:44px}
}

/* v153 - fix intestazione modali Prezzo/Superficie/Locali/Tipologia */
.search-page-body #types-picker .full-dialog-page,
.search-page-body #range-picker .full-dialog-page,
.search-page-body #rooms-picker .full-dialog-page{overflow:hidden}
.search-page-body #types-picker .search-appbar,
.search-page-body #range-picker .search-appbar,
.search-page-body #rooms-picker .search-appbar{
 position:relative!important;top:auto!important;flex:0 0 64px;min-height:64px;height:64px;
 z-index:20;margin:0!important;padding:0 14px!important;background:#fff;border-bottom:1px solid #edf0f3
}
.search-page-body #types-picker .search-appbar h2,
.search-page-body #range-picker .search-appbar h2,
.search-page-body #rooms-picker .search-appbar h2{margin:0!important;line-height:1.2}
.search-page-body #types-picker .dialog-content-app,
.search-page-body #range-picker .dialog-content-app,
.search-page-body #rooms-picker .dialog-content-app{
 min-height:0;flex:1 1 auto;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch
}
.search-page-body #types-picker .dialog-footer-app,
.search-page-body #range-picker .dialog-footer-app,
.search-page-body #rooms-picker .dialog-footer-app{flex:0 0 auto;position:relative;z-index:21}
@media(max-width:760px){
 .search-page-body #types-picker .search-appbar,
 .search-page-body #range-picker .search-appbar,
 .search-page-body #rooms-picker .search-appbar{
  padding-top:env(safe-area-inset-top)!important;
  height:calc(64px + env(safe-area-inset-top));min-height:calc(64px + env(safe-area-inset-top));
  flex-basis:calc(64px + env(safe-area-inset-top))
 }
}


/* v154 — Prezzo/Superficie: Da a sinistra, dopo la scelta passa ad A con lista a destra */
#range-picker .range-input-grid label{
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
}
#range-picker .range-input-grid label.is-active-side>div{
  border-color:#63b4e4!important;
  box-shadow:0 0 0 1px rgba(51,122,183,.08);
}
#range-picker .range-suggestion-list button{
  text-align:left!important;
  transition:background-color .12s ease,color .12s ease;
}
#range-picker.range-selecting-max .range-suggestion-list button{
  text-align:right!important;
}
#range-picker .range-suggestion-list button.is-selected{
  background:#e5f3fc!important;
  color:#087cc1!important;
}
#range-picker.range-selecting-max .range-suggestion-list{
  direction:ltr;
}


/* v155 — dettaglio sticky, inserzionista, immobili simili e pagina agenzia */
.detail-scroll-header{
  display:none;
}
@media(max-width:760px){
  .detail-scroll-header{
    position:fixed;left:0;right:0;top:0;z-index:2200;background:#fff;
    transform:translateY(-110%);opacity:0;pointer-events:none;
    box-shadow:0 2px 10px rgba(20,40,60,.12);
    transition:transform .18s ease,opacity .18s ease;
  }
  .detail-scroll-header.is-visible{display:block;transform:translateY(0);opacity:1;pointer-events:auto}
  .detail-scroll-header__top{height:54px;display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid #edf0f3}
  .detail-scroll-header__summary{min-width:0;display:flex;flex-direction:column}
  .detail-scroll-header__summary strong{font-size:14px;color:#17283d;font-weight:900}
  .detail-scroll-header__summary span{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#71808e}
  .detail-scroll-header__actions{display:flex;gap:6px;align-items:center}
  .detail-scroll-header__actions button{width:39px;height:39px;border:0;background:#fff;border-radius:50%;display:grid;place-items:center;color:#337ab7}
  .detail-scroll-header__actions svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .detail-scroll-header__actions .detail-favorite{color:#e56a20;font-size:26px}
  .detail-scroll-tabs{height:46px;display:flex;overflow-x:auto;border-bottom:1px solid #e7ebef;scrollbar-width:none}
  .detail-scroll-tabs::-webkit-scrollbar{display:none}
  .detail-scroll-tabs a{flex:0 0 auto;min-width:92px;height:46px;padding:0 12px;display:flex;align-items:center;justify-content:center;color:#526273;text-decoration:none;font-size:11px;font-weight:800;border-bottom:3px solid transparent}
  .detail-scroll-tabs a.is-active{color:#337ab7;border-bottom-color:#337ab7}
}

.detail-agency-profile-card>h2{margin:0 0 14px;font-size:22px}
.detail-agency-profile{padding:20px;border-radius:22px;background:#f7f8fa;text-align:center}
.detail-agency-profile__logo{width:min(100%,300px);height:135px;margin:0 auto 16px;border:1px solid #e0e5e9;border-radius:18px;background:#fff;display:grid;place-items:center;padding:14px}
.detail-agency-profile__logo img{max-width:100%;max-height:100%;object-fit:contain}
.detail-agency-profile__logo span svg{width:56px;height:56px}
.detail-agency-profile h3{margin:0;font-size:23px;color:#17283d}
.detail-agency-profile p{margin:8px auto 18px;max-width:430px;color:#6d7884;line-height:1.45}
.detail-agency-profile__link{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #9b8b80;border-radius:24px;color:#337ab7;text-decoration:none;font-weight:850;background:#fff}
.detail-agency-profile__actions{display:grid;grid-template-columns:58px 1fr 1fr;gap:10px;margin-top:14px}
.detail-agency-profile__actions>a,.detail-agency-profile__actions>button{min-height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:850}
.detail-agency-profile__actions svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}
.detail-agency-phone{background:#20a447;color:#fff;text-decoration:none}
.detail-agency-message{border:0;background:#ef6c12;color:#fff}
.detail-agency-visit{border:1px solid #a7988d;background:#fff;color:#765b48}

.detail-similar-section{margin-top:26px}
.detail-similar-section>h2{margin:0;font-size:25px;color:#17283d}
.detail-similar-section>p{margin:6px 0 14px;color:#75818d}
.detail-similar-list{display:grid;grid-template-columns:1fr;gap:16px}
.detail-similar-list .result-property-card{margin:0}

.agency-page{padding-bottom:90px;background:#f6f7f9;min-height:100vh}
.agency-page-top{background:#fff;border-bottom:1px solid #edf0f3}
.agency-page-top__inner{height:64px;display:flex;align-items:center;gap:12px}
.agency-page-top h1{margin:0;font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agency-back{width:40px;height:40px;border:0;background:transparent;font-size:34px;line-height:1}
.agency-profile-header{padding-top:24px;padding-bottom:14px;text-align:center;background:#fff}
.agency-profile-logo{width:min(100%,300px);height:140px;margin:0 auto 18px;padding:16px;border:1px solid #e1e5e9;border-radius:20px;display:grid;place-items:center}
.agency-profile-logo img{max-width:100%;max-height:100%;object-fit:contain}
.agency-profile-header h2{margin:0;font-size:27px;color:#17283d}
.agency-profile-header>p{color:#74808b;font-size:16px}
.agency-profile-header>strong{display:block;color:#e56a20;font-size:16px;margin-top:12px}
.agency-profile-links{display:flex;justify-content:center;gap:24px;margin:16px 0}
.agency-profile-links a{color:#8c5c3d;text-decoration:none;font-weight:800}
.agency-profile-tabs{display:flex;border-top:1px solid #ddd;margin-top:18px}
.agency-profile-tabs button{flex:1;height:54px;border:0;background:#fff;color:#666;font-weight:850;border-bottom:4px solid transparent}
.agency-profile-tabs button.is-active{color:#337ab7;border-bottom-color:#337ab7}
.agency-about{padding:18px}
.agency-about p{margin:0;padding:18px;background:#fff;border-radius:16px;line-height:1.55}
.agency-listings{padding-top:14px}
.agency-filters{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#fff;padding:10px;border-radius:15px;margin-bottom:14px}
.agency-filters select{min-width:0;height:44px;border:0;border-radius:13px;padding:0 9px;background:#f1f6fa;color:#337ab7;font-weight:800}
.agency-property-list{display:grid;gap:16px}
.agency-load-more{display:flex;justify-content:center;align-items:center;min-height:48px;margin:18px 0;background:#337ab7;color:#fff;border-radius:14px;text-decoration:none;font-weight:850}
.agency-bottom-actions{position:fixed;left:0;right:0;bottom:0;z-index:1200;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:#fff;display:grid;grid-template-columns:60px 1fr;gap:10px;border-top:1px solid #e6ebef}
.agency-bottom-actions>a{height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;text-decoration:none}
.agency-bottom-actions>a:first-child{background:#20a447;color:#fff}
.agency-bottom-message{background:#ed6a14;color:#fff;gap:8px;font-weight:850}
.agency-bottom-actions svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8}
@media(min-width:900px){
  .detail-similar-list,.agency-property-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .agency-bottom-actions{display:none}
}


/* v156 — gallery swipe + immobili simili orizzontali + link utili dettaglio */
.detail-gallery-track{
  width:100%;
  display:flex!important;
  flex-wrap:nowrap!important;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.detail-gallery-track .detail-photo{
  flex:0 0 100%!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}
.detail-gallery-track .detail-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
@media(max-width:760px){
  .detail-gallery-track{touch-action:pan-y pinch-zoom}
  .detail-gallery-track .detail-photo{touch-action:pan-y pinch-zoom}
}

.detail-similar-section{
  margin:28px 0 24px;
  overflow:visible;
}
.detail-similar-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.detail-similar-heading h2{margin:0;font-size:25px;color:#17283d}
.detail-similar-heading p{margin:5px 0 0;color:#75818d}
.detail-similar-heading>a{
  flex:0 0 auto;
  color:#1780bd;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  text-decoration:none;
}
.detail-similar-carousel{
  display:flex;
  gap:14px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  padding:2px 3px 12px;
  margin-left:-3px;
  margin-right:-3px;
  -webkit-overflow-scrolling:touch;
}
.detail-similar-carousel::-webkit-scrollbar{display:none}
.detail-similar-card{
  flex:0 0 255px;
  width:255px;
  overflow:hidden;
  border:1px solid #e0e5e9;
  border-radius:18px;
  background:#fff;
  box-shadow:0 3px 10px rgba(20,45,70,.07);
  scroll-snap-align:start;
}
.detail-similar-card__photo{
  display:block;
  width:100%;
  height:155px;
  overflow:hidden;
  background:#eef2f5;
}
.detail-similar-card__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.detail-similar-card__body{padding:15px}
.detail-similar-card__body>strong{
  display:block;
  color:#17283d;
  font-size:19px;
  font-weight:950;
  margin-bottom:8px;
}
.detail-similar-card__title{
  display:-webkit-box;
  min-height:43px;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:#223244;
  font-size:14px;
  line-height:1.45;
  font-weight:850;
  text-decoration:none;
}
.detail-similar-card__facts{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:13px;
  color:#435364;
}
.detail-similar-card__facts span{
  display:flex;
  align-items:center;
  gap:4px;
  white-space:nowrap;
}
.detail-similar-card__facts svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.detail-similar-card__facts b{font-size:12px;font-weight:750}

.detail-useful-links{
  margin:28px 0 12px;
  padding:22px 0;
  border-top:1px solid #dfe5e9;
}
.detail-useful-links h2{
  margin:0 0 16px;
  color:#24303c;
  font-size:20px;
}
.detail-useful-links__list{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  line-height:1.8;
}
.detail-useful-links__list a{
  color:#40505f;
  text-decoration:none;
  font-size:14px;
}
.detail-useful-links__list a:not(:last-child)::after{
  content:",";
  margin-right:8px;
}
.detail-useful-links__list a:hover{color:#337ab7;text-decoration:underline}

@media(max-width:760px){
  .detail-similar-section{
    margin-left:-2px;
    margin-right:-14px;
  }
  .detail-similar-heading{padding-right:14px}
  .detail-similar-card{flex-basis:238px;width:238px}
  .detail-similar-card__photo{height:145px}
  .detail-useful-links{padding-right:4px}
}


/* v157 — conteggio foto dal DB, loghi contenuti e carosello simili desktop */
.detail-agency-profile__logo{
  position:relative;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.detail-agency-profile__logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
}
.detail-agency-profile__logo span{
  width:100%;
  height:100%;
  overflow:hidden;
  display:grid;
  place-items:center;
}

/* Il browser deve poter riconoscere il gesto orizzontale della galleria. */
.detail-gallery-track,
.detail-gallery-track .detail-photo{
  touch-action:pan-x pinch-zoom!important;
}

.detail-similar-carousel-wrap{
  position:relative;
}
.detail-similar-arrow{
  position:absolute;
  top:50%;
  z-index:5;
  width:44px;
  height:44px;
  margin-top:-22px;
  border:1px solid #d8e0e6;
  border-radius:50%;
  background:#fff;
  color:#337ab7;
  box-shadow:0 3px 12px rgba(20,45,70,.16);
  display:grid;
  place-items:center;
  cursor:pointer;
}
.detail-similar-arrow svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.detail-similar-arrow--prev{left:-18px}
.detail-similar-arrow--next{right:-18px}
.detail-similar-arrow:disabled{
  opacity:.25;
  cursor:default;
}
@media(max-width:760px){
  .detail-similar-arrow{display:none!important}
}
@media(min-width:761px){
  .detail-similar-carousel{
    padding-left:3px;
    padding-right:3px;
    scrollbar-width:thin;
    scrollbar-color:#c5d1da transparent;
  }
  .detail-similar-carousel::-webkit-scrollbar{
    display:block;
    height:6px;
  }
  .detail-similar-carousel::-webkit-scrollbar-thumb{
    background:#c5d1da;
    border-radius:99px;
  }
}


/* v158 — CTA dettaglio sopra mappa, logo agenzia adattivo, azioni agenzia */
@media(max-width:850px){
  .detail-bottom-actions{
    z-index:2100!important;
    isolation:isolate;
  }
  .detail-bottom-actions::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:#fff;
  }
}

.detail-agency-profile__logo{
  width:min(100%,340px)!important;
  height:auto!important;
  min-height:155px!important;
  max-height:none!important;
  padding:18px!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.detail-agency-profile__logo img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:190px!important;
  object-fit:contain!important;
  object-position:center!important;
  flex:0 1 auto!important;
}
@media(max-width:480px){
  .detail-agency-profile__logo{
    min-height:165px!important;
    padding:16px!important;
  }
  .detail-agency-profile__logo img{max-height:200px!important}
}

.detail-agency-profile__actions{
  grid-template-columns:58px minmax(0,1fr) minmax(0,1fr)!important;
}
.detail-agency-profile__actions--no-phone{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}
.detail-agency-profile__actions--no-phone .detail-agency-message,
.detail-agency-profile__actions--no-phone .detail-agency-visit{
  width:100%!important;
  min-width:0!important;
  padding:0 12px!important;
}


/* v159 — fullscreen foto esplicito e pannello condivisione */
.detail-fullscreen{
  right:126px!important;
  color:#337ab7;
}
.detail-lightbox{
  z-index:5000!important;
}
.detail-lightbox img{
  cursor:zoom-out;
}
.detail-lightbox-open{overflow:hidden!important}

.detail-share-modal{
  position:fixed;
  inset:0;
  z-index:5200;
  display:none;
  align-items:flex-start;
  justify-content:center;
  padding:72px 18px 24px;
  background:rgba(18,35,52,.42);
}
.detail-share-modal.is-open{display:flex}
.detail-share-dialog{
  width:min(420px,100%);
  overflow:hidden;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 60px rgba(12,31,48,.24);
}
.detail-share-dialog__header{
  min-height:58px;
  padding:0 18px 0 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#f5f6f7;
  border-bottom:1px solid #e4e8eb;
}
.detail-share-dialog__header strong{
  font-size:17px;
  color:#303944;
}
.detail-share-dialog__header button{
  width:42px;height:42px;border:0;background:transparent;color:#273746;
  display:grid;place-items:center;cursor:pointer;
}
.detail-share-dialog__header svg{
  width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;
}
.detail-share-options{padding:8px 22px 18px}
.detail-share-options a,
.detail-share-options button{
  width:100%;
  min-height:55px;
  display:flex;
  align-items:center;
  gap:13px;
  border:0;
  border-bottom:1px solid #d9dee3;
  background:#fff;
  color:#0878c9;
  text-decoration:none;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.detail-share-options a:last-of-type{border-bottom:1px solid #d9dee3}
.detail-share-options button:last-child{border-bottom:0}
.detail-share-options b{font-size:16px;font-weight:500}
.share-icon{
  width:24px;
  flex:0 0 24px;
  display:grid;
  place-items:center;
  font-size:20px;
  font-weight:800;
}
.share-icon--whatsapp{color:#3dcc75}
.share-icon--messenger{color:#1688f8}
.share-icon--facebook{color:#2674d9}
.share-icon--x{color:#111}
.share-icon--linkedin{color:#0878b9;font-size:17px}
.detail-share-open{overflow:hidden!important}

@media(max-width:850px){
  .detail-fullscreen{
    right:126px!important;
  }
  .detail-lightbox{
    padding:54px 0 58px!important;
  }
  .detail-lightbox img{
    width:100%;
    max-width:100%;
    max-height:calc(100dvh - 112px);
  }
  .detail-lightbox-arrow{
    width:42px!important;
    height:42px!important;
    background:rgba(255,255,255,.9)!important;
  }
  .detail-lightbox-arrow--left{left:8px!important}
  .detail-lightbox-arrow--right{right:8px!important}
}


/* v160 — fullscreen desktop + link in nuova scheda */
@media(min-width:851px){
  .detail-gallery-track .detail-photo{
    cursor:zoom-in!important;
  }
  .detail-gallery-track .detail-photo img{
    cursor:zoom-in!important;
  }
}

/* v162 — classificazione automatica fotografie */
.listing-photo-item{aspect-ratio:auto!important;overflow:visible!important;background:transparent!important}
.listing-photo-item__image{position:relative;aspect-ratio:1.25;border-radius:13px;overflow:hidden;background:#e9eef2}
.listing-photo-item__image img{width:100%;height:100%;object-fit:cover}
.listing-photo-item__image span{position:absolute;left:7px;bottom:7px;padding:4px 7px;border-radius:7px;background:rgba(0,0,0,.72);color:#fff;font-size:11px;font-weight:850}
.listing-photo-item__image button{position:absolute;right:6px;top:6px;width:28px;height:28px;border:0;border-radius:50%;background:#fff;color:#d64040;font-size:20px}
.listing-photo-type{width:100%;margin-top:7px;min-height:38px;border:1px solid #d8e0e7;border-radius:9px;background:#fff;padding:0 9px;color:#183247;font-weight:700}
.listing-photo-ai-status{margin:10px 0;padding:10px 12px;border-radius:9px;background:#edf7ff;color:#176a9d;font-size:13px;font-weight:700}
.detail-lightbox-caption{position:absolute;left:50%;bottom:68px;top:auto;transform:translateX(-50%);z-index:7;color:#fff;background:rgba(0,0,0,.72);padding:8px 14px;border-radius:999px;font-size:16px;font-weight:800;max-width:72%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.detail-lightbox-caption[hidden]{display:none!important}
@media(max-width:850px){.detail-lightbox-caption{bottom:66px;top:auto;font-size:15px;max-width:78%;padding:7px 12px}}

/* v163 - foto con categoria automatica locale */
.listing-photo-item{aspect-ratio:auto!important;overflow:visible!important;background:transparent!important}
.listing-photo-item__image{overflow:hidden}
.listing-photo-type{display:block}

.listing-photo-ai-existing{margin:10px 0 2px;border:1px solid #337ab7;border-radius:10px;background:#fff;color:#337ab7;min-height:42px;padding:8px 14px;font-weight:800;cursor:pointer}
.listing-photo-ai-existing:hover{background:#f2f8fc}.listing-photo-ai-existing:disabled{opacity:.55;cursor:wait}

/* v166 - etichetta ambiente sulle foto annuncio */
.detail-photo{position:relative}
.detail-photo-label{position:absolute;left:16px;bottom:16px;z-index:2;max-width:calc(100% - 32px);padding:7px 11px;border-radius:9px;background:rgba(0,0,0,.62);color:#fff;font-size:14px;font-weight:850;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.detail-photo-label[hidden]{display:none!important}
@media(max-width:850px){.detail-photo-label{left:12px;bottom:12px;padding:6px 9px;font-size:13px}}


/* v169 — galleria fullscreen con categoria foto, stile portale immobiliare */
.detail-lightbox{background:#000!important;padding:58px 4px 76px!important}
.detail-lightbox-close{top:14px!important;left:14px!important;right:auto!important;background:transparent!important;color:#fff!important;border-radius:0!important;width:40px!important;height:40px!important}
.detail-lightbox-caption{top:18px!important;bottom:auto!important;background:transparent!important;padding:4px 12px!important;font-size:16px!important;font-weight:750!important;max-width:60%!important}
.detail-lightbox-count{left:18px!important;bottom:18px!important;transform:none!important;background:#30343d!important;color:#fff!important;border-radius:9px!important;padding:11px 16px!important;font-size:15px!important}
.detail-lightbox-arrow{background:rgba(255,255,255,.94)!important;color:#17212b!important}
.detail-photo-label{position:absolute;left:12px;bottom:12px;z-index:3;background:rgba(0,0,0,.72);color:#fff;padding:6px 10px;border-radius:8px;font-size:13px;font-weight:800;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.detail-photo-label[hidden]{display:none!important}
@media(max-width:850px){
  .detail-lightbox{padding:58px 4px 76px!important}
  .detail-lightbox-caption{top:17px!important;bottom:auto!important;font-size:15px!important;max-width:62%!important}
  .detail-lightbox-count{left:16px!important;bottom:16px!important}
}

/* v170 — editor foto annuncio: fullscreen, ritaglio e rotazione */
.listing-photo-item__image img{cursor:zoom-in}
.listing-photo-edit-hint{position:absolute;right:42px;top:7px;z-index:3;padding:5px 8px;border-radius:8px;background:rgba(0,0,0,.66);color:#fff;font-size:11px;font-style:normal;font-weight:800;cursor:pointer;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.photo-editor-open{overflow:hidden!important}
.listing-photo-editor[hidden]{display:none!important}
.listing-photo-editor{position:fixed;inset:0;z-index:100000;display:flex;align-items:stretch;justify-content:center;background:#080b0e}
.listing-photo-editor__backdrop{position:absolute;inset:0;background:#080b0e}
.listing-photo-editor__panel{position:relative;z-index:1;width:min(100%,1180px);height:100dvh;display:grid;grid-template-rows:58px minmax(0,1fr) auto auto;background:#111;color:#fff}
.listing-photo-editor__header{display:grid;grid-template-columns:100px 1fr 100px;align-items:center;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.12);background:#111}
.listing-photo-editor__header strong{text-align:center;font-size:17px}
.listing-photo-editor__close,.listing-photo-editor__apply{border:0;background:transparent;color:#fff;min-height:40px;font-weight:850;cursor:pointer}
.listing-photo-editor__close{justify-self:start;width:42px;font-size:30px;line-height:1}
.listing-photo-editor__apply{justify-self:end;color:#66b7f0;font-size:15px}.listing-photo-editor__apply:disabled{opacity:.45}
.listing-photo-editor__stage{position:relative;min-height:0;overflow:hidden;background:#111;touch-action:none}
.listing-photo-editor__stage canvas{display:block;width:100%;height:100%}
.listing-photo-editor__crop{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px rgba(0,0,0,.48);cursor:move;touch-action:none}
.listing-photo-editor__crop:before,.listing-photo-editor__crop:after{content:"";position:absolute;pointer-events:none;opacity:.7}
.listing-photo-editor__crop:before{left:33.333%;right:33.333%;top:0;bottom:0;border-left:1px solid rgba(255,255,255,.65);border-right:1px solid rgba(255,255,255,.65)}
.listing-photo-editor__crop:after{top:33.333%;bottom:33.333%;left:0;right:0;border-top:1px solid rgba(255,255,255,.65);border-bottom:1px solid rgba(255,255,255,.65)}
.listing-photo-editor__crop i{position:absolute;width:26px;height:26px;z-index:3}
.listing-photo-editor__crop i:after{content:"";position:absolute;width:14px;height:14px;border-color:#fff}
.listing-photo-editor__crop i[data-handle="nw"]{left:-13px;top:-13px;cursor:nwse-resize}.listing-photo-editor__crop i[data-handle="nw"]:after{left:5px;top:5px;border-left:3px solid;border-top:3px solid}
.listing-photo-editor__crop i[data-handle="ne"]{right:-13px;top:-13px;cursor:nesw-resize}.listing-photo-editor__crop i[data-handle="ne"]:after{right:5px;top:5px;border-right:3px solid;border-top:3px solid}
.listing-photo-editor__crop i[data-handle="sw"]{left:-13px;bottom:-13px;cursor:nesw-resize}.listing-photo-editor__crop i[data-handle="sw"]:after{left:5px;bottom:5px;border-left:3px solid;border-bottom:3px solid}
.listing-photo-editor__crop i[data-handle="se"]{right:-13px;bottom:-13px;cursor:nwse-resize}.listing-photo-editor__crop i[data-handle="se"]:after{right:5px;bottom:5px;border-right:3px solid;border-bottom:3px solid}
.listing-photo-editor__crop i[data-handle="n"],.listing-photo-editor__crop i[data-handle="s"]{left:50%;width:54px;height:24px;margin-left:-27px;cursor:ns-resize}
.listing-photo-editor__crop i[data-handle="n"]{top:-12px}.listing-photo-editor__crop i[data-handle="s"]{bottom:-12px}
.listing-photo-editor__crop i[data-handle="n"]:after,.listing-photo-editor__crop i[data-handle="s"]:after{left:19px;width:16px;height:0;border:0;border-top:3px solid #fff}
.listing-photo-editor__crop i[data-handle="n"]:after{top:10px}.listing-photo-editor__crop i[data-handle="s"]:after{bottom:10px}
.listing-photo-editor__crop i[data-handle="e"],.listing-photo-editor__crop i[data-handle="w"]{top:50%;width:24px;height:54px;margin-top:-27px;cursor:ew-resize}
.listing-photo-editor__crop i[data-handle="e"]{right:-12px}.listing-photo-editor__crop i[data-handle="w"]{left:-12px}
.listing-photo-editor__crop i[data-handle="e"]:after,.listing-photo-editor__crop i[data-handle="w"]:after{top:19px;width:0;height:16px;border:0;border-left:3px solid #fff}
.listing-photo-editor__crop i[data-handle="e"]:after{right:10px}.listing-photo-editor__crop i[data-handle="w"]:after{left:10px}
.listing-photo-editor__tools{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:12px;background:#171b1f;border-top:1px solid rgba(255,255,255,.1)}
.listing-photo-editor__tools button{min-height:46px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#252b31;color:#fff;font-weight:750;cursor:pointer}.listing-photo-editor__tools button span{font-size:20px;vertical-align:-1px}
.listing-photo-editor__hint{margin:0;padding:0 14px 12px;background:#171b1f;color:#aab4bd;text-align:center;font-size:12px}
@media(max-width:700px){
 .listing-photo-editor__header{grid-template-columns:70px 1fr 70px}.listing-photo-editor__stage{min-height:280px}
 .listing-photo-editor__tools{gap:5px;padding:10px 8px}.listing-photo-editor__tools button{font-size:11px;padding:5px}.listing-photo-editor__hint{font-size:11px;padding-bottom:10px}
 .listing-photo-edit-hint{right:39px;font-size:10px;padding:4px 6px}
}

/* Trova casa - replica del flusso FindHomePage dell'app */
.find-home-body{background:#f4f7fb;color:#10233d}.find-home-body .site-header{display:none}.find-home-page{min-height:100vh;padding-bottom:84px}.find-home-appbar{height:72px;background:#fff;border-bottom:1px solid #e7ebf1;display:grid;grid-template-columns:52px 1fr 52px;align-items:center;position:sticky;top:0;z-index:30;padding:0 max(14px,env(safe-area-inset-left))}.find-home-appbar a{width:44px;height:44px;display:grid;place-items:center;color:#10233d;border-radius:50%}.find-home-appbar svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.find-home-appbar h1{font-size:19px;line-height:1.2;text-align:center;margin:0;font-weight:900}.find-home-shell{width:min(760px,calc(100% - 32px));margin:22px auto 48px}.find-home-hero{background:linear-gradient(135deg,#e56a20,#f28a49);border-radius:24px;padding:24px;color:#fff;box-shadow:0 14px 32px rgba(229,106,32,.18)}.find-home-hero__icon{width:48px;height:48px;display:grid;place-items:center}.find-home-hero__icon svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.find-home-hero h2{margin:8px 0 8px;font-size:25px;line-height:1.15;font-weight:950}.find-home-hero p{margin:0;font-size:15px;line-height:1.5;color:rgba(255,255,255,.96)}.find-home-form{margin-top:24px}.find-home-section{background:#fff;border:1px solid #e7ebf1;border-radius:22px;padding:22px;margin-bottom:18px;box-shadow:0 7px 24px rgba(24,52,84,.05)}.find-home-section>h2{font-size:18px;margin:0 0 16px;font-weight:900}.find-home-fields,.find-home-section{display:flex;flex-direction:column;gap:14px}.find-home-field{display:flex;flex-direction:column;gap:7px;margin:0}.find-home-field>span:first-child{font-size:13px;font-weight:800;color:#334b68}.find-home-field em{font-style:normal;font-weight:500;color:#7b8999}.find-home-control{min-height:54px;border:1px solid #d8e0e9;border-radius:15px;background:#fff;display:flex;align-items:center;padding:0 13px;gap:10px;transition:border-color .18s,box-shadow .18s}.find-home-control:focus-within{border-color:#e56a20;box-shadow:0 0 0 3px rgba(229,106,32,.11)}.find-home-control>svg{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:#6f8194;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.find-home-control input,.find-home-control select,.find-home-control textarea{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;min-width:0;width:100%;font:inherit;color:#10233d;padding:0!important;margin:0!important}.find-home-control select{height:52px;cursor:pointer}.find-home-control input{height:52px}.find-home-control b{font-size:13px;color:#63778c}.find-home-control--textarea{align-items:flex-start;padding-top:15px}.find-home-control--textarea svg{margin-top:2px}.find-home-control textarea{resize:vertical;min-height:105px;line-height:1.45}.find-home-inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.find-home-field>small,.find-home-privacy-error{min-height:0;color:#c33131;font-size:12px;font-weight:700}.find-home-field.is-error .find-home-control{border-color:#d94b4b;box-shadow:0 0 0 3px rgba(217,75,75,.08)}.find-home-privacy{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;color:#445a71;cursor:pointer}.find-home-privacy input{width:20px;height:20px;flex:0 0 auto;accent-color:#e56a20;margin-top:1px}.find-home-submit{height:56px;border:0;border-radius:16px;background:#e56a20;color:#fff;font-weight:900;font-size:16px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 9px 20px rgba(229,106,32,.2)}.find-home-submit:hover{background:#d85f19}.find-home-submit:disabled{opacity:.7;cursor:wait}.find-home-submit>svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.find-home-submit-error{padding:12px 14px;border-radius:12px;background:#fff0f0;border:1px solid #ffd0d0;color:#b52222;font-size:13px;font-weight:700}.find-home-loading,.find-home-error{margin:28px auto;text-align:center;background:#fff;border-radius:20px;padding:30px;border:1px solid #e7ebf1}.find-home-loading{display:flex;align-items:center;justify-content:center;gap:12px}.find-home-loading p,.find-home-error p{margin:0;color:#66798d}.find-home-error strong{display:block;margin-bottom:8px}.find-home-error button{margin-top:18px;border:0;border-radius:12px;background:#e56a20;color:#fff;padding:11px 20px;font-weight:800}.find-home-spinner{display:inline-block;width:21px;height:21px;border:3px solid rgba(229,106,32,.22);border-top-color:#e56a20;border-radius:50%;animation:find-home-spin .7s linear infinite}.find-home-submit .find-home-spinner{border-color:rgba(255,255,255,.35);border-top-color:#fff}@keyframes find-home-spin{to{transform:rotate(360deg)}}.find-home-success{position:fixed;inset:0;background:rgba(13,27,43,.58);z-index:1000;display:grid;place-items:center;padding:20px}.find-home-success[hidden]{display:none}.find-home-success__card{width:min(420px,100%);background:#fff;border-radius:24px;padding:30px 24px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.25)}.find-home-success__card>span{width:64px;height:64px;border-radius:50%;background:#fff1e8;color:#e56a20;display:grid;place-items:center;margin:0 auto 15px}.find-home-success__card>span svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.find-home-success__card h2{margin:0 0 10px;font-size:24px}.find-home-success__card p{color:#62768b;line-height:1.5;margin:0 0 20px}.find-home-success__card a{display:block;padding:14px;border-radius:14px;background:#e56a20;color:#fff;text-decoration:none;font-weight:900}.find-home-modal-open{overflow:hidden}.find-home-bottom-nav{display:none}
@media(max-width:760px){.find-home-shell{width:calc(100% - 28px);margin-top:16px}.find-home-hero{border-radius:20px;padding:20px}.find-home-hero h2{font-size:22px}.find-home-section{border-radius:18px;padding:18px}.find-home-inline-fields{grid-template-columns:1fr 1fr}.find-home-page{padding-bottom:92px}.find-home-bottom-nav{display:flex}.find-home-body .site-footer{display:none!important}}
@media(max-width:430px){.find-home-inline-fields{grid-template-columns:1fr}.find-home-appbar h1{font-size:17px}.find-home-section{padding:16px}.find-home-shell{width:calc(100% - 24px)}}

/* v174 — stato hidden Trova casa + menu pubblico mobile */
.find-home-loading[hidden],
.find-home-spinner[hidden],
.find-home-form[hidden],
.find-home-error[hidden],
.find-home-submit-error[hidden]{display:none!important}

.public-account-bottom-nav{display:none}
.public-menu-body{background:#f7f8fa;color:#222f40}
.public-menu-page{min-height:100vh;padding:18px 0 96px}
.public-menu-shell{width:min(620px,calc(100% - 28px));margin:0 auto}
.public-menu-login-card{display:grid;grid-template-columns:58px 1fr;gap:12px 14px;align-items:center;background:#fff;border:1px solid #dfe4ea;border-radius:22px;padding:18px;box-shadow:0 2px 8px rgba(19,40,60,.04)}
.public-menu-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#aeb8c9;color:#fff}
.public-menu-avatar svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.8}
.public-menu-login-card strong{font-size:18px;line-height:1.35;font-weight:600;color:#343b46}
.public-menu-login-card>a{grid-column:1/-1;height:46px;border-radius:9px;background:#e56a20;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}
.public-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.public-menu-grid>a{min-height:84px;background:#fff;border:1px solid #dfe6ec;border-radius:18px;padding:15px;box-shadow:0 2px 7px rgba(20,42,62,.06);display:grid;grid-template-columns:34px 1fr 20px;gap:9px;align-items:center;color:#313b49}
.public-menu-grid>a:nth-child(-n+2){min-height:142px;grid-template-columns:1fr;text-align:center;justify-items:center;gap:8px}
.public-menu-feature-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:15px;background:#f1f7fb;color:#337ab7}
.public-menu-feature-icon svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.55}
.public-menu-small-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;background:#f4f6f8;color:#4b5868}
.public-menu-small-icon svg,.public-menu-grid>a>svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
.public-menu-grid strong{font-size:15px}.public-menu-grid>a>svg{justify-self:end}
.public-menu-app{background:#eaf4fb!important}
.public-menu-shell>h2{font-size:13px;font-weight:500;margin:24px 2px 10px;color:#374151}
.public-menu-list{background:#fff;border:1px solid #dfe4ea;border-radius:18px;overflow:hidden}
.public-menu-list>a{height:58px;padding:0 16px;display:grid;grid-template-columns:28px 1fr 20px;align-items:center;gap:10px;border-bottom:1px solid #e5e9ee;font-weight:700}
.public-menu-list>a:last-child{border-bottom:0}.public-menu-list svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}
@media(max-width:760px){
  .public-account-bottom-nav{display:flex}
  .public-menu-body .site-footer{display:none!important}
  .home-public-bottom-nav .public-account-bottom-nav,.results-public-bottom-nav .public-account-bottom-nav{display:flex}
  .find-home-bottom-nav{display:none!important}
}
@media(max-width:760px){
  .home-public-bottom-nav,.results-public-bottom-nav{display:block}
  .home-public-bottom-nav[hidden],.results-public-bottom-nav[hidden]{display:none!important}
}


/* ===== Pagine informative: Contattaci / Partner ===== */
.info-page-body{background:#f6f8fb;color:#10273d}
.info-page{min-height:70vh}
.info-hero{background:linear-gradient(135deg,#edf7fd 0%,#fff6ef 100%);border-bottom:1px solid #e2e9ef;padding:56px 0}
.info-hero__inner{display:flex;align-items:center;gap:28px}
.info-hero__icon{width:76px;height:76px;flex:0 0 76px;border-radius:22px;background:#fff;color:#337ab7;display:grid;place-items:center;box-shadow:0 10px 28px rgba(27,67,98,.09)}
.info-hero__icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.8}
.info-eyebrow{margin:0 0 7px;color:#e56a20;font-size:12px;font-weight:900;letter-spacing:.08em}
.info-hero h1{margin:0 0 10px;font-size:42px;line-height:1.05}
.info-hero p:last-child{max-width:760px;margin:0;color:#526579;font-size:17px;line-height:1.6}
.info-page-shell{padding-top:46px;padding-bottom:70px}
.info-section-heading{max-width:700px;margin-bottom:22px}
.info-section-heading h2,.contact-support-copy h2,.contact-form-card h2,.partner-intro-card h2,.partner-section-heading h2,.partner-bottom-cta h2{margin:0 0 8px;font-size:27px}
.info-section-heading>p:last-child,.contact-support-copy>p,.partner-intro-card p,.partner-bottom-cta p{color:#657589;line-height:1.6}
.faq-list{background:#fff;border:1px solid #dfe7ee;border-radius:22px;overflow:hidden}
.faq-list details{border-bottom:1px solid #e5ebf0}
.faq-list details:last-child{border-bottom:0}
.faq-list summary{list-style:none;cursor:pointer;padding:20px 22px;font-size:16px;font-weight:850;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{width:28px;height:28px;display:grid;place-items:center;color:#617487;transition:transform .2s}
.faq-list summary svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.faq-list details[open] summary span{transform:rotate(90deg)}
.faq-list details>div{padding:0 22px 20px;color:#5a6c7f;line-height:1.65;max-width:900px}
.faq-list details a{color:#337ab7;font-weight:750}
.contact-support-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:44px;margin-top:56px;align-items:start}
.contact-direct-links{display:grid;gap:12px;margin-top:24px}
.contact-direct-links>a{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid #dde6ed;border-radius:16px;padding:15px 17px}
.contact-direct-links svg{width:24px;height:24px;fill:none;stroke:#337ab7;stroke-width:1.8}
.contact-direct-links span{display:flex;flex-direction:column}.contact-direct-links small{color:#738295}.contact-direct-links strong{color:#183047}
.contact-form-card{background:#fff;border:1px solid #dfe7ee;border-radius:22px;padding:28px;box-shadow:0 8px 26px rgba(20,53,80,.06)}
.contact-form-new{display:grid;gap:17px;margin-top:22px}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form-new label:not(.contact-privacy-check){display:grid;gap:7px}
.contact-form-new label>span{font-size:13px;font-weight:850}
.contact-form-new em{font-style:normal;font-weight:500;color:#8592a0}
.contact-form-new input,.contact-form-new select,.contact-form-new textarea{width:100%;border:1px solid #ced9e3;border-radius:12px;background:#fff;color:#183047;font:inherit;padding:13px 14px;outline:none;transition:.15s}
.contact-form-new input,.contact-form-new select{height:48px}
.contact-form-new textarea{resize:vertical;min-height:130px}
.contact-form-new input:focus,.contact-form-new select:focus,.contact-form-new textarea:focus{border-color:#337ab7;box-shadow:0 0 0 3px rgba(51,122,183,.12)}
.contact-privacy-check{display:flex!important;align-items:flex-start;gap:10px;color:#536679;font-size:13px;line-height:1.45}
.contact-privacy-check input{width:18px!important;height:18px!important;flex:0 0 18px;margin-top:1px}
.contact-privacy-check a{color:#337ab7;text-decoration:underline}
.contact-submit{border:0;border-radius:13px;background:#e56a20;color:#fff;height:52px;padding:0 22px;font-weight:900;font-size:15px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}
.contact-submit svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}
.contact-submit:disabled{opacity:.65;cursor:wait}
.contact-submit i{width:17px;height:17px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:contactSpin .7s linear infinite}
@keyframes contactSpin{to{transform:rotate(360deg)}}
.contact-form-status{border-radius:11px;padding:12px 14px;margin:0;font-size:13px;font-weight:700}
.contact-form-status.is-success{background:#eaf8ef;color:#176735}.contact-form-status.is-error{background:#fff0ef;color:#a12923}

/* Partner */
.partner-intro-card{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;background:#fff;border:1px solid #dde6ed;border-radius:22px;padding:28px}
.partner-intro-card a,.partner-bottom-cta a{display:inline-flex;align-items:center;justify-content:center;background:#e56a20;color:#fff;border-radius:12px;padding:13px 18px;font-weight:900;white-space:nowrap}
.partner-section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:48px 0 20px}
.partner-filter{display:flex;gap:8px;flex-wrap:wrap}
.partner-filter button{border:1px solid #cedae4;background:#fff;border-radius:999px;padding:9px 14px;font-weight:800;color:#536679;cursor:pointer}
.partner-filter button.active{background:#337ab7;border-color:#337ab7;color:#fff}
.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.partner-card{background:#fff;border:1px solid #dfe7ee;border-radius:18px;padding:21px;min-height:225px;display:flex;flex-direction:column}
.partner-card[hidden]{display:none!important}
.partner-kind{align-self:flex-start;border-radius:999px;background:#eef6fb;color:#337ab7;font-size:11px;font-weight:900;padding:6px 9px;margin-bottom:13px}
.partner-card h3{margin:0 0 9px;font-size:18px}.partner-card p{margin:0 0 20px;color:#647589;line-height:1.55;font-size:14px}
.partner-card a{margin-top:auto;color:#337ab7;font-weight:850;display:inline-flex;gap:7px;align-items:center}
.partner-card a svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.partner-bottom-cta{text-align:center;background:#102f49;color:#fff;border-radius:24px;padding:38px;margin-top:45px}
.partner-bottom-cta p{color:#cbd9e5;max-width:680px;margin:0 auto 20px}

@media(max-width:900px){
  .contact-support-grid{grid-template-columns:1fr}
  .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .info-hero{padding:30px 0}.info-hero__inner{align-items:flex-start;gap:15px}
  .info-hero__icon{width:54px;height:54px;flex-basis:54px;border-radius:16px}.info-hero__icon svg{width:28px;height:28px}
  .info-hero h1{font-size:28px}.info-hero p:last-child{font-size:14px}
  .info-page-shell{padding-top:28px;padding-bottom:95px}
  .info-section-heading h2,.contact-support-copy h2,.contact-form-card h2,.partner-intro-card h2,.partner-section-heading h2,.partner-bottom-cta h2{font-size:23px}
  .faq-list summary{padding:17px;font-size:15px}.faq-list details>div{padding:0 17px 17px}
  .contact-support-grid{margin-top:36px;gap:25px}.contact-form-card{padding:18px;border-radius:18px}
  .contact-form-row{grid-template-columns:1fr}
  .partner-intro-card{grid-template-columns:1fr;padding:20px}.partner-intro-card a{width:100%}
  .partner-section-heading{display:block;margin-top:36px}.partner-filter{margin-top:14px}
  .partner-grid{grid-template-columns:1fr}.partner-card{min-height:0}
  .partner-bottom-cta{padding:28px 20px}
}


/* ===== Contattaci v2 ===== */
.contact-page .contact-hero{
  position:relative;
  min-height:330px;
  display:flex;
  align-items:center;
  padding:64px 0;
  background:
    linear-gradient(90deg,rgba(7,28,46,.72),rgba(7,28,46,.42)),
    url('/assets/images/hero_home_2.webp') center 50%/cover no-repeat;
  color:#fff;
}
.contact-hero__inner{
  width:min(760px,100%);
  margin:0 auto;
  text-align:center;
}
.contact-hero .info-eyebrow{color:#fff;opacity:.9}
.contact-hero h1{
  margin:0 0 14px;
  color:#fff;
  font-size:46px;
  line-height:1.05;
}
.contact-hero p:last-child{
  margin:0 auto;
  max-width:690px;
  color:#fff;
  font-size:18px;
  line-height:1.55;
  text-shadow:0 1px 8px rgba(0,0,0,.2);
}
.contact-page .faq-section{
  max-width:850px;
  margin:0 auto;
}
.contact-page .contact-faq-heading{
  text-align:center;
  max-width:none;
  margin:0 0 22px;
}
.contact-page .contact-faq-heading h2{
  font-size:36px;
  margin:0;
}
.contact-page .faq-list{
  background:transparent;
  border:0;
  border-radius:0;
  overflow:visible;
}
.contact-page .faq-list details{
  background:transparent;
  border-bottom:1px solid #d6dde4;
}
.contact-page .faq-list details:first-child{
  border-top:1px solid #d6dde4;
}
.contact-page .faq-list summary{
  padding:24px 8px;
  font-size:18px;
}
.contact-page .faq-list details>div{
  padding:0 8px 22px;
}
.contact-page .contact-support-grid{
  padding-top:52px;
  border-top:1px solid #e0e6eb;
}
.contact-honeypot{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* ===== Loghi Partner ===== */
.partner-logo{
  height:82px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin-bottom:14px;
  padding:8px 4px;
}
.partner-logo img{
  display:block;
  max-width:100%;
  max-height:66px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.partner-card{
  min-height:310px;
}

@media(max-width:760px){
  .contact-page .contact-hero{
    min-height:280px;
    padding:44px 20px;
  }
  .contact-hero h1{font-size:36px}
  .contact-hero p:last-child{font-size:16px}
  .contact-page .contact-faq-heading h2{font-size:30px}
  .contact-page .faq-list summary{
    padding:21px 4px;
    font-size:17px;
    line-height:1.3;
  }
  .contact-page .faq-list details>div{padding:0 4px 19px}
  .contact-page .contact-support-grid{
    margin-top:38px;
    padding-top:36px;
  }
  .partner-card{min-height:0}
  .partner-logo{height:70px}
  .partner-logo img{max-height:56px}
}


/* ===== Chi siamo / Vantaggi ===== */
.story-page-body{background:#f7f9fb;color:#10283e}
.story-page{overflow:hidden}
.story-kicker{margin:0 0 9px;color:#e56a20;font-size:12px;font-weight:900;letter-spacing:.11em}
.story-hero{padding:76px 0 68px;background:radial-gradient(circle at 80% 20%,#e7f4fc 0,transparent 33%),linear-gradient(180deg,#fff,#f7f9fb)}
.story-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:60px;align-items:center}
.story-hero__copy h1,.advantages-hero h1{font-size:58px;line-height:1.02;letter-spacing:-.04em;margin:0 0 20px;max-width:780px}
.story-hero__copy h1 span,.advantages-hero h1 span{color:#337ab7}
.story-hero__copy>p:last-of-type,.advantages-hero__inner>div>p:last-of-type{font-size:18px;line-height:1.65;color:#5e7081;max-width:690px}
.story-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px}
.story-btn{min-height:48px;padding:0 19px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;font-weight:900}
.story-btn--primary{background:#e56a20;color:#fff}.story-btn--secondary{background:#fff;color:#183148;border:1px solid #d3dee7}
.story-hero__visual{height:420px;position:relative;display:grid;place-items:center}
.story-orbit{position:absolute;border:1px solid rgba(51,122,183,.18);border-radius:50%}
.story-orbit--one{width:355px;height:355px}.story-orbit--two{width:260px;height:260px}
.story-house-card{position:relative;z-index:2;width:235px;height:235px;border-radius:50px;background:#fff;box-shadow:0 28px 60px rgba(30,75,110,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(-3deg)}
.story-house-icon{width:76px;height:76px;background:#eff8fd;color:#337ab7;border-radius:24px;display:grid;place-items:center;margin-bottom:15px}.story-house-icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.7}
.story-house-card strong{font-size:22px}.story-house-card small{color:#7a8996;margin-top:4px}
.story-floating-chip{position:absolute;background:#fff;border:1px solid #e0e7ed;box-shadow:0 10px 30px rgba(32,73,105,.1);border-radius:999px;padding:9px 14px;font-size:13px;font-weight:900}
.story-floating-chip--a{top:46px;right:8px;color:#e56a20}.story-floating-chip--b{bottom:75px;left:8px;color:#337ab7}.story-floating-chip--c{bottom:20px;right:58px;color:#243f58}
.story-values{padding-top:76px;padding-bottom:88px}
.story-section-heading{max-width:790px;margin-bottom:30px}.story-section-heading h2{font-size:40px;line-height:1.1;letter-spacing:-.025em;margin:0 0 12px}.story-section-heading>p:last-child{color:#657687;font-size:17px;line-height:1.6}
.story-values__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.story-values__grid article{background:#fff;border:1px solid #e0e7ed;border-radius:22px;padding:28px;min-height:235px}
.story-values__grid article>span{font-size:12px;font-weight:900;color:#337ab7}.story-values__grid h3{font-size:21px;margin:42px 0 10px}.story-values__grid p{margin:0;color:#677789;line-height:1.55}
.story-scroll-experience{background:#0d2a42;color:#fff;padding:0}
.story-scroll-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:70px;align-items:start}
.story-scroll-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center}
.story-device-stage{--story-progress:0;position:relative;width:100%;transform:translateY(calc((var(--story-progress) - .5) * -20px)) scale(calc(.94 + var(--story-progress) * .07));transition:filter .25s}
.story-device-glow{position:absolute;inset:14% 5%;background:radial-gradient(circle,#3386c6 0,rgba(51,134,198,.18) 35%,transparent 70%);filter:blur(35px)}
.story-device-stage img{position:relative;z-index:2;display:block;width:100%;height:auto;filter:drop-shadow(0 24px 34px rgba(0,0,0,.35))}
.story-device-focus{position:absolute;z-index:4;border:2px solid #fff;border-radius:18px;box-shadow:0 0 0 999px rgba(4,19,31,.22);opacity:0;transition:.35s}
.story-device-focus--desktop{left:9%;top:9%;width:64%;height:67%}.story-device-focus--tablet{left:45%;top:35%;width:38%;height:47%}.story-device-focus--mobile{right:3%;top:39%;width:25%;height:48%}
.story-device-stage[data-stage="0"] .story-device-focus--desktop,.story-device-stage[data-stage="1"] .story-device-focus--tablet,.story-device-stage[data-stage="2"] .story-device-focus--mobile{opacity:1}
.story-scroll-steps{padding:20vh 0}
.story-step{min-height:68vh;display:flex;flex-direction:column;justify-content:center;opacity:.34;transform:translateY(16px);transition:.35s}
.story-step.is-active{opacity:1;transform:none}.story-step>span{color:#72b6e4;font-size:12px;font-weight:900;letter-spacing:.12em}.story-step h2{font-size:36px;line-height:1.1;margin:12px 0}.story-step p{color:#c4d1dc;font-size:17px;line-height:1.65}
.story-network{padding:88px 0;background:#fff}.story-network__inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.story-network h2{font-size:38px;margin:0 0 12px}.story-network p:last-child{color:#657687;line-height:1.65;font-size:17px}
.story-network__domains{display:grid;gap:12px}.story-network__domains span{padding:20px 24px;border:1px solid #dee6ed;border-radius:18px;background:#f8fafc;font-size:25px;font-weight:900}.story-network__domains b{color:#e56a20}
.story-final-cta{margin-top:72px;margin-bottom:80px;background:linear-gradient(135deg,#edf7fd,#fff4eb);border:1px solid #dce7ee;border-radius:26px;padding:34px;display:flex;justify-content:space-between;gap:30px;align-items:center}.story-final-cta h2{font-size:30px;margin:0 0 7px}.story-final-cta p:last-child{margin:0;color:#66798a}

/* Vantaggi */
.advantages-hero{padding:74px 0;background:linear-gradient(135deg,#fff 0,#f1f8fd 55%,#fff1e8 100%)}
.advantages-hero__inner{display:grid;grid-template-columns:1fr 310px;gap:55px;align-items:center}.advantages-score{height:310px;border-radius:50%;background:#102f49;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 28px 55px rgba(16,47,73,.17)}.advantages-score>span{font-size:92px;line-height:.9;font-weight:900;color:#f58235}.advantages-score strong{font-size:20px;margin-top:13px}.advantages-score small{max-width:190px;color:#bacbd8;margin-top:6px}
.advantages-audience{padding-top:78px;padding-bottom:80px}.advantages-tabs{background:#fff;border:1px solid #dee6ed;border-radius:24px;padding:12px}.advantages-tab-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#f1f5f8;padding:6px;border-radius:16px}.advantages-tab-buttons button{border:0;background:transparent;border-radius:12px;padding:14px;font-weight:900;color:#5b6d7e;cursor:pointer}.advantages-tab-buttons button.active{background:#fff;color:#337ab7;box-shadow:0 3px 10px rgba(25,61,88,.08)}
.advantages-tab-panel{display:none;grid-template-columns:repeat(3,1fr);gap:0}.advantages-tab-panel.active{display:grid}.advantages-tab-panel article{padding:31px 25px;border-right:1px solid #e7edf2}.advantages-tab-panel article:last-child{border-right:0}.advantages-tab-panel b{font-size:11px;color:#e56a20}.advantages-tab-panel h3{font-size:20px;margin:28px 0 8px}.advantages-tab-panel p{color:#657687;line-height:1.55;margin:0}
.advantages-feature-band{padding:80px 0;background:#0f2e47;color:#fff}.advantages-feature-heading{text-align:center;max-width:650px;margin:0 auto 32px}.advantages-feature-heading h2{font-size:38px;margin:0}.advantages-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.advantages-feature-grid article{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:24px}.advantages-feature-grid span{font-size:28px;color:#76b8e3}.advantages-feature-grid h3{margin:27px 0 8px;font-size:19px}.advantages-feature-grid p{margin:0;color:#bed0dd;line-height:1.55}
.advantages-panorama{padding-top:92px;padding-bottom:92px;display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}.advantages-panorama__copy h2{font-size:39px;line-height:1.12;margin:0 0 13px}.advantages-panorama__copy p{color:#657687;line-height:1.65;font-size:17px}.advantages-panorama__copy a{color:#337ab7;font-weight:900}.advantages-panorama__image{--float-y:0px;--float-r:0deg;position:relative;transform:translateY(var(--float-y)) rotate(var(--float-r));transition:transform .08s linear}.advantages-panorama__halo{position:absolute;inset:20% 4%;background:#d7ecf9;filter:blur(38px);border-radius:50%}.advantages-panorama__image img{position:relative;width:100%;filter:drop-shadow(0 25px 25px rgba(22,58,85,.17))}
.advantages-cta{background:#fff;border-top:1px solid #e0e7ed;padding:58px 0 80px}.advantages-cta__inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.advantages-cta h2{font-size:34px;margin:0}.advantages-cta__actions{display:flex;gap:10px;flex-wrap:wrap}.advantages-cta__actions a{padding:13px 16px;border-radius:12px;border:1px solid #d5e0e8;color:#183148;font-weight:900}.advantages-cta__actions a:first-child{background:#e56a20;border-color:#e56a20;color:#fff}

@media(max-width:900px){
.story-hero__grid,.advantages-hero__inner,.story-network__inner,.advantages-panorama{grid-template-columns:1fr}.story-hero__visual{height:330px}.advantages-score{width:280px;height:280px;margin:auto}.story-scroll-layout{grid-template-columns:1fr}.story-scroll-sticky{height:auto;position:relative;padding:65px 0 20px}.story-scroll-steps{padding:0 0 50px}.story-step{min-height:auto;padding:38px 0;opacity:1;transform:none;border-top:1px solid rgba(255,255,255,.12)}.story-device-focus{display:none}.advantages-feature-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
.story-hero{padding:42px 0 44px}.story-hero__grid{gap:20px}.story-hero__copy h1,.advantages-hero h1{font-size:38px}.story-hero__copy>p:last-of-type,.advantages-hero__inner>div>p:last-of-type{font-size:15px}.story-hero__visual{height:280px}.story-house-card{width:180px;height:180px;border-radius:38px}.story-orbit--one{width:260px;height:260px}.story-orbit--two{width:205px;height:205px}.story-floating-chip{font-size:11px;padding:7px 10px}.story-values{padding-top:48px;padding-bottom:52px}.story-section-heading h2{font-size:30px}.story-values__grid{grid-template-columns:1fr}.story-values__grid article{min-height:0;padding:22px}.story-values__grid h3{margin-top:28px}.story-scroll-sticky{padding-top:45px}.story-device-stage{transform:none!important}.story-step h2{font-size:28px}.story-step p{font-size:15px}.story-network{padding:52px 0}.story-network h2{font-size:30px}.story-network__domains span{font-size:21px}.story-final-cta{margin-top:38px;margin-bottom:95px;padding:24px;display:block}.story-final-cta .story-btn{width:100%;margin-top:20px}
.advantages-hero{padding:42px 0}.advantages-hero__inner{gap:32px}.advantages-score{width:220px;height:220px}.advantages-score>span{font-size:70px}.advantages-audience{padding-top:48px;padding-bottom:52px}.advantages-tab-buttons{grid-template-columns:1fr}.advantages-tab-panel.active{grid-template-columns:1fr}.advantages-tab-panel article{border-right:0;border-bottom:1px solid #e7edf2;padding:24px 18px}.advantages-tab-panel article:last-child{border-bottom:0}.advantages-feature-band{padding:52px 0}.advantages-feature-heading h2{font-size:30px}.advantages-feature-grid{grid-template-columns:1fr}.advantages-panorama{padding-top:55px;padding-bottom:60px;gap:28px}.advantages-panorama__copy h2{font-size:30px}.advantages-panorama__image{transform:none!important}.advantages-cta{padding:45px 0 95px}.advantages-cta__inner{display:block}.advantages-cta__actions{margin-top:22px}.advantages-cta__actions a{flex:1 1 100%;text-align:center}
}
@media(prefers-reduced-motion:reduce){.story-device-stage,.advantages-panorama__image{transform:none!important}.story-step{transition:none}}


/* ===== Product demo v2: device panorama built from the current UI ===== */
.story-product-section,.advantages-demo-band{background:#0d2a42;color:#fff;padding:88px 0}
.advantages-demo-band{margin-top:0}
.product-demo{display:grid;grid-template-columns:minmax(250px,.42fr) minmax(620px,1fr);gap:48px;align-items:center}
.product-demo__copy{align-self:center}
.product-demo__copy h2{font-size:40px;line-height:1.08;margin:0 0 14px;color:#fff;letter-spacing:-.025em}
.product-demo__copy>p:last-of-type{color:#bed0dd;font-size:16px;line-height:1.65}
.product-demo__progress{display:flex;gap:8px;margin-top:25px}
.product-demo__progress span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.25);transition:.3s}
.product-demo__progress span.active{width:28px;border-radius:999px;background:#f47721}

.product-demo__stage{
  --demo-progress:0;
  --demo-idle:0;
  position:relative;
  min-height:590px;
  perspective:1600px;
  transform:translateY(calc(var(--demo-idle) * -3px));
}
.demo-glow{position:absolute;inset:16% 5% 4%;background:radial-gradient(circle at 52% 48%,rgba(56,146,211,.42),transparent 61%);filter:blur(32px)}
.demo-screen{overflow:hidden;background:#f5f7fa;color:#10283e}
.demo-screen img{display:block}

.demo-laptop{position:absolute;width:73%;left:0;top:34px;z-index:1;transform:translateX(calc(var(--demo-progress) * -18px)) rotateY(calc(-4deg + var(--demo-progress) * 2deg));transition:filter .35s,opacity .35s}
.demo-laptop__lid{border:9px solid #182431;border-bottom-width:13px;border-radius:16px 16px 7px 7px;background:#182431;box-shadow:0 28px 45px rgba(0,0,0,.28)}
.demo-laptop__base{height:15px;width:112%;margin-left:-6%;background:linear-gradient(#dbe2e7,#8e9ba5);border-radius:3px 3px 18px 18px;box-shadow:0 12px 18px rgba(0,0,0,.22)}
.demo-screen--desktop{height:370px}
.demo-browserbar{height:25px;background:#edf1f4;display:flex;align-items:center;gap:5px;padding:0 9px;font-size:7px;color:#748491}
.demo-browserbar i{width:6px;height:6px;border-radius:50%;background:#c4cdd4}.demo-browserbar span{margin-left:8px;background:#fff;border-radius:3px;padding:3px 18px;flex:1}
.demo-sitebar{height:42px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid #e5e9ed}
.demo-sitebar img{width:95px;height:auto}.demo-site-actions{display:flex;gap:13px;color:#173148;font-size:12px}
.demo-desktop-hero{height:140px;background:linear-gradient(90deg,rgba(9,46,72,.82),rgba(9,46,72,.34)),url('/assets/images/hero_home_4.webp') center/cover;display:flex;align-items:center;padding:0 26px;color:#fff}
.demo-desktop-hero>div{width:78%}.demo-desktop-hero small{font-size:6px;font-weight:900;color:#ff8a43}.demo-desktop-hero strong{display:block;font-size:17px;line-height:1.1;margin:5px 0 13px;max-width:280px}
.demo-searchbar{height:37px;background:#fff;color:#173148;border-radius:12px;display:grid;grid-template-columns:24px auto 1fr 27px;align-items:center;padding:0 8px;gap:4px;box-shadow:0 7px 15px rgba(0,0,0,.14)}
.demo-searchbar span{color:#e56a20;font-size:15px}.demo-searchbar b{font-size:7px}.demo-searchbar em{font-style:normal;color:#84919b;font-size:6px}.demo-searchbar i{font-style:normal;background:#eef7fd;color:#337ab7;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-size:8px}
.demo-quick-row{height:55px;background:#fff;display:flex;align-items:center;justify-content:center;gap:30px;border-bottom:1px solid #e4eaef}
.demo-quick-row span{display:flex;flex-direction:column;align-items:center;color:#337ab7;font-size:15px;font-weight:700}.demo-quick-row small{font-size:6px;color:#173148;margin-top:2px}
.demo-desktop-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 12px;background:#f5f7fa}
.demo-desktop-cards article{background:#fff;border:1px solid #e2e8ed;border-radius:7px;overflow:hidden}.demo-desktop-cards img{width:100%;height:55px;object-fit:cover}.demo-desktop-cards b,.demo-desktop-cards small{display:block;padding:0 7px}.demo-desktop-cards b{font-size:7px;margin-top:5px}.demo-desktop-cards small{font-size:6px;color:#6d7c88;margin:2px 0 6px}

.demo-tablet{position:absolute;width:43%;right:10%;top:185px;z-index:3;background:#17232f;padding:8px;border-radius:16px;box-shadow:0 25px 42px rgba(0,0,0,.32);transform:translateX(calc((.5 - var(--demo-progress)) * 18px)) rotateY(-3deg);transition:.35s}
.demo-tablet__camera{position:absolute;width:4px;height:4px;border-radius:50%;background:#52606b;left:50%;top:2px;z-index:5}
.demo-screen--tablet{height:305px;border-radius:9px}
.demo-tablet-head{height:36px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 10px}.demo-tablet-head img{width:76px}.demo-tablet-head span{font-size:11px;color:#e56a20}
.demo-filter-pills{display:flex;gap:4px;padding:7px;background:#fff;border-top:1px solid #eef1f3}.demo-filter-pills>*{font-size:6px;border:1px solid #d8e2e9;border-radius:999px;padding:4px 7px}.demo-filter-pills b{background:#edf7fd;color:#337ab7}
.demo-tablet-map{height:135px;position:relative;background:linear-gradient(25deg,#e8eef0,#f6f1e8);overflow:hidden}
.demo-tablet-map:before,.demo-tablet-map:after{content:"";position:absolute;background:#d5ddd7;transform:rotate(-24deg)}.demo-tablet-map:before{width:140%;height:7px;left:-20%;top:44%}.demo-tablet-map:after{width:7px;height:150%;left:52%;top:-25%}
.demo-map-shape{position:absolute;width:48%;height:62%;left:26%;top:18%;border:2px solid #337ab7;border-radius:42% 58% 45% 55%;background:rgba(51,122,183,.08)}
.demo-tablet-map i{position:absolute;left:var(--x);top:var(--y);z-index:2;font-style:normal;font-size:6px;background:#fff;color:#173148;border-radius:999px;padding:3px 5px;box-shadow:0 3px 7px rgba(0,0,0,.12)}
.demo-tablet-result{display:grid;grid-template-columns:82px 1fr;gap:8px;background:#fff;padding:8px}.demo-tablet-result img{width:82px;height:63px;object-fit:cover;border-radius:5px}.demo-tablet-result strong,.demo-tablet-result small,.demo-tablet-result b{display:block}.demo-tablet-result strong{font-size:8px}.demo-tablet-result small{font-size:6px;color:#74828d;margin:4px 0}.demo-tablet-result b{font-size:9px;color:#173148}

.demo-phone{position:absolute;width:205px;right:0;bottom:18px;z-index:6;background:#111b25;border:7px solid #111b25;border-radius:31px;box-shadow:0 30px 48px rgba(0,0,0,.38);transform:translateY(calc((1 - var(--demo-progress)) * 25px)) rotateY(-2deg);transition:.35s}
.demo-phone__speaker{position:absolute;z-index:8;top:5px;left:50%;transform:translateX(-50%);width:44px;height:5px;background:#293641;border-radius:99px}
.demo-screen--phone{height:430px;border-radius:23px;background:#f4f6f8;position:relative;padding-top:14px}
.demo-phone-head{height:37px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 11px;border-bottom:1px solid #e7ebee}.demo-phone-head img{width:83px}.demo-phone-head span,.demo-phone-head b{font-size:12px}
.demo-phone-search{background:#fff;padding:8px 11px}.demo-phone-search strong,.demo-phone-search small{display:block}.demo-phone-search strong{font-size:9px}.demo-phone-search small{font-size:6px;color:#768590;margin-top:2px}
.demo-phone-tabs{height:34px;background:#fff;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px 9px;border-bottom:1px solid #e7ebee}.demo-phone-tabs b{font-size:6px;border:1px solid #d8e1e7;border-radius:8px;display:grid;place-items:center}.demo-phone-tabs b:nth-child(2){background:#e56a20;color:#fff;border-color:#e56a20}
.demo-phone-viewport{height:287px;overflow:hidden;padding:6px 7px 0}
.demo-phone-feed{will-change:transform;transition:transform .09s linear}
.demo-phone-feed article{background:#fff;border:1px solid #dfe6eb;border-radius:10px;padding:5px;margin-bottom:7px;box-shadow:0 2px 5px rgba(23,55,79,.05)}
.demo-card-img{height:92px;position:relative;border-radius:7px;overflow:hidden}.demo-card-img img{width:100%;height:100%;object-fit:cover}.demo-card-img span{position:absolute;right:5px;top:5px;width:20px;height:20px;background:#fff;border-radius:50%;display:grid;place-items:center;color:#e56a20;font-size:10px}
.demo-phone-feed article>strong{display:block;font-size:9px;margin:6px 2px 2px}.demo-phone-feed article>b{display:block;font-size:7px;margin:0 2px}.demo-phone-feed article>small{display:block;font-size:6px;color:#6c7c88;margin:2px}
.demo-phone-nav{position:absolute;bottom:0;left:0;right:0;height:42px;background:#fff;border-top:1px solid #e1e7eb;display:flex;align-items:center;justify-content:space-around}.demo-phone-nav span{display:flex;flex-direction:column;align-items:center;font-size:11px}.demo-phone-nav small{font-size:5px;margin-top:1px}
.demo-caption{position:absolute;right:8%;top:96px;z-index:8;background:#fff;color:#173148;padding:9px 13px;border-radius:999px;font-size:11px;font-weight:900;box-shadow:0 10px 22px rgba(0,0,0,.18);transition:.25s}
.product-demo__stage[data-mode="0"] .demo-tablet{opacity:.58;filter:saturate(.6)}
.product-demo__stage[data-mode="0"] .demo-phone{opacity:.56;filter:saturate(.6)}
.product-demo__stage[data-mode="1"] .demo-laptop{opacity:.58;filter:saturate(.55)}
.product-demo__stage[data-mode="1"] .demo-tablet{transform:translateX(-12px) scale(1.05);filter:none}
.product-demo__stage[data-mode="1"] .demo-phone{opacity:.65}
.product-demo__stage[data-mode="2"] .demo-laptop,.product-demo__stage[data-mode="2"] .demo-tablet{opacity:.45;filter:saturate(.45)}
.product-demo__stage[data-mode="2"] .demo-phone{transform:translateY(-8px) scale(1.06);filter:none}
.story-scroll-steps--horizontal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:28px 0 0}
.story-scroll-steps--horizontal .story-step{min-height:0;padding:18px;border-top:2px solid rgba(255,255,255,.14);opacity:.42}
.story-scroll-steps--horizontal .story-step.is-active{border-top-color:#f47721;opacity:1}
.story-scroll-steps--horizontal .story-step h3{font-size:18px;margin:8px 0 5px}
.story-scroll-steps--horizontal .story-step p{font-size:13px;margin:0;color:#b9c9d5;line-height:1.5}

/* ===== Advantages v2 ===== */
.advantages-hero--rich{padding-bottom:64px}
.advantages-score--stack small{line-height:1.7}
.advantages-proof{margin-top:-28px;position:relative;z-index:3;background:#fff;border:1px solid #dfe7ed;border-radius:20px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 15px 35px rgba(24,61,89,.08)}
.advantages-proof>div{padding:21px 20px;border-right:1px solid #e7edf1}.advantages-proof>div:last-child{border-right:0}.advantages-proof strong,.advantages-proof span{display:block}.advantages-proof strong{font-size:16px}.advantages-proof span{font-size:12px;color:#71808d;margin-top:4px}
.advantages-catalog{padding:84px 0;background:#f0f5f8}
.advantages-catalog__heading{max-width:850px}
.advantages-groups{display:grid;gap:18px}
.adv-group{background:#fff;border:1px solid #dde6ed;border-radius:24px;padding:28px}
.adv-group>header{display:grid;grid-template-columns:52px 1fr;gap:15px;align-items:start;margin-bottom:24px}
.adv-group>header>span{width:46px;height:46px;border-radius:14px;background:#edf7fd;color:#337ab7;display:grid;place-items:center;font-weight:900}
.adv-group>header h3{font-size:24px;margin:0 0 4px}.adv-group>header p{margin:0;color:#71808e}
.adv-benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.adv-benefit-grid article{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:16px;border:1px solid #e5ebf0;border-radius:15px;background:#fbfcfd}
.adv-benefit-grid i{width:38px;height:38px;border-radius:11px;background:#fff;border:1px solid #dce6ed;color:#e56a20;display:grid;place-items:center;font-style:normal;font-weight:900}
.adv-benefit-grid h4{margin:0 0 4px;font-size:15px}.adv-benefit-grid p{margin:0;color:#6c7c89;font-size:13px;line-height:1.5}
.advantages-triple{padding:80px 0;background:#fff}
.advantages-triple__inner{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.advantages-triple h2{font-size:38px;line-height:1.1;margin:0 0 12px}.advantages-triple p:last-child{color:#667889;line-height:1.65}
.advantages-triple__logos{display:grid;gap:10px}.advantages-triple__logos span{padding:18px 22px;border:1px solid #dce5ec;border-radius:16px;font-size:22px;font-weight:900;background:#f8fafb}.advantages-triple__logos b{color:#e56a20}

@media(max-width:1050px){
  .product-demo{grid-template-columns:1fr}
  .product-demo__copy{max-width:700px}
  .product-demo__stage{max-width:820px;width:100%;margin:0 auto}
}
@media(max-width:760px){
  .story-product-section,.advantages-demo-band{padding:52px 0}
  .product-demo{gap:20px}
  .product-demo__copy h2{font-size:30px}
  .product-demo__stage{min-height:455px;transform:scale(.92);transform-origin:center top;margin-bottom:-35px}
  .demo-laptop{width:89%;top:20px;left:-8%}
  .demo-screen--desktop{height:290px}
  .demo-desktop-cards{display:none}
  .demo-tablet{width:53%;right:2%;top:145px}
  .demo-screen--tablet{height:235px}
  .demo-tablet-map{height:100px}
  .demo-phone{width:166px;right:-4%;bottom:0}
  .demo-screen--phone{height:350px}
  .demo-phone-viewport{height:218px}
  .demo-phone-feed article{padding:4px}
  .demo-card-img{height:74px}
  .demo-caption{top:78px;right:1%;font-size:9px}
  .story-scroll-steps--horizontal{grid-template-columns:1fr;padding-top:0}
  .story-scroll-steps--horizontal .story-step{padding:13px 2px}
  .advantages-proof{grid-template-columns:1fr 1fr;margin-top:-18px}.advantages-proof>div{border-bottom:1px solid #e7edf1}.advantages-proof>div:nth-child(2){border-right:0}
  .advantages-catalog{padding:52px 0}
  .adv-group{padding:18px;border-radius:18px}
  .adv-benefit-grid{grid-template-columns:1fr}
  .advantages-triple{padding:52px 0}.advantages-triple__inner{grid-template-columns:1fr;gap:25px}.advantages-triple h2{font-size:30px}
}
@media(max-width:460px){
  .product-demo__stage{transform:scale(.80);width:125%;margin-left:-12.5%;margin-bottom:-90px}
  .advantages-proof{grid-template-columns:1fr}.advantages-proof>div{border-right:0}
}


/* ===== Vantaggi v3: layout più pulito e lineare ===== */
.advantages-page .advantages-catalog{
  padding-top:72px;
  background:#f6f8fa;
}
.advantages-page .advantages-catalog__heading{
  max-width:720px;
  margin-bottom:34px;
}
.advantages-page .advantages-catalog__heading h2{
  max-width:680px;
  font-size:38px;
  line-height:1.12;
  letter-spacing:-.02em;
}
.advantages-page .advantages-catalog__heading>p:last-child{
  max-width:660px;
  color:#687a89;
  font-size:16px;
  line-height:1.65;
}
.advantages-page .advantages-groups{
  gap:24px;
}
.advantages-page .adv-group{
  padding:34px;
  border-radius:22px;
  border-color:#e1e7ec;
  box-shadow:0 8px 28px rgba(21,54,78,.045);
}
.advantages-page .adv-group>header{
  grid-template-columns:58px 1fr;
  gap:18px;
  margin-bottom:26px;
  padding-bottom:22px;
  border-bottom:1px solid #e7edf1;
}
.advantages-page .adv-group>header>span{
  width:52px;
  height:52px;
  border-radius:50%;
  background:#eef7fd;
  color:#337ab7;
  font-size:15px;
}
.advantages-page .adv-group>header h3{
  font-size:25px;
  line-height:1.18;
}
.advantages-page .adv-group>header p{
  margin-top:5px;
  font-size:14px;
}
.advantages-page .adv-benefit-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 30px;
}
.advantages-page .adv-benefit-grid article{
  grid-template-columns:38px 1fr;
  gap:13px;
  padding:18px 0;
  border:0;
  border-bottom:1px solid #edf1f4;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.advantages-page .adv-benefit-grid article:nth-last-child(-n+2){
  border-bottom:0;
}
.advantages-page .adv-benefit-grid i{
  width:36px;
  height:36px;
  border:0;
  background:#f3f8fb;
  border-radius:10px;
}
.advantages-page .adv-benefit-grid h4{
  font-size:16px;
  margin-bottom:5px;
}
.advantages-page .adv-benefit-grid p{
  font-size:13.5px;
  line-height:1.55;
}
.advantages-page .advantages-demo-band{
  margin-top:0;
}
.advantages-page .advantages-triple{
  border-top:1px solid #e8edf1;
}
@media(max-width:760px){
  .advantages-page .advantages-catalog{
    padding-top:48px;
  }
  .advantages-page .advantages-catalog__heading h2{
    font-size:29px;
  }
  .advantages-page .adv-group{
    padding:20px 18px;
    border-radius:18px;
  }
  .advantages-page .adv-group>header{
    grid-template-columns:46px 1fr;
    gap:12px;
    padding-bottom:18px;
    margin-bottom:4px;
  }
  .advantages-page .adv-group>header>span{
    width:42px;
    height:42px;
  }
  .advantages-page .adv-group>header h3{
    font-size:20px;
  }
  .advantages-page .adv-benefit-grid{
    grid-template-columns:1fr;
    gap:0;
  }
  .advantages-page .adv-benefit-grid article,
  .advantages-page .adv-benefit-grid article:nth-last-child(-n+2){
    border-bottom:1px solid #edf1f4;
    padding:16px 0;
  }
  .advantages-page .adv-benefit-grid article:last-child{
    border-bottom:0;
  }
}


/* ===== Vantaggi v4: un unico sfondo, 4 titoli forti, nessun blocco a scatola ===== */
.advantages-page .advantages-catalog--flat{
  background:#f7f9fb;
  padding:78px 0 84px;
}
.advantages-page .advantages-catalog__heading--center{
  max-width:760px;
  margin:0 auto 56px;
  text-align:center;
}
.advantages-page .advantages-catalog__heading--center h2{
  margin:0 auto 14px;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-.025em;
}
.advantages-page .advantages-catalog__heading--center>p:last-child{
  max-width:680px;
  margin:0 auto;
  color:#687988;
  font-size:16px;
  line-height:1.65;
}
.advantages-page .adv-flat-sections{
  max-width:1120px;
  margin:0 auto;
}
.advantages-page .adv-flat-section{
  padding:42px 0 46px;
  border-top:1px solid #dfe6ec;
}
.advantages-page .adv-flat-section:first-child{
  border-top:0;
  padding-top:0;
}
.advantages-page .adv-flat-title{
  display:grid;
  grid-template-columns:68px minmax(0,360px) 1fr;
  align-items:start;
  gap:18px;
  margin-bottom:26px;
}
.advantages-page .adv-flat-title>span{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#337ab7;
  color:#fff;
  font-size:18px;
  font-weight:900;
  box-shadow:0 8px 20px rgba(51,122,183,.15);
}
.advantages-page .adv-flat-title h3{
  margin:0 0 6px;
  font-size:26px;
  line-height:1.15;
  letter-spacing:-.015em;
}
.advantages-page .adv-flat-title p{
  margin:0;
  color:#6a7b89;
  font-size:14px;
  line-height:1.55;
}
.advantages-page .adv-flat-grid{
  margin-left:86px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 34px;
}
.advantages-page .adv-flat-grid article{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:13px;
  padding:18px 0;
  border-bottom:1px solid #e8edf1;
}
.advantages-page .adv-flat-grid article:nth-last-child(-n+3){
  border-bottom:0;
}
.advantages-page .adv-flat-grid i{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#edf7fd;
  color:#337ab7;
  font-style:normal;
  font-size:18px;
  font-weight:900;
}
.advantages-page .adv-flat-grid h4{
  margin:1px 0 5px;
  font-size:15px;
  line-height:1.25;
}
.advantages-page .adv-flat-grid p{
  margin:0;
  color:#687988;
  font-size:13px;
  line-height:1.5;
}

/* Rimuove visivamente il vecchio effetto “card su card” se qualche regola precedente resta attiva. */
.advantages-page .adv-flat-section,
.advantages-page .adv-flat-grid article{
  background:transparent;
  border-radius:0;
  box-shadow:none;
}

@media(max-width:900px){
  .advantages-page .adv-flat-title{
    grid-template-columns:58px 1fr;
  }
  .advantages-page .adv-flat-grid{
    margin-left:76px;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .advantages-page .adv-flat-grid article:nth-last-child(-n+3){
    border-bottom:1px solid #e8edf1;
  }
  .advantages-page .adv-flat-grid article:nth-last-child(-n+2){
    border-bottom:0;
  }
}
@media(max-width:760px){
  .advantages-page .advantages-catalog--flat{
    padding:52px 0 58px;
  }
  .advantages-page .advantages-catalog__heading--center{
    text-align:left;
    margin-bottom:38px;
  }
  .advantages-page .advantages-catalog__heading--center h2{
    font-size:31px;
  }
  .advantages-page .advantages-catalog__heading--center>p:last-child{
    margin:0;
    font-size:14px;
  }
  .advantages-page .adv-flat-section{
    padding:32px 0 34px;
  }
  .advantages-page .adv-flat-title{
    grid-template-columns:48px 1fr;
    gap:12px;
    margin-bottom:10px;
  }
  .advantages-page .adv-flat-title>span{
    width:44px;
    height:44px;
    border-radius:13px;
    font-size:14px;
  }
  .advantages-page .adv-flat-title h3{
    font-size:21px;
  }
  .advantages-page .adv-flat-title p{
    font-size:13px;
  }
  .advantages-page .adv-flat-grid{
    margin-left:0;
    grid-template-columns:1fr;
    gap:0;
  }
  .advantages-page .adv-flat-grid article,
  .advantages-page .adv-flat-grid article:nth-last-child(-n+2),
  .advantages-page .adv-flat-grid article:nth-last-child(-n+3){
    border-bottom:1px solid #e8edf1;
    padding:16px 0;
  }
  .advantages-page .adv-flat-grid article:last-child{
    border-bottom:0;
  }
}


/* ===== Pagine informative v5: spazi laterali coerenti ===== */
:root{
  --info-page-max: 1180px;
  --info-page-pad: clamp(18px, 3.2vw, 44px);
}

/* Applica respiro laterale alle pagine create: Contattaci, Partner, Chi siamo, Vantaggi */
.info-page .shell,
.story-page .shell{
  width:min(var(--info-page-max), calc(100% - (var(--info-page-pad) * 2)));
  max-width:var(--info-page-max);
  margin-left:auto;
  margin-right:auto;
  padding-left:0;
  padding-right:0;
  box-sizing:border-box;
}

/* Anche eventuali contenitori interni full-width mantengono il respiro */
.contact-page .info-page-shell,
.partners-page .info-page-shell,
.story-page .story-values,
.story-page .advantages-proof,
.story-page .advantages-audience,
.story-page .advantages-panorama,
.story-page .story-final-cta{
  width:min(var(--info-page-max), calc(100% - (var(--info-page-pad) * 2)));
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}

/* Hero: testo/allineamenti mai incollati ai bordi */
.info-hero__inner,
.contact-hero__inner,
.story-hero__grid,
.advantages-hero__inner{
  width:min(var(--info-page-max), calc(100% - (var(--info-page-pad) * 2)));
  margin-left:auto;
  margin-right:auto;
}

/* Partner/cards: più aria anche desktop */
.partner-grid,
.partner-section-heading,
.partner-intro-card,
.partner-bottom-cta{
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
}
.partner-section-heading{margin-top:48px;margin-bottom:20px}
.partner-bottom-cta{margin-top:45px}

/* Contact: limita la larghezza totale senza schiacciare i campi */
.contact-page .faq-section{max-width:880px}
.contact-page .contact-support-grid{
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
}

/* Icone SVG reali nei Vantaggi */
.advantages-page .adv-real-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#edf7fd;
  color:#337ab7;
  font-style:normal;
}
.advantages-page .adv-real-icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* neutralizza le vecchie dimensioni dei caratteri/glyph */
.advantages-page .adv-flat-grid i.adv-real-icon{
  font-size:0;
  font-weight:400;
}

/* Mobile: un po' più spazio del normale dai bordi */
@media(max-width:760px){
  :root{ --info-page-pad: 20px; }

  .info-page .shell,
  .story-page .shell,
  .contact-page .info-page-shell,
  .partners-page .info-page-shell,
  .story-page .story-values,
  .story-page .advantages-proof,
  .story-page .advantages-audience,
  .story-page .advantages-panorama,
  .story-page .story-final-cta,
  .info-hero__inner,
  .contact-hero__inner,
  .story-hero__grid,
  .advantages-hero__inner{
    width:calc(100% - 40px);
  }

  .contact-page .contact-form-card{
    padding:20px;
  }

  .partner-intro-card,
  .partner-card,
  .partner-bottom-cta{
    border-radius:18px;
  }

  .advantages-page .adv-real-icon{
    width:38px;
    height:38px;
  }
  .advantages-page .adv-real-icon svg{
    width:20px;
    height:20px;
  }
}

@media(min-width:1400px){
  :root{ --info-page-max: 1240px; }
}


/* ===== Desktop navigation v191 ===== */
.desktop-main-actions{display:none}
@media(min-width:900px){
  .site-header .header-inner{max-width:1280px}
  .desktop-main-actions{margin-left:auto;display:flex;align-items:center;gap:22px}
  .desktop-main-actions>a{font-weight:750;font-size:14px;color:#173148;text-decoration:none}
  .desktop-main-actions .desktop-publish-link{border:1px solid #ced9e2;border-radius:9px;padding:11px 16px;color:#087fc3;background:#fff}
  .desktop-main-actions .desktop-menu-link{display:flex;align-items:center;gap:9px;border:1px solid #d3dde5;border-radius:9px;padding:9px 11px}
  .desktop-main-actions .desktop-menu-link svg{width:21px;height:21px;fill:none;stroke:#087fc3;stroke-width:1.8}
  .header-actions--mobile{display:none!important}
}
@media(max-width:899px){
  .desktop-main-actions{display:none!important}
}

/* ===== Search desktop ===== */
.desktop-search-shell,.desktop-filter-panel,.desktop-filter-backdrop{display:none}
@media(min-width:900px){
  .search-page-body{background:#f7f9fb}
  .search-page-body .search-app-page{max-width:none;padding:0}
  .search-page-body .search-appbar.app-form-header{display:none}
  .search-form-app.app-search-exact{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
  .desktop-search-shell{display:block;max-width:1180px;margin:62px auto 90px;padding:0 34px}
  .desktop-search-contracts{display:flex;gap:34px;margin:0 0 14px 16px}
  .desktop-search-contracts button,.desktop-search-contracts a{position:relative;border:0;background:transparent;padding:10px 3px;color:#263b4e;font:inherit;font-weight:800;cursor:pointer;text-decoration:none}
  .desktop-search-contracts .active{color:#e56a20}
  .desktop-search-contracts .active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:4px;background:#e56a20}
  .desktop-search-bar{display:grid;grid-template-columns:minmax(340px,1fr) 310px 54px 132px;align-items:stretch;border:1px solid #cedae4;background:#fff;border-radius:16px;box-shadow:0 10px 28px rgba(26,61,87,.08);overflow:hidden}
  .desktop-search-bar>button{min-height:64px;border:0;background:#fff;color:#173148}
  .desktop-location-field{display:grid;grid-template-columns:34px 1fr;align-items:center;text-align:left;padding:0 18px;border-right:1px solid #dce4ea!important;cursor:pointer}
  .desktop-search-icon svg{width:23px;height:23px;fill:none;stroke:#337ab7;stroke-width:1.8}
  .desktop-location-copy{display:flex;flex-direction:column;gap:3px}
  .desktop-location-copy strong{font-size:14px}.desktop-location-copy small{font-size:11px;color:#728290}
  .desktop-types-field{display:grid;grid-template-columns:30px 1fr 22px;align-items:center;gap:5px;text-align:left;padding:0 15px;border-right:1px solid #dce4ea!important;cursor:pointer}
  .desktop-types-field svg{width:20px;height:20px;fill:none;stroke:#52687a;stroke-width:1.7}
  .desktop-types-field>span:nth-child(2){font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .desktop-filter-trigger{display:grid;place-items:center;border-right:1px solid #dce4ea!important;cursor:pointer}
  .desktop-filter-trigger svg{width:24px;height:24px;fill:none;stroke:#337ab7;stroke-width:1.8}
  .desktop-search-submit{margin:7px;border-radius:10px;background:#e56a20!important;color:#fff!important;font-weight:900;display:flex;justify-content:center;align-items:center;gap:7px;cursor:pointer}
  .desktop-search-submit svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}
  .desktop-location-shortcuts{display:flex;gap:10px;margin:14px 0 0 14px}
  .desktop-location-shortcuts a{display:inline-flex;align-items:center;gap:7px;color:#516779;text-decoration:none;font-size:12px;font-weight:750;padding:8px 11px;border-radius:999px;background:#fff;border:1px solid #e1e8ed}
  .desktop-location-shortcuts svg{width:17px;height:17px;fill:none;stroke:#337ab7;stroke-width:1.8}.shortcut-ai{color:#9948ff;font-size:18px}
  .desktop-filter-backdrop{display:block;position:fixed;inset:0;background:rgba(10,25,38,.45);z-index:900}
  .desktop-filter-backdrop[hidden]{display:none}
  .desktop-filter-panel{display:flex;position:fixed;z-index:910;top:88px;left:50%;width:min(470px,calc(100vw - 40px));max-height:calc(100vh - 120px);transform:translateX(-50%) translateY(-12px);background:#fff;border-radius:18px;box-shadow:0 25px 70px rgba(0,0,0,.25);flex-direction:column;opacity:0;pointer-events:none;transition:.18s}
  .desktop-filter-panel[aria-hidden="false"]{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
  .desktop-filter-panel>header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:15px 18px;border-bottom:1px solid #e3e8ed}.desktop-filter-panel>header>button{border:0;background:none;color:#337ab7;font-weight:800}.desktop-filter-close{justify-self:end!important;font-size:26px!important;color:#526574!important}
  .desktop-filter-panel__body{overflow:auto;padding:4px 18px 12px}
  .desktop-filter-panel__body>button{width:100%;display:grid;grid-template-columns:28px 1fr auto 20px;gap:8px;align-items:center;padding:16px 0;border:0;border-bottom:1px solid #e4eaee;background:#fff;text-align:left;color:#283c4f}
  .desktop-filter-panel__body>button svg,.desktop-inline-filter svg{width:20px;height:20px;fill:none;stroke:#526879;stroke-width:1.7}.desktop-filter-panel__body>button small{font-size:12px;color:#6f7e8a}
  .desktop-inline-filter{padding:15px 0;border-bottom:1px solid #e4eaee}.desktop-inline-filter>div:first-child{display:flex;gap:9px;align-items:center}.desktop-bathrooms{display:flex;gap:8px;margin-top:12px}.desktop-bathrooms button,.desktop-feature-section button{border:1px solid #ced8df;background:#fff;border-radius:9px;padding:8px 11px}.desktop-bathrooms button.active,.desktop-feature-section button.active{background:#337ab7;color:#fff;border-color:#337ab7}
  .desktop-feature-section{padding:16px 0}.desktop-feature-section>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
  .desktop-filter-panel>footer{padding:13px 18px;border-top:1px solid #e3e8ed}.desktop-filter-panel>footer button{width:100%;height:46px;border:0;border-radius:11px;background:#e56a20;color:#fff;font-weight:900}
}

/* ===== Pubblica landing ===== */
.publish-landing{background:#f7f9fb;color:#10283e;min-height:70vh;padding-bottom:80px}
.publish-hero{background:linear-gradient(135deg,#0f3f61,#17658f);color:#fff;padding:68px 0 105px;text-align:center}
.publish-hero p,.publish-section-title p{font-size:11px;letter-spacing:.12em;font-weight:900;color:#ff9b5a;margin:0 0 8px}.publish-hero h1{font-size:46px;line-height:1.04;margin:0 0 13px}.publish-hero span{color:#d8e8f2;font-size:16px}
.publish-choice{display:grid;grid-template-columns:1fr 1fr;max-width:850px!important;margin-top:-62px!important;gap:0;background:#fff;border:1px solid #dce5eb;border-radius:22px;overflow:hidden;box-shadow:0 15px 40px rgba(18,54,79,.12)}
.publish-choice article{padding:32px;position:relative}.publish-choice article+article{border-left:1px solid #e0e7ec}.publish-choice article.featured{background:#fcfdfe}.publish-badge{position:absolute;right:20px;top:18px;background:#e56a20;color:#fff;font-size:10px;font-weight:900;border-radius:999px;padding:5px 8px}.publish-choice-icon{width:62px;height:62px;border-radius:18px;background:#edf7fd;color:#337ab7;display:grid;place-items:center}.publish-choice-icon svg{width:33px;height:33px;fill:none;stroke:currentColor;stroke-width:1.7}.publish-choice h2{font-size:24px;margin:18px 0 8px}.publish-choice p{color:#647687;line-height:1.55}.publish-choice>a{display:flex;height:45px;align-items:center;justify-content:center;border-radius:10px;background:#e56a20;color:#fff;font-weight:900;margin:22px 0}.publish-choice ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;color:#516577;font-size:13px}.publish-choice li{display:flex;gap:8px;align-items:center}.publish-choice li svg{width:17px;height:17px;fill:none;stroke:#2b9b5c;stroke-width:2}
.publish-how,.publish-faq{max-width:980px!important;padding-top:70px}.publish-section-title{text-align:center;margin-bottom:28px}.publish-section-title h2{font-size:32px;margin:0}.publish-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.publish-how-grid article{background:#fff;border:1px solid #dfe6eb;border-radius:17px;padding:24px}.publish-how-grid article>span{font-size:11px;color:#e56a20;font-weight:900}.publish-how-grid article>svg{display:block;width:31px;height:31px;fill:none;stroke:#337ab7;stroke-width:1.7;margin:28px 0 18px}.publish-how-grid h3{margin:0 0 7px}.publish-how-grid p{margin:0;color:#647687;line-height:1.55;font-size:13px}.publish-faq details{background:#fff;border-bottom:1px solid #dfe6eb;padding:18px 4px}.publish-faq summary{font-weight:850;cursor:pointer}.publish-faq details p{color:#647687;line-height:1.6}

/* ===== Agenzie search ===== */
.agency-search-page{background:#f7f9fb;min-height:70vh;padding-bottom:80px}.agency-search-hero{background:linear-gradient(135deg,#eaf6fd,#fff4eb);padding:70px 0}.agency-search-hero p{color:#e56a20;font-size:11px;font-weight:900;letter-spacing:.12em}.agency-search-hero h1{font-size:43px;line-height:1.07;margin:8px 0 26px;color:#10283e}.agency-search-box{display:grid;grid-template-columns:30px 1fr 110px;align-items:center;max-width:720px;background:#fff;border:1px solid #cfdbe4;border-radius:14px;padding:7px 7px 7px 15px;position:relative}.agency-search-box>svg{width:22px;height:22px;fill:none;stroke:#337ab7;stroke-width:1.8}.agency-search-box input{height:46px;border:0;outline:0;font:inherit}.agency-search-box button{height:46px;border:0;border-radius:9px;background:#e56a20;color:#fff;font-weight:900}.agency-location-results{position:absolute;z-index:10;margin-top:5px;width:min(675px,calc(100% - 40px));background:#fff;border:1px solid #dce5eb;border-radius:12px;box-shadow:0 13px 30px rgba(20,55,80,.12);overflow:hidden}.agency-location-results button{width:100%;display:flex;justify-content:space-between;border:0;border-bottom:1px solid #edf1f4;background:#fff;padding:13px 15px;text-align:left}.agency-location-results small{color:#7a8994}.agency-search-info{padding-top:65px}.agency-search-info h2{font-size:30px}.agency-search-info>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.agency-search-info article{background:#fff;border:1px solid #dfe7ed;border-radius:16px;padding:23px}.agency-search-info b{font-size:11px;color:#337ab7}.agency-search-info h3{margin:25px 0 7px}.agency-search-info p{color:#647687;line-height:1.55;margin:0}

@media(max-width:899px){
  .publish-hero{padding:42px 20px 85px}.publish-hero h1{font-size:34px}.publish-choice{grid-template-columns:1fr;margin-left:20px!important;margin-right:20px!important;width:auto!important}.publish-choice article+article{border-left:0;border-top:1px solid #e0e7ec}.publish-how,.publish-faq{padding-left:20px!important;padding-right:20px!important}.publish-how-grid{grid-template-columns:1fr}
  .agency-search-hero{padding:42px 20px}.agency-search-hero h1{font-size:32px}.agency-search-info{padding:45px 20px}.agency-search-info>div{grid-template-columns:1fr}
}


@media(min-width:900px){
  .desktop-location-field{position:relative}
  .desktop-location-copy{display:block}
  .desktop-location-copy input{width:100%;height:62px;border:0;outline:0;background:transparent;color:#173148;font:inherit;font-weight:750;padding:0}
  .desktop-location-copy input::placeholder{font-weight:650;color:#738391}
  .desktop-location-copy small{display:block;margin-top:-17px;padding-bottom:6px;pointer-events:none}
  .desktop-location-results{position:absolute;left:-1px;top:66px;width:min(520px,calc(100vw - 80px));background:#fff;border:1px solid #dbe4ea;border-radius:13px;box-shadow:0 16px 35px rgba(17,52,78,.16);overflow:hidden;z-index:40}
  .desktop-location-results[hidden]{display:none}
  .desktop-location-results button{width:100%;border:0;border-bottom:1px solid #edf1f4;background:#fff;padding:12px 15px;text-align:left;cursor:pointer}
  .desktop-location-results button:hover{background:#f4f8fb}.desktop-location-results button span{display:flex;justify-content:space-between;gap:12px}.desktop-location-results button strong{font-size:13px}.desktop-location-results button small{color:#788895;font-size:11px}
  .desktop-location-results p{padding:14px;margin:0;color:#697b89;font-size:13px}
}

.agency-results-section{padding-top:58px}
.agency-results-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.agency-results-heading p{font-size:11px;letter-spacing:.12em;font-weight:900;color:#e56a20;margin:0 0 5px}.agency-results-heading h2{font-size:30px;margin:0}.agency-results-heading>strong{font-size:13px;color:#71808d}
.agency-results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.agency-result-card{display:grid;grid-template-columns:92px 1fr;gap:17px;background:#fff;border:1px solid #dfe7ed;border-radius:17px;padding:18px}.agency-result-logo{width:92px;height:92px;border-radius:13px;border:1px solid #e4eaee;background:#f7fafc;display:grid;place-items:center;overflow:hidden}.agency-result-logo img{max-width:82%;max-height:82%;object-fit:contain}.agency-result-logo span{font-size:30px;font-weight:900;color:#337ab7}.agency-result-card h3{font-size:18px;margin:4px 0 7px}.agency-result-card p{font-size:12px;line-height:1.45;color:#71808d;min-height:34px}.agency-result-actions{display:flex;gap:8px;margin-top:13px}.agency-result-actions a{font-size:12px;font-weight:850;border:1px solid #cfdbe4;border-radius:8px;padding:8px 10px;color:#337ab7;text-decoration:none}.agency-result-actions a:first-child{background:#337ab7;color:#fff;border-color:#337ab7}.agency-empty{grid-column:1/-1;background:#fff;border:1px solid #dfe7ed;border-radius:14px;padding:25px;color:#627482;text-align:center}
@media(max-width:760px){.agency-results-section{padding:42px 20px 0}.agency-results-grid{grid-template-columns:1fr}.agency-result-card{grid-template-columns:72px 1fr}.agency-result-logo{width:72px;height:72px}.agency-results-heading{align-items:start;display:block}.agency-results-heading>strong{display:block;margin-top:6px}}


/* ===== HOME ENTRY / DESKTOP 193 ===== */
.home-mobile-search{display:block}
.desktop-home-search{display:none}

@media(min-width:900px){
  .home-page-body{background:#fff}
  .home-page-body .app-home{max-width:none;padding-bottom:60px}
  .home-page-body .hero-app{
    height:315px;
    max-width:1380px;
    width:calc(100% - 40px);
    margin:18px auto 0;
    border-radius:28px;
  }
  .home-page-body .hero-app__copy{
    max-width:1180px;
    width:calc(100% - 80px);
    margin:auto;
    padding-top:46px;
  }
  .home-page-body .hero-app__copy h1{
    max-width:560px;
    font-size:42px;
    line-height:1.04;
  }
  .home-mobile-search{display:none}
  .desktop-home-search{
    display:block;
    position:relative;
    z-index:8;
    width:min(1120px,calc(100% - 80px));
    margin:-132px auto 0;
  }
  .desktop-home-contracts{
    display:flex;
    gap:28px;
    align-items:center;
    margin:0 0 13px 16px;
  }
  .desktop-home-contracts button,
  .desktop-home-contracts a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    position:relative;
    color:#fff;
    border:0;
    background:transparent;
    padding:10px 2px 12px;
    font-weight:850;
    cursor:pointer;
    text-decoration:none;
  }
  .desktop-home-contracts svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
  .desktop-home-contracts .active{color:#fff}
  .desktop-home-contracts .active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#f47721;border-radius:99px}
  .desktop-home-bar{
    display:grid;
    grid-template-columns:minmax(360px,1fr) 300px 56px 132px;
    align-items:stretch;
    min-height:64px;
    background:#fff;
    border:1px solid #d5dfe7;
    border-radius:16px;
    box-shadow:0 16px 38px rgba(12,38,57,.18);
    overflow:visible;
  }
  .desktop-home-location{
    position:relative;
    display:grid;
    grid-template-columns:32px 1fr;
    align-items:center;
    gap:7px;
    padding:0 16px;
    border-right:1px solid #dfe5ea;
  }
  .desktop-home-location>span svg{width:22px;height:22px;fill:none;stroke:#173148;stroke-width:1.8}
  .desktop-home-location input{width:100%;height:62px;border:0;outline:0;background:transparent;color:#173148;font:inherit;font-size:14px}
  .desktop-home-location-results{
    position:absolute;
    left:-1px;
    top:68px;
    width:min(540px,calc(100vw - 90px));
    z-index:40;
    background:#fff;
    border:1px solid #dce5eb;
    border-radius:13px;
    box-shadow:0 18px 45px rgba(12,42,64,.18);
    overflow:hidden;
  }
  .desktop-home-location-results[hidden]{display:none}
  .desktop-home-location-results button{
    width:100%;
    border:0;
    border-bottom:1px solid #edf1f4;
    background:#fff;
    padding:12px 15px;
    text-align:left;
    cursor:pointer;
  }
  .desktop-home-location-results button:hover{background:#f3f8fb}
  .desktop-home-location-results button span{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .desktop-home-location-results strong{font-size:13px}
  .desktop-home-location-results small{font-size:11px;color:#72818d}
  .desktop-home-location-results p{padding:13px 15px;margin:0;color:#6b7c89}
  .desktop-home-types{
    display:grid;
    grid-template-columns:26px 1fr 20px;
    align-items:center;
    gap:8px;
    padding:0 14px;
    border-right:1px solid #dfe5ea;
    font-size:13px;
    color:#263b4e;
    text-decoration:none;
  }
  .desktop-home-types svg{width:20px;height:20px;fill:none;stroke:#405568;stroke-width:1.7}
  .desktop-home-types span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .desktop-home-filter{
    display:grid;
    place-items:center;
    border-right:1px solid #dfe5ea;
    color:#337ab7;
  }
  .desktop-home-filter svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8}
  .desktop-home-submit{
    margin:7px;
    border:0;
    border-radius:10px;
    background:#e56a20;
    color:#fff;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    cursor:pointer;
  }
  .desktop-home-submit svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
  .desktop-home-shortcuts{
    display:flex;
    gap:10px;
    margin:14px 0 0 14px;
  }
  .desktop-home-shortcuts a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.96);
    color:#263b4e;
    font-size:12px;
    font-weight:800;
    box-shadow:0 4px 16px rgba(7,31,48,.08);
  }
  .desktop-home-shortcuts svg{width:17px;height:17px;fill:none;stroke:#337ab7;stroke-width:1.8}
  .desktop-ai-star svg{stroke:#9850f5!important}
  .home-page-body .recent-section{max-width:1180px;margin:110px auto 0}
  .home-page-body .recently-viewed{max-width:1180px;margin:34px auto 0}
}

@media(max-width:899px){
  .desktop-home-search{display:none!important}
  .home-mobile-search{display:block}
}


/* ===== HOME search interaction v194 ===== */
.home-search-box__search svg,
.home-search-box__pin svg{
  width:26px!important;
  height:26px!important;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.home-search-box__search{
  transform:none!important;
  font-size:0!important;
}
.home-search-box__pin{font-size:0!important}

@media(min-width:900px){
  .home-page-body .hero-app{
    height:365px;
  }
  .home-page-body .hero-app__copy{
    padding-top:64px;
  }
  .home-page-body .hero-app__copy h1{
    font-size:38px;
    max-width:610px;
    margin:0;
  }
  .desktop-home-search{
    margin:-122px auto 0!important;
  }
  .desktop-home-contracts{
    margin-bottom:15px!important;
    position:relative;
    z-index:12;
  }
  .desktop-home-bar{
    position:relative;
    z-index:15;
  }

  .desktop-home-location,
  .desktop-home-types-wrap{position:relative}

  .desktop-home-types{
    width:100%;
    height:64px;
    border:0;
    background:#fff;
    cursor:pointer;
  }

  .desktop-home-dropdown{
    position:absolute;
    top:70px;
    z-index:80;
    background:#fff;
    border:1px solid #dbe4ea;
    border-radius:12px;
    box-shadow:0 17px 42px rgba(19,50,72,.20);
    overflow:hidden;
  }
  .desktop-home-dropdown[hidden]{display:none!important}
  .desktop-home-location-dropdown{
    left:-1px;
    width:min(520px,calc(100vw - 90px));
  }
  .desktop-home-dropdown-title{
    padding:13px 15px 9px;
    font-size:12px;
    font-weight:850;
    color:#536676;
  }
  .desktop-home-action-row{
    width:100%;
    min-height:52px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:7px 15px;
    border:0;
    background:#fff;
    color:#173148;
    text-align:left;
    cursor:pointer;
    text-decoration:none;
  }
  .desktop-home-action-row:hover{background:#f4f7f9}
  .desktop-home-action-row.ai strong{color:#7542d8}
  .desktop-home-action-row .action-icon{
    width:35px;height:35px;border-radius:50%;display:grid;place-items:center;
    background:#edf7fd;color:#337ab7;flex:0 0 35px
  }
  .desktop-home-action-row .action-icon.orange{background:#fff1e7;color:#e56a20}
  .desktop-home-action-row .action-icon.purple{background:#f5edff;color:#8b43e5}
  .desktop-home-action-row svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
  .desktop-home-action-row strong{font-size:13px}

  .desktop-home-location-results{
    position:static!important;
    width:auto!important;
    border:0!important;
    border-top:1px solid #e5ebef!important;
    border-radius:0!important;
    box-shadow:none!important;
    margin-top:5px;
  }

  .desktop-home-types-dropdown{
    right:-56px;
    width:360px;
    max-height:520px;
  }
  .desktop-home-types-list{
    max-height:390px;
    overflow:auto;
    padding:0 12px 10px;
  }
  .desktop-dropdown-loading{padding:18px;color:#6f808e;font-size:13px}
  .desktop-type-group{border-bottom:1px solid #e7edf1}
  .desktop-type-group-head{
    width:100%;display:grid;grid-template-columns:22px 1fr 20px;align-items:center;gap:8px;
    min-height:48px;border:0;background:#fff;text-align:left;color:#263b4e;cursor:pointer
  }
  .desktop-type-radio{
    width:18px;height:18px;border:1.5px solid #bdcbd5;border-radius:50%;position:relative
  }
  .desktop-type-group.selected .desktop-type-radio:after{
    content:"";position:absolute;inset:4px;border-radius:50%;background:#337ab7
  }
  .desktop-type-options{display:none;padding:0 0 10px 28px}
  .desktop-type-group.open .desktop-type-options{display:grid}
  .desktop-type-options label{
    display:flex;align-items:center;gap:9px;padding:7px 0;font-size:13px;color:#526576
  }
  .desktop-type-options input{accent-color:#337ab7}
  .desktop-types-footer{
    display:flex;justify-content:flex-end;gap:9px;padding:11px 13px;border-top:1px solid #e4eaee
  }
  .desktop-types-footer button{
    border:1px solid #ced9e1;border-radius:8px;background:#fff;padding:8px 12px;font-weight:800;color:#337ab7
  }
  .desktop-types-footer button:last-child{background:#337ab7;color:#fff;border-color:#337ab7}

  .desktop-home-filter{border:0!important;background:#fff!important;cursor:pointer}
  .desktop-home-filter-backdrop{
    display:block;position:fixed;inset:0;background:rgba(8,22,34,.48);z-index:300
  }
  .desktop-home-filter-backdrop[hidden]{display:none!important}
  .desktop-home-filter-modal{
    display:flex;position:fixed;z-index:310;left:50%;top:50%;
    transform:translate(-50%,-48%) scale(.98);
    width:min(620px,calc(100vw - 50px));max-height:min(720px,calc(100vh - 70px));
    background:#fff;border-radius:15px;box-shadow:0 28px 80px rgba(0,0,0,.28);
    flex-direction:column;opacity:0;pointer-events:none;transition:.16s
  }
  .desktop-home-filter-modal[aria-hidden="false"]{
    opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)
  }
  .desktop-home-filter-modal>header{
    display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
    padding:15px 18px;border-bottom:1px solid #e4eaee
  }
  .desktop-home-filter-modal>header button{border:0;background:none;color:#337ab7;font-weight:800}
  .desktop-home-filter-modal>header button:last-child{justify-self:end;font-size:27px;color:#536675}
  .desktop-home-filter-body{
    overflow:auto;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:14px
  }
  .desktop-home-filter-body label{display:grid;gap:6px}
  .desktop-home-filter-body label span{font-size:12px;font-weight:800;color:#394e60}
  .desktop-home-filter-body input{
    height:44px;border:1px solid #ced9e1;border-radius:9px;padding:0 12px;outline:0
  }
  .desktop-home-filter-row{grid-column:1/-1;border-top:1px solid #e7ecef;padding-top:15px}
  .desktop-home-filter-row>span{display:block;font-weight:850;margin-bottom:10px}
  .home-filter-chips{display:flex;gap:8px;flex-wrap:wrap}
  .home-filter-chips button{
    border:1px solid #cfd9e0;background:#fff;border-radius:8px;padding:8px 11px;color:#3f5365
  }
  .home-filter-chips button.active{background:#337ab7;color:#fff;border-color:#337ab7}
  .desktop-home-filter-modal>footer{padding:13px 18px;border-top:1px solid #e4eaee}
  .desktop-home-filter-modal>footer button{
    width:100%;height:46px;border:0;border-radius:9px;background:#e56a20;color:#fff;font-weight:900
  }

  .home-page-body .recent-section{margin-top:95px!important}
}

@media(max-width:899px){
  .desktop-home-filter-modal,.desktop-home-filter-backdrop{display:none!important}
  .home-search-box{
    min-height:80px!important;
    padding:14px 16px!important;
  }
  .home-search-box__search{
    width:34px!important;
    flex:0 0 34px!important;
  }
  .home-search-box__search svg{width:25px!important;height:25px!important}
  .home-search-box__text{margin-left:10px!important}
  .home-search-box__text strong{font-size:15px!important}
  .home-search-box__text small{font-size:13px!important}
  .home-search-box__pin{width:42px!important;height:42px!important}
  .home-search-box__pin svg{width:22px!important;height:22px!important}
}


/* ===== HOME desktop refinements v195 ===== */
@media(min-width:900px){
  /* Il titolo resta chiaramente sopra ai tab Vendita/Affitto/Aste/Agenzie */
  .home-page-body .hero-app__copy{
    padding-top:38px!important;
  }
  .home-page-body .hero-app__copy h1{
    line-height:1.08!important;
  }

  /* La barra/tab rimane nella sua posizione, con più aria sotto il titolo */
  .desktop-home-search{
    margin:-108px auto 0!important;
  }

  /* Scorciatoie/minischede desktop nuovamente visibili sotto al form */
  .desktop-home-mini-actions{
    width:min(1120px,calc(100% - 48px));
    margin:24px auto 54px;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    gap:54px;
  }
  .desktop-home-mini-actions a{
    width:96px;
    display:grid;
    justify-items:center;
    gap:8px;
    color:#173148;
    text-decoration:none;
    text-align:center;
  }
  .desktop-home-mini-actions a>span{
    width:50px;
    height:50px;
    border-radius:14px;
    display:grid;
    place-items:center;
    background:#eef7fc;
    color:#1681c5;
    box-shadow:0 5px 16px rgba(24,70,99,.08);
  }
  .desktop-home-mini-actions a:first-child>span{
    color:#8a43e5;
    background:#f7efff;
    border:1px solid #e6d2ff;
  }
  .desktop-home-mini-actions svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
  }
  .desktop-home-mini-actions strong{
    font-size:12px;
    line-height:1.2;
  }

  /* Le azioni della tendina località spariscono appena si comincia a scrivere */
  .desktop-home-location-dropdown.is-typing>.desktop-home-dropdown-title,
  .desktop-home-location-dropdown.is-typing>.desktop-home-action-row{
    display:none!important;
  }
  .desktop-home-location-dropdown.is-typing .desktop-home-location-results{
    margin-top:0!important;
    border-top:0!important;
  }

  /* Categorie compatte all'apertura, come nel riferimento */
  .desktop-home-types-dropdown{
    width:370px!important;
  }
  .desktop-home-types-list{
    padding:0 12px 8px!important;
  }
  .desktop-type-group-head{
    min-height:43px!important;
  }
  .desktop-type-group-head b{
    transition:transform .15s ease;
  }
  .desktop-type-group.open .desktop-type-group-head b{
    transform:rotate(180deg);
  }
  .desktop-type-options{
    padding-bottom:8px!important;
  }

  /* Con le minischede ripristinate, non serve il vecchio margine enorme */
  .home-page-body .recent-section{
    margin-top:0!important;
  }
}
@media(max-width:899px){
  .desktop-home-mini-actions{display:none!important}
}


/* ===== HOME desktop layout + filtri completi v196 ===== */
@media(min-width:900px){
  /* Barra bianca a cavallo del bordo inferiore dell'immagine */
  .desktop-home-search{
    margin:-76px auto 0!important;
  }

  /* Chevron più larga e pulita */
  .desktop-wide-chevron{
    width:28px!important;
    height:28px!important;
    display:grid!important;
    place-items:center;
    margin-left:auto;
  }
  .desktop-wide-chevron svg{
    width:24px!important;
    height:24px!important;
    fill:none!important;
    stroke:#405568!important;
    stroke-width:1.8!important;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .desktop-group-chevron{
    width:24px;height:24px;display:grid;place-items:center
  }
  .desktop-group-chevron svg{
    width:20px;height:20px;fill:none;stroke:#405568;stroke-width:1.8;
    transition:transform .15s ease
  }
  .desktop-type-group.open .desktop-group-chevron svg{transform:rotate(180deg)}

  /* Modale desktop: stessa logica del form mobile */
  .desktop-home-filter-modal--complete{
    width:min(720px,calc(100vw - 48px))!important;
    max-height:min(790px,calc(100vh - 55px))!important;
  }
  .desktop-home-filter-body--complete{
    display:block!important;
    padding:0 20px 16px!important;
  }
  .home-modal-filter-section{
    padding:18px 0;
    border-bottom:1px solid #e5ebef;
  }
  .home-modal-filter-section:last-child{border-bottom:0}
  .home-modal-filter-title{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:13px;
  }
  .home-modal-filter-title>span svg{
    width:20px;height:20px;fill:none;stroke:#337ab7;stroke-width:1.8
  }
  .home-modal-filter-title strong{font-size:15px}
  .home-modal-filter-title small{
    margin-left:auto;
    max-width:55%;
    color:#697a88;
    font-size:12px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  /* Tipologia dentro al modale: compatta, sezioni chiuse di default */
  .desktop-home-modal-types-list{
    border:1px solid #e0e7ec;
    border-radius:12px;
    overflow:hidden;
  }
  .desktop-home-modal-types-list .desktop-type-group{
    padding:0 12px;
  }
  .desktop-home-modal-types-list .desktop-type-group-head{
    min-height:42px!important;
  }
  .desktop-home-modal-types-list .desktop-type-options{
    max-height:210px;
    overflow:auto;
  }

  .home-modal-double-input{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
  }
  .home-modal-double-input label{
    display:grid;
    gap:6px;
  }
  .home-modal-double-input label>span{
    font-size:11px;
    font-weight:800;
    color:#526576;
  }
  .home-modal-double-input label>div{
    height:46px;
    display:flex;
    align-items:center;
    gap:7px;
    border:1px solid #ced9e1;
    border-radius:10px;
    padding:0 11px;
    background:#fff;
  }
  .home-modal-double-input input{
    min-width:0;
    flex:1;
    height:40px!important;
    padding:0!important;
    border:0!important;
    outline:0;
  }
  .home-modal-double-input b{font-size:12px;color:#526576}

  .home-modal-select-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 14px;
  }
  .home-modal-select-grid label{
    display:grid;
    gap:7px;
  }
  .home-modal-select-grid label strong{font-size:13px}
  .home-modal-select-grid select{
    width:100%;
    height:45px;
    border:1px solid #ced9e1;
    border-radius:10px;
    padding:0 11px;
    background:#fff;
    color:#304658;
  }

  .home-filter-feature-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
  }
  .home-filter-feature-grid button{
    min-height:54px;
    border:1px solid #ced9e1;
    border-radius:10px;
    background:#fff;
    color:#304658;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    font-weight:700;
  }
  .home-filter-feature-grid button span{
    color:#337ab7;
    font-size:18px;
  }
  .home-filter-feature-grid button.active{
    border-color:#337ab7;
    background:#edf7fd;
    color:#337ab7;
  }

  .home-filter-energy-chips button{
    min-width:76px;
  }
  .home-modal-energy .home-modal-filter-title{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
  .home-modal-energy .home-modal-filter-title small{
    margin-left:0;
    max-width:none;
    white-space:normal;
  }
}
@media(max-width:899px){
  /* Nessuna modifica alla posizione del form mobile */
}


/* ===== Desktop filtri compatti / comportamento categorie v197 ===== */
@media(min-width:900px){
  /* Alza leggermente la barra rispetto alla v196 */
  .desktop-home-search{margin:-86px auto 0!important}

  .desktop-types-footer--single{justify-content:flex-end!important}
  .desktop-types-footer--single button{min-width:92px}

  /* Header categoria: pallino e toggle sono due azioni diverse */
  .desktop-type-group-head{
    display:grid!important;
    grid-template-columns:24px 1fr!important;
    gap:7px!important;
    align-items:center!important;
  }
  .desktop-type-radio{
    width:18px!important;height:18px!important;border:1.5px solid #bdcbd5!important;
    border-radius:50%!important;background:#fff!important;padding:0!important;position:relative!important;
  }
  .desktop-type-group.selected .desktop-type-radio:after{
    content:"";position:absolute;inset:4px;border-radius:50%;background:#337ab7;
  }
  .desktop-type-toggle{
    width:100%;min-height:42px;border:0;background:#fff;display:grid;
    grid-template-columns:1fr 26px;align-items:center;text-align:left;color:#263b4e;cursor:pointer;padding:0;
  }
  .desktop-type-toggle strong{font-size:13px}
  .desktop-type-group.open .desktop-group-chevron svg{transform:rotate(180deg)}

  /* Modale come lista compatta */
  .desktop-home-filter-modal--accordion{
    width:min(760px,calc(100vw - 48px))!important;
    max-height:min(790px,calc(100vh - 50px))!important;
    overflow:visible!important;
  }
  .desktop-home-filter-modal--accordion>header{
    flex:0 0 auto;
  }
  .desktop-filter-compact-list{
    overflow:auto;
    padding:8px 20px 12px;
    position:relative;
  }
  .desktop-filter-compact-row{
    position:relative;
    border-bottom:1px solid #dde5ea;
  }
  .desktop-filter-compact-head{
    width:100%;min-height:54px;border:0;background:#fff;display:grid;
    grid-template-columns:30px 1fr auto 24px;align-items:center;gap:8px;text-align:left;color:#2c4052;cursor:pointer;
  }
  .desktop-filter-compact-head strong{font-size:14px}
  .desktop-filter-compact-head small{
    max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    color:#647583;font-size:13px
  }
  .compact-icon{
    width:24px;height:24px;display:grid;place-items:center;color:#466174;font-size:15px;font-weight:700
  }
  .compact-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
  .compact-chevron{display:grid;place-items:center}
  .compact-chevron svg{width:20px;height:20px;fill:none;stroke:#52697a;stroke-width:1.8;transition:transform .15s}
  .desktop-filter-compact-row.open .compact-chevron svg{transform:rotate(180deg)}

  /* Popover laterale, come riferimento */
  .desktop-filter-popover{
    display:none;position:absolute;z-index:30;right:0;top:50px;width:330px;
    max-height:390px;overflow:auto;background:#fff;border:1px solid #dbe4ea;border-radius:10px;
    padding:14px;box-shadow:0 14px 35px rgba(15,46,68,.20);
  }
  .desktop-filter-compact-row.open .desktop-filter-popover{display:block}
  .desktop-filter-popover--types{width:340px;padding:0}
  .desktop-filter-popover--small{width:auto;min-width:285px}
  .desktop-filter-popover--features{width:390px}

  .desktop-home-modal-types-list{
    border:0!important;border-radius:0!important;
    max-height:370px;overflow:auto;
  }
  .desktop-home-modal-types-list .desktop-type-group{padding:0 12px!important}
  .desktop-home-modal-types-list .desktop-type-options{max-height:260px!important}

  .compact-range-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
  .compact-range-grid label{display:grid;gap:5px}
  .compact-range-grid label>span{font-size:11px;color:#667886;font-weight:700}
  .compact-range-grid label>div{
    height:40px;display:flex;align-items:center;gap:5px;border:1px solid #cdd9e2;border-radius:8px;padding:0 9px
  }
  .compact-range-grid input{width:100%;min-width:0;border:0;outline:0;height:36px}
  .compact-suggestions{display:grid}
  .compact-suggestions button{
    min-height:38px;border:0;background:#fff;text-align:left;padding:0 8px;color:#31475a;border-radius:6px
  }
  .compact-suggestions button:hover{background:#eef7fc;color:#1681c5}

  .compact-select-popover select{
    width:100%;height:42px;border:1px solid #ced9e1;border-radius:8px;background:#fff;padding:0 10px
  }
  .home-filter-feature-grid{grid-template-columns:repeat(2,1fr)!important}
  .home-filter-feature-grid button{min-height:42px!important}

  .desktop-home-filter-modal--accordion>footer{
    flex:0 0 auto;
    background:#fff;
    position:relative;
    z-index:40;
  }
}


/* ===== Filtri desktop v198: range sequenziali + count ===== */
@media(min-width:900px){
  .desktop-filter-clear{
    justify-self:start!important;
    border:0!important;
    background:transparent!important;
    color:#337ab7!important;
    font-weight:850!important;
    font-size:13px!important;
    padding:6px 0!important;
  }
  .desktop-filter-clear[hidden]{visibility:hidden!important;display:block!important}

  .desktop-filter-range-popover{
    width:350px!important;
    padding:14px!important;
  }
  .compact-range-grid label{
    border-radius:9px;
    padding:0;
  }
  .compact-range-grid label.active>div{
    border-color:#337ab7!important;
    box-shadow:0 0 0 1px #337ab7 inset;
  }
  .compact-suggestions{
    max-height:300px;
    overflow:auto;
    border-top:1px solid #e7edf1;
    padding-top:8px;
  }
  .compact-suggestions button{
    min-height:40px!important;
    padding:0 10px!important;
    font-size:13px;
  }
  .compact-suggestions .range-indifferent{
    background:#eaf5fc!important;
    color:#167dbd!important;
    margin-bottom:4px;
  }

  .desktop-home-filter-modal--accordion>footer button{
    letter-spacing:0!important;
  }

  /* categoria scelta resta espansa finché l'utente non la conferma/modifica */
  .desktop-home-types-list .desktop-type-group.open .desktop-type-options,
  .desktop-home-modal-types-list .desktop-type-group.open .desktop-type-options{
    display:grid!important;
  }
}


/* ===== v199: filtri desktop stato/contatori/range ===== */
@media(min-width:900px){
  .desktop-home-filter{position:relative!important}
  .desktop-home-filter-count{
    position:absolute;right:5px;top:4px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;
    display:grid;place-items:center;background:#337ab7;color:#fff;font-size:10px;font-weight:900;line-height:1
  }
  .desktop-home-filter-count[hidden]{display:none!important}
  .desktop-home-filter.has-active-filters{background:#edf7fd!important;color:#167fbe!important}

  .desktop-filter-clear[hidden]{display:none!important}
  .desktop-filter-clear:not([hidden]){display:block!important;visibility:visible!important}

  .desktop-type-all{font-weight:750;color:#40576a}
  .desktop-type-group.selected>.desktop-type-group-head .desktop-type-toggle strong{font-weight:900}
  .desktop-type-group.selected.open>.desktop-type-options{display:grid!important}

  .desktop-filter-range-popover.range-phase-max .compact-suggestions button,
  .desktop-filter-compact-row.range-phase-max .compact-suggestions button{text-align:right!important}
  .desktop-filter-compact-row.range-phase-min .compact-suggestions button{text-align:left!important}
  .compact-suggestions .range-indifferent.selected{
    background:#dff0fb!important;color:#087fc2!important;font-weight:850!important
  }
  .compact-range-grid label.active>div{border-color:#168bd0!important;box-shadow:0 0 0 1px #168bd0 inset!important}
  .compact-range-grid input[value="Indifferente"]{color:#1681c5!important;font-weight:700!important}
}


/* ===== Desktop autocomplete + dropdown bounds v200 ===== */
@media(min-width:900px){
  /* Cancella è realmente nascosto solo quando non serve */
  .desktop-filter-clear[hidden]{display:none!important;visibility:visible!important}
  .desktop-filter-clear:not([hidden]){display:block!important;visibility:visible!important}

  /* Autocomplete località raggruppato */
  .desktop-home-location-dropdown{
    max-height:min(520px,calc(100vh - 170px));
    overflow:auto!important;
  }
  .desktop-home-location-dropdown.is-typing{
    padding:0;
  }
  .desktop-home-location-results{
    max-height:none!important;
    overflow:visible!important;
  }
  .desktop-location-group{
    padding:8px 10px 5px;
    border-bottom:1px solid #edf1f4;
  }
  .desktop-location-group:last-child{border-bottom:0}
  .desktop-location-group h4{
    margin:3px 7px 7px;
    font-size:11px;
    line-height:1.2;
    color:#6b7b88;
    font-weight:850;
  }
  .desktop-location-group button,
  .desktop-location-group a{
    width:100%;
    min-height:39px;
    display:grid;
    grid-template-columns:25px 1fr;
    align-items:center;
    gap:8px;
    border:0!important;
    border-radius:7px;
    background:#fff;
    padding:6px 8px!important;
    color:#304456;
    text-align:left;
    text-decoration:none;
    cursor:pointer;
  }
  .desktop-location-group button:hover,
  .desktop-location-group a:hover{
    background:#f1f5f8;
  }
  .location-result-icon{
    width:24px;height:24px;display:grid;place-items:center;
    color:#63778a;font-size:17px;
  }
  .location-result-icon.ai{color:#7a54bc}
  .location-result-copy{
    min-width:0;display:flex;align-items:baseline;gap:8px;
  }
  .location-result-copy strong{
    font-size:12.5px!important;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }
  .location-result-copy small{
    color:#748492!important;font-size:11px!important;white-space:nowrap;
  }
  .desktop-location-ai-group .location-result-copy strong{
    font-weight:500!important;
  }

  /* Tendina categorie: non può più uscire dal viewport */
  .desktop-home-types-dropdown{
    top:68px!important;
    width:350px!important;
    max-height:min(430px,calc(100vh - 190px))!important;
    display:flex;
    flex-direction:column;
    overflow:hidden!important;
  }
  .desktop-home-types-dropdown[hidden]{display:none!important}
  .desktop-home-types-list{
    flex:1 1 auto;
    max-height:330px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  .desktop-home-types-list .desktop-type-options{
    max-height:220px;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .desktop-types-footer{
    flex:0 0 auto;
    background:#fff;
    position:sticky;
    bottom:0;
    z-index:3;
  }
}


/* ===== Home restore + località compatta v201 ===== */
@media(min-width:900px){
  .desktop-home-location-dropdown{
    max-height:min(455px,calc(100vh - 175px))!important;
  }
  .desktop-location-group{
    padding-top:6px!important;
    padding-bottom:4px!important;
  }
  .desktop-location-group h4{
    margin-bottom:4px!important;
  }
  .desktop-location-group button,
  .desktop-location-group a{
    min-height:36px!important;
    padding-top:4px!important;
    padding-bottom:4px!important;
  }
  .location-result-icon{
    width:25px!important;
    height:25px!important;
    color:#5d7185!important;
  }
  .location-result-icon svg{
    width:21px!important;
    height:21px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.65!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .location-result-icon.ai{color:#7b54c8!important}

  .desktop-filter-footer-actions{
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    gap:10px!important;
    align-items:center!important;
    padding:12px 18px!important;
  }
  .desktop-filter-footer-clear{
    min-width:116px;
    height:48px;
    border:1px solid #cbd8e1;
    border-radius:10px;
    background:#fff;
    color:#337ab7;
    font-weight:850;
    cursor:pointer;
  }
  .desktop-filter-footer-clear[hidden]{display:none!important}
  .desktop-filter-footer-actions #desktop-home-filter-apply{
    min-width:0!important;
  }

  .home-restored-actions,
  .home-restored-directory{
    max-width:1180px;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .home-restored-actions{
    margin-top:42px!important;
  }
  .home-restored-directory{
    margin-top:38px!important;
    margin-bottom:48px!important;
  }
}
@media(max-width:899px){
  .home-restored-actions{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .home-restored-directory{
    margin-left:16px!important;
    margin-right:16px!important;
  }
}


/* ===== Layout prova hero + autocomplete mobile + filtri sticky v202 ===== */
@media(min-width:900px){
  /* titolo più alto, tab al centro del riquadro, barra bianca sotto */
  .home-page-body .hero-app__copy{
    padding-top:18px!important;
  }
  .home-page-body .hero-app__copy h1{
    margin-top:0!important;
  }
  .desktop-home-search{
    margin:-64px auto 0!important;
  }
  .desktop-home-contracts{
    transform:translateY(12px);
    margin-bottom:26px!important;
  }
}

/* Cancella footer desktop: colore distinto dal CTA */
.desktop-filter-footer-clear{
  background:#fff!important;
  color:#337ab7!important;
  border:1px solid #337ab7!important;
}
.desktop-filter-footer-clear:hover{
  background:#eef7fd!important;
}

/* Header filtri mobile aperti dai risultati */
.search-filter-edit-header{
  height:58px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 16px;
  position:sticky;
  top:0;
  z-index:80;
  background:#fff;
  border-bottom:1px solid #e7ecef;
}
.search-filter-edit-header[hidden]{display:none!important}
.search-filter-edit-header>strong{
  justify-self:center;
  font-size:16px;
}
.search-filter-edit-header button{
  border:0;
  background:transparent;
  cursor:pointer;
}
#filter-edit-clear{
  justify-self:start;
  color:#1681c5;
  font-weight:800;
  font-size:14px;
  padding:8px 0;
}
#filter-edit-close{
  justify-self:end;
  width:40px;
  height:40px;
  padding:9px;
  color:#203546;
}
#filter-edit-close svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}

/* Risultati raggruppati nel picker mobile */
.picker-location-group{
  padding:10px 0 4px;
  border-bottom:1px solid #edf1f4;
}
.picker-location-group:last-child{border-bottom:0}
.picker-location-group h3{
  margin:0 4px 7px;
  font-size:12px;
  color:#6d7b88;
  font-weight:850;
}
.picker-grouped-result{
  width:100%;
  min-height:46px;
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:center;
  gap:9px;
  border:0;
  background:#fff;
  text-align:left;
  text-decoration:none;
  color:#263b4e;
  border-radius:9px;
  padding:6px 7px;
}
.picker-grouped-result:active,
.picker-grouped-result:hover{
  background:#f3f6f8;
}
.picker-group-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  color:#62788c;
}
.picker-group-icon.ai{color:#7b54c8}
.picker-group-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.picker-grouped-result .picker-result-copy{
  min-width:0;
}
.picker-grouped-result .picker-result-name{
  display:block;
  font-size:14px;
  font-weight:800;
  white-space:normal;
}
.picker-grouped-result small{
  display:block;
  margin-top:2px;
  color:#758593;
  font-size:11.5px;
}
.picker-location-ai .picker-result-name{
  font-weight:600;
  line-height:1.3;
}

@media(max-width:760px){
  #location-picker .dialog-content-app{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  #picker-results{
    max-height:calc(100vh - 145px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-bottom:18px;
  }
}


/* ===== v203 ===== */
@media(min-width:900px){
  /* Titolo quasi all'inizio della foto */
  .home-page-body .hero-app__copy{padding-top:22px!important}

  /* Vendita/Affitto/Aste/Agenzie circa a metà hero; form subito sotto */
  .home-page-body .desktop-home-search{margin:-184px auto 0!important}
  .home-page-body .desktop-home-contracts{
    transform:none!important;
    margin:0 0 14px 16px!important;
  }

  /* VEDI ANNUNCI resta sempre grande e a destra */
  .desktop-filter-footer-actions{
    grid-template-columns:116px minmax(0,1fr)!important;
  }
  .desktop-filter-footer-clear{grid-column:1!important}
  .desktop-filter-footer-clear[hidden]{
    display:block!important;visibility:hidden!important;pointer-events:none!important;
  }
  .desktop-filter-footer-actions #desktop-home-filter-apply{
    grid-column:2!important;width:100%!important;justify-self:stretch!important;
  }
}

/* Home mobile: Comuni / Province / Zone / Ricerca AI */
.home-location-group{padding:9px 0 4px;border-bottom:1px solid #edf1f4}
.home-location-group:last-child{border-bottom:0}
.home-location-group h3{margin:0 2px 6px;color:#687987;font-size:12px;font-weight:850}
.home-location-group-row{
  width:100%;min-height:45px;display:grid;grid-template-columns:34px minmax(0,1fr);
  align-items:center;gap:9px;border:0;border-radius:9px;padding:5px 6px;background:#fff;
  color:#243a4c;text-align:left;text-decoration:none;cursor:pointer;
}
.home-location-group-row:hover,.home-location-group-row:active{background:#f2f6f8}
.home-location-group-icon{width:32px;height:32px;display:grid;place-items:center;color:#60778b}
.home-location-group-icon.ai{color:#7d53c7}
.home-location-group-icon svg{
  width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;
  stroke-linecap:round;stroke-linejoin:round;
}
.home-location-group-copy{min-width:0}
.home-location-group-copy strong{display:block;font-size:14px;font-weight:800;line-height:1.25}
.home-location-group-copy small{display:block;margin-top:2px;color:#788795;font-size:11.5px}
.home-location-ai .home-location-group-copy strong{font-weight:600}

/* Modifica filtri da risultati: Cancella | Filtri | X sticky */
.search-filter-edit-header{position:sticky!important;top:0!important;z-index:140!important;background:#fff!important}
.search-filter-edit-header[hidden]{display:none!important}

@media(max-width:760px){
  #location-results{
    max-height:calc(100vh - 150px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:18px;
  }
}


/* ===== v204: rifinitura hero / filtri / Home mobile ===== */
@media(min-width:900px){
  /* Titolo davvero nella parte alta della foto */
  .home-page-body .hero-app__copy{
    margin:22px 0 0 48px!important;
    padding-top:0!important;
  }

  /* I contratti iniziano circa a metà hero; la barra resta subito sotto. */
  .home-page-body .desktop-home-search{
    margin:-120px auto 0!important;
  }
  .home-page-body .desktop-home-contracts{
    transform:none!important;
    margin:0 0 12px 16px!important;
  }

  /* Footer filtri desktop più compatto: Cancella + CTA non occupano tutta la larghezza. */
  .desktop-filter-footer-actions{
    grid-template-columns:112px minmax(300px,460px)!important;
    justify-content:end!important;
    gap:10px!important;
  }
  .desktop-filter-footer-clear{
    width:112px!important;
    min-width:112px!important;
  }
  .desktop-filter-footer-clear[hidden]{
    display:block!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .desktop-filter-footer-actions #desktop-home-filter-apply{
    width:100%!important;
    min-width:300px!important;
    max-width:460px!important;
    justify-self:end!important;
  }
}

/* Il browser non deve poter rendere contemporaneamente logo e barra Filtri. */
#standard-search-header[hidden],
#filter-edit-header[hidden]{
  display:none!important;
}
body.search-filter-editing #standard-search-header{
  display:none!important;
}
body.search-filter-editing #filter-edit-header{
  display:grid!important;
}

/* La barra Cancella | Filtri | X sostituisce la navbar/logo ed è sempre raggiungibile. */
.search-filter-edit-header{
  position:sticky!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:500!important;
  background:#fff!important;
  border-bottom:1px solid #e3e9ed!important;
}

/* Durante la digitazione Home mobile: suggerimenti prima, ricerche recenti dopo. */
@media(max-width:760px){
  #location-sheet .location-page-content{
    display:flex!important;
    flex-direction:column!important;
  }
  #location-sheet #location-results{
    flex:0 0 auto;
  }
  #location-sheet #location-recent-searches{
    flex:0 0 auto;
  }
}


/* ===== v205: posizione hero + header filtri realmente fisso ===== */
@media(min-width:900px){
  /* Porta contratti e barra di ricerca più in alto, quasi a metà hero. */
  .home-page-body .desktop-home-search{
    margin:-165px auto 0!important;
  }
}

/* Cancella è realmente assente quando non ci sono filtri attivi. */
#filter-edit-clear[hidden]{
  display:none!important;
}

@media(max-width:760px){
  /* Quando modifico i filtri dai risultati, questa barra sostituisce il logo
     e resta fissa anche durante scroll lunghi. */
  body.search-filter-editing #filter-edit-header{
    display:grid!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:60px!important;
    z-index:6000!important;
    background:#fff!important;
    box-shadow:0 1px 0 #e3e9ed;
  }

  body.search-filter-editing #standard-search-header{
    display:none!important;
  }

  body.search-filter-editing #search-app{
    padding-top:60px!important;
  }
}


/* ===== v206: hero / cards / filtri mobile / nessun risultato ===== */
@media(min-width:900px){
  /* Barra Comune + Tipologia + Filtri ancora un po' più in alto. */
  .home-page-body .desktop-home-search{
    margin:-188px auto 0!important;
  }

  /* Le scorciatoie restano libere e le mini schede iniziano più sotto. */
  .home-page-body #recent-searches{
    margin-top:112px!important;
  }
}

/* Header filtri: Cancella a sinistra, Filtri geometricamente al centro, X fissa a destra. */
@media(max-width:760px){
  body.search-filter-editing #filter-edit-header{
    display:grid!important;
    grid-template-columns:minmax(72px,1fr) auto minmax(72px,1fr)!important;
    align-items:center!important;
    padding:0 14px!important;
  }
  body.search-filter-editing #filter-edit-clear{
    grid-column:1!important;
    justify-self:start!important;
    margin:0!important;
  }
  body.search-filter-editing #filter-edit-header>strong{
    grid-column:2!important;
    justify-self:center!important;
    margin:0!important;
    text-align:center!important;
  }
  body.search-filter-editing #filter-edit-close{
    grid-column:3!important;
    justify-self:end!important;
    margin:0!important;
    position:static!important;
  }
  #filter-edit-clear[hidden]{
    display:none!important;
  }
}

/* Nessun suggerimento: non lasciare il dropdown apparentemente vuoto. */
.no-location-results{
  margin:10px!important;
  padding:13px 14px!important;
  border:1px solid #efb4b4!important;
  border-radius:10px!important;
  background:#fff2f2!important;
  color:#b42318!important;
  line-height:1.35!important;
}
.no-location-results strong{
  display:block!important;
  margin-bottom:3px!important;
  color:#b42318!important;
  font-size:13px!important;
  font-weight:850!important;
}
.no-location-results span{
  display:block!important;
  color:#b94a48!important;
  font-size:12px!important;
}


/* ===== v207: scorciatoie visibili + max 3 zone + AI diretto ===== */
@media(min-width:900px){
  /* La barra resta alta nella hero, ma le minischede non devono finirci sotto. */
  .home-page-body .desktop-home-mini-actions{
    margin-top:58px!important;
    margin-bottom:58px!important;
  }
  .home-page-body #recent-searches{
    margin-top:0!important;
  }
}

/* I suggerimenti AI hanno lo stesso aspetto delle altre righe, pur essendo pulsanti. */
.desktop-location-ai-group button,
.picker-location-ai button{
  width:100%;
  border:0;
  background:#fff;
  text-align:left;
  cursor:pointer;
}
.desktop-location-ai-group button:hover,
.picker-location-ai button:hover{
  background:#f3f8fb;
}


/* ===== v208: hero/scorciatoie/zone desktop definitivi ===== */
@media(min-width:900px){
  /* Le scorciatoie sono un blocco di flusso vero, sotto la hero, mai dietro di essa. */
  .home-page-body .desktop-home-mini-actions{
    position:relative!important;
    z-index:30!important;
    margin:92px auto 70px!important;
    padding-top:0!important;
    transform:none!important;
  }
  .home-page-body .desktop-home-mini-actions a,
  .home-page-body .desktop-home-mini-actions a>span{
    position:relative!important;
    z-index:31!important;
  }

  /* Ricerche recenti partono soltanto dopo le scorciatoie. */
  .home-page-body #recent-searches{
    position:relative!important;
    z-index:1!important;
    margin-top:0!important;
    clear:both!important;
  }

  /* Tendina zone del Comune selezionato. */
  .desktop-home-zone-dropdown{
    position:absolute;
    left:-1px;
    top:68px;
    width:min(560px,calc(100vw - 90px));
    max-height:360px;
    overflow:auto;
    z-index:55;
    background:#fff;
    border:1px solid #dce5eb;
    border-radius:0 0 13px 13px;
    box-shadow:0 18px 45px rgba(12,42,64,.18);
  }
  .desktop-home-zone-dropdown[hidden]{display:none!important}
  .desktop-zone-head{
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 14px;
    background:#fff;
    border-bottom:1px solid #e6edf2;
  }
  .desktop-zone-head strong{font-size:13px}
  .desktop-zone-head span{font-size:11px;color:#337ab7;font-weight:800}
  .desktop-zone-row{
    min-height:48px;
    display:grid;
    grid-template-columns:22px 1fr;
    align-items:center;
    gap:10px;
    padding:9px 14px;
    border-bottom:1px solid #edf1f4;
    cursor:pointer;
    background:#fff;
  }
  .desktop-zone-row:hover,.desktop-zone-row.selected{background:#f4f9fc}
  .desktop-zone-row input{width:18px;height:18px;accent-color:#337ab7}
  .desktop-zone-row span{display:grid;gap:2px}
  .desktop-zone-row strong{font-size:13px;color:#23394d}
  .desktop-zone-row small{font-size:11px;color:#738491}
}

/* Una sola lettera non deve generare nessun bordo/riga fantasma. */
.desktop-home-location-dropdown.is-typing[hidden],
.desktop-home-location-results[hidden]{
  display:none!important;
}


/* ===== v209: dropdown sopra scorciatoie + home hero random + pagina agenzie ===== */
@media(min-width:900px){
  /* Il search desktop deve essere lo stacking context più alto: le tendine non passano più sotto alle minischede. */
  .home-page-body .desktop-home-search{
    z-index:120!important;
  }
  .home-page-body .desktop-home-location-dropdown,
  .home-page-body .desktop-home-location-results,
  .home-page-body .desktop-home-zone-dropdown,
  .home-page-body .desktop-home-types-dropdown{
    z-index:180!important;
  }
  .home-page-body .desktop-home-mini-actions{
    z-index:15!important;
  }
}

/* HERO AGENZIE: stessa famiglia visiva della home */
.agency-search-page{background:#f7f9fb;min-height:70vh;padding-bottom:0}
.agency-search-hero--photo{
  position:relative;
  max-width:1380px;
  width:calc(100% - 48px);
  min-height:350px;
  margin:20px auto 0;
  padding:0!important;
  border-radius:28px;
  overflow:visible;
  background:#173148;
}
.agency-search-hero__picture,
.agency-search-hero__shade{
  position:absolute;inset:0;border-radius:28px;overflow:hidden
}
.agency-search-hero__picture img{width:100%;height:100%;object-fit:cover;display:block}
.agency-search-hero__shade{background:linear-gradient(90deg,rgba(9,56,87,.93) 0%,rgba(11,74,113,.78) 48%,rgba(18,52,77,.37) 100%)}
.agency-search-hero__content{
  position:relative;
  z-index:2;
  width:min(1180px,calc(100% - 80px));
  margin:0 auto;
  padding:60px 0 52px;
}
.agency-search-hero__content>p{color:#ff7a20!important;font-size:11px;font-weight:900;letter-spacing:.12em;margin:0 0 8px}
.agency-search-hero__content h1{font-size:42px;line-height:1.06;margin:0 0 28px;color:#fff!important}
.agency-search-hero--photo .agency-search-box{
  width:min(760px,100%);
  max-width:none;
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 16px 38px rgba(8,36,55,.22);
}
.agency-search-hero--photo .agency-location-results{
  width:min(720px,calc(100% - 20px));
  z-index:80;
}

/* Margini reali a sinistra/destra anche nelle sezioni della pagina agenzie */
.agency-content-shell{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
}
.agency-search-info{
  padding:64px 0 76px!important;
}
.agency-search-info h2{font-size:30px;margin:0 0 24px}
.agency-search-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.agency-search-info-grid article{background:#fff;border:1px solid #dfe7ed;border-radius:16px;padding:24px}
.agency-search-info-grid b{font-size:11px;color:#337ab7}
.agency-search-info-grid h3{margin:24px 0 7px}
.agency-search-info-grid p{color:#647687;line-height:1.55;margin:0}

/* Risultati agenzie: lista sx / mappa dx, stile portale */
.agency-results-layout{
  width:min(1440px,calc(100% - 40px));
  height:min(760px,calc(100vh - 110px));
  min-height:610px;
  margin:28px auto 0;
  background:#fff;
  border:1px solid #dce5eb;
  border-radius:20px;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(520px,46%) 1fr;
  box-shadow:0 14px 35px rgba(12,42,64,.08);
}
.agency-results-layout[hidden]{display:none!important}
.agency-results-list-pane{min-width:0;overflow:auto;background:#fff}
.agency-results-map-pane{min-width:0;position:relative;background:#e9eff2;border-left:1px solid #dce5eb}
#agency-results-map{position:absolute;inset:0}
.agency-results-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:24px 24px 18px}
.agency-results-toolbar p{font-size:10px;letter-spacing:.12em;font-weight:900;color:#e56a20;margin:0 0 5px}
.agency-results-toolbar h2{font-size:22px;margin:0;color:#142e44}
.agency-results-toolbar>strong{font-size:14px;color:#52697a;white-space:nowrap}
.agency-contract-tabs{display:flex;gap:24px;padding:0 24px;border-bottom:1px solid #dce5eb}
.agency-contract-tabs button{border:0;background:transparent;padding:12px 2px 13px;font:inherit;font-weight:800;color:#536878;position:relative}
.agency-contract-tabs button.active{color:#337ab7}
.agency-contract-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:99px;background:#337ab7}
.agency-results-grid{display:block!important}
.agency-result-card{
  display:grid!important;
  grid-template-columns:210px 1fr!important;
  gap:22px!important;
  border:0!important;
  border-bottom:1px solid #dce5eb!important;
  border-radius:0!important;
  padding:22px 24px!important;
  background:#fff!important;
}
.agency-result-logo{
  width:210px!important;height:150px!important;border-radius:12px!important;
  background:#fff!important;border:1px solid #dce5eb!important
}
.agency-result-logo img{max-width:82%!important;max-height:75%!important}
.agency-result-main{min-width:0}
.agency-result-card h3{font-size:21px!important;line-height:1.15;margin:3px 0 9px!important;color:#0878bf}
.agency-result-address{margin:0 0 9px!important;min-height:0!important;color:#566b7b!important;font-size:13px!important}
.agency-result-description{
  margin:12px 0 18px!important;
  min-height:0!important;
  color:#5e7180!important;
  line-height:1.42!important;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden
}
.agency-result-actions{justify-content:flex-end!important;margin-top:auto!important}
.agency-contact-link{
  display:inline-flex!important;align-items:center;gap:7px;
  color:#0878bf!important;background:#fff!important;border:1px solid #c9d8e3!important;
  border-radius:9px!important;padding:9px 13px!important
}
.agency-empty{margin:24px}

/* Marker mappa agenzie */
.agency-map-marker-wrap{background:transparent!important;border:0!important}
.agency-map-marker{
  min-width:34px;height:34px;padding:0 8px;border-radius:999px;
  display:grid;place-items:center;background:#0878bf;color:#fff;
  font-weight:900;border:3px solid #fff;box-shadow:0 3px 10px rgba(0,55,95,.28)
}

@media(max-width:899px){
  .agency-search-hero--photo{
    width:calc(100% - 28px);
    min-height:350px;
    margin:14px auto 0;
    border-radius:22px;
  }
  .agency-search-hero__picture,.agency-search-hero__shade{border-radius:22px}
  .agency-search-hero__content{width:calc(100% - 32px);padding:42px 0 40px}
  .agency-search-hero__content h1{font-size:31px}
  .agency-search-box{grid-template-columns:27px 1fr 88px!important;width:100%!important}
  .agency-location-results{left:16px!important;right:16px!important;width:auto!important}

  .agency-results-layout{
    display:block;
    width:calc(100% - 28px);
    height:auto;
    min-height:0;
    margin:22px auto 0;
    border-radius:16px;
  }
  /* Mobile: la mappa non viene mostrata. */
  .agency-results-map-pane{display:none!important}
  .agency-results-list-pane{overflow:visible}
  .agency-results-toolbar{padding:20px 16px 14px;align-items:start}
  .agency-results-toolbar h2{font-size:19px}
  .agency-contract-tabs{padding:0 16px;gap:28px}
  .agency-result-card{
    display:block!important;
    padding:20px 16px 24px!important;
  }
  .agency-result-logo{
    width:100%!important;height:220px!important;margin-bottom:18px
  }
  .agency-result-card h3{font-size:20px!important}
  .agency-result-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .agency-contact-link{justify-content:center!important}
  .agency-content-shell{width:calc(100% - 32px)}
  .agency-search-info{padding:48px 0 66px!important}
  .agency-search-info-grid{grid-template-columns:1fr}
}


/* ===== v210 Agenzie SEO / contatto / mappa ===== */
.agency-message-button{
  font:inherit;
  cursor:pointer;
}
.agency-result-actions .agency-message-button{
  color:#0878bf!important;background:#fff!important;border:1px solid #c9d8e3!important;
  border-radius:9px!important;padding:9px 13px!important;
  display:inline-flex!important;align-items:center;justify-content:center;gap:7px;
  font-size:12px;font-weight:850;
}
.agency-seo-tail{
  padding:54px 0 12px;
  background:#f7f9fb;
}
.agency-seo-tail[hidden]{display:none!important}
.agency-seo-copy{
  background:#fff;
  border:1px solid #dfe7ed;
  border-radius:18px;
  padding:26px 28px;
}
.agency-kicker{font-size:10px;color:#e56a20;font-weight:900;letter-spacing:.12em;margin:0 0 7px}
.agency-seo-copy h2{margin:0 0 10px;font-size:25px;color:#153047}
.agency-seo-copy>p:last-child{margin:0;color:#617585;line-height:1.6}
.agency-related{margin-top:26px;padding-bottom:20px}
.agency-related h3{margin:0 0 12px;font-size:18px}
.agency-related-links{display:flex;flex-wrap:wrap;gap:8px 18px}
.agency-related-links a{color:#337ab7;text-decoration:none;font-size:13px}
.agency-related-links a:hover{text-decoration:underline}
.agency-map-marker{
  font-size:16px;
  background:#0878bf!important;
  border:3px solid #fff!important;
}
.agency-results-map-pane .leaflet-popup-content small{color:#71808d}
@media(max-width:899px){
  .agency-seo-tail{padding:36px 0 8px}
  .agency-seo-copy{padding:20px}
  .agency-related-links{display:grid;gap:10px}
  .agency-result-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .agency-profile-link{grid-column:1/-1}
}


/* ===== v211 Risultati agenzie: layout desktop tipo portale ===== */
.agency-search-page--results{
  max-width:none!important;
  width:100%;
  padding:0!important;
  background:#fff;
}
.agency-results-searchbar{
  background:#fff;
  border-top:1px solid #edf1f4;
  border-bottom:1px solid #dce4ea;
  padding:10px 18px;
  position:relative;
  z-index:24;
}
.agency-results-searchbar__inner{
  max-width:1450px;
  margin:0 auto;
  position:relative;
}
.agency-search-box--compact{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:26px minmax(220px,1fr) 110px!important;
  min-height:50px!important;
  height:50px!important;
  padding:0 6px 0 14px!important;
  border:1px solid #cad7e0!important;
  border-radius:8px!important;
  box-shadow:none!important;
  background:#fff!important;
}
.agency-search-box--compact svg{width:20px;height:20px;color:#137fc5}
.agency-search-box--compact input{border:0;outline:0;padding:0 10px;font-size:14px;min-width:0}
.agency-search-box--compact button{
  border:0!important;border-radius:7px!important;background:#e56a20!important;color:#fff!important;
  font-weight:900!important;height:40px!important;align-self:center!important;cursor:pointer
}
.agency-location-results--compact{
  top:56px!important;
  left:0!important;
  width:min(620px,calc(100vw - 36px))!important;
  z-index:120!important;
}
.agency-results-contract-nav{
  height:53px;
  display:flex;
  align-items:flex-end;
  gap:36px;
  padding:0 max(18px,calc((100vw - 1450px)/2));
  border-bottom:1px solid #dce4ea;
  background:#fff;
}
.agency-results-contract-nav a{
  height:53px;
  display:flex;align-items:center;
  padding:0 6px;
  color:#283846;
  font-weight:650;
  border-bottom:2px solid transparent;
}
.agency-results-contract-nav a.is-active{color:#0878bf;border-bottom-color:#0878bf}

.agency-search-page--results .agency-results-layout{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:minmax(560px,46%) 1fr!important;
  min-height:760px;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:#fff!important;
}
.agency-search-page--results .agency-results-list-pane{
  min-width:0;
  background:#fff;
  overflow:visible!important;
  border-right:1px solid #dfe5ea;
}
.agency-results-meta{
  padding:25px 22px 16px;
  border-bottom:1px solid #e5eaee;
}
.agency-breadcrumb{
  display:flex;align-items:center;gap:7px;
  flex-wrap:wrap;
  font-size:12px;
  color:#0878bf;
  margin-bottom:18px;
}
.agency-breadcrumb strong{font-weight:650}
.agency-results-heading-row{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;
}
.agency-results-heading-row h1{
  font-size:18px!important;
  line-height:1.35;
  margin:0;
  color:#263745;
  font-weight:750;
}
.agency-results-count{
  display:block;
  margin-top:7px;
  color:#344553;
  font-size:15px;
  font-weight:750;
}
.agency-sort{
  display:flex;align-items:center;gap:6px;
  color:#0878bf;
  flex:0 0 auto;
}
.agency-sort select{
  appearance:none;
  border:0;
  background:transparent;
  color:#0878bf;
  font-size:14px;
  font-weight:700;
  padding:2px 24px 2px 2px;
  cursor:pointer;
}
.agency-search-page--results .agency-results-grid{
  display:block!important;
}
.agency-search-page--results .agency-result-card{
  display:grid!important;
  grid-template-columns:245px minmax(0,1fr)!important;
  gap:18px!important;
  min-height:250px;
  padding:18px 20px!important;
  border:0!important;
  border-bottom:1px solid #dfe5ea!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.agency-search-page--results .agency-result-logo{
  width:245px!important;
  height:210px!important;
  min-width:0!important;
  margin:0!important;
  border:1px solid #d8e0e6!important;
  border-radius:8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  overflow:hidden!important;
}
.agency-search-page--results .agency-result-logo img{
  width:88%!important;height:82%!important;object-fit:contain!important
}
.agency-logo-placeholder{
  color:#0878bf;display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-size:48px;font-weight:900;text-align:center
}
.agency-logo-placeholder small{font-size:10px;line-height:1.2;margin-top:6px}
.agency-search-page--results .agency-result-main{
  display:flex;flex-direction:column;min-width:0
}
.agency-search-page--results .agency-result-main h3{
  margin:2px 0 9px!important;
  color:#0878bf!important;
  font-size:21px!important;
  line-height:1.2!important;
}
.agency-result-address{
  margin:0 0 8px!important;color:#5d6d79!important;font-size:13px!important
}
.agency-result-badges{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 8px}
.agency-result-badges span{
  border:1px solid #cbd4da;border-radius:4px;padding:2px 7px;font-size:12px;font-weight:750;color:#364650;background:#f8fafb
}
.agency-search-page--results .agency-result-description{
  margin:0 0 12px!important;
  color:#526270!important;
  font-size:13px!important;
  line-height:1.35!important;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden
}
.agency-search-page--results .agency-result-actions{
  margin-top:auto!important;
  display:flex!important;
  justify-content:flex-end!important;
  gap:10px!important;
}
.agency-search-page--results .agency-contact-link{
  min-width:130px;
  height:38px;
  padding:0 14px!important;
  border:1px solid #c9d6df!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#0878bf!important;
  font-size:12px!important;
  font-weight:850!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important
}
.agency-search-page--results .agency-results-map-pane{
  display:block!important;
  position:sticky!important;
  top:0!important;
  height:calc(100vh - 10px)!important;
  min-height:680px!important;
  background:#eef3f6;
}
.agency-search-page--results #agency-results-map{
  width:100%;height:100%!important;min-height:680px!important
}
.agency-map-marker{
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#0878bf!important;color:#fff!important;
  border:3px solid #fff!important;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
  font-size:15px;font-weight:900
}
.agency-pagination{
  display:flex;justify-content:center;gap:7px;padding:24px 16px 32px
}
.agency-pagination button{
  min-width:38px;height:38px;padding:0 10px;border:1px solid #ccd8e0;border-radius:8px;background:#fff;color:#0878bf;font-weight:750;cursor:pointer
}
.agency-pagination button.is-active{background:#eef7fd;border-color:#0878bf}
.agency-loading,.agency-empty{padding:38px 22px;color:#657582}

.agency-search-page--results .agency-seo-tail{
  background:#f7f9fb;
  border-top:1px solid #e0e7ec;
  padding:40px 0 18px;
}
.agency-search-page--results .agency-content-shell{max-width:1180px!important;margin:0 auto!important}

@media(max-width:899px){
  .agency-results-searchbar{padding:8px 12px}
  .agency-search-box--compact{grid-template-columns:24px minmax(0,1fr) 84px!important}
  .agency-results-contract-nav{padding:0 16px;gap:30px;overflow:auto}
  .agency-search-page--results .agency-results-layout{
    display:block!important;
    min-height:0!important
  }
  .agency-search-page--results .agency-results-list-pane{border-right:0}
  .agency-search-page--results .agency-results-map-pane{display:none!important}
  .agency-results-meta{padding:20px 16px 12px}
  .agency-results-heading-row{display:block}
  .agency-sort{margin-top:12px;justify-content:flex-end}
  .agency-search-page--results .agency-result-card{
    display:block!important;
    padding:18px 16px 22px!important
  }
  .agency-search-page--results .agency-result-logo{
    width:100%!important;height:215px!important;margin-bottom:15px!important
  }
  .agency-search-page--results .agency-result-main h3{font-size:20px!important}
  .agency-search-page--results .agency-result-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    justify-content:stretch!important
  }
  .agency-search-page--results .agency-contact-link{min-width:0;width:100%}
}

/* v211b: titolo risultati unico, come nei portali immobiliari */
.agency-results-heading-row .agency-results-count{
  margin:0!important;
  font-size:18px!important;
  line-height:1.35!important;
  color:#263745!important;
  font-weight:760!important;
}


/* ===== v212: Agenzie usa il form Home ===== */
.desktop-home-search.is-agency-mode .desktop-home-bar{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.desktop-home-search.is-agency-mode .desktop-home-types-wrap,
.desktop-home-search.is-agency-mode .desktop-home-filter{
  display:none!important;
}
.desktop-home-search.is-agency-mode .desktop-home-submit{
  min-width:118px;
}
.desktop-home-mini-actions button{
  border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.desktop-home-mini-actions button>span{
  display:grid;place-items:center;
}

/* Risultati agenzie: metadati e bottoni contatto */
.agency-result-tenure{
  margin:0 0 7px!important;
  color:#657786!important;
  font-size:12px!important;
  text-transform:uppercase;
  letter-spacing:.02em;
  font-weight:700;
}
.agency-contact-link svg{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px;
  stroke-width:1.8!important;
}
.agency-logo-placeholder svg{
  width:48px!important;height:48px!important;
}

/* Marker agenzia riconoscibile */
.agency-map-marker{
  width:38px!important;height:38px!important;
  border-radius:50%!important;
  display:grid!important;place-items:center!important;
  padding:7px!important;
  background:#0878bf!important;
  color:#fff!important;
  border:3px solid #fff!important;
  box-shadow:0 3px 10px rgba(0,0,0,.28)!important;
  transition:transform .15s ease,box-shadow .15s ease;
}
.agency-map-marker:hover{
  transform:translateY(-2px) scale(1.06);
  box-shadow:0 5px 14px rgba(0,0,0,.32)!important;
}
.agency-map-marker svg{width:100%!important;height:100%!important;stroke-width:2!important}
.agency-map-marker-wrap{background:transparent!important;border:0!important}

/* Popup mappa agenzia */
.agency-map-leaflet-popup .leaflet-popup-content-wrapper{
  padding:0!important;border-radius:14px!important;overflow:hidden!important;
  box-shadow:0 12px 32px rgba(22,45,62,.22)!important;
}
.agency-map-leaflet-popup .leaflet-popup-content{
  margin:0!important;width:280px!important;
}
.agency-map-popup-card{background:#fff}
.agency-map-popup-logo{
  display:block;width:100%;height:112px;object-fit:contain;padding:17px;background:#fff
}
.agency-map-popup-placeholder{
  height:104px;display:grid;place-items:center;color:#0878bf;background:#f6fbfe
}
.agency-map-popup-placeholder svg{width:48px;height:48px}
.agency-map-popup-body{padding:13px 14px 14px}
.agency-map-popup-body>strong{
  display:block;color:#0878bf;font-size:16px;margin-bottom:5px
}
.agency-map-popup-body>small{
  display:block;color:#687b89;font-size:11px;margin-top:3px
}
.agency-map-popup-actions{
  display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px
}
.agency-map-popup-actions a,.agency-map-popup-actions button{
  min-width:0;height:36px;border:1px solid #cbd9e2;border-radius:8px;background:#fff;
  color:#0878bf;font-size:11px;font-weight:800;display:flex;align-items:center;
  justify-content:center;gap:5px;cursor:pointer;text-decoration:none
}
.agency-map-popup-actions svg{width:16px;height:16px}

@media(max-width:760px){
  .quick-grid button.quick-item{padding:0}
}


/* ===== v214 — proporzioni desktop liste/mappa + testata risultati ===== */
@media (min-width: 900px) {
  /* AGENZIE:
     la navigazione Tutte/Vendita/Affitto appartiene alla colonna risultati,
     non attraversa anche la mappa. */
  .agency-search-page--results .agency-results-contract-nav{
    width:54%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    padding-left:24px!important;
    padding-right:24px!important;
    margin:0!important;
  }

  /* Più spazio alle schede agenzia e meno alla mappa. */
  .agency-search-page--results .agency-results-layout{
    grid-template-columns:minmax(650px,54%) minmax(0,46%)!important;
  }

  /* La mappa deve essere interamente visibile già al primo caricamento:
     niente min-height che la spinge sotto la viewport. */
  .agency-search-page--results .agency-results-map-pane{
    top:0!important;
    height:calc(100vh - 207px)!important;
    min-height:520px!important;
    max-height:calc(100vh - 207px)!important;
    overflow:hidden!important;
  }
  .agency-search-page--results #agency-results-map{
    height:100%!important;
    min-height:0!important;
  }

  /* ANNUNCI: stessa logica, colonna lista più larga della mappa. */
  .results-page-body .server-results-split{
    grid-template-columns:minmax(720px,55%) minmax(0,45%)!important;
  }

  /* Breadcrumb/titolo/ordinamento rimangono dentro la stessa larghezza
     della colonna sinistra, come nei portali immobiliari. */
  .results-page-body .results-toolbar.shell{
    width:55%!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box!important;
    padding-left:24px!important;
    padding-right:24px!important;
  }

  /* La mappa annunci non deve uscire sotto lo schermo al primo caricamento. */
  .results-page-body .results-map-sticky{
    top:0!important;
    height:calc(100vh - 176px)!important;
    min-height:540px!important;
    max-height:calc(100vh - 176px)!important;
    overflow:hidden!important;
  }
  .results-page-body .results-map{
    height:100%!important;
    min-height:0!important;
  }
}

/* Breakpoint intermedio: manteniamo la mappa senza comprimere troppo le card. */
@media (min-width: 1300px) and (max-width: 1500px){
  .agency-search-page--results .agency-results-layout{
    grid-template-columns:minmax(620px,55%) minmax(0,45%)!important;
  }
  .agency-search-page--results .agency-results-contract-nav{
    width:55%!important;
  }
  .results-page-body .server-results-split{
    grid-template-columns:minmax(690px,56%) minmax(0,44%)!important;
  }
  .results-page-body .results-toolbar.shell{
    width:56%!important;
  }
}


/* ===== v215 — sticky desktop agenzie + mappa annunci dai filtri ===== */
@media (min-width:1300px){

  /* AGENZIE */
  .agency-search-page--results .agency-results-searchbar{
    position:sticky!important;
    top:64px!important;
    z-index:950!important;
  }
  .agency-search-page--results .agency-results-layout{
    grid-template-columns:minmax(680px,56%) minmax(0,44%)!important;
    align-items:start!important;
    margin:0!important;
  }
  .agency-search-page--results .agency-results-list-pane{
    min-width:0!important;
  }
  .agency-search-page--results .agency-results-contract-nav{
    width:100%!important;
    height:48px!important;
    min-height:48px!important;
    padding:0 24px!important;
    margin:0!important;
    gap:38px!important;
    position:sticky!important;
    top:125px!important;
    z-index:900!important;
    box-sizing:border-box!important;
  }
  .agency-search-page--results .agency-results-contract-nav a{
    height:48px!important;
  }
  .agency-search-page--results .agency-results-meta{
    padding-top:18px!important;
  }
  .agency-search-page--results .agency-results-map-pane{
    position:sticky!important;
    top:125px!important;
    height:calc(100vh - 125px)!important;
    min-height:0!important;
    max-height:calc(100vh - 125px)!important;
    overflow:hidden!important;
    align-self:start!important;
  }
  .agency-search-page--results #agency-results-map{
    height:100%!important;
    min-height:0!important;
  }

  /* ANNUNCI */
  .results-page-body .server-results-split{
    display:grid!important;
    grid-template-columns:minmax(760px,56%) minmax(0,44%)!important;
    align-items:start!important;
    border-top:0!important;
  }
  .results-page-body .results-left-column{
    min-width:0!important;
    border-right:1px solid #e5e7eb;
    background:#fff;
  }
  .results-page-body .results-toolbar.shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box!important;
    padding:13px 22px 11px!important;
    border-bottom:1px solid #e5e7eb;
  }
  .results-page-body .seo-breadcrumb{
    margin-bottom:10px!important;
  }
  .results-page-body .results-toolbar-main{
    align-items:center!important;
  }
  .results-page-body .results-title-block h1{
    margin:0!important;
    font-size:20px!important;
    line-height:1.25!important;
  }
  .results-page-body .server-property-list{
    padding-top:14px!important;
  }
  .results-page-body .results-map-column{
    position:relative!important;
    min-height:100%!important;
    border-left:0!important;
  }
  .results-page-body .results-map-sticky{
    position:sticky!important;
    top:112px!important;
    height:calc(100vh - 112px)!important;
    min-height:0!important;
    max-height:calc(100vh - 112px)!important;
    overflow:hidden!important;
  }
  .results-page-body .results-map{
    height:100%!important;
    min-height:0!important;
  }
}
@media (min-width:1300px) and (max-width:1500px){
  .agency-search-page--results .agency-results-layout{
    grid-template-columns:minmax(650px,57%) minmax(0,43%)!important;
  }
  .results-page-body .server-results-split{
    grid-template-columns:minmax(720px,57%) minmax(0,43%)!important;
  }
}
@media (max-width:1299px){
  .results-left-column{display:block!important}
}


/* ===== v216 — testata agenzie realmente sticky + rifiniture risultati annunci ===== */
@media (min-width:1300px){

  /* AGENZIE:
     Header, campo località e tabs rimangono visibili durante lo scroll.
     Le quote sono concatenate: 72px header, ~72px ricerca, 48px tabs. */
  body.agency-results-body .site-header{
    position:sticky!important;
    top:0!important;
    z-index:1200!important;
  }

  body.agency-results-body .agency-results-searchbar{
    position:sticky!important;
    top:72px!important;
    z-index:1150!important;
    background:#fff!important;
  }

  body.agency-results-body .agency-results-contract-nav{
    position:sticky!important;
    top:143px!important;
    z-index:1100!important;
    background:#fff!important;
  }

  /* La mappa resta allineata immediatamente sotto tutta la testata sticky. */
  body.agency-results-body .agency-results-map-pane{
    position:sticky!important;
    top:191px!important;
    height:calc(100vh - 191px)!important;
    max-height:calc(100vh - 191px)!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body.agency-results-body #agency-results-map{
    height:100%!important;
    min-height:0!important;
  }

  /* ANNUNCI:
     breadcrumb sopra, titolo sotto, ordinamento sulla stessa fascia del titolo. */
  body.results-page-body .results-toolbar.shell{
    display:block!important;
  }
  body.results-page-body .seo-breadcrumb{
    display:flex!important;
    width:100%!important;
    margin:0 0 9px!important;
    clear:both!important;
  }
  body.results-page-body .results-toolbar-main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:18px!important;
  }
  body.results-page-body .results-title-block{
    grid-column:1!important;
    min-width:0!important;
  }
  body.results-page-body .results-title-block h1{
    display:block!important;
    margin:0!important;
  }
  body.results-page-body .results-toolbar-actions{
    grid-column:2!important;
    justify-self:end!important;
  }

  /* Non lascia spazio al vecchio bottone Modifica ricerca. */
  body.results-page-body .results-edit-button{
    display:none!important;
  }

  /* Leaflet crea lo zoom dentro .leaflet-top.leaflet-left.
     Lo spostiamo fisicamente nell'angolo basso destro della mappa. */
  body.results-page-body .results-map .leaflet-top.leaflet-left{
    top:auto!important;
    left:auto!important;
    right:18px!important;
    bottom:18px!important;
  }
  body.results-page-body .results-map .leaflet-control-zoom{
    margin:0!important;
  }
}

/* Anche nelle larghezze desktop inferiori a 1300 px lo zoom resta in basso a destra. */
@media (min-width:900px) and (max-width:1299px){
  body.results-page-body .results-map .leaflet-top.leaflet-left{
    top:auto!important;
    left:auto!important;
    right:16px!important;
    bottom:16px!important;
  }
}


/* ===== v217 — header desktop unificato + menu a tendina ===== */
@media (min-width:900px){
  .site-header{
    overflow:visible!important;
  }
  .site-header .header-inner{
    max-width:none!important;
    width:100%!important;
    padding-left:48px!important;
    padding-right:48px!important;
  }
  .site-header .brand img{
    width:174px!important;
  }
  .unified-desktop-actions{
    margin-left:auto!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
  }
  .unified-publish-button{
    height:42px!important;
    min-width:154px!important;
    padding:0 18px!important;
    border:1px solid #b9d1e2!important;
    border-radius:10px!important;
    color:#0878bf!important;
    background:#fff!important;
    font-size:14px!important;
    font-weight:700!important;
    text-transform:none!important;
  }
  .unified-account-button,
  .unified-menu-button{
    width:42px!important;
    height:42px!important;
    border:1px solid #cbd9e2!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#102a43!important;
  }
  .unified-account-button svg,
  .unified-menu-button svg{
    width:21px!important;
    height:21px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }

  .desktop-account-menu{
    position:absolute!important;
    z-index:5000!important;
    top:64px!important;
    right:34px!important;
    width:320px!important;
    max-height:calc(100vh - 78px)!important;
    overflow:auto!important;
    background:#fff!important;
    border:1px solid #dbe3e9!important;
    border-radius:14px!important;
    box-shadow:0 12px 35px rgba(24,45,62,.2)!important;
    color:#263746!important;
  }
  .desktop-account-menu[hidden]{display:none!important}
  .desktop-account-menu.is-open{display:block!important}

  .desktop-account-menu__login{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:12px;
    padding:16px;
    background:#f8fafb;
    border-bottom:1px solid #e6ebef;
  }
  .desktop-account-menu__avatar{
    width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
    background:#aeb9c5;color:#fff
  }
  .desktop-account-menu__avatar svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8}
  .desktop-account-menu__login strong{display:block;font-size:14px;line-height:1.35;margin-bottom:10px}
  .desktop-account-menu__login a{
    display:flex;height:38px;align-items:center;justify-content:center;
    border-radius:7px;background:#e30620;color:#fff;font-size:12px;font-weight:900
  }

  .desktop-account-menu__links{padding:8px 0}
  .desktop-account-menu__links a{
    min-height:43px;display:grid;grid-template-columns:23px 1fr 18px;gap:10px;
    align-items:center;padding:0 16px;color:#354351;font-size:14px
  }
  .desktop-account-menu__links a:hover{background:#f5f8fa}
  .desktop-account-menu__links svg{
    width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;
    stroke-linecap:round;stroke-linejoin:round
  }
  .desktop-account-menu__links b{font-size:23px;font-weight:400;text-align:right;color:#506372}
  .desktop-account-menu__separator{display:block;height:1px;background:#e6ebef;margin:7px 14px}

  .desktop-account-menu__meta{
    border-top:1px solid #e6ebef;padding:7px 16px 12px
  }
  .desktop-account-menu__meta span{
    display:flex;align-items:center;justify-content:space-between;min-height:34px;font-size:13px
  }

  /* Nella home e nelle agenzie l'header usa ora la stessa estetica dei risultati. */
  body:not(.results-page-body) .desktop-main-actions{display:none!important}
}

/* Risultati annunci: breadcrumb, poi titolo, poi riga divisoria. */
@media (min-width:1300px){
  body.results-page-body .results-toolbar.shell{
    position:relative!important;
    padding:12px 22px 14px!important;
    border-bottom:1px solid #dfe5ea!important;
    min-height:76px!important;
  }
  body.results-page-body .seo-breadcrumb{
    position:relative!important;
    margin:0 0 12px!important;
    line-height:18px!important;
  }
  body.results-page-body .results-toolbar-main{
    min-height:28px!important;
    align-items:end!important;
  }
  body.results-page-body .results-title-block h1{
    position:relative!important;
    z-index:2!important;
    line-height:1.15!important;
    margin:0!important;
    padding:0!important;
  }
  body.results-page-body .server-property-list{
    border-top:0!important;
    padding-top:14px!important;
  }
}


/* ===== v218 — correzioni header/home senza alterare il layout mobile ===== */

/* Desktop: la tendina account deve stare SEMPRE sopra hero, form e dropdown di ricerca. */
@media (min-width:900px){
  .site-header{
    z-index:6000!important;
    overflow:visible!important;
  }
  .site-header .header-inner{
    position:relative!important;
    z-index:6002!important;
  }
  .desktop-account-menu{
    z-index:7000!important;
  }

  /* La scorciatoia AGENZIE torna identica alle altre minischede desktop. */
  .home-page-body .desktop-home-mini-actions button{
    width:96px!important;
    min-width:96px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    display:grid!important;
    justify-items:center!important;
    gap:8px!important;
    color:#173148!important;
    text-decoration:none!important;
    text-align:center!important;
    font:inherit!important;
    cursor:pointer!important;
  }
  .home-page-body .desktop-home-mini-actions button>span{
    width:50px!important;
    height:50px!important;
    border-radius:14px!important;
    display:grid!important;
    place-items:center!important;
    background:#eef7fc!important;
    color:#1681c5!important;
    box-shadow:0 5px 16px rgba(24,70,99,.08)!important;
  }
  .home-page-body .desktop-home-mini-actions button svg{
    width:23px!important;
    height:23px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
  }
  .home-page-body .desktop-home-mini-actions button strong{
    font-size:12px!important;
    line-height:1.2!important;
  }
}

/* Mobile: NON usare la nuova testata desktop.
   Restano logo a sinistra e soltanto campanella + menu a destra. */
@media (max-width:899px){
  .unified-desktop-actions{
    display:none!important;
  }
  .site-header .header-inner{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .site-header .brand img{
    width:174px;
    max-width:46vw;
  }
  .header-actions--mobile{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    margin-left:auto!important;
  }
  .header-actions--mobile .header-icon-button,
  .header-actions--mobile .header-menu-button-mobile{
    width:38px!important;
    height:38px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#102a43!important;
  }
  .header-actions--mobile svg{
    width:23px!important;
    height:23px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .desktop-account-menu{
    display:none!important;
  }
}


/* ===== v219 — modale login desktop condiviso ===== */
.desktop-login-modal[hidden]{display:none!important}
@media (min-width:900px){
  html.login-modal-open,
  body.login-modal-open{overflow:hidden!important}

  .desktop-login-modal{
    position:fixed;
    inset:0;
    z-index:10000;
    display:grid;
    place-items:center;
    padding:28px;
  }
  .desktop-login-modal__backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    background:rgba(14,34,51,.58);
    backdrop-filter:blur(2px);
    cursor:default;
  }
  .desktop-login-dialog{
    position:relative;
    z-index:1;
    width:min(900px,calc(100vw - 56px));
    max-height:calc(100vh - 56px);
    display:grid;
    grid-template-columns:minmax(310px,.86fr) minmax(420px,1.14fr);
    overflow:auto;
    border-radius:20px;
    background:#fff;
    box-shadow:0 28px 80px rgba(8,30,48,.32);
  }
  .desktop-login-dialog__close{
    position:absolute;
    z-index:3;
    top:14px;
    right:16px;
    width:38px;
    height:38px;
    border:0;
    border-radius:50%;
    background:#f4f7f9;
    color:#172b3d;
    font-size:29px;
    line-height:1;
    cursor:pointer;
  }
  .desktop-login-benefits{
    position:relative;
    min-height:610px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    background:linear-gradient(180deg,#eef8fd 0%,#e5f3fb 100%);
    color:#263644;
    border-right:1px solid #dce7ee;
  }
  .desktop-login-benefits__inner{
    padding:46px 38px 24px;
  }
  .desktop-login-benefits__inner img{
    width:170px;
    height:auto;
    display:block;
    margin-bottom:50px;
  }
  .desktop-login-benefits h2{
    margin:0 0 20px;
    font-size:19px;
    line-height:1.25;
  }
  .desktop-login-benefits ul{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:20px;
  }
  .desktop-login-benefits li{
    display:grid;
    grid-template-columns:24px 1fr;
    align-items:start;
    gap:10px;
    font-size:15px;
    line-height:1.38;
  }
  .desktop-login-benefits li>span{
    width:20px;
    height:20px;
    border:1.5px solid #6f8190;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#647a8c;
    font-size:12px;
    font-weight:800;
  }
  .desktop-login-benefits li strong{font-weight:500}
  .desktop-login-benefits__houses{
    margin-top:auto;
    height:145px;
    color:#a9cfe5;
  }
  .desktop-login-benefits__houses svg{
    display:block;
    width:100%;
    height:100%;
  }

  .desktop-login-form-panel{
    display:flex;
    align-items:center;
    padding:48px 54px;
    background:#fff;
  }
  .desktop-login-card{
    width:100%;
  }
  .desktop-login-card h1{
    padding-right:30px;
    font-size:29px;
  }
  .desktop-login-card .login-register{margin-top:20px!important}
}

/* Il modale è una funzione desktop: su mobile i link continuano ad aprire la pagina login. */
@media (max-width:899px){
  .desktop-login-modal{display:none!important}
}


/* =========================================================
   v220 — Registrazione web coerente con app + Pubblica annuncio
   ========================================================= */

/* Registrazione */
.register-page-body{background:#f6f8fa}
.register-page{padding:46px 20px 80px}
.register-shell{width:min(760px,100%);margin:0 auto}
.register-heading{text-align:center;margin-bottom:20px}
.register-heading>span{display:inline-block;margin-bottom:8px;color:#e56a20;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.register-heading h1{margin:0;color:#142a3e;font-size:34px;line-height:1.1;font-weight:900}
.register-heading p{margin:9px 0 0;color:#697987;font-size:15px}
.register-card{padding:28px;border:1px solid #dbe3ea;border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(18,50,75,.06)}
.register-account-types{margin:0 0 26px;padding:0;border:0}
.register-account-types legend{margin-bottom:10px;color:#15283b;font-size:15px;font-weight:850}
.register-account-types>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.register-account-types label{position:relative}
.register-account-types input{position:absolute;opacity:0;pointer-events:none}
.register-account-types span{height:46px;display:grid;place-items:center;border:1px solid #337ab7;border-radius:9px;background:#fff;color:#337ab7;font-weight:850;cursor:pointer}
.register-account-types input:checked+span{background:#337ab7;color:#fff}
.register-card section+section{margin-top:25px}
.register-card h2{margin:0 0 14px;color:#15283b;font-size:18px;font-weight:900}
.register-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.register-field{display:block;min-width:0}
.register-field--wide{grid-column:1/-1}
.register-field>span:first-child{display:block;margin:0 0 6px;color:#26394a;font-size:13px;font-weight:800}
.register-field>input,
.register-password{width:100%;min-height:52px;border:1px solid #d7e0e8;border-radius:10px;background:#fff}
.register-field>input{padding:0 13px;color:#172433;font:inherit;outline:none}
.register-field>input:focus,
.register-password:focus-within{border-color:#337ab7;box-shadow:0 0 0 3px rgba(51,122,183,.1)}
.register-password{display:flex;align-items:center}
.register-password input{min-width:0;flex:1;height:50px;padding:0 13px;border:0;outline:0;background:transparent;color:#172433;font:inherit}
.register-password button{width:46px;height:46px;border:0;background:transparent;color:#337ab7;cursor:pointer}
.register-field small{display:block;margin-top:5px;color:#768492;font-size:11px}
.register-consents{display:grid;gap:11px;margin-top:24px;padding-top:20px;border-top:1px solid #e3e8ed}
.register-consents label{display:flex;align-items:flex-start;gap:10px;color:#4f5f6d;font-size:13px;line-height:1.4}
.register-consents input{margin-top:2px;width:18px;height:18px;accent-color:#337ab7}
.register-consents a{color:#337ab7;font-weight:800}
.register-consents em{font-style:normal;color:#7d8993}
.register-note{margin:18px 0 0;padding:12px 14px;border-radius:10px;background:#eef6fc;color:#506474;font-size:13px}
.register-error,.register-success{margin-top:14px;padding:13px 14px;border-radius:10px;font-weight:750}
.register-error{background:#fff0eb;color:#9a3617}
.register-success{background:#edf9ef;color:#286637}
.register-submit{width:100%;height:54px;margin-top:18px;border:0;border-radius:11px;background:#337ab7;color:#fff;font-size:16px;font-weight:900;cursor:pointer}
.register-submit:disabled{opacity:.7}
.register-submit i{width:21px;height:21px;margin:auto;display:block;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:login-spin .8s linear infinite}
.register-login-link{text-align:center;margin:17px 0 0;color:#667785}
.register-login-link a{color:#337ab7;font-weight:850;text-decoration:none}

/* Pubblica annuncio */
.publish-v220{background:#fff;color:#222f3c;padding-bottom:70px}
.publish-v220 svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.publish-v220-hero{min-height:260px;padding:50px 20px 105px;background:#0b7ebd;color:#fff;text-align:center}
.publish-v220-hero h1{margin:0;font-size:33px;font-weight:500;line-height:1.12}
.publish-v220-hero p{margin:15px 0 0;font-size:17px}
.publish-v220-choice{position:relative;z-index:2;margin-top:-84px;display:grid;grid-template-columns:1fr 1fr;max-width:760px!important}
.publish-v220-card{position:relative;min-height:460px;padding:32px 31px 28px;border:1px solid #d6dde4;background:#fff;text-align:center}
.publish-v220-card:first-child{border-radius:12px 0 0 12px}
.publish-v220-card:last-child{border-radius:0 12px 12px 0}
.publish-v220-card--agency{box-shadow:0 7px 20px rgba(15,46,70,.08)}
.publish-v220-card h2{margin:4px 0 8px;font-size:26px;font-weight:500}
.publish-v220-card p{min-height:42px;margin:0 auto 18px;max-width:300px;color:#3f4b57;font-size:14px}
.publish-v220-card ul{list-style:none;margin:20px 0 0;padding:0;text-align:left;display:grid;gap:15px;color:#586775;font-size:13px}
.publish-v220-card li{display:flex;align-items:center;gap:10px}
.publish-v220-card li svg{width:17px;height:17px;color:#1595d1}
.publish-v220-card--agency li svg{color:#27aa61}
.publish-v220-outline,.publish-v220-agency-button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-weight:850;font-size:13px;text-decoration:none;cursor:pointer}
.publish-v220-outline{border:1px solid #cdd7df;background:#fff;color:#167dc0}
.publish-v220-agency-button{border:0;background:#e90020;color:#fff}
.publish-v220-new{position:absolute;top:49px;left:50%;transform:translateX(-50%);padding:4px 9px;border-radius:3px;background:#dd3157;color:#fff;font-size:11px;font-weight:900}
.publish-v220-fast{position:absolute;top:-41px;left:10px;right:10px;padding:11px;border:1px solid #82d69e;border-radius:5px;background:#e8f8ed;color:#2d9a55;font-size:12px;font-weight:850}
.publish-v220-illustration{height:112px;margin:17px auto 20px;position:relative;width:170px}
.publish-v220-illustration--agency{margin-top:34px}
.pv-house{position:absolute;left:13px;bottom:10px;width:73px;height:54px;background:#eef4f8;border:2px solid #c8d8e2;border-radius:3px}
.pv-house:before{content:"";position:absolute;left:-7px;top:-25px;border-left:43px solid transparent;border-right:43px solid transparent;border-bottom:27px solid #e56a20}
.pv-house:after{content:"";position:absolute;left:28px;bottom:0;width:18px;height:30px;background:#d8e5ed}
.pv-phone{position:absolute;right:12px;bottom:0;width:54px;height:103px;border:4px solid #2d3945;border-radius:9px;background:#f9fbfc}
.pv-phone:before{content:"";position:absolute;inset:20px 6px 25px;background:linear-gradient(#eef3f7 0 40%,#e56a20 40% 48%,#eef3f7 48%)}
.pv-agent{position:absolute;left:50px;bottom:7px;width:63px;height:66px;border-radius:50% 50% 12px 12px;background:#e7b077;box-shadow:0 31px 0 10px #154c6b}
.pv-agent:after{content:"";position:absolute;left:20px;bottom:-31px;border-left:12px solid transparent;border-right:12px solid transparent;border-top:32px solid #d52b2b}
.pv-house--small{left:auto;right:3px;transform:scale(.58);transform-origin:right bottom}
.publish-v220-project{max-width:1040px!important;padding-top:60px}
.publish-v220-project>header{text-align:center;margin-bottom:30px}
.publish-v220-project>header h2{margin:0;font-size:34px;font-weight:500}
.publish-v220-project>header p{margin:10px 0 0;color:#596674}
.publish-v220-tabs{display:flex;align-items:flex-end}
.publish-v220-tabs button{position:relative;min-height:48px;padding:0 20px;border:1px solid #cfd9e1;background:#fff;color:#384652;font-size:14px;cursor:pointer}
.publish-v220-tabs button:first-child{border-radius:8px 0 0 0}
.publish-v220-tabs button:last-child{border-radius:0 8px 0 0}
.publish-v220-tabs button.is-active{background:#edf7fd;color:#0879bd;border-color:#5aace0}
.publish-v220-tabs button>svg{width:18px;height:18px;margin-right:7px;vertical-align:middle}
.publish-v220-tabs button>span{position:absolute;right:-3px;top:-19px;padding:3px 7px;border-radius:4px;background:#dd3157;color:#fff;font-size:10px;font-weight:900}
.publish-v220-project-panel{display:none;border:1px solid #cfd9e1;border-radius:0 12px 12px 12px;padding:34px 35px;background:#fff}
.publish-v220-project-panel.is-active{display:block}
.publish-v220-project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.publish-v220-project-head h3{margin:0;font-size:25px;font-weight:650}
.publish-v220-project-head p{margin:8px 0 0;color:#586775}
.publish-v220-project-head>span{display:flex;align-items:center;gap:6px;font-size:13px;color:#586775;white-space:nowrap}
.publish-v220-project-head>span svg{width:18px;height:18px}
.publish-v220-callout{margin:23px 0 34px;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:8px;background:#e6f3fb}
.publish-v220-callout p{margin:0;color:#3e4d5a}
.publish-v220-callout button{min-width:160px;height:42px;border:0;border-radius:7px;background:#e90020;color:#fff;font-weight:900;cursor:pointer}
.publish-v220-callout button:disabled{background:#9ea9b1;cursor:default}
.publish-v220-columns{display:grid;grid-template-columns:1fr 1fr;gap:0}
.publish-v220-columns>div{padding:0 28px 0 0}
.publish-v220-columns>div+div{padding:0 0 0 32px;border-left:1px solid #d7dee5}
.publish-v220-columns h3{margin:0 0 20px;font-size:24px;font-weight:650}
.publish-v220-columns ol,.publish-v220-columns ul{margin:0;padding:0;list-style:none}
.publish-v220-columns ol{display:grid;gap:24px}
.publish-v220-columns ol li{display:grid;grid-template-columns:24px 1fr;gap:12px}
.publish-v220-columns ol svg{color:#0789cd}
.publish-v220-columns strong{display:block;margin-bottom:6px}
.publish-v220-columns p{margin:0;color:#586775;line-height:1.5}
.publish-v220-columns>div>ul{padding-left:20px;list-style:disc;display:grid;gap:10px;line-height:1.45}
.publish-v220-mini-art{height:120px;margin-top:22px;position:relative}
.publish-v220-mini-art span{position:absolute;left:60%;bottom:0;width:90px;height:70px;border:2px solid #cddce5;background:#f0f5f8}
.publish-v220-mini-art i{position:absolute;left:48%;bottom:0;width:58px;height:105px;border:4px solid #40515f;border-radius:8px;background:#fff}
.publish-v220-faq{max-width:1040px!important;padding-top:54px}
.publish-v220-faq h2{font-size:25px}
.publish-v220-faq details{border:1px solid #d5dde4;border-radius:6px;margin-bottom:8px;background:#fff}
.publish-v220-faq summary{padding:14px 17px;cursor:pointer;font-weight:700}
.publish-v220-faq details p{margin:0;padding:0 17px 17px;color:#586775}
.publish-v220-services{max-width:1040px!important;padding-top:48px}
.publish-v220-services>h2{text-align:center;font-size:28px;font-weight:500}
.publish-v220-services>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:27px}
.publish-v220-services article{padding:22px;border:1px solid #d5dde4;border-radius:8px}
.publish-v220-services h3{margin:0 0 8px}
.publish-v220-services p{min-height:48px;color:#586775;font-size:13px}
.publish-v220-services a,.publish-v220-services button{width:100%;height:40px;display:grid;place-items:center;border:1px solid #d3dde5;border-radius:5px;background:#fff;color:#087bc0;font-weight:850;text-decoration:none;cursor:pointer}

@media(max-width:760px){
  .register-page{padding:20px 14px 110px}
  .register-heading h1{font-size:28px}
  .register-card{padding:18px 15px;border-radius:16px}
  .register-account-types>div{grid-template-columns:1fr}
  .register-grid{grid-template-columns:1fr}
  .register-field--wide{grid-column:auto}
  .publish-v220-hero{min-height:210px;padding:34px 18px 72px}
  .publish-v220-hero h1{font-size:27px}
  .publish-v220-choice{grid-template-columns:1fr;width:calc(100% - 28px)!important}
  .publish-v220-card:first-child,.publish-v220-card:last-child{border-radius:12px}
  .publish-v220-card+.publish-v220-card{margin-top:20px}
  .publish-v220-project{padding:45px 14px 0}
  .publish-v220-project>header h2{font-size:27px}
  .publish-v220-tabs{overflow-x:auto}
  .publish-v220-tabs button{white-space:nowrap}
  .publish-v220-project-panel{padding:22px 16px}
  .publish-v220-project-head,.publish-v220-callout{display:block}
  .publish-v220-project-head>span{margin-top:12px}
  .publish-v220-callout button{width:100%;margin-top:14px}
  .publish-v220-columns{grid-template-columns:1fr}
  .publish-v220-columns>div,.publish-v220-columns>div+div{padding:0;border:0}
  .publish-v220-columns>div+div{margin-top:34px}
  .publish-v220-services{padding:40px 14px 0}
  .publish-v220-services>div{grid-template-columns:1fr}
}

/* v221 pubblica annuncio: centratura e stile coerente con home */
body.publish-landing-body{background:#f5f7fa}
.publish-v220{background:#f5f7fa}
.publish-v220 .shell{width:min(1120px,calc(100% - 40px));margin-left:auto!important;margin-right:auto!important}
.publish-v220-choice{width:min(760px,calc(100% - 40px))!important;margin-left:auto!important;margin-right:auto!important}
.publish-v220-project,.publish-v220-faq,.publish-v220-services{margin-left:auto!important;margin-right:auto!important}
.publish-v220-card,.publish-v220-project-panel,.publish-v220-faq details,.publish-v220-services article{box-shadow:0 8px 28px rgba(26,58,82,.06)}
.publish-v220-photo{height:145px;margin:12px 0 20px;border-radius:10px;overflow:hidden;background:#e8eef3}
.publish-v220-photo img{display:block;width:100%;height:100%;object-fit:cover}
.publish-v220-card p{min-height:auto}
.publish-v220-faq h2{text-align:left;color:#17324d}
.publish-v220-faq details{background:#fff;border-color:#dce5ec;border-radius:10px}
.publish-v220-faq summary{position:relative;padding:17px 48px 17px 18px;color:#263746;font-size:15px}
.publish-v220-faq summary::after{content:'⌄';position:absolute;right:18px;top:13px;font-size:22px;color:#607485}
.publish-v220-faq details[open] summary::after{transform:rotate(180deg);top:18px}
.publish-v220-faq details p{line-height:1.6;color:#5d7080}
@media(max-width:760px){.publish-v220 .shell{width:calc(100% - 28px)}.publish-v220-choice{width:calc(100% - 28px)!important}}
/* v221 registrazione dentro lo stesso modale */
.desktop-register-form-panel{width:min(620px,100%);max-height:88vh;overflow:auto;background:#fff;padding:34px 38px}
.desktop-register-card{max-width:none!important}
.desktop-register-card h1{margin:8px 0 5px;color:#17283a;font-size:30px}
.desktop-register-card>p{margin:0 0 20px;color:#6b7884}
.register-modal-back{border:0;background:none;padding:0;color:#337ab7;font-weight:800;cursor:pointer}
.register-modal-form .register-account-types{margin-bottom:18px}
.register-modal-business{display:grid;gap:12px;margin-bottom:18px}
.register-modal-form h2{font-size:17px;margin:10px 0 12px}
.register-modal-form .register-consents{margin-top:18px}
@media(max-width:760px){.desktop-register-form-panel{padding:26px 18px;max-height:100vh}.desktop-register-card h1{font-size:25px}.register-modal-form .register-grid{grid-template-columns:1fr}}

/* ===== v222 — login/registrazione: sostituzione reale del pannello ===== */
@media (min-width:900px){
  .desktop-login-dialog > [data-login-panel][hidden],
  .desktop-login-dialog > [data-register-panel][hidden]{
    display:none!important;
  }
  .desktop-login-dialog > [data-login-panel],
  .desktop-login-dialog > [data-register-panel]{
    grid-column:2;
    grid-row:1;
    min-width:0;
  }
  .desktop-login-dialog > [data-register-panel]{
    width:auto;
    max-height:calc(100vh - 56px);
    overflow-y:auto;
    align-self:stretch;
    padding:42px 48px;
  }
  .desktop-login-dialog.is-registering{
    grid-template-columns:minmax(310px,.86fr) minmax(500px,1.34fr);
    width:min(980px,calc(100vw - 56px));
  }
}


/* ===== v223 — registrazione modale compatta + documenti legali ===== */
.register-submit i[hidden],
.register-modal-form [data-register-business][hidden],
.register-modal-form [data-person-title][hidden]{display:none!important}

@media (min-width:900px){
  .desktop-login-dialog.is-registering{
    width:min(940px,calc(100vw - 44px));
    max-height:calc(100vh - 36px);
    grid-template-columns:minmax(300px,.84fr) minmax(490px,1.16fr);
  }
  .desktop-login-dialog.is-registering .desktop-login-benefits__inner{padding:34px 34px 20px}
  .desktop-login-dialog.is-registering .desktop-login-benefits__inner img{width:170px;margin-bottom:34px}
  .desktop-login-dialog.is-registering .desktop-login-benefits__inner h2{font-size:18px;margin-bottom:16px}
  .desktop-login-dialog.is-registering .desktop-login-benefits__inner li{font-size:13px;line-height:1.28;margin-bottom:12px}
  .desktop-login-dialog > [data-register-panel]{
    max-height:calc(100vh - 36px);
    padding:24px 34px 20px;
  }
  .desktop-register-card h1{font-size:27px;line-height:1.05;margin:6px 0 3px}
  .desktop-register-card>p{font-size:13px;margin-bottom:14px}
  .register-modal-back{font-size:12px}
  .register-modal-form .register-account-types{margin-bottom:12px}
  .register-modal-form .register-account-types span{height:42px;font-size:13px}
  .register-modal-business{gap:9px;margin-bottom:10px}
  .register-modal-form h2{font-size:15px;margin:5px 0 8px}
  .register-modal-form .register-grid{gap:9px 12px}
  .register-modal-form .register-field>span:first-child{margin-bottom:4px;font-size:11.5px}
  .register-modal-form .register-field>input,
  .register-modal-form .register-password{height:45px}
  .register-modal-form .register-field>input{font-size:13px;padding:0 11px}
  .register-modal-form .register-consents{margin-top:10px;gap:6px}
  .register-modal-form .register-consents label{font-size:11px;line-height:1.3}
  .register-modal-form .register-submit{height:46px;margin-top:10px;font-size:14px}
  .register-modal-form .register-error,.register-modal-form .register-success{font-size:12px;padding:9px 10px;margin-top:8px}
}

.legal-page{padding-bottom:70px;background:#f5f7fa;color:#173148}
.legal-hero{padding:54px 0 38px;background:linear-gradient(120deg,#eef8fd 0%,#fff7f0 100%);border-bottom:1px solid #dbe5ec}
.legal-hero__inner{max-width:980px}
.legal-kicker{margin:0 0 8px;color:#e56a20;font-size:12px;font-weight:900;letter-spacing:.08em}
.legal-hero h1{margin:0;color:#112b42;font-size:38px;line-height:1.08;font-weight:900}
.legal-hero p:last-child{margin:10px 0 0;color:#607485}
.legal-content-card{max-width:980px;margin-top:28px;padding:30px 34px;border:1px solid #dce5ec;border-radius:18px;background:#fff;box-shadow:0 10px 32px rgba(26,58,82,.06)}
.legal-content-card p{margin:0 0 18px;color:#42586a;font-size:14px;line-height:1.72}
.legal-content-card p:first-child{color:#213b50;font-weight:600}
@media(max-width:760px){
  .legal-hero{padding:30px 0 24px}.legal-hero__inner,.legal-content-card{width:calc(100% - 28px)}
  .legal-hero h1{font-size:29px}.legal-content-card{margin-top:16px;padding:20px 17px;border-radius:14px}
  .legal-content-card p{font-size:13px;line-height:1.62}
}


/* ===== v224 — registrazione compatta, validazione, legali e pubblica ===== */
.register-modal-form .register-field.is-invalid>input,
.register-modal-form .register-field.is-invalid .register-password,
.register-page .register-field.is-invalid>input,
.register-page .register-field.is-invalid .register-password{
  border-color:#d93025!important; box-shadow:0 0 0 2px rgba(217,48,37,.09)!important; background:#fffafa!important;
}
.register-modal-form .register-consents label.is-invalid,
.register-page .register-consents label.is-invalid{color:#b3261e!important}
.register-modal-form .register-consents label.is-invalid input,
.register-page .register-consents label.is-invalid input{outline:2px solid rgba(217,48,37,.22);outline-offset:2px}

@media (min-width:900px){
  .desktop-login-dialog.is-registering{width:min(900px,calc(100vw - 36px));max-height:calc(100vh - 24px)}
  .desktop-login-dialog.is-registering .desktop-login-benefits{min-height:560px}
  .desktop-login-dialog.is-registering .desktop-login-benefits__inner{padding:28px 30px 16px}
  .desktop-login-dialog.is-registering .desktop-login-benefits__inner img{width:155px;margin-bottom:26px}
  .desktop-login-dialog.is-registering .desktop-login-benefits__inner h2{font-size:17px;margin-bottom:12px}
  .desktop-login-dialog.is-registering .desktop-login-benefits__inner ul{gap:11px}
  .desktop-login-dialog.is-registering .desktop-login-benefits__inner li{font-size:12px;line-height:1.23;margin:0}
  .desktop-login-dialog > [data-register-panel]{max-height:calc(100vh - 24px);padding:20px 30px 16px}
  .desktop-register-card h1{font-size:24px;line-height:1.03;margin:4px 0 12px;padding-right:35px}
  .register-modal-back{font-size:11.5px;margin-bottom:2px}
  .register-modal-form .register-account-types{margin-bottom:9px}
  .register-modal-form .register-account-types span{height:38px;font-size:12px}
  .register-modal-business{gap:7px;margin-bottom:7px}
  .register-modal-form h2{font-size:14px;margin:4px 0 6px}
  .register-modal-form .register-grid{gap:7px 10px}
  .register-modal-form .register-field>span:first-child{margin-bottom:3px;font-size:10.5px}
  .register-modal-form .register-field>input,.register-modal-form .register-password{min-height:39px;height:39px;border-radius:8px}
  .register-modal-form .register-field>input{font-size:12px;padding:0 10px}
  .register-modal-form .register-consents{margin-top:8px;padding-top:8px;gap:5px}
  .register-modal-form .register-consents label{font-size:10.5px;line-height:1.22}
  .register-modal-form .register-consents input{width:15px;height:15px}
  .register-modal-form .register-submit{height:41px;margin-top:8px;font-size:13px}
  .register-modal-form .register-error,.register-modal-form .register-success{font-size:11px;padding:7px 9px;margin-top:6px}
}

/* Il login/registrazione modale è disponibile anche da mobile, in forma compatta. */
@media (max-width:899px){
  html.login-modal-open,body.login-modal-open{overflow:hidden!important}
  .desktop-login-modal:not([hidden]){position:fixed!important;inset:0!important;z-index:10000!important;display:grid!important;place-items:end center!important;padding:0!important}
  .desktop-login-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(14,34,51,.58)}
  .desktop-login-dialog{position:relative;z-index:1;width:100%;max-height:92dvh;display:block;overflow:auto;border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -16px 50px rgba(8,30,48,.28)}
  .desktop-login-benefits{display:none!important}
  .desktop-login-form-panel,.desktop-register-form-panel{display:block!important;width:100%!important;max-height:none!important;padding:28px 20px 24px!important;background:#fff}
  .desktop-login-dialog>[data-login-panel][hidden],.desktop-login-dialog>[data-register-panel][hidden]{display:none!important}
  .desktop-login-dialog__close{position:absolute;z-index:4;top:10px;right:12px;width:38px;height:38px;border:0;border-radius:50%;background:#f3f6f8;font-size:28px;color:#173148}
  .desktop-login-card h1,.desktop-register-card h1{font-size:25px!important;padding-right:42px}
  .desktop-register-card>p{display:none}
  .register-modal-form .register-account-types>div{grid-template-columns:repeat(3,1fr)!important;gap:7px}
  .register-modal-form .register-account-types span{height:40px;font-size:12px}
  .register-modal-form .register-grid{grid-template-columns:1fr 1fr!important;gap:8px}
  .register-modal-form .register-field>input{min-height:42px;height:42px}
  .register-modal-form .register-field>span:first-child{font-size:11px;margin-bottom:3px}
  .register-modal-business{gap:8px;margin-bottom:8px}
  .register-modal-form h2{font-size:14px;margin:6px 0}
  .register-modal-form .register-consents{margin-top:9px;padding-top:9px;gap:6px}
  .register-modal-form .register-consents label{font-size:10.5px;line-height:1.25}
  .register-modal-form .register-submit{height:44px;margin-top:9px}
}
@media(max-width:520px){
  .register-modal-form .register-grid{grid-template-columns:1fr!important}
  .desktop-login-dialog{max-height:94dvh}
}

/* Pagina pubblicazione: stesso linguaggio visivo dell'home e layout mobile senza sovrapposizioni. */
.publish-v220-hero{position:relative;overflow:hidden;background:#124a6e}
.publish-v224-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.publish-v224-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,48,75,.94),rgba(14,86,125,.72),rgba(18,67,93,.45))}
.publish-v224-hero-copy{position:relative;z-index:1}
@media(max-width:760px){
  .publish-v220{overflow:hidden}
  .publish-v220-hero{min-height:190px;padding:28px 18px 62px}
  .publish-v220-hero h1{font-size:25px;line-height:1.1}
  .publish-v220-hero p{font-size:13px;margin-top:8px}
  .publish-v220-choice{margin-top:-42px!important;display:grid!important;grid-template-columns:1fr!important;gap:14px!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important}
  .publish-v220-card{min-height:0!important;padding:17px 16px 16px!important;border:1px solid #d6dde4!important;border-radius:14px!important;background:#fff!important;box-shadow:0 8px 24px rgba(26,58,82,.08)!important}
  .publish-v220-card+.publish-v220-card{margin-top:0!important}
  .publish-v220-fast{position:static!important;margin:-5px 0 9px!important;padding:7px 8px!important;font-size:9.5px!important}
  .publish-v220-new{top:10px;right:12px;left:auto;transform:none;font-size:9px}
  .publish-v220-photo{height:118px;margin:3px 0 12px}
  .publish-v220-card h2{font-size:21px;margin:8px 0 4px}
  .publish-v220-card p{font-size:12px;margin:0 0 10px}
  .publish-v220-outline,.publish-v220-agency-button{min-height:39px;font-size:11px;margin:10px 0!important}
  .publish-v220-card ul{gap:6px;font-size:11px}
  .publish-v220-project{padding-top:36px!important}
  .publish-v220-project>header{margin-bottom:18px}
  .publish-v220-project>header h2{font-size:25px}
  .publish-v220-project>header p{font-size:12px}
  .publish-v220-project-panel{padding:18px 14px!important}
  .publish-v220-project-head h3,.publish-v220-columns h3{font-size:19px}
  .publish-v220-callout{margin:16px 0 23px;padding:12px}
  .publish-v220-columns ol{gap:17px}
  .publish-v220-faq{padding-top:38px!important}
  .publish-v220-faq h2{font-size:22px}
  .publish-v220-faq summary{font-size:12px;padding:13px 40px 13px 13px}
  .publish-v220-faq details p{font-size:12px;padding:0 13px 13px}
}

/* Documenti legali: centrati e più leggibili. */
.legal-hero__inner,.legal-content-card,.legal-anchor-nav{margin-left:auto!important;margin-right:auto!important}
.legal-content-card--wide{max-width:1080px}
.legal-content-card h2{scroll-margin-top:90px;margin:30px 0 10px;color:#173148;font-size:22px}
.legal-content-card h2:first-child{margin-top:0}
.legal-content-card h3{margin:22px 0 8px;color:#29475d;font-size:17px}
.legal-content-card a{color:#167fc1;font-weight:700}
.legal-anchor-nav{max-width:1080px;display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.legal-anchor-nav a{padding:8px 11px;border:1px solid #d7e1e8;border-radius:999px;background:#fff;color:#337ab7;font-size:12px;font-weight:800;text-decoration:none}
.legal-table-wrap{overflow-x:auto;margin:14px 0 24px}
.legal-table{width:100%;border-collapse:collapse;font-size:13px}
.legal-table th,.legal-table td{padding:11px 12px;border:1px solid #dce5ec;text-align:left;vertical-align:top}
.legal-table th{background:#f3f8fb;color:#173148}
@media(max-width:760px){
  .legal-page{padding-bottom:40px}
  .legal-anchor-nav{width:calc(100% - 28px);margin-top:14px;gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .legal-anchor-nav a{white-space:nowrap;font-size:11px}
  .legal-content-card h2{font-size:19px;margin-top:24px}.legal-content-card h3{font-size:15px}
}

/* ===== Bilocale v225: pubblica annuncio + primo step vendita con agenzia ===== */
.publish-v220-fast{top:-18px;left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 34px);z-index:4;box-sizing:border-box}
.publish-v225-agency-photo{position:relative}
.publish-v225-agency-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(7,38,59,.58));pointer-events:none}
.publish-v225-agency-badge{position:absolute;left:13px;right:13px;bottom:12px;z-index:2;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:9px;text-align:left;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.publish-v225-agency-badge svg{grid-row:1/3;width:31px!important;height:31px!important;align-self:center;stroke-width:1.6}
.publish-v225-agency-badge b{font-size:15px;line-height:1.1}.publish-v225-agency-badge small{font-size:11px;opacity:.9}
.publish-v225-live-preview{margin:23px auto 0;max-width:340px;display:grid;grid-template-columns:118px 1fr;overflow:hidden;border:1px solid #d6e0e7;border-radius:12px;background:#fff;box-shadow:0 10px 26px rgba(29,62,84,.1);text-align:left}
.publish-v225-live-preview img{width:118px;height:112px;object-fit:cover}
.publish-v225-live-preview>div{padding:11px 12px;display:flex;flex-direction:column;gap:3px}
.publish-v225-live-preview span{color:#e6671d;font-size:9px;font-weight:900;letter-spacing:.04em}.publish-v225-live-preview strong{font-size:14px}.publish-v225-live-preview small{color:#637584}.publish-v225-live-preview b{margin-top:auto;color:#e6671d;font-size:16px}
.publish-v225-start-agency{min-width:130px;height:42px;display:grid;place-items:center;padding:0 17px;border-radius:7px;background:#e90020;color:#fff!important;text-decoration:none;font-weight:900;white-space:nowrap}
.publish-v225-agency-flow{position:relative;max-width:330px;height:138px;margin:26px auto 0;border-radius:12px;overflow:hidden;background:#eaf3f8}
.publish-v225-agency-flow img{width:100%;height:100%;object-fit:cover;opacity:.52}.publish-v225-agency-flow::after{content:'La tua casa → agenzie della zona';position:absolute;left:14px;bottom:12px;padding:6px 9px;border-radius:7px;background:#fff;color:#17324d;font-size:11px;font-weight:850;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.publish-v225-agency-flow>span,.publish-v225-agency-flow>b{position:absolute;top:18px;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#147fc0;box-shadow:0 6px 16px rgba(0,0,0,.16)}.publish-v225-agency-flow>span{right:67px}.publish-v225-agency-flow>b{right:15px}.publish-v225-agency-flow svg{width:23px!important;height:23px!important}

body.sell-agency-body{background:#f6f8fa}
.sell-agency-v225{min-height:calc(100vh - 72px);background:linear-gradient(90deg,#fff 0,#fff 68%,#eaf6fc 68%,#eaf6fc 100%);color:#253444}
.sell-agency-v225 svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sell-agency-v225-layout{width:min(1180px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:minmax(0,760px) 1fr;gap:78px;padding:42px 0 70px}
.sell-agency-v225-main{min-width:0}.sell-agency-v225-benefit{display:flex;gap:20px;padding:18px 22px;border:1px solid #9ec6f4;border-radius:10px;background:#eef4ff;color:#334252}.sell-agency-v225-benefit-icon{font-size:38px}.sell-agency-v225-benefit strong{font-size:16px}.sell-agency-v225-benefit ul{margin:7px 0 0;padding-left:20px;line-height:1.55}
.sell-agency-v225-step{margin:28px 0 8px;color:#6b7784;font-size:12px;font-weight:900;letter-spacing:.04em}.sell-agency-v225-main h1{margin:0;font-size:31px;font-weight:600}.sell-agency-v225-intro{margin:8px 0 30px;color:#677784}
.sell-agency-v225-section{margin-top:34px}.sell-agency-v225-section h2{font-size:27px;font-weight:500;margin:0 0 20px}.sell-agency-v225-grid{display:grid;gap:18px}.sell-agency-v225-grid--2{grid-template-columns:1fr 1fr}.sell-agency-v225 label>span,.sell-agency-v225-fields>label>span,.sell-agency-v225-counter>span,.sell-agency-v225-toggle>span{display:block;margin-bottom:8px;font-size:13px;font-weight:800}
.sell-agency-v225 input,.sell-agency-v225 select{width:100%;height:46px;padding:0 13px;border:1px solid #ccd7e1;border-radius:7px;background:#fff;color:#334252;font:inherit;box-sizing:border-box;outline:none}.sell-agency-v225 input:focus,.sell-agency-v225 select:focus{border-color:#2388d1;box-shadow:0 0 0 2px rgba(35,136,209,.08)}
.sell-agency-v225-suggestions{position:absolute;z-index:30;left:0;right:0;top:100%;margin-top:4px;padding:6px;border:1px solid #d4dfe7;border-radius:9px;background:#fff;box-shadow:0 12px 28px rgba(20,52,75,.14)}.sell-agency-v225-grid label{position:relative}.sell-agency-v225-suggestions button{width:100%;padding:10px;border:0;background:#fff;text-align:left;display:flex;justify-content:space-between;cursor:pointer;border-radius:6px}.sell-agency-v225-suggestions button:hover{background:#f0f6fa}.sell-agency-v225-suggestions small{color:#768693}.sell-agency-v225-suggestions p{margin:7px 9px;color:#bd2f2f}
.sell-agency-v225-types{display:flex;gap:10px;flex-wrap:wrap}.sell-agency-v225-types label{cursor:pointer}.sell-agency-v225-types input{position:absolute;opacity:0;pointer-events:none}.sell-agency-v225-types label>span{height:50px;margin:0;padding:0 15px;display:flex;align-items:center;gap:9px;border:1px solid #cfd9e1;border-radius:8px;background:#fff;text-transform:uppercase;font-size:12px;font-weight:700}.sell-agency-v225-types input:checked+span{border-color:#1685cc;background:#edf7fd;color:#087bc0}
.sell-agency-v225-fields{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:16px 34px}.sell-agency-v225-fields>label,.sell-agency-v225-counter,.sell-agency-v225-toggle{display:grid;grid-template-columns:1fr 1fr;align-items:center}.sell-agency-v225-fields>label>span,.sell-agency-v225-counter>span,.sell-agency-v225-toggle>span{margin:0}.sell-agency-v225-unit{position:relative}.sell-agency-v225-unit input{padding-right:45px}.sell-agency-v225-unit b{position:absolute;right:13px;top:13px;color:#758390}
.sell-agency-v225-counter{grid-template-columns:1fr 42px 38px 42px}.sell-agency-v225-counter button{height:36px;border:1px solid #bdd1df;border-radius:50%;background:#fff;color:#1888d0;font-size:22px}.sell-agency-v225-counter b{text-align:center}.sell-agency-v225-toggle{grid-template-columns:1fr auto auto}.sell-agency-v225-toggle label{margin:0}.sell-agency-v225-toggle label input{position:absolute;opacity:0}.sell-agency-v225-toggle label b{display:grid;place-items:center;width:46px;height:36px;border:1px solid #ccd7e1;background:#fff;font-size:12px;font-weight:500}.sell-agency-v225-toggle label:first-of-type b{border-radius:7px 0 0 7px}.sell-agency-v225-toggle label:last-of-type b{border-radius:0 7px 7px 0;border-left:0}.sell-agency-v225-toggle input:checked+b{background:#eaf5fc;color:#087bc0;border-color:#5aaee0}
.sell-agency-v225-form-footer{margin-top:32px;padding-top:18px;border-top:1px solid #d7e0e7;display:flex;justify-content:flex-end;align-items:center;gap:20px}.sell-agency-v225-form-footer small{color:#c23b3b;font-weight:700}.sell-agency-v225-form-footer button{height:44px;padding:0 18px;border:1px solid #b9cad6;border-radius:7px;background:#fff;color:#0a7cc0;font-weight:850;display:flex;align-items:center;gap:4px;cursor:pointer}.sell-agency-v225 .is-invalid input,.sell-agency-v225 .is-invalid select,.sell-agency-v225 .sell-agency-v225-types.is-invalid label>span{border-color:#d34040!important;background:#fff8f8}
.sell-agency-v225-progress{padding-top:95px}.sell-agency-v225-progress>div{display:flex;align-items:center;gap:13px;color:#aebdc7}.sell-agency-v225-progress>div.is-active{color:#087fc7}.sell-agency-v225-progress span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid currentColor;background:#fff;font-weight:900}.sell-agency-v225-progress strong{font-size:20px}.sell-agency-v225-progress i{display:block;width:1px;height:42px;margin-left:17px;background:#c8d8e2}
@media(max-width:860px){.sell-agency-v225{background:#f6f8fa}.sell-agency-v225-layout{width:calc(100% - 28px);grid-template-columns:1fr;padding-top:24px}.sell-agency-v225-progress{display:none}.sell-agency-v225-grid--2,.sell-agency-v225-fields{grid-template-columns:1fr}.sell-agency-v225-fields>label,.sell-agency-v225-counter,.sell-agency-v225-toggle{grid-template-columns:1fr}.sell-agency-v225-counter{grid-template-columns:1fr 42px 38px 42px}.sell-agency-v225-toggle{grid-template-columns:1fr auto auto}.sell-agency-v225-main h1{font-size:26px}.sell-agency-v225-section h2{font-size:22px}}
/* v226 - vendita tramite agenzia */
body.sell-agency-minimal .site-header{position:relative;z-index:80;background:#fff;border-bottom:1px solid #e5ebf0}body.sell-agency-minimal .site-header .results-header-actions,body.sell-agency-minimal .site-header .header-actions--mobile,body.sell-agency-minimal .desktop-account-menu{display:none!important}
.sell-agency-v226{min-height:calc(100vh - 72px);background:linear-gradient(90deg,#fff 0 68%,#eaf6fc 68%);color:#273544}.sell-agency-v226 svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.sell-agency-v226-layout{width:min(1120px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:minmax(0,760px) 280px;gap:70px;padding:40px 0 70px}.sell-agency-v226-main{min-width:0}.sell-agency-v226-benefit{display:flex;gap:20px;padding:18px 22px;border:1px solid #8fb9ee;border-radius:9px;background:#eef3ff}.sell-agency-v226-benefit>span{font-size:34px}.sell-agency-v226-benefit strong{font-size:16px}.sell-agency-v226-benefit ul{margin:5px 0 0;padding-left:20px;line-height:1.45}.sell-step{display:none}.sell-step.is-active{display:block}.sell-kicker{margin:26px 0 7px;font-size:12px;font-weight:850;color:#687684}.sell-agency-v226 h1{margin:0;font-size:30px}.sell-intro,.sell-muted{color:#71808d}.sell-agency-v226 section section{margin-top:32px}.sell-agency-v226 h2{font-size:24px;font-weight:550;margin:0 0 18px}.sell-grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sell-agency-v226 label{position:relative}.sell-agency-v226 label>span,.sell-counter>span,.sell-toggle>span{display:block;margin-bottom:7px;font-size:13px;font-weight:800}.sell-agency-v226 input,.sell-agency-v226 select{width:100%;height:45px;border:1px solid #ccd8e2;border-radius:7px;padding:0 13px;background:#fff;box-sizing:border-box;font:inherit}.sell-suggestions{position:absolute;left:0;right:0;top:100%;z-index:40;background:#fff;border:1px solid #d2dde6;border-radius:8px;box-shadow:0 10px 24px #163b5526;padding:5px}.sell-suggestions button{display:flex;width:100%;justify-content:space-between;padding:10px;border:0;border-radius:5px;background:#fff;text-align:left}.sell-suggestions button:hover{background:#f2f6f9}.sell-suggestions small{color:#7a8792}.sell-suggestions p{padding:7px;margin:0}.sell-types{display:flex;gap:9px;flex-wrap:wrap}.sell-types input{position:absolute;opacity:0}.sell-types label>span{height:48px;margin:0;padding:0 14px;display:flex;align-items:center;gap:8px;border:1px solid #ccd8e2;border-radius:7px;background:#fff;text-transform:uppercase;font-size:11px}.sell-types input:checked+span{border-color:#1887d0;background:#edf7fd;color:#087bc0}.sell-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px 30px}.sell-unit{position:relative}.sell-unit input{padding-right:40px}.sell-unit b{position:absolute;right:13px;top:13px;color:#74828e}.sell-counter,.sell-toggle{display:grid;grid-template-columns:1fr 1fr;align-items:center}.sell-counter>div,.sell-toggle>div{display:flex;align-items:center;justify-content:flex-start}.sell-counter button{width:36px;height:36px;border:1px solid #bed0dc;border-radius:50%;background:#fff;color:#1385cf;font-size:20px}.sell-counter b{width:38px;text-align:center}.sell-toggle label{margin:0}.sell-toggle input{position:absolute;opacity:0}.sell-toggle b{display:grid;place-items:center;width:43px;height:34px;border:1px solid #ccd8e2;background:#fff;font-size:12px;font-weight:500}.sell-toggle label:first-child b{border-radius:6px 0 0 6px}.sell-toggle label:last-child b{border-left:0;border-radius:0 6px 6px 0}.sell-toggle input:checked+b{background:#eaf6fc;color:#087bc0}.sell-action{margin-top:30px;padding-top:17px;border-top:1px solid #d6e0e7;display:flex;justify-content:flex-end;align-items:center;gap:18px}.sell-action button{height:44px;padding:0 18px;border:1px solid #b9cad6;border-radius:7px;background:#fff;color:#087fc7;font-weight:850}.sell-action button[type=submit]{background:#087fc7;color:#fff;border-color:#087fc7}.sell-action--between{justify-content:space-between}.sell-back{border:0!important;background:transparent!important;color:#087fc7!important}.is-invalid input,.is-invalid select,.sell-types.is-invalid label>span{border-color:#d63d3d!important;background:#fff8f8!important}.sell-progress{padding-top:82px;align-self:start}.sell-progress>div{display:flex;gap:12px;align-items:flex-start;color:#b2c0c9}.sell-progress>div.is-active{color:#087fc7}.sell-progress span{width:32px;height:32px;flex:0 0 32px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;background:#fff;font-weight:850}.sell-progress strong{font-size:18px}.sell-progress small{display:block;margin-top:5px;max-width:200px;color:#526574;font-weight:400}.sell-progress i{display:block;width:1px;height:44px;margin-left:16px;background:#c8d7e1}.sell-step2-fields{display:grid;gap:15px}.sell-step2-fields>label{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.sell-step2-fields>label>span{margin:0}.sell-agency-v226 hr{border:0;border-top:1px solid #d5dfe6;margin:30px 0}.sell-agencies{border-top:1px solid #e1e7ec;margin-bottom:30px}.sell-agency-row{display:grid!important;grid-template-columns:22px 50px 1fr;gap:10px;align-items:center;padding:12px 4px;border-bottom:1px solid #e1e7ec}.sell-agency-row>input{width:18px;height:18px}.sell-agency-logo{width:46px;height:46px;display:grid!important;place-items:center!important;margin:0!important}.sell-agency-logo img{max-width:46px;max-height:42px}.sell-agency-row strong,.sell-agency-row small{display:block}.sell-agency-row small{margin-top:3px;color:#71808d}.sell-consent{display:flex!important;gap:9px;margin-top:20px;align-items:flex-start}.sell-consent input{width:18px;height:18px;flex:0 0 auto}.sell-consent>span{font-weight:400!important;margin:0!important}.sell-consent a{color:#087fc7}
.publish-v225-agency-photo::after,.publish-v225-agency-badge{display:none!important}.publish-v225-agency-photo img{object-fit:cover}.publish-v220-card--agency .publish-v220-fast{left:50%!important;right:auto!important;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);text-align:center;white-space:nowrap}
@media(max-width:860px){body.sell-agency-minimal .site-header{position:fixed!important;top:0;left:0;right:0;height:62px}body.sell-agency-minimal .site-header .header-inner{height:62px;justify-content:center}body.sell-agency-minimal .site-header .brand{margin:auto}body.sell-agency-minimal .site-header .brand img{width:145px;height:auto}.sell-agency-v226{padding-top:62px;background:#fff}.sell-agency-v226-layout{width:100%;display:block;padding:22px 17px 90px}.sell-agency-v226-benefit{gap:12px;padding:16px}.sell-agency-v226-benefit>span{font-size:30px}.sell-agency-v226-benefit strong{font-size:15px}.sell-agency-v226-benefit ul{font-size:13px}.sell-agency-v226 h1{font-size:25px}.sell-agency-v226 h2{font-size:21px}.sell-grid2,.sell-fields{grid-template-columns:1fr}.sell-types{display:grid;grid-template-columns:1fr 1fr}.sell-types label>span{height:58px;justify-content:center;text-align:center;padding:5px;font-size:10px}.sell-counter,.sell-toggle{grid-template-columns:1fr auto}.sell-step2-fields>label{grid-template-columns:1fr;gap:5px}.sell-progress{display:none}.sell-action{position:fixed;z-index:70;left:0;right:0;bottom:0;margin:0;padding:10px 17px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -3px 15px #17334a1a}.sell-action small{display:none}.sell-action button[type=submit]{width:100%;justify-content:center}.sell-action--between .sell-back{width:auto}.sell-action--between button[type=submit]{width:auto;flex:1}.publish-v220-card--agency .publish-v220-fast{font-size:9px!important;white-space:normal;width:calc(100% - 22px);max-width:none}.publish-v225-agency-photo img{height:100%;object-fit:cover}}

/* ===== v227 vendita con agenzia: rifiniture desktop/mobile ===== */
body.sell-agency-minimal .site-header{
  position:fixed!important;top:0;left:0;right:0;z-index:120!important;height:72px;background:#fff!important;
}
body.sell-agency-minimal .site-header .header-inner{height:72px;justify-content:flex-start!important}
body.sell-agency-minimal .site-header .brand{margin:0!important}
body.sell-agency-minimal .sell-agency-v226{padding-top:72px}
.sell-progress{
  position:sticky;top:150px;justify-self:center;width:240px;margin:82px auto 0;padding:0 10px;box-sizing:border-box;
}
.sell-progress>div{justify-content:flex-start}
.sell-types label>span{font-weight:850;letter-spacing:.01em}
.sell-types label>span svg{width:23px!important;height:23px!important;stroke-width:1.55!important}
.sell-suggestions .sell-no-address{color:#c73535;font-weight:750;background:#fff4f4;border-radius:6px}
.sell-agency-fallback{margin:0;padding:12px 8px;color:#586b79;background:#f4f8fb;border-bottom:1px solid #e1e7ec}
.sell-agency-fallback strong{display:block;color:#263b4c;margin-bottom:3px}

@media(max-width:860px){
  body.sell-agency-minimal .site-header{height:62px!important}
  body.sell-agency-minimal .site-header .header-inner{height:62px!important;justify-content:center!important}
  body.sell-agency-minimal .site-header .brand{margin:auto!important}
  body.sell-agency-minimal .sell-agency-v226{padding-top:62px}
  .sell-action button[type=submit] svg{display:none!important}
  .sell-action button[type=submit]{gap:0!important}
}

@media(max-width:760px){
  .publish-v220-card--agency{margin-top:16px!important;overflow:visible!important}
  .publish-v220-card--agency .publish-v220-fast{
    position:absolute!important;top:-13px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;
    width:auto!important;max-width:calc(100% - 18px)!important;margin:0!important;padding:5px 7px!important;
    font-size:8.2px!important;line-height:1!important;white-space:nowrap!important;border-radius:5px!important;z-index:8!important;
  }
  .publish-v225-agency-photo img{object-position:center 48%!important}
}

/* ===== v228 rifiniture pubblicazione / vendita con agenzia ===== */
.publish-v220-card--agency{overflow:visible!important}
.publish-v220-card--agency .publish-v220-new{
  top:0!important;right:14px!important;left:auto!important;transform:translateY(-50%)!important;
  z-index:12!important;padding:5px 10px!important;border-radius:5px!important;
}
.publish-v220-tabs{overflow:visible!important}
.publish-v220-tabs button{overflow:visible!important}
.publish-v220-tabs button>span{
  top:0!important;right:10px!important;transform:translateY(-50%)!important;z-index:12!important;
  padding:4px 8px!important;border-radius:5px!important;
}
.publish-v225-agency-photo img{image-rendering:auto;object-position:center center!important}

@media(min-width:861px){
  .sell-progress{
    top:50vh!important;margin:0 auto!important;transform:translateY(-50%);padding-top:0!important;
  }
}

@media(max-width:760px){
  .publish-v220-card--agency .publish-v220-fast{
    top:-14px!important;padding:7px 11px!important;font-size:10.6px!important;line-height:1.15!important;
    font-weight:900!important;max-width:calc(100% - 34px)!important;
  }
  .publish-v220-card--agency .publish-v220-new{
    top:0!important;right:10px!important;font-size:9.5px!important;padding:5px 8px!important;
  }
  .publish-v220-tabs button>span{
    top:0!important;right:7px!important;font-size:9px!important;padding:4px 7px!important;
  }
}


/* ===== v229: comune DB/API, indirizzo libero nello stesso comune, progress centrato ===== */
@media(min-width:861px){
  .sell-progress{
    position:fixed!important;
    left:84vw!important;
    top:50vh!important;
    width:260px!important;
    margin:0!important;
    padding:0!important;
    transform:translate(-50%,-50%)!important;
    z-index:2;
  }
}
/* Il badge NOVITÀ dell'opzione agenzia sta sopra al badge verde, senza coprirlo. */
.publish-v220-card--agency .publish-v220-new{
  top:-35px!important;
  right:12px!important;
  transform:none!important;
}
@media(max-width:760px){
  .publish-v220-card--agency{margin-top:32px!important}
  .publish-v220-card--agency .publish-v220-fast{
    top:-15px!important;
  }
  .publish-v220-card--agency .publish-v220-new{
    top:-40px!important;
    right:10px!important;
    transform:none!important;
    font-size:9.5px!important;
  }
}
/* v230 - Pubblica con agenzia: badge, spacing e schermata conferma */
@media (min-width:861px){
  .publish-v220-choice{gap:22px!important;background:transparent!important;overflow:visible!important}
  .publish-v220-card{border:1px solid #d5dfe6!important;border-radius:12px!important;background:#fff!important}
  .publish-v220-card+.publish-v220-card{border-left:1px solid #d5dfe6!important}
}
.publish-v220-card--agency .publish-v220-fast{left:12px!important;right:58px!important;transform:none!important;width:auto!important;max-width:none!important;text-align:left!important;white-space:nowrap!important}
.publish-v220-card--agency .publish-v220-new{top:-16px!important;right:10px!important;left:auto!important;transform:none!important;z-index:8!important;font-size:10px!important;padding:5px 8px!important}
.publish-v220-tabs button>span{top:-17px!important;right:8px!important;left:auto!important;transform:none!important}
.sell-back span{display:inline-block;font-size:20px;line-height:1;margin-right:5px;transform:translateY(1px)}
.sell-success{max-width:760px}.sell-success-hero{overflow:hidden;border:1px solid #bdd4ef;background:#eef3ff;border-radius:14px}.sell-success-property{padding:26px}.sell-success-property h1{font-size:28px;margin:0 0 10px}.sell-success-property strong{font-size:18px}.sell-success-property p{color:#607285}.sell-success-art{height:190px;display:flex;align-items:flex-end;justify-content:center;gap:32px;background:linear-gradient(180deg,#eef3ff,#dcecff);font-size:82px}.sell-success-art i{font-style:normal;font-size:48px;margin-bottom:55px}.sell-success-copy{padding:34px 4px 22px}.sell-success-copy h2{font-size:25px;margin:0 0 12px}.sell-success-copy p{font-size:17px;line-height:1.5;color:#4f6070}.sell-success-agencies{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sell-success-agencies article{border:1px solid #d8e1e8;border-radius:14px;overflow:hidden;background:#fff}.sell-success-map{height:145px;background:linear-gradient(135deg,#edf4ef,#dfeae4);display:grid;place-items:center;font-size:36px;color:#1284cf}.sell-success-agency-logo{min-height:100px;padding:18px;display:grid;place-items:center}.sell-success-agency-logo img{max-width:180px;max-height:78px}.sell-success-agencies h3{margin:0;padding:0 20px 6px;font-size:18px}.sell-success-agencies p{margin:0;padding:0 20px 20px;color:#677987}.sell-success-home{display:inline-block;margin:28px 0;color:#087fc7;font-weight:800;text-decoration:none}
@media (min-width:861px){.sell-progress{min-height:calc(100vh - 150px);display:flex;flex-direction:column;justify-content:center;padding-top:0!important;align-self:stretch!important}.sell-progress>div,.sell-progress>i{transform:translateY(-10px)}}
@media(max-width:860px){
  .publish-v220-card--agency .publish-v220-fast{left:30px!important;right:58px!important;font-size:10px!important;white-space:nowrap!important;width:auto!important;top:-15px!important}
  .publish-v220-card--agency .publish-v220-new{top:-15px!important;right:10px!important;font-size:9px!important}
  .sell-back span{font-size:21px}
  .sell-success{padding-bottom:70px}.sell-success-property{padding:20px}.sell-success-property h1{font-size:22px}.sell-success-art{height:150px;font-size:62px;gap:18px}.sell-success-art i{font-size:36px;margin-bottom:42px}.sell-success-copy{padding:28px 2px 16px}.sell-success-copy h2{font-size:22px}.sell-success-copy p{font-size:15px}.sell-success-agencies{grid-template-columns:1fr}.sell-success-map{height:130px}
}

/* sell agency final v235 */
.sell-success-property{padding:30px 26px}.sell-success-agency-address{line-height:1.45;color:#536779!important}.sell-success-map .sell-map-unavailable{font-size:13px;color:#6b7d89}@media(max-width:700px){.sell-success-property{padding:22px 20px}}

/* Vendi con agenzia - conferma finale v237 */
.sell-success-agencies{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,360px));gap:18px}
.sell-success-agency-card{display:flex!important;align-items:center;gap:18px;padding:20px!important;border:1px solid #d8e2eb;border-radius:16px;background:#fff;min-height:118px}
.sell-success-agency-card .sell-success-agency-logo{width:120px;min-width:120px;height:74px;display:flex;align-items:center;justify-content:center;background:#fff;border:0}
.sell-success-agency-card .sell-success-agency-logo img{max-width:100%;max-height:70px;object-fit:contain}
.sell-success-agency-card .sell-success-agency-info{min-width:0}
.sell-success-agency-card h3{margin:0 0 7px;font-size:18px}
.sell-success-agency-address{margin:0!important;color:#586b7c!important;font-size:14px;line-height:1.45}
.sell-success-home--button{display:inline-flex!important;align-items:center;justify-content:center;margin-top:22px;padding:12px 22px;border-radius:9px;background:#0b84c6!important;color:#fff!important;text-decoration:none!important;font-weight:800;box-shadow:0 5px 16px rgba(11,132,198,.18)}
.sell-success-home--button:hover{background:#0874af!important}
@media(max-width:700px){
  .sell-success-agencies{display:block}
  .sell-success-agency-card{margin-bottom:14px;align-items:center}
  .sell-success-agency-card .sell-success-agency-logo{width:108px;min-width:108px}
  .sell-success-home--button{width:100%;box-sizing:border-box}
}


/* v239 - home mobile zone picker + category chevron */
.type-group-chevron{width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px;font-size:0!important;transition:transform .18s}
.type-group-chevron svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.type-group-app.is-open .type-group-chevron{transform:rotate(180deg)}
@media(max-width:760px){
  #home-location-dialog .dialog-appbar{height:calc(54px + env(safe-area-inset-top));min-height:calc(54px + env(safe-area-inset-top));padding-left:12px;padding-right:12px}
  #home-location-dialog .dialog-appbar h2{font-size:17px;line-height:1.15}
  #home-location-dialog .dialog-back{width:38px;height:38px;padding:9px;margin-right:1px}
  #home-location-dialog .home-zone-content{padding-top:14px!important}
  #home-location-dialog #home-zone-list{padding-top:2px}
}


/* ===== v240 — fix picker zone mobile + spazio sotto navbar ===== */
@media(max-width:760px){
  .search-page-body #zone-picker .full-dialog-page{
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
  }
  .search-page-body #zone-picker .search-appbar{
    position:relative!important;
    top:0!important;
    height:54px!important;
    min-height:54px!important;
    flex:0 0 54px!important;
    padding:0 10px!important;
    margin:0!important;
    z-index:30!important;
    background:#fff!important;
  }
  .search-page-body #zone-picker .search-appbar .search-back{
    width:40px!important;
    height:40px!important;
    padding:9px!important;
  }
  .search-page-body #zone-picker .search-appbar h2{
    font-size:18px!important;
    line-height:1.1!important;
  }
  .search-page-body #zone-picker .dialog-content-app{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    padding:14px 14px 92px!important;
    margin:0 auto!important;
  }
  .search-page-body #zone-picker #zone-list{
    margin-top:4px!important;
  }
}

/* ===== v242 — home zone mobile + località risultati desktop ===== */
.results-header-location{
  position:relative;
  min-width:330px;
  max-width:590px;
  padding:0 10px;
  overflow:visible;
}
.results-location-chip{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-height:30px;
  padding:0 7px 0 10px;
  border:1px solid #9ec7e8;
  border-radius:4px;
  background:#eef7ff;
  color:#0878c9;
  cursor:text;
  white-space:nowrap;
}
.results-location-chip[hidden]{display:none!important}
.results-location-chip-label{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis}
.results-location-chip-separator{margin:0 5px;color:#0878c9;font-weight:900}
.results-location-chip-kind{font-size:12px;font-weight:600}
.results-location-chip-clear{
  width:25px!important;height:25px!important;margin:0 0 0 5px!important;padding:5px!important;
  border:0!important;background:transparent!important;color:#5d9cc8!important;border-radius:50%!important;cursor:pointer!important;
}
.results-location-chip-clear:hover{background:#dceefb!important}
.results-location-chip-clear svg{width:14px!important;height:14px!important;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.results-header-location>input{
  flex:1;min-width:0;height:38px;border:0;outline:0;background:transparent;color:#173148;
  font:inherit;font-size:14px;padding:0 4px;
}
.results-header-location>input[hidden]{display:none!important}
.results-header-location-results{
  position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:220;background:#fff;
  border:1px solid #dce5ec;border-radius:12px;box-shadow:0 16px 36px rgba(20,48,71,.16);
  padding:7px 0;max-height:360px;overflow:auto;
}
.results-header-location-results[hidden]{display:none!important}
.results-location-group{padding:0 7px}
.results-location-group+.results-location-group{border-top:1px solid #edf1f4;margin-top:5px;padding-top:5px}
.results-location-group h3{margin:0;padding:7px 8px 5px;color:#6d7c8a;font-size:12px;font-weight:800}
.results-header-location-results button{
  width:100%;min-height:48px;border:0;border-radius:8px;background:#fff;padding:7px 9px;
  display:flex;align-items:center;gap:10px;text-align:left;color:#263746;cursor:pointer;
}
.results-header-location-results button:hover{background:#f2f5f7}
.results-location-option-icon{width:26px;height:26px;display:grid;place-items:center;color:#637b8e;flex:none}
.results-location-option-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.results-location-option-copy{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1}
.results-location-option-copy strong{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.results-location-option-copy small{font-size:11px;color:#768593;flex:none}
.results-location-empty{display:grid;gap:2px;padding:12px 14px;color:#a43b35}
.results-location-empty strong{font-size:13px}.results-location-empty span{font-size:12px;font-weight:500}

@media(max-width:760px){
  /* Home: il pannello Zone è un layout a tre righe. L'elenco non può più infilarsi sotto l'appbar. */
  #location-sheet .app-dialog__page{overflow:hidden!important}
  #location-sheet .home-zone-page{
    position:absolute!important;inset:0!important;height:100dvh!important;min-height:100dvh!important;
    display:grid!important;grid-template-rows:58px minmax(0,1fr) auto!important;overflow:hidden!important;background:#fff!important;
  }
  #location-sheet .home-zone-page[hidden]{display:none!important}
  #location-sheet .home-zone-page>.dialog-appbar{
    position:relative!important;top:auto!important;z-index:50!important;width:100%!important;height:58px!important;min-height:58px!important;
    padding:0 12px!important;margin:0!important;background:#fff!important;border-bottom:1px solid #e9edf1!important;
    box-sizing:border-box!important;
  }
  #location-sheet .home-zone-page>.dialog-appbar h2{font-size:18px!important;line-height:1.1!important;margin:0!important}
  #location-sheet .home-zone-page>.dialog-appbar .dialog-back{width:40px!important;height:40px!important;padding:9px!important;margin-right:3px!important}
  #location-sheet .home-zone-content{
    grid-row:2!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;
    padding:12px 12px 18px!important;margin:0!important;background:#fff!important;scroll-padding-top:12px!important;
  }
  #location-sheet #home-zone-list{padding:0!important;margin:0!important}
  #location-sheet #home-zone-list .zone-check-row:first-child{margin-top:0!important}
  #location-sheet .dialog-footer-single{
    grid-row:3!important;position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;
    z-index:55!important;padding:10px 12px calc(12px + env(safe-area-inset-bottom))!important;background:#fff!important;border-top:1px solid #e3e7ea!important;
  }
  #location-sheet .dialog-footer-single .primary-btn{min-height:52px!important;border-radius:14px!important}
}


/* ===== v243 — home zone appbar + località risultati come Home ===== */
.results-header-location{display:flex!important;align-items:center!important;height:44px!important;border:1px solid #d7e2eb!important;border-radius:10px!important;background:#fff!important;padding:4px 10px!important;box-sizing:border-box!important;overflow:visible!important}
.results-location-chip{min-height:30px!important}
.results-header-location>input{display:block;height:34px!important;min-width:180px!important;width:100%!important;padding:0 5px!important;border:0!important;outline:0!important;background:#fff!important;font-size:14px!important;color:#173148!important;box-shadow:none!important}
.results-header-location>input[hidden]{display:none!important}
.results-header-location-results{left:0!important;right:auto!important;top:calc(100% + 7px)!important;width:min(540px,calc(100vw - 36px))!important;max-height:430px!important;padding:0!important;border:1px solid #dce5ec!important;border-radius:13px!important;background:#fff!important;box-shadow:0 18px 42px rgba(20,48,71,.18)!important;overflow:auto!important;z-index:1000!important}
.results-location-group{padding:8px 10px!important}
.results-location-group+.results-location-group{border-top:1px solid #edf1f4!important;margin:0!important;padding-top:8px!important}
.results-location-group h3{margin:0!important;padding:2px 8px 6px!important;color:#667887!important;font-size:12px!important;font-weight:800!important}
.results-header-location-results .results-location-group button{display:flex!important;width:100%!important;min-height:45px!important;align-items:center!important;gap:10px!important;margin:0!important;padding:7px 9px!important;border:0!important;border-radius:8px!important;background:#fff!important;color:#263746!important;text-align:left!important;font:inherit!important;cursor:pointer!important}
.results-header-location-results .results-location-group button:hover{background:#f2f5f7!important}
.results-location-option-icon{display:grid!important;width:28px!important;height:28px!important;place-items:center!important;flex:0 0 28px!important;color:#627b8e!important}
.results-location-option-copy{display:flex!important;min-width:0!important;flex:1!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.results-location-option-copy strong{font-size:13px!important;font-weight:700!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.results-location-option-copy small{font-size:11px!important;color:#768593!important;white-space:nowrap!important}
.results-location-defaults{padding:14px 16px 12px!important;display:grid!important;gap:4px!important}
.results-location-defaults>strong{font-size:12px!important;color:#596c7b!important;margin-bottom:5px!important}
.results-location-defaults>a{display:flex!important;align-items:center!important;gap:12px!important;min-height:52px!important;padding:6px 2px!important;color:#173148!important;text-decoration:none!important;font-size:14px!important;font-weight:800!important}
.results-location-default-icon{width:38px!important;height:38px!important;border-radius:50%!important;display:grid!important;place-items:center!important;flex:0 0 38px!important}
.results-location-default-icon svg{width:21px!important;height:21px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.results-location-default-icon.blue{background:#edf6fd!important;color:#1687d0!important}.results-location-default-icon.orange{background:#fff0e8!important;color:#f27624!important}.results-location-default-icon.purple{background:#f5ebff!important;color:#9338ed!important}
.results-location-defaults>a:last-child{color:#8d3af2!important}

@media(max-width:760px){
  /* Home: barra delle zone davvero in cima, senza padding/safe-area ereditato. */
  #location-sheet .home-zone-page{grid-template-rows:48px minmax(0,1fr) auto!important;padding:0!important;top:0!important;transform:none!important}
  #location-sheet .home-zone-page>.dialog-appbar{position:relative!important;top:0!important;height:48px!important;min-height:48px!important;padding:0 10px!important;padding-top:0!important;margin:0!important;transform:none!important;align-items:center!important}
  #location-sheet .home-zone-page>.dialog-appbar h2{font-size:16px!important;line-height:1!important;margin:0!important}
  #location-sheet .home-zone-page>.dialog-appbar .dialog-back{width:36px!important;height:36px!important;padding:8px!important;margin-right:1px!important}
  #location-sheet .home-zone-content{padding:5px 12px 14px!important;scroll-padding-top:5px!important}
  #location-sheet #home-zone-list{margin:0!important;padding:0!important}
}


/* ===== v244 — fix definitivo zone Home mobile + picker località risultati ===== */
@media(max-width:760px){
  #location-sheet .home-zone-page{
    display:flex!important;
    flex-direction:column!important;
    position:absolute!important;
    inset:0!important;
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
    padding:0!important;
    background:#fff!important;
  }
  #location-sheet .home-zone-page[hidden]{display:none!important}
  #location-sheet .home-zone-page>.dialog-appbar{
    position:relative!important;
    flex:0 0 58px!important;
    top:0!important;
    height:58px!important;
    min-height:58px!important;
    padding:0 14px!important;
    margin:0!important;
    background:#fff!important;
    border-bottom:1px solid #e5ebf0!important;
    z-index:100!important;
    transform:none!important;
  }
  #location-sheet .home-zone-page>.dialog-appbar h2{
    font-size:17px!important;
    line-height:1.1!important;
    margin:0!important;
  }
  #location-sheet .home-zone-page>.dialog-appbar .dialog-back{
    width:38px!important;height:38px!important;padding:9px!important;margin-right:4px!important;
  }
  #location-sheet .home-zone-content{
    position:relative!important;
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:14px 14px 18px!important;
    margin:0!important;
    scroll-padding-top:14px!important;
    background:#fff!important;
    z-index:1!important;
  }
  #location-sheet #home-zone-list{
    display:block!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }
  #location-sheet #home-zone-list .zone-check-row:first-child{
    margin-top:0!important;
    transform:none!important;
  }
  #location-sheet .dialog-footer-single{
    position:relative!important;
    flex:0 0 auto!important;
    z-index:110!important;
  }
}

/* La regola storica .results-header-location a assegnava 34px anche alle
   voci della tendina: da qui il menu bianco con sole icone a destra. */
.results-header-location .results-location-defaults>a{
  width:100%!important;
  height:auto!important;
  margin-left:0!important;
  display:flex!important;
  justify-content:flex-start!important;
  place-items:unset!important;
}
.results-header-location .results-location-defaults>a>span:last-child{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  overflow:visible!important;
  color:inherit!important;
  font-weight:800!important;
}
.results-header-location{cursor:text!important}
.results-location-chip{cursor:pointer!important}

/* ===== v245 — Home mobile: schermata zone realmente agganciata al bordo superiore ===== */
@media(max-width:760px){
  /* La schermata zone deve essere indipendente dal contenitore scrollabile del picker.
     Con position:absolute poteva ereditare l'offset/scroll della pagina sottostante. */
  #location-sheet .home-zone-page{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    z-index:260!important;
    background:#fff!important;
  }
  #location-sheet .home-zone-page>.dialog-appbar{
    position:relative!important;
    top:0!important;
    left:0!important;
    right:0!important;
    flex:0 0 54px!important;
    height:54px!important;
    min-height:54px!important;
    margin:0!important;
    padding:0 14px!important;
    border-top:0!important;
    border-bottom:1px solid #e5ebf0!important;
    background:#fff!important;
    z-index:2!important;
  }
  #location-sheet .home-zone-content{
    flex:1 1 auto!important;
    min-height:0!important;
    margin:0!important;
    padding:8px 14px 14px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
  #location-sheet .dialog-footer-single{
    flex:0 0 auto!important;
    margin:0!important;
    background:#fff!important;
  }
}

/* v246 - Filtri desktop risultati: righe compatte + dropdown laterali */
@media(min-width:761px){
  .results-filter-modal{width:min(760px,calc(100vw - 36px));overflow:visible}
  .results-filter-modal-scroll{overflow:auto;overflow-x:visible;padding:0 22px 14px}
  .results-modal-contract-tabs{margin:0 -22px 8px}
  .results-modal-section{position:relative;overflow:visible}
  .results-modal-section summary{min-height:55px;padding:0 8px;gap:14px;font-weight:800;color:#26384a}
  .results-modal-section summary .results-modal-title{margin:0;flex:1;color:#26384a;font-size:15px;font-weight:800}
  .results-modal-section summary .results-modal-value{margin:0;color:#4f5f70;font-size:14px;font-weight:500;text-align:right;max-width:58%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .results-modal-section summary:after{content:"";width:9px;height:9px;border-right:2px solid #53697c;border-bottom:2px solid #53697c;transform:rotate(45deg);margin:0 4px 5px 10px;flex:0 0 auto;transition:transform .16s ease}
  .results-modal-section[open] summary:after{content:"";transform:rotate(225deg);margin-bottom:-3px}
  .results-modal-popover{position:absolute;right:4px;top:49px;width:350px;max-height:430px;overflow:auto;padding:14px;background:#fff;border:1px solid #d9e3eb;border-radius:12px;box-shadow:0 14px 34px rgba(15,35,56,.18);z-index:35}
  .results-modal-popover--types{width:365px;padding:0;overflow:hidden}
  .results-modal-popover--features{width:390px}
  .results-modal-grid--popover{padding:0;grid-template-columns:1fr 1fr}
  .results-modal-pills--popover{padding:0}
  .results-extra-feature-grid--popover{padding:0;display:flex;flex-wrap:wrap;gap:8px}
  .results-extra-feature-grid--popover .results-extra-feature{width:auto}
  .results-modal-select-popover{padding:14px}
  .results-modal-select-popover label{display:block;font-size:12px;color:#687786}
  .results-modal-select-popover select{width:100%;height:44px;margin-top:6px;border:1px solid #d5dee7;border-radius:9px;padding:0 12px;background:#fff;color:#21374a}
  .results-type-category-toggle{min-height:50px}
  .results-type-chevron{width:9px;height:9px;border-right:2px solid #337ab7;border-bottom:2px solid #337ab7;transform:rotate(45deg);margin-right:3px;transition:transform .16s ease}
  .results-type-category.is-open .results-type-chevron{transform:rotate(225deg);margin-top:6px}
  .results-filter-modal>footer{border-radius:0 0 16px 16px}
}

@media(max-width:760px){
  .results-modal-section summary .results-modal-title{margin:0;flex:1}
  .results-modal-section summary .results-modal-value{margin-left:auto}
  .results-modal-popover{position:static;width:auto;max-height:none;overflow:visible;padding:0 4px 16px;border:0;border-radius:0;box-shadow:none}
  .results-modal-popover--types,.results-modal-popover--features{width:auto;padding:0}
  .results-modal-select-popover{padding:0 4px 16px}
  .results-extra-feature-grid--popover{padding:0 4px 16px}
  .results-type-chevron{width:9px;height:9px;border-right:2px solid #337ab7;border-bottom:2px solid #337ab7;transform:rotate(45deg);margin-right:4px}
  .results-type-category.is-open .results-type-chevron{transform:rotate(225deg);margin-top:6px}
}

/* v247: filtri risultati desktop */
@media (min-width:761px){
  .results-modal-title{display:flex!important;align-items:center;gap:10px!important;min-width:0}
  .results-modal-title>span{margin:0!important;color:inherit!important;font-size:inherit!important;font-weight:inherit!important}
  .results-modal-title-icon{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:#34495e;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .results-modal-popover .results-price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 12px 8px}
  .results-modal-popover .results-price-inputs label{display:block;font-size:12px;color:#536372}
  .results-modal-popover .results-price-inputs label span{display:block;margin:0 0 5px}
  .results-modal-popover .results-price-inputs input{width:100%;height:43px;border:1px solid #cbd6df;border-radius:9px;padding:0 12px;font:inherit;background:#fff;box-sizing:border-box}
  .results-modal-popover .results-price-inputs input:focus{outline:none;border-color:#1484cc;box-shadow:0 0 0 1px #1484cc}
  .results-range-selector{padding-bottom:10px}
  .results-type-category-toggle{position:relative}
  .results-type-category-radio{pointer-events:auto;cursor:pointer;position:relative;z-index:2}
}

/* v248 - allineamento filtri risultati al comportamento/stile Home + tablet */
@media (min-width:761px){
  .results-filters-overlay{
    padding:20px 18px;
    place-items:center;
  }
  .results-filter-modal{
    width:min(760px,calc(100vw - 32px));
    max-height:min(790px,calc(100dvh - 32px));
    overflow:visible;
  }
  .results-filter-modal-scroll{
    min-height:0;
    overflow-y:auto!important;
    overflow-x:visible!important;
    overscroll-behavior:contain;
    padding:0 20px 12px;
  }
  .results-modal-contract-tabs{margin:0 -20px 8px}
  .results-modal-section{
    position:relative;
    border-bottom:1px solid #dde5ea;
  }
  .results-modal-section summary{
    min-height:54px;
    padding:0 4px;
    display:flex;
    align-items:center;
    gap:8px;
  }
  .results-modal-title{display:flex!important;align-items:center;gap:10px!important;min-width:0}
  .results-modal-title-icon{width:20px;height:20px;flex:0 0 20px;stroke:#466174}
  .results-modal-value{margin-left:auto!important;max-width:290px!important;color:#647583!important;font-size:13px!important}
  .results-modal-section summary:after{
    width:10px;height:10px;border-width:0 2px 2px 0;border-style:solid;border-color:#52697a;
    transform:rotate(45deg);margin:0 7px 5px 9px;
  }
  .results-modal-section[open] summary:after{transform:rotate(225deg);margin-bottom:-3px}

  .results-modal-popover{
    right:0;top:49px;width:350px;max-height:min(390px,calc(100dvh - 220px));overflow:auto;
    padding:14px;border-radius:10px;box-shadow:0 14px 35px rgba(15,46,68,.20);z-index:90;
    overscroll-behavior:contain;
  }
  .results-modal-popover--types{
    width:350px!important;
    max-height:min(430px,calc(100dvh - 210px))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:0!important;
  }
  .results-modal-type-categories{max-height:none!important;overflow:visible!important}
  .results-type-category-options{max-height:none!important;overflow:visible!important}
  .results-type-category-toggle{position:sticky;top:0;z-index:2;background:#fff}
  .results-type-option{min-height:42px}

  .results-filter-modal>footer{
    flex:0 0 auto;
    background:#fff;
    position:relative;
    z-index:120;
  }
}

/* iPad/tablet: modale più basso e contenuto sempre scrollabile, footer visibile */
@media (min-width:761px) and (max-width:1180px){
  .results-filters-overlay{padding:12px}
  .results-filter-modal{width:min(820px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
  .results-filter-modal-scroll{overflow-y:auto!important;max-height:none}
  .results-modal-popover{max-height:min(360px,calc(100dvh - 205px))}
  .results-modal-popover--types{max-height:min(390px,calc(100dvh - 190px))!important}
}

/* v248 - tablet: anche il modale filtri Home usa altezza viewport e scroll interno */
@media (min-width:900px) and (max-width:1180px){
  .desktop-home-filter-modal--accordion{
    max-height:calc(100dvh - 24px)!important;
  }
  .desktop-filter-compact-list{
    min-height:0;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
}


/* ===== v249 — filtri unificati, tablet compatti e controlli diretti ===== */
.results-modal-euro-icon{
  width:20px;flex:0 0 20px;text-align:center;
  color:#466174;font-size:21px;line-height:1;font-weight:500;
}
.results-direct-options{padding:6px!important}
.results-direct-options button{
  display:block;width:100%;min-height:42px;padding:9px 12px;border:0;border-radius:8px;
  background:#fff;color:#26384a;text-align:left;font:inherit;cursor:pointer;
}
.results-direct-options button:hover,.results-direct-options button.is-selected{
  background:#eaf5fc;color:#087fc4;
}
.results-inline-card-section{
  padding:16px 4px;border-bottom:1px solid #dde5ea;
}
.results-inline-section-title{display:flex;align-items:flex-start;gap:10px;color:#26384a}
.results-inline-section-title strong{font-size:15px}
.results-inline-section-title small{display:block;margin-top:5px;color:#6b7c8a;font-size:12px;font-weight:400}
.results-inline-feature-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px;
}
.results-inline-feature-card input,.results-energy-buttons input{position:absolute;opacity:0;pointer-events:none}
.results-inline-feature-card span{
  min-height:50px;display:flex;align-items:center;justify-content:center;padding:8px;
  border:1px solid #d5dfe7;border-radius:11px;background:#fff;color:#34495e;
  text-align:center;font-size:12px;font-weight:700;cursor:pointer;
}
.results-inline-feature-card input:checked+span{
  border-color:#337ab7;background:#edf7fd;color:#167fbe;
}
.results-energy-buttons{display:flex;gap:8px;margin-top:13px}
.results-energy-buttons span{
  min-width:68px;height:38px;padding:0 14px;display:flex;align-items:center;justify-content:center;
  border:1px solid #d5dfe7;border-radius:10px;background:#fff;color:#34495e;font-weight:800;cursor:pointer;
}
.results-energy-buttons input:checked+span{background:#337ab7;border-color:#337ab7;color:#fff}
.results-type-category-toggle{cursor:pointer}
.results-type-category-toggle input{cursor:pointer}

@media (min-width:761px){
  .results-filter-modal-scroll{padding-bottom:10px}
  .results-modal-popover.results-direct-options{
    width:350px;max-height:min(330px,calc(100dvh - 235px));overflow-y:auto;
  }
}

/* Tablet e schermi desktop bassi: il modale non deve mai finire sotto la navbar o fuori viewport. */
@media (min-width:761px) and (max-height:820px){
  .results-filters-overlay{padding:8px!important;align-items:center!important}
  .results-filter-modal{
    max-height:calc(100dvh - 16px)!important;
    height:auto!important;
  }
  .results-filter-modal>header{min-height:48px!important;padding-top:8px!important;padding-bottom:8px!important}
  .results-modal-contract-tabs label{min-height:46px!important}
  .results-modal-section summary{min-height:47px!important}
  .results-filter-modal-scroll{overflow-y:auto!important;min-height:0!important;padding-bottom:6px!important}
  .results-filter-modal>footer{min-height:54px!important;padding-top:7px!important;padding-bottom:7px!important}
  .results-modal-popover{max-height:min(300px,calc(100dvh - 190px))!important}
  .results-modal-popover--types{max-height:min(330px,calc(100dvh - 175px))!important}

  .desktop-home-filter-modal--accordion,
  .desktop-filter-panel{
    top:8px!important;
    max-height:calc(100dvh - 16px)!important;
    height:auto!important;
  }
  .desktop-filter-panel__body,.desktop-filter-compact-list{
    min-height:0!important;overflow-y:auto!important;
  }
  .desktop-filter-panel>header{padding-top:9px!important;padding-bottom:9px!important}
  .desktop-filter-panel>footer{padding-top:8px!important;padding-bottom:8px!important}
}
@media (min-width:761px) and (max-height:700px){
  .results-filter-modal{max-height:calc(100dvh - 10px)!important}
  .results-modal-section summary{min-height:43px!important}
  .results-modal-contract-tabs label{min-height:42px!important}
  .results-inline-card-section{padding-top:11px;padding-bottom:11px}
  .desktop-home-filter-modal--accordion,.desktop-filter-panel{
    top:5px!important;max-height:calc(100dvh - 10px)!important;
  }
}


/* ===== v250 — correzioni modale filtri risultati ===== */
.results-modal-euro-icon{
  width:20px!important;height:20px!important;flex:0 0 20px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  color:#466174!important;font-size:16px!important;font-weight:700!important;line-height:20px!important;
  font-family:Arial,sans-serif!important;
}
/* Da/A: un solo riquadro per campo. Il label fa da intestazione, solo il contenitore esterno ha bordo. */
@media (min-width:761px){
  .results-modal-popover .results-price-inputs{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;
    padding:10px 12px 9px!important;background:#fff!important;
  }
  .results-modal-popover .results-price-inputs label{
    min-width:0!important;height:62px!important;display:flex!important;flex-direction:column!important;
    align-items:stretch!important;justify-content:flex-start!important;gap:2px!important;
    padding:6px 10px!important;border:1px solid #cbd6df!important;border-radius:9px!important;
    background:#fff!important;box-sizing:border-box!important;
  }
  .results-modal-popover .results-price-inputs label span{
    display:block!important;margin:0!important;height:18px!important;font-size:12px!important;
    line-height:18px!important;font-weight:700!important;color:#536372!important;
  }
  .results-modal-popover .results-price-inputs input{
    width:100%!important;height:30px!important;min-height:0!important;padding:0!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;
    background:transparent!important;font:inherit!important;color:#17283d!important;box-sizing:border-box!important;
  }
  .results-modal-popover .results-price-inputs label:focus-within{
    border-color:#1484cc!important;box-shadow:0 0 0 1px #1484cc!important;
  }
}
/* Su tablet e viewport basse il modale resta interamente sotto la navbar. */
@media (min-width:761px) and (max-width:1180px){
  .results-filters-overlay{
    padding:82px 12px 12px!important;
    align-items:start!important;place-items:start center!important;
  }
  .results-filter-modal{
    width:min(800px,calc(100vw - 24px))!important;
    max-height:calc(100dvh - 94px)!important;
    height:auto!important;
  }
  .results-filter-modal-scroll{min-height:0!important;overflow-y:auto!important}
  .results-filter-modal>footer{flex:0 0 auto!important}
}
@media (min-width:761px) and (max-height:760px){
  .results-filters-overlay{padding-top:70px!important;padding-bottom:8px!important}
  .results-filter-modal{max-height:calc(100dvh - 78px)!important}
  .results-modal-contract-tabs label{min-height:40px!important}
  .results-modal-section summary{min-height:42px!important}
  .results-filter-modal>footer{min-height:48px!important;padding:6px 14px!important}
  .results-inline-card-section{padding-top:9px!important;padding-bottom:9px!important}
}
@media (min-width:761px) and (max-height:680px){
  .results-filters-overlay{padding-top:64px!important}
  .results-filter-modal{max-height:calc(100dvh - 70px)!important}
  .results-modal-contract-tabs label{min-height:37px!important}
  .results-modal-section summary{min-height:39px!important}
}

/* v251 — filtri risultati: icone caratteristiche, energia e CTA coerenti col form mobile */
.results-modal-euro-icon{
  width:20px!important;height:20px!important;flex:0 0 20px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  color:#337ab7!important;font-size:23px!important;line-height:1!important;font-weight:500!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
.results-inline-feature-card span{flex-direction:column;gap:6px;min-height:66px!important}
.results-inline-feature-card b{font-size:12px;font-weight:700}
.results-feature-icon{width:25px;height:25px;display:block;color:#2686c7}
.results-feature-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.results-energy-description .energy-high{color:#43a047;font-weight:800}
.results-energy-description .energy-medium{color:#e68621;font-weight:800}
.results-energy-description .energy-low{color:#d94a3f;font-weight:800}
.results-filter-submit{background:#ef6c12!important;border-color:#ef6c12!important}
.results-filter-submit:hover{background:#df610b!important;border-color:#df610b!important}


/* ===== v252 — energia cumulativa + modale desktop sotto navbar + range compatti ===== */
@media (min-width:1181px){
  .results-filters-overlay{
    padding:76px 18px 14px!important;
    align-items:start!important;
    place-items:start center!important;
  }
  .results-filter-modal{
    max-height:calc(100dvh - 90px)!important;
    height:auto!important;
  }
  .results-filter-modal-scroll{
    min-height:0!important;
    overflow-y:auto!important;
  }
}
@media (min-width:761px){
  /* Da e A rimangono affiancati e ogni controllo usa una sola riga compatta. */
  .results-modal-popover .results-price-inputs{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:10px!important;
    padding:10px!important;
  }
  .results-modal-popover .results-price-inputs label{
    height:48px!important;
    min-height:48px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:8px!important;
    padding:0 10px!important;
  }
  .results-modal-popover .results-price-inputs label span{
    flex:0 0 auto!important;
    height:auto!important;
    line-height:1!important;
    margin:0!important;
  }
  .results-modal-popover .results-price-inputs input{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    height:32px!important;
    text-align:left!important;
  }
}

/* ===== v253 — filtri Home desktop/tablet compatti ===== */
@media (min-width:900px){
  .desktop-home-filter-backdrop{z-index:10000!important}
  .desktop-home-filter-modal--accordion{
    z-index:10010!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;
    width:min(800px,calc(100vw - 40px))!important;max-height:calc(100dvh - 40px)!important;
  }
  .desktop-home-filter-modal--accordion[aria-hidden="false"]{transform:translate(-50%,-50%)!important}
  .desktop-filter-compact-list{min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain}
  .compact-euro-icon{font-family:Arial,sans-serif!important;font-size:18px!important;font-weight:600!important;line-height:1!important}
  .compact-direct-popover{padding:7px!important;min-width:290px!important}
  .compact-direct-options{display:grid;max-height:320px;overflow-y:auto}
  .compact-direct-options button{min-height:40px;border:0;border-radius:7px;background:#fff;text-align:left;padding:0 11px;color:#2d4052;font:inherit;cursor:pointer}
  .compact-direct-options button:hover,.compact-direct-options button.active{background:#eaf5fc;color:#087fc4}
  .desktop-filter-inline-section{padding:13px 4px;border-bottom:1px solid #dde5ea}
  .desktop-filter-inline-title{display:flex;align-items:flex-start;gap:8px;color:#2c4052;margin-bottom:11px}
  .desktop-filter-inline-title>strong,.desktop-filter-inline-title div>strong{font-size:14px}
  .home-filter-feature-grid--inline{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
  .home-filter-feature-grid--inline button{min-height:70px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px!important;border-radius:11px!important}
  .home-filter-feature-grid--inline button svg{width:25px;height:25px;fill:none;stroke:#1687d1;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .home-filter-feature-grid--inline button span{font-size:12px;font-weight:750}
  .home-energy-description{display:block;margin-top:5px;font-size:12px;color:#6b7c8a;font-weight:400}
  .home-energy-description .energy-high{color:#43a047}.home-energy-description .energy-medium{color:#e68621}.home-energy-description .energy-low{color:#d94a3f}
  .home-filter-energy-inline{margin-left:32px;gap:8px!important}
  .home-filter-energy-inline button{min-width:68px;height:38px;border-radius:10px!important;font-weight:800!important}
}
@media (min-width:900px) and (max-height:820px){
  .desktop-home-filter-modal--accordion{max-height:calc(100dvh - 24px)!important}
  .desktop-filter-compact-head{min-height:48px!important}
  .desktop-filter-inline-section{padding-top:9px;padding-bottom:9px}
  .home-filter-feature-grid--inline button{min-height:56px!important}
}


/* ===== v255 — modale Home centrato, compatto e con margine viewport ===== */
@media (min-width:900px){
  .desktop-home-filter-modal--accordion{
    width:min(800px,calc(100vw - 72px))!important;
    max-height:min(650px,calc(100dvh - 112px))!important;
    top:50%!important;left:50%!important;
    transform:translate(-50%,-50%)!important;
    border-radius:16px!important;
  }
  .desktop-home-filter-modal--accordion[aria-hidden="false"]{transform:translate(-50%,-50%)!important}
  .desktop-home-filter-modal--accordion>header{
    position:relative!important;display:block!important;
    min-height:52px!important;padding:0 58px!important;
  }
  .desktop-home-filter-modal--accordion>header>strong{
    position:absolute!important;left:50%!important;top:50%!important;
    transform:translate(-50%,-50%)!important;width:auto!important;
    margin:0!important;text-align:center!important;font-size:16px!important;white-space:nowrap!important;
  }
  .desktop-home-filter-modal--accordion>header #desktop-home-filter-clear{
    position:absolute!important;left:18px!important;top:50%!important;transform:translateY(-50%)!important;
  }
  .desktop-home-filter-modal--accordion>header #desktop-home-filter-close{
    position:absolute!important;right:14px!important;top:50%!important;transform:translateY(-50%)!important;
    width:34px!important;height:34px!important;display:grid!important;place-items:center!important;padding:0!important;
    font-size:27px!important;line-height:1!important;
  }
  .desktop-filter-compact-list{min-height:0!important;overflow-y:auto!important;padding:2px 20px 6px!important}
  .desktop-filter-compact-head{min-height:46px!important}
  .desktop-filter-inline-section{padding-top:8px!important;padding-bottom:8px!important}
  .home-filter-feature-grid--inline button{min-height:54px!important}
  .desktop-home-filter-modal--accordion>footer{padding:9px 18px!important}
}
@media (min-width:900px) and (max-height:760px){
  .desktop-home-filter-modal--accordion{max-height:calc(100dvh - 80px)!important;width:min(780px,calc(100vw - 64px))!important}
  .desktop-home-filter-modal--accordion>header{min-height:46px!important}
  .desktop-filter-compact-head{min-height:42px!important}
  .home-filter-feature-grid--inline button{min-height:48px!important}
}

/* ===== Home desktop alignment + agency province directory v257 ===== */
@media (min-width:900px){
  .home-page-body .recent-section,
  .home-page-body .recently-viewed,
  .home-page-body .home-restored-actions,
  .home-page-body .home-restored-directory{
    max-width:1380px!important;
    width:calc(100% - 40px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .home-page-body .recent-section .section-title-row,
  .home-page-body .recently-viewed .section-title-row,
  .home-page-body .recent-scroll,
  .home-page-body .property-scroll{
    padding-left:0!important;
    padding-right:0!important;
  }

  .home-page-body .home-restored-actions{
    padding-left:0!important;
    padding-right:0!important;
  }
}

.home-seo-province-grid[hidden],
.home-seo-category-tabs[hidden],
.home-seo-types[hidden]{display:none!important}

/* ===== Home alignment, equal recent cards & agency directory v258 ===== */
@media (min-width:900px){
  .home-page-body .recent-section,
  .home-page-body .recently-viewed,
  .home-page-body .home-restored-actions,
  .home-page-body .home-restored-directory{
    width:min(1380px,calc(100% - 64px))!important;
    max-width:1380px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .home-page-body .home-recent-search-card,
  .home-page-body .home-viewed-property-card{
    flex:0 0 286px!important;
    width:286px!important;
    min-width:286px!important;
  }
}
@media (min-width:900px) and (max-width:1199px){
  .home-page-body .hero-app{
    width:calc(100% - 48px)!important;
  }
  .home-page-body .recent-section,
  .home-page-body .recently-viewed,
  .home-page-body .home-restored-actions,
  .home-page-body .home-restored-directory{
    width:calc(100% - 48px)!important;
  }
}
@media (min-width:1200px){
  .home-page-body .recent-section,
  .home-page-body .recently-viewed,
  .home-page-body .home-restored-actions,
  .home-page-body .home-restored-directory{
    width:calc(100% - 64px)!important;
  }
}

/* Agency mode: only the province directory is visible. */
.home-seo-directory.is-agencies .home-seo-category-tabs,
.home-seo-directory.is-agencies .home-seo-types,
.home-seo-directory.is-agencies #home-property-province-grid{
  display:none!important;
}
.home-seo-directory.is-agencies #home-agency-province-grid{
  display:grid!important;
}


/* v260 — directory agenzie, mappe e form SEO uniformati alla Home */
.agency-province-directory__subtitle{
  margin:18px 0 4px;
  color:#26384a;
  font-size:17px;
  font-weight:850;
}
.agency-province-directory .seo-directory-grid>a{
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.agency-province-directory .seo-directory-grid>a span{
  min-width:0;
  white-space:nowrap;
}
.agency-province-directory .seo-directory-grid>a small{
  white-space:nowrap;
  text-align:right;
}

@media(min-width:900px){
  .seo-directory-page .seo-directory-desktop-search{
    display:block;
    position:relative;
    z-index:8;
    width:min(1120px,calc(100% - 80px));
    margin:-120px auto 42px;
  }
  .seo-directory-page .seo-directory-desktop-search .desktop-home-contracts{
    margin:0 0 12px 16px;
  }
  .seo-directory-page .seo-directory-mobile-search{display:none!important}
}
@media(max-width:899px){
  .seo-directory-page .seo-directory-desktop-search,
  .seo-directory-page + .seo-directory-desktop-search{display:none!important}
}


/* v261 — landing SEO: form dentro l'hero come nella Home + CTA provincia agenzie */
.agency-province-directory__subtitle a{
  color:#0879c9;
  text-decoration:none;
}
.agency-province-directory__subtitle a:hover{text-decoration:underline}

@media(min-width:900px){
  .seo-directory-page .seo-landing-hero--compact + .seo-directory-desktop-search,
  .seo-directory-page .seo-landing-hero + .seo-directory-desktop-search{
    display:block!important;
    width:min(1120px,calc(100% - 80px))!important;
    margin:-176px auto 34px!important;
    position:relative!important;
    z-index:12!important;
  }
  .seo-directory-page .seo-directory-desktop-search .desktop-home-contracts{
    margin:0 0 12px 16px!important;
  }
  .seo-directory-page .seo-directory-desktop-search .desktop-home-bar{
    box-shadow:0 10px 28px rgba(14,45,67,.18)!important;
  }
}

/* v262 — landing SEO: stessa composizione verticale della Home desktop */
@media(min-width:900px){
  .seo-directory-page .seo-landing-hero,
  .seo-directory-page .seo-landing-hero--compact{
    height:238px!important;
    min-height:238px!important;
  }
  .seo-directory-page .seo-landing-hero + .seo-directory-desktop-search,
  .seo-directory-page .seo-landing-hero--compact + .seo-directory-desktop-search{
    display:block!important;
    width:min(1120px,calc(100% - 80px))!important;
    margin:-120px auto 34px!important;
    position:relative!important;
    z-index:12!important;
  }
  .seo-directory-page .seo-directory-desktop-search .desktop-home-contracts{
    margin:0 0 12px 16px!important;
    transform:none!important;
  }
}

/* ===== v263 — hero/form SEO directory: stessa composizione della Home ===== */
@media (min-width:900px){
  /* Le landing /vendita, /affitto, /aste e sottotipologie devono usare la stessa
     altezza dell'hero Home: evita titolo/tab/barra compressi o sovrapposti. */
  .seo-directory-page .seo-landing-hero,
  .seo-directory-page .seo-landing-hero--compact{
    height:315px!important;
    min-height:315px!important;
    width:calc(100% - 40px)!important;
    max-width:1380px!important;
    margin:18px auto 0!important;
    border-radius:28px!important;
    overflow:hidden!important;
  }
  .seo-directory-page .seo-landing-hero .hero-app__copy,
  .seo-directory-page .seo-landing-hero--compact .hero-app__copy{
    width:calc(100% - 80px)!important;
    max-width:1180px!important;
    margin:22px 0 0 48px!important;
    padding-top:0!important;
  }
  .seo-directory-page .seo-landing-hero .hero-app__copy h1,
  .seo-directory-page .seo-landing-hero--compact .hero-app__copy h1{
    max-width:560px!important;
    font-size:42px!important;
    line-height:1.04!important;
    letter-spacing:-1px!important;
  }
  .seo-directory-page .seo-landing-hero + .seo-directory-desktop-search,
  .seo-directory-page .seo-landing-hero--compact + .seo-directory-desktop-search{
    display:block!important;
    position:relative!important;
    z-index:12!important;
    width:min(1120px,calc(100% - 80px))!important;
    margin:-165px auto 34px!important;
  }
  .seo-directory-page .seo-directory-desktop-search .desktop-home-contracts{
    margin:0 0 12px 16px!important;
    transform:none!important;
  }
  .seo-directory-page .seo-directory-desktop-search .desktop-home-bar{
    min-height:64px!important;
  }
}

@media (min-width:900px) and (max-width:1180px){
  .seo-directory-page .seo-landing-hero,
  .seo-directory-page .seo-landing-hero--compact{
    width:calc(100% - 28px)!important;
  }
  .seo-directory-page .seo-landing-hero .hero-app__copy,
  .seo-directory-page .seo-landing-hero--compact .hero-app__copy{
    margin-left:34px!important;
  }
  .seo-directory-page .seo-landing-hero + .seo-directory-desktop-search,
  .seo-directory-page .seo-landing-hero--compact + .seo-directory-desktop-search{
    width:calc(100% - 64px)!important;
  }
}

/* ===== v264 — landing SEO full: separazione hero/form dai contenuti =====
   Nelle directory nazionali non ci sono le 6 minischede rapide della Home.
   La barra desktop è sovrapposta all'hero con margine negativo: riserviamo quindi
   esplicitamente lo spazio prima di "Ricerche recenti", senza alterare il form. */
@media (min-width:900px){
  .seo-directory-page > .seo-directory-desktop-search + .seo-directory-recent{
    margin-top:72px!important;
  }
  .seo-directory-page > .seo-directory-recent .section-title-row,
  .seo-directory-page > .seo-directory-recent .recent-scroll,
  .seo-directory-page > .seo-directory-recent .property-scroll{
    position:relative;
    z-index:1;
  }
}
@media (min-width:900px) and (max-width:1180px){
  .seo-directory-page > .seo-directory-desktop-search + .seo-directory-recent{
    margin-top:64px!important;
  }
}

/* ===== v266 — risultati annunci: rapporto lista/mappa e testata responsive ===== */
/* Desktop ampio: più spazio agli annunci, come nei principali portali immobiliari. */
@media (min-width:1501px){
  body.results-page-body .server-results-split{
    grid-template-columns:minmax(780px,62%) minmax(0,38%)!important;
  }
}

/* Desktop intermedio: la mappa si restringe gradualmente prima di sparire. */
@media (min-width:1300px) and (max-width:1500px){
  body.results-page-body .server-results-split{
    grid-template-columns:minmax(720px,60%) minmax(0,40%)!important;
  }
}

/* Quando la mappa sparisce, testata e lista devono avere esattamente lo stesso asse. */
@media (min-width:761px) and (max-width:1299px){
  body.results-page-body .server-results-split{
    display:block!important;
  }
  body.results-page-body .results-left-column{
    width:100%!important;
    max-width:1100px!important;
    margin:0 auto!important;
    box-sizing:border-box!important;
  }
  body.results-page-body .results-toolbar.shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:16px 20px 12px!important;
    box-sizing:border-box!important;
  }
  body.results-page-body .server-property-list{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:14px 20px 30px!important;
    box-sizing:border-box!important;
  }
  body.results-page-body .results-toolbar-main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:18px!important;
  }
  body.results-page-body .results-title-block{min-width:0!important}
  body.results-page-body .results-toolbar-actions{justify-self:end!important}
  body.results-page-body .seo-breadcrumb{margin-bottom:10px!important}
}

/* Mobile: conserva allineamento laterale tra breadcrumb/titolo/ordinamento e card. */
@media (max-width:760px){
  body.results-page-body .results-toolbar.shell,
  body.results-page-body .server-property-list{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:12px!important;
    padding-right:12px!important;
    box-sizing:border-box!important;
  }
}

/* ===== v267 — risultati annunci: breakpoint mappa 1280 + testata lineare ===== */
/* La testata dei risultati deve far parte del normale flusso della colonna annunci:
   breadcrumb sopra, titolo sotto, ordinamento a destra, senza riquadro dedicato. */
body.results-page-body .results-toolbar.shell{
  position:static!important;
  top:auto!important;
  z-index:auto!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:0!important;
}
body.results-page-body .results-left-column{
  background:#f7f8fa!important;
}
body.results-page-body .results-toolbar-main{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:22px!important;
}
body.results-page-body .results-title-block{
  min-width:0!important;
}
body.results-page-body .results-title-block h1{
  margin:0!important;
  padding:0!important;
  font-size:22px!important;
  line-height:1.25!important;
  color:#17283d!important;
}
body.results-page-body .results-toolbar-actions{
  justify-self:end!important;
  width:auto!important;
}
body.results-page-body .results-sort-button{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:6px 0 6px 10px!important;
  color:#0878bf!important;
}
body.results-page-body .results-sort-button strong{
  font-size:14px!important;
}
body.results-page-body .seo-breadcrumb{
  display:flex!important;
  margin:0 0 14px!important;
  padding:0!important;
  font-size:13px!important;
  line-height:1.35!important;
}

/* Da 1281px in su la mappa è visibile. */
@media (min-width:1281px){
  body.results-page-body .server-results-split{
    display:grid!important;
    grid-template-columns:minmax(0,60%) minmax(0,40%)!important;
    align-items:start!important;
    border-top:0!important;
  }
  body.results-page-body .results-map-column{
    display:block!important;
  }
  body.results-page-body .results-left-column{
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    border-right:1px solid #e5e7eb!important;
  }
  body.results-page-body .results-toolbar.shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:16px 20px 10px!important;
  }
  body.results-page-body .server-property-list{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:14px 16px 30px!important;
    box-sizing:border-box!important;
  }
}

/* A 1280px e sotto la mappa sparisce e gli annunci usano tutta la pagina. */
@media (min-width:761px) and (max-width:1280px){
  body.results-page-body .server-results-split{
    display:block!important;
  }
  body.results-page-body .results-map-column{
    display:none!important;
  }
  body.results-page-body .results-left-column{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    border-right:0!important;
  }
  body.results-page-body .results-toolbar.shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:16px 20px 10px!important;
  }
  body.results-page-body .server-property-list{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:14px 20px 30px!important;
    box-sizing:border-box!important;
  }
  body.results-page-body .result-property-card{
    width:100%!important;
    max-width:none!important;
  }
}

@media (max-width:760px){
  body.results-page-body .results-toolbar.shell{
    padding:12px 12px 8px!important;
  }
  body.results-page-body .seo-breadcrumb{
    margin-bottom:10px!important;
  }
  body.results-page-body .results-toolbar-main{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
  }
  body.results-page-body .results-title-block h1{
    font-size:19px!important;
  }
}

/* ===== v268 — risultati: titolo compatto, breadcrumb mobile e mappa live-resize ===== */
body.results-page-body .results-title-block{
  justify-self:start!important;
  text-align:left!important;
  width:auto!important;
}
body.results-page-body .results-title-block h1{
  text-align:left!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:800!important;
}

/* Senza mappa, titolo e breadcrumb restano sullo stesso asse sinistro delle card. */
@media (min-width:769px) and (max-width:1280px){
  body.results-page-body .results-toolbar-main{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  body.results-page-body .results-title-block{
    justify-self:start!important;
    text-align:left!important;
  }
  body.results-page-body .results-title-block h1{
    font-size:19px!important;
  }
}

/* Sotto 769 px il breadcrumb non serve: il contesto è già nella testata mobile. */
@media (max-width:768px){
  body.results-page-body .seo-breadcrumb{
    display:none!important;
  }
  body.results-page-body .results-toolbar.shell{
    padding-top:8px!important;
  }
  body.results-page-body .results-title-block h1{
    font-size:18px!important;
  }
}

/* ===== v269 — risultati: titolo sempre a sinistra + marker hover + cluster meno compressi ===== */
body.results-page-body .results-title-block h1{
  font-size:18px!important;
  line-height:1.22!important;
}

/* Quando la mappa scompare la colonna risultati usa tutta la larghezza.
   Breadcrumb e titolo restano ancorati allo stesso margine sinistro delle card. */
@media (min-width:769px) and (max-width:1280px){
  body.results-page-body .results-left-column{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  body.results-page-body .results-toolbar.shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:20px!important;
    padding-right:20px!important;
  }
  body.results-page-body .results-toolbar-main{
    width:100%!important;
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  body.results-page-body .results-title-block{
    justify-self:start!important;
    text-align:left!important;
    margin:0!important;
  }
  body.results-page-body .results-title-block h1{
    font-size:17px!important;
    text-align:left!important;
  }
}

@media (min-width:1281px){
  body.results-page-body .results-title-block h1{
    font-size:18px!important;
  }
}

/* Anello arancione mostrato sul punto dell'annuncio sorvolato nella lista. */
.result-map-hover-marker{
  background:transparent!important;
  border:0!important;
  pointer-events:none!important;
}
.result-map-hover-marker span{
  width:22px;
  height:22px;
  display:block;
  margin:4px;
  box-sizing:border-box;
  border-radius:50%;
  background:#e56a20;
  border:4px solid #fff;
  box-shadow:0 0 0 3px rgba(229,106,32,.38),0 3px 12px rgba(0,0,0,.28);
  animation:bilocaleMapHoverPulse 1.15s ease-in-out infinite alternate;
}
@keyframes bilocaleMapHoverPulse{
  from{transform:scale(.92)}
  to{transform:scale(1.12)}
}

/* ===== v270 — mappa risultati senza cluster numerici + hover pulito ===== */
/* Il marker dell'annuncio sorvolato usa lo stesso pill prezzo, invertito. */
.result-price-marker.is-card-hover span{
  background:#fff!important;
  color:#087fc8!important;
  border-color:#087fc8!important;
  box-shadow:0 4px 14px rgba(8,127,200,.30)!important;
  transform:scale(1.07);
  transform-origin:center;
}
.result-price-marker span{
  transition:background-color .12s ease,color .12s ease,border-color .12s ease,transform .12s ease,box-shadow .12s ease;
}
/* v269 usava un marker arancione aggiuntivo: non viene più creato. */
.result-map-hover-marker{display:none!important}

/* ===== v271 — testata risultati: breadcrumb sopra, titolo sempre a sinistra ===== */
body.results-page-body .results-toolbar.shell{
  display:block!important;
}
body.results-page-body .results-toolbar-main{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
}
body.results-page-body .results-title-block{
  display:block!important;
  justify-self:start!important;
  align-self:center!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
body.results-page-body .results-title-block h1{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  font-size:17px!important;
  line-height:1.2!important;
}
body.results-page-body .results-toolbar-actions{
  justify-self:end!important;
  width:auto!important;
  margin:0!important;
}

/* Senza mappa il titolo non deve mai ricentrarsi. */
@media (min-width:769px) and (max-width:1280px){
  body.results-page-body .results-toolbar-main{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  body.results-page-body .results-title-block{
    justify-self:start!important;
    margin-left:0!important;
  }
}

/* Mobile: breadcrumb nascosto, ma il titolo completo resta a sinistra. */
@media (max-width:768px){
  body.results-page-body .results-toolbar.shell{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    padding:8px 14px 7px!important;
  }
  body.results-page-body .seo-breadcrumb{
    display:none!important;
  }
  body.results-page-body .results-toolbar-main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
  }
  body.results-page-body .results-title-block{
    display:block!important;
    justify-self:start!important;
    width:100%!important;
  }
  body.results-page-body .results-title-block h1{
    display:block!important;
    font-size:15px!important;
    line-height:1.2!important;
    white-space:normal!important;
  }
  body.results-page-body .results-mobile-count{
    display:none!important;
  }
  body.results-page-body .results-toolbar-actions{
    width:auto!important;
    justify-self:end!important;
  }
}

/* ===== v272 — testata risultati compatta: breadcrumb + titolo senza sovrapposizioni ===== */
body.results-page-body .results-toolbar.shell{
  height:auto!important;
  min-height:0!important;
  box-sizing:border-box!important;
  padding-top:10px!important;
  padding-bottom:8px!important;
  overflow:visible!important;
}
body.results-page-body .seo-breadcrumb{
  margin:0 0 5px!important;
  font-size:11.5px!important;
  line-height:1.2!important;
  gap:6px!important;
}
body.results-page-body .results-toolbar-main{
  min-height:0!important;
  align-items:center!important;
}
body.results-page-body .results-title-block h1{
  font-size:15.5px!important;
  line-height:1.15!important;
}
body.results-page-body .results-sort-button{
  padding-top:3px!important;
  padding-bottom:3px!important;
}
body.results-page-body .results-sort-button strong{
  font-size:13px!important;
}
@media (min-width:769px) and (max-width:1280px){
  body.results-page-body .results-toolbar.shell{
    padding-top:9px!important;
    padding-bottom:7px!important;
  }
  body.results-page-body .seo-breadcrumb{
    margin-bottom:4px!important;
    font-size:11px!important;
  }
  body.results-page-body .results-title-block h1{
    font-size:15px!important;
  }
}
@media (max-width:768px){
  body.results-page-body .results-toolbar.shell{
    height:auto!important;
    min-height:0!important;
    padding-top:7px!important;
    padding-bottom:6px!important;
  }
  body.results-page-body .results-title-block h1{
    font-size:14px!important;
  }
}

/* v273 — ricerca mappa desktop: zoom, disegno immediato e ritorno home */
@media (min-width:761px){
  .map-search-app .leaflet-control-container{display:block!important}
  .map-search-app .leaflet-control-zoom{
    margin-left:14px!important;
    margin-bottom:14px!important;
    border:0!important;
    border-radius:10px!important;
    overflow:hidden;
    box-shadow:0 4px 14px rgba(20,42,62,.22)!important;
  }
  .map-search-app .leaflet-control-zoom a{
    width:44px!important;
    height:40px!important;
    line-height:39px!important;
    border:0!important;
    border-bottom:1px solid #e7ebef!important;
    background:#fff!important;
    color:#52677a!important;
    font-size:22px!important;
    font-weight:500!important;
  }
  .map-search-app .leaflet-control-zoom a:last-child{border-bottom:0!important}
  .map-location-corner{
    left:14px;
    right:auto;
    bottom:108px;
  }
}


/* ===== HOME HEADER ALIGNMENT WITH HERO — v274 =====
   Su desktop il logo e le azioni della navbar seguono esattamente
   i bordi laterali del riquadro hero/form della Home. */
@media (min-width: 900px) {
  .home-page-body .site-header .header-inner {
    width: calc(100% - 40px) !important;
    max-width: 1380px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/* ===== HOME LARGE DESKTOP COMPACT LAYOUT — v275 =====
   Su monitor grandi:
   - ricerche/annunci recenti sfruttano tutta la larghezza del hero;
   - 4 card riempiono la riga e arrivano anche al bordo destro;
   - meno spazio dopo le mini-azioni;
   - meno vuoto prima del footer.
*/
@media (min-width: 1200px) {
  .home-page-body .recent-section,
  .home-page-body .recently-viewed,
  .home-page-body .home-restored-actions,
  .home-page-body .home-restored-directory {
    width: calc(100% - 40px) !important;
    max-width: 1380px !important;
  }

  .home-page-body .recent-scroll,
  .home-page-body .property-scroll {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    overflow: visible !important;
    width: 100% !important;
  }

  .home-page-body .home-recent-search-card,
  .home-page-body .home-viewed-property-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
  }

  /* Riduce il vuoto fra le sei scorciatoie e "Ricerche recenti". */
  .home-page-body .desktop-home-mini-actions {
    margin-bottom: 34px !important;
  }

  .home-page-body #recent-searches {
    margin-top: 0 !important;
  }

  /* Sezioni centrali un po' più compatte. */
  .home-page-body .recently-viewed {
    margin-top: 26px !important;
  }

  .home-page-body .home-restored-actions {
    margin-top: 30px !important;
  }

  .home-page-body .home-restored-directory {
    margin-top: 30px !important;
    margin-bottom: 20px !important;
  }

  /* Elimina il grande spazio bianco prima del footer della Home. */
  .home-page-body .app-home {
    padding-bottom: 20px !important;
  }

  .home-page-body .site-footer {
    margin-top: 18px !important;
  }
}

/* Quick filters: contratto / categoria-tipologia */
.results-contract-picker{padding:6px;min-width:210px;overflow:hidden}
.results-contract-option{width:100%;border:0;background:#fff;display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:9px;color:#18314a;font:inherit;font-size:14px;text-align:left;cursor:pointer}
.results-contract-option:hover,.results-contract-option.is-active{background:#eaf4fb;color:#0877bf}
.results-contract-option.is-active{font-weight:800}
.results-contract-option .contract-auction-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.results-contract-check{margin-left:auto;font-weight:900}
.results-types-apply{position:sticky;bottom:0;width:calc(100% - 16px);margin:8px;border:0;border-radius:9px;background:#ef0019;color:#fff;padding:12px 14px;font-weight:800;cursor:pointer}
.results-types-apply:hover{filter:brightness(.96)}

/* v268 - filtri rapidi desktop: dropdown visibili + prezzo */
@media(min-width:761px){
  .results-filterbar,.results-filterbar-inner{overflow:visible}
  .results-filterbar-inner{flex-wrap:nowrap}
}
.results-filter-menu--price{width:300px;min-width:300px;padding:10px 8px 8px;overflow:hidden}
.results-quick-price .results-price-inputs{position:static;padding:0 0 10px}
.results-quick-price .results-price-suggestions{max-height:270px;margin:0 -2px;padding:6px 2px 0;overflow-y:auto}
.results-quick-price .results-types-apply{width:calc(100% - 8px);margin:10px 4px 2px}


/* v270 - filtri rapidi desktop: dropdown reali e visibili */
@media (min-width:761px){
  .results-filterbar{overflow:visible!important;}
  .results-filterbar-inner{overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;flex-wrap:nowrap;}
  .results-filter-dropdown{position:relative;z-index:30;}
  .results-filter-dropdown.is-open{z-index:180;}
}
.results-filter-chip[aria-expanded="true"]{background:#eef8ff;border-color:#79b7df;color:#0877bf}
.results-filter-chip[aria-expanded="true"] .results-chip-chevron{transform:rotate(180deg)}
.results-chip-chevron{transition:transform .16s ease}
.results-filter-menu{z-index:220!important;}
.results-filter-menu--range{width:300px;min-width:300px;padding:10px 8px 8px;overflow:hidden}
.results-quick-range .results-price-inputs{position:static;padding:0 0 10px}
.results-quick-range .results-price-suggestions{max-height:270px;margin:0 -2px;padding:6px 2px 0;overflow-y:auto}
.results-quick-range .results-types-apply{width:calc(100% - 8px);margin:10px 4px 2px}
.results-filter-menu--pills{min-width:286px;padding:14px}
.results-quick-pills{display:flex;flex-wrap:wrap;gap:10px}
.results-quick-pills>button[data-value]{min-width:48px;height:40px;padding:0 14px;border:1px solid #ccd8e3;border-radius:8px;background:#fff;color:#243443;font-weight:700;cursor:pointer}
.results-quick-pills>button[data-value].is-active{background:#e9f4fb;border-color:#2285c6;color:#0877bf}
.results-quick-pills .results-types-apply{width:100%;margin:10px 0 0}
.results-filter-menu--features{width:360px;min-width:360px;padding:12px}
.results-quick-features{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.results-quick-features>button[data-feature]{min-height:72px;border:1px solid #d5e0e9;border-radius:10px;background:#fff;color:#263949;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-weight:700;cursor:pointer}
.results-quick-features>button[data-feature].is-active{background:#edf7fd;border-color:#2487c6;color:#0877bf;box-shadow:inset 0 0 0 1px #2487c6}
.results-quick-feature-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.results-quick-features .results-types-apply{grid-column:1/-1;width:100%;margin:4px 0 0}
.results-filter-chip>svg:first-child:not(.results-chip-chevron){width:19px;height:19px}

.results-filter-euro-icon{width:19px;height:19px;display:inline-grid;place-items:center;font-size:18px;line-height:1;font-weight:700;font-family:Arial,sans-serif;color:currentColor}

/* v271 - stato visivo filtri rapidi applicati */
.results-filter-chip.is-filtered{
  background:#cfe9fa!important;
  border-color:#168bd0!important;
  color:#055f95!important;
  box-shadow:inset 0 0 0 1px rgba(8,119,191,.10),0 1px 2px rgba(8,119,191,.08);
  font-weight:800;
}
.results-filter-chip.is-filtered:hover,
.results-filter-chip.is-filtered[aria-expanded="true"]{
  background:#cfe9fa!important;
  border-color:#168bd0!important;
  color:#05679f!important;
}
.results-filter-chip.is-filtered>svg,
.results-filter-chip.is-filtered .results-filter-euro-icon{color:#066fae!important;stroke:#066fae!important}
.results-filter-chip.is-core-filter{background:#c5e6fa!important;border-color:#168bd0!important;color:#055f95!important}

/* v273 - evidenza coerente per Tutti i filtri e filtri principali */
.results-filter-chip--all.is-filtered,.results-filter-chip.is-core-filter{box-shadow:inset 0 0 0 1px rgba(8,119,191,.14),0 1px 3px rgba(8,119,191,.10)}


/* v274 - filtri rapidi: CTA arancioni e chevron categorie coerenti */
.results-filter-menu .results-types-apply,
.results-quick-price .results-types-apply,
.results-quick-range .results-types-apply,
.results-quick-pills .results-types-apply,
.results-quick-features .results-types-apply{
  background:#ef6c12!important;
  border-color:#ef6c12!important;
  color:#fff!important;
}
.results-filter-menu .results-types-apply:hover{background:#df610b!important;border-color:#df610b!important;}
.results-type-chevron{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;color:#526b7d;transition:transform .18s ease;}
.results-type-chevron svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.results-type-category.is-open>.results-type-category-toggle .results-type-chevron{transform:rotate(180deg)!important;margin-top:0!important;}
.results-type-category:not(.is-open)>.results-type-category-toggle .results-type-chevron{transform:none!important;margin-top:0!important;}


/* v277 - rifiniture filtri rapidi: chiave affitto, scroll tipologie, chevron classici */
.results-contract-option .contract-auction-icon{display:none!important;}
.results-type-chevron{
  width:20px!important;
  height:20px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 20px!important;
  color:#526b7d!important;
  border:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  transition:transform .18s ease!important;
}
.results-type-chevron::before,.results-type-chevron::after{content:none!important;}
.results-type-chevron svg{
  display:block!important;
  width:18px!important;
  height:18px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.results-type-category.is-open>.results-type-category-toggle .results-type-chevron{transform:rotate(180deg)!important;margin:0!important;}
.results-type-category:not(.is-open)>.results-type-category-toggle .results-type-chevron{transform:rotate(0deg)!important;margin:0!important;}

@media (min-width:761px){
  .results-types-picker{
    overflow:hidden!important;
    max-height:min(520px,calc(100dvh - 150px))!important;
  }
  .results-types-picker form{
    display:flex!important;
    flex-direction:column!important;
    max-height:min(520px,calc(100dvh - 150px))!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .results-types-picker .results-type-category{flex:0 0 auto;min-height:0;}
  .results-types-picker .results-type-category.is-open{display:flex;flex-direction:column;min-height:0;}
  .results-types-picker .results-type-category-options{
    max-height:min(350px,calc(100dvh - 255px))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    padding-bottom:18px!important;
  }
  .results-types-picker .results-types-apply{
    position:sticky!important;
    bottom:0!important;
    z-index:8!important;
    flex:0 0 auto!important;
    box-shadow:0 -8px 14px rgba(255,255,255,.96);
  }
}

/* v278 - toolbar filtri responsive, pulsante Mappa e chevron modale */
.results-desktop-map-toggle{display:none!important;}

/* Il chevron categoria/tipologia deve essere visibile anche nel modale completo. */
.results-modal-type-categories .results-type-chevron{
  margin-left:auto!important;
  color:#526b7d!important;
  visibility:visible!important;
  opacity:1!important;
}
.results-modal-type-categories .results-type-chevron svg{
  display:block!important;
  width:18px!important;
  height:18px!important;
}

@media (min-width:761px) and (max-width:1280px){
  /* Su desktop/tablet stretti i chip possono scorrere orizzontalmente. */
  .results-filterbar{
    overflow:visible!important;
  }
  .results-filterbar-inner{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    flex-wrap:nowrap!important;
    scrollbar-width:thin;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    padding-bottom:7px!important;
  }
  .results-filterbar-inner::-webkit-scrollbar{height:5px;}
  .results-filterbar-inner::-webkit-scrollbar-thumb{background:#c7d6e2;border-radius:999px;}
  .results-filterbar-inner>.results-filter-dropdown,
  .results-filterbar-inner>.results-filter-chip,
  .results-filterbar-inner>.results-save-search{flex:0 0 auto!important;}

  /* Quando la colonna mappa non è visibile compare il comando per aprirla. */
  .results-desktop-map-toggle{
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    background:#fff!important;
    color:#0877bf!important;
  }
  .results-desktop-map-toggle svg{width:19px!important;height:19px!important;}

  /* I dropdown diventano fixed quando la barra è scrollabile, evitando il clipping. */
  .results-filter-menu.is-floating-menu{
    position:fixed!important;
    margin:0!important;
    z-index:2500!important;
  }
}

@media (min-width:1281px){
  .results-desktop-map-toggle{display:none!important;}
}

@media (min-width:761px) and (max-width:1280px){
  body.results-mobile-map-open .results-map-mobile-close{
    display:grid!important;
    place-items:center!important;
    position:absolute!important;
    top:14px!important;
    right:14px!important;
    z-index:2600!important;
    width:44px!important;
    height:44px!important;
    border:0!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#173047!important;
    box-shadow:0 3px 14px rgba(0,0,0,.18)!important;
    cursor:pointer!important;
  }
}

/* ===== v279 — toolbar filtri: core fissi, secondari scorrevoli, salva sempre visibile ===== */
.results-filterbar-inner{
  overflow:visible!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.results-filterbar-inner > .results-filter-chip--all,
.results-filterbar-inner > .results-filter-dropdown--types,
.results-filterbar-inner > .results-filter-dropdown:not(.results-filter-dropdown--price):not(.results-filter-dropdown--surface):not(.results-filter-dropdown--rooms):not(.results-filter-dropdown--baths):not(.results-filter-dropdown--features){
  flex:0 0 auto!important;
}
.results-filterbar-scroll-shell{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  gap:4px;
  position:relative;
}
.results-filterbar-scroll{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  gap:8px;
  overflow:visible;
}
.results-filterbar-scroll > .results-filter-dropdown{flex:0 0 auto!important;}
.results-filterbar-scroll-next{
  display:none;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border:1px solid #c9d7e3;
  border-radius:999px;
  background:#fff;
  color:#0877bf;
  align-items:center;
  justify-content:center;
  box-shadow:0 2px 8px rgba(30,64,90,.12);
  cursor:pointer;
  z-index:4;
}
.results-filterbar-scroll-next svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.results-save-search{flex:0 0 auto!important;margin-left:auto!important;}
.results-desktop-map-toggle{flex:0 0 auto!important;}

@media (min-width:761px) and (max-width:1280px){
  .results-filterbar-inner{
    overflow:visible!important;
    padding-right:14px!important;
  }
  .results-filterbar-scroll-shell{overflow:visible!important;}
  .results-filterbar-scroll{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    padding:1px 0 2px;
  }
  .results-filterbar-scroll::-webkit-scrollbar{display:none!important;}
  .results-filterbar-scroll-next{display:inline-flex!important;}
  .results-filterbar-scroll-next.is-at-end svg{transform:rotate(180deg);}
  .results-filterbar-scroll-next svg{transition:transform .18s ease;}
  .results-save-search{
    display:inline-flex!important;
    position:relative!important;
    z-index:5!important;
  }
  .results-desktop-map-toggle{display:inline-flex!important;}
}

@media (min-width:1281px){
  .results-filterbar-scroll-next{display:none!important;}
  .results-filterbar-scroll{overflow:visible!important;}
}
@media (min-width:761px) and (max-width:980px){
  .results-filterbar-inner{gap:5px!important;padding-left:8px!important;padding-right:8px!important;}
  .results-filter-chip{padding-left:9px!important;padding-right:9px!important;gap:5px!important;}
  .results-filter-chip--all{max-width:118px!important;}
  .results-filter-dropdown--types{max-width:205px!important;}
  .results-filter-dropdown--types>.results-filter-chip{max-width:205px!important;}
  .results-filter-dropdown--types [data-quick-chip-label="types"]{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .results-desktop-map-toggle{width:38px!important;padding:0!important;justify-content:center!important;}
  .results-desktop-map-toggle span{display:none!important;}
  .results-save-search{padding-left:10px!important;padding-right:10px!important;}
}

/* ===== v281 — toolbar filtri rapidi senza sovrapposizioni ===== */
.results-filterbar{overflow:visible!important;}
.results-filterbar-inner{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
  overflow:visible!important;
}
.results-filterbar-inner > .results-filter-chip--all,
.results-filterbar-inner > .results-filter-dropdown:not(.results-filter-dropdown--price):not(.results-filter-dropdown--surface):not(.results-filter-dropdown--rooms):not(.results-filter-dropdown--baths):not(.results-filter-dropdown--features),
.results-filterbar-inner > .results-filter-dropdown--types,
.results-save-search,
.results-desktop-map-toggle,
.results-filterbar-scroll-arrow{
  flex:0 0 auto!important;
}
.results-filterbar-scroll-shell{
  display:flex;
  align-items:center;
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.results-filterbar-scroll{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.results-filterbar-scroll::-webkit-scrollbar{display:none!important;}
.results-filterbar-scroll > .results-filter-dropdown{flex:0 0 auto!important;}
.results-filterbar-scroll-arrow{
  width:36px!important;
  height:36px!important;
  padding:0!important;
  border:1px solid #c9d7e3!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#1681c4!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 2px 8px rgba(18,53,80,.12);
  cursor:pointer;
  z-index:10;
}
.results-filterbar-scroll-arrow[hidden]{display:none!important;}
.results-filterbar-scroll-arrow svg{width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
.results-save-search{
  display:inline-flex!important;
  margin-left:auto!important;
  position:relative!important;
  z-index:20!important;
}

/* Mappa laterale visibile: comprime soltanto i filtri secondari, mai Salva ricerca. */
@media (min-width:1300px) and (max-width:1850px){
  .results-filterbar-inner{gap:7px!important;}
  .results-filterbar-scroll-shell{display:flex!important;}
  .results-filterbar-scroll-arrow{display:inline-flex;}
  .results-desktop-map-toggle{display:none!important;}
  .results-filter-dropdown--types{max-width:330px!important;}
  .results-filter-dropdown--types > .results-filter-chip{max-width:330px!important;}
  .results-filter-dropdown--types [data-quick-chip-label="types"]{display:block;max-width:255px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
}

/* Quando la mappa laterale sparisce, spariscono anche Prezzo e successivi. */
@media (min-width:761px) and (max-width:1299px){
  .results-filterbar-scroll-shell,
  .results-filterbar-scroll-prev,
  .results-filterbar-scroll-next{display:none!important;}
  .results-desktop-map-toggle{display:inline-flex!important;}
  .results-save-search{display:inline-flex!important;margin-left:auto!important;}
}

/* Su desktop molto largo c'è spazio per tutti i filtri: niente frecce. */
@media (min-width:1851px){
  .results-filterbar-scroll-shell{overflow:visible!important;}
  .results-filterbar-scroll{overflow:visible!important;}
  .results-filterbar-scroll-prev,
  .results-filterbar-scroll-next{display:none!important;}
}


/* ===== v282 — frecce filtri rapidi + dropdown non tagliati ===== */
@media (min-width:1300px) and (max-width:1850px){
  .results-filterbar-inner{
    display:flex!important;
    flex-wrap:nowrap!important;
    min-width:0!important;
    gap:7px!important;
  }
  .results-filterbar-scroll-shell{
    flex:1 1 0!important;
    min-width:96px!important;
    max-width:none!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
  }
  .results-filterbar-scroll{
    flex:1 1 0!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
  }
  .results-filterbar-scroll::-webkit-scrollbar{display:none!important;}
  .results-filterbar-scroll-prev,
  .results-filterbar-scroll-next{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .results-filterbar-scroll-arrow.is-disabled,
  .results-filterbar-scroll-arrow:disabled{
    opacity:.35!important;
    cursor:default!important;
    pointer-events:none!important;
  }
  .results-save-search{
    flex:0 0 auto!important;
    margin-left:0!important;
    z-index:30!important;
  }
  .results-filter-menu.is-floating-menu{
    position:fixed!important;
    margin:0!important;
    z-index:2600!important;
    overflow:auto!important;
  }
}


/* ===== v283 — picker tipologie, mappa/lista tablet e diagnostica toolbar ===== */
.results-types-picker form{
  padding-bottom:8px!important;
}
.results-types-picker .results-types-apply{
  width:calc(100% - 20px)!important;
  margin:10px 10px 12px!important;
  flex:0 0 auto!important;
}

@media (min-width:761px) and (max-width:1280px){
  /* Il pulsante Mappa sostituisce realmente l'area della lista con la mappa. */
  body.results-page-body.results-mobile-map-open{
    overflow:auto!important;
  }
  body.results-page-body.results-mobile-map-open .server-results-split{
    display:block!important;
  }
  body.results-page-body.results-mobile-map-open .server-property-list{
    display:none!important;
  }
  body.results-page-body.results-mobile-map-open .results-map-column{
    display:block!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    min-height:calc(100vh - 170px)!important;
    height:calc(100vh - 170px)!important;
    border:0!important;
    z-index:1!important;
  }
  body.results-page-body.results-mobile-map-open .results-map-sticky{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
  }
  body.results-page-body.results-mobile-map-open .results-map{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
  }
  body.results-page-body.results-mobile-map-open .results-map-mobile-close{
    display:none!important;
  }
  body.results-page-body.results-mobile-map-open .results-map-expand{
    display:none!important;
  }
}


/* ===== v284 — mappa tablet/full-width stabile + overlay contenuti ===== */
@media (min-width:761px) and (max-width:1280px){
  /* In modalita Mappa sostituiamo realmente tutta l'area dei risultati sotto
     header + barra filtri: niente breadcrumb, titolo o ordinamento sopra la mappa. */
  body.results-page-body.results-mobile-map-open .results-toolbar.shell{
    display:none!important;
  }
  body.results-page-body.results-mobile-map-open .server-results-split{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    border:0!important;
  }
  body.results-page-body.results-mobile-map-open .results-left-column,
  body.results-page-body.results-mobile-map-open .server-property-list{
    display:none!important;
  }
  body.results-page-body.results-mobile-map-open .results-map-column{
    display:block!important;
    position:fixed!important;
    /* 64px header + circa 54px barra filtri desktop/tablet */
    inset:118px 0 0 0!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    border:0!important;
    background:#eef2f4!important;
    z-index:850!important;
    overflow:hidden!important;
  }
  body.results-page-body.results-mobile-map-open .results-map-sticky{
    position:absolute!important;
    inset:0!important;
    top:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  body.results-page-body.results-mobile-map-open .results-map{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
  }
  body.results-page-body.results-mobile-map-open .results-map-expand,
  body.results-page-body.results-mobile-map-open .results-map-mobile-close{
    display:none!important;
  }
}

/* ===== v285: paginazione compatta + sincronizzazione lista/mappa ===== */
.results-pagination--numbered{
  flex-wrap:nowrap;
  gap:6px;
}
.results-pagination--numbered a,
.results-pagination--numbered .is-current,
.results-pagination--numbered .results-page-last,
.results-pagination--numbered .results-page-arrow.is-disabled{
  min-width:38px;
  height:38px;
  padding:0 9px;
  border:0;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  color:#0878bf;
  font-weight:650;
  text-decoration:none;
  box-sizing:border-box;
}
.results-pagination--numbered .is-current{
  background:#eef7fd;
  border:1px solid #87c5ef;
  color:#0878bf;
}
.results-pagination--numbered .results-page-last{
  color:#8fc8ed;
  cursor:default;
}
.results-pagination--numbered .results-page-arrow{
  min-width:34px;
  padding:0 5px;
  border:0;
  background:transparent;
  font-size:28px;
  font-weight:400;
}
.results-pagination--numbered .results-page-arrow--double{
  font-size:29px;
}
.results-pagination--numbered .results-page-arrow.is-disabled{
  color:#a9d4ef;
  cursor:default;
  font-size:28px;
}
body.results-map-bounds-filtered .results-pagination--numbered{
  display:none;
}
@media(max-width:760px){
  .results-pagination--numbered{
    overflow-x:auto;
    justify-content:flex-start;
    scrollbar-width:none;
  }
  .results-pagination--numbered::-webkit-scrollbar{display:none}
  .results-pagination--numbered a,
  .results-pagination--numbered .is-current,
  .results-pagination--numbered .results-page-last,
  .results-pagination--numbered .results-page-arrow.is-disabled{
    min-width:34px;
    height:36px;
    padding:0 7px;
  }
}


/* ===== v286: conteggio dinamico mappa + paginazione perfettamente allineata ===== */
.results-pagination--numbered{
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.results-pagination--numbered > a,
.results-pagination--numbered > span{
  align-self:center;
  line-height:1;
  vertical-align:middle;
  margin-top:0!important;
  margin-bottom:0!important;
}
.results-pagination--numbered .results-page-arrow,
.results-pagination--numbered .results-page-arrow.is-disabled{
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  transform:none;
}
.results-pagination--numbered[hidden]{display:none!important;}

/* ===== v287 — mappa espansa: schede compatte + ordinamento immediato ===== */
@media (min-width:1281px){
  body.results-map-expanded .server-results-split{
    display:grid!important;
    grid-template-columns:380px minmax(0,1fr)!important;
    width:100%!important;
  }
  body.results-map-expanded .results-left-column{
    display:block!important;
    width:380px!important;
    min-width:380px!important;
    max-width:380px!important;
    overflow:visible!important;
    border-right:1px solid #dfe5ea;
    background:#f7f9fb;
    z-index:2;
  }
  body.results-map-expanded .server-property-list{
    display:grid!important;
    padding:10px 8px 22px!important;
    gap:10px!important;
  }
  body.results-map-expanded .results-map-column{
    display:block!important;
    min-width:0!important;
  }
  body.results-map-expanded .results-map-sticky{
    height:calc(100vh - 118px)!important;
    top:118px!important;
  }
  body.results-map-expanded .result-property-card{
    display:grid!important;
    grid-template-columns:145px minmax(0,1fr)!important;
    min-height:176px!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }
  body.results-map-expanded .result-property-media{
    min-width:0!important;
    width:145px!important;
    height:176px!important;
    display:block!important;
  }
  body.results-map-expanded .result-property-main-photo{
    width:145px!important;
    height:176px!important;
    min-height:176px!important;
    flex:none!important;
    background-size:cover!important;
    background-position:center!important;
  }
  body.results-map-expanded .result-property-thumbs,
  body.results-map-expanded .result-photo-arrow--prev,
  body.results-map-expanded .result-photo-arrow--next{
    display:none!important;
  }
  body.results-map-expanded .result-property-badge{
    left:8px!important;
    top:8px!important;
    font-size:10px!important;
    padding:4px 6px!important;
  }
  body.results-map-expanded .result-photo-counter{
    right:7px!important;
    bottom:7px!important;
    font-size:10px!important;
    padding:3px 5px!important;
  }
  body.results-map-expanded .result-media-favorite{display:none!important;}
  body.results-map-expanded .result-property-content{
    padding:12px 11px 10px!important;
    min-width:0!important;
  }
  body.results-map-expanded .result-property-topline{
    min-width:0!important;
    gap:6px!important;
  }
  body.results-map-expanded .result-property-price{
    font-size:19px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }
  body.results-map-expanded .result-agency-logo,
  body.results-map-expanded .result-agency-name{
    display:none!important;
  }
  body.results-map-expanded .result-property-title{
    font-size:13.5px!important;
    line-height:1.25!important;
    margin:8px 0 9px!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  body.results-map-expanded .result-property-facts{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px 5px!important;
    font-size:11px!important;
  }
  body.results-map-expanded .result-property-facts span:nth-child(n+4){display:none!important;}
  body.results-map-expanded .result-property-facts svg{
    width:16px!important;
    height:16px!important;
  }
  body.results-map-expanded .result-property-description{
    display:none!important;
  }
  body.results-map-expanded .result-property-actions{
    margin-top:auto!important;
    gap:5px!important;
    padding-top:10px!important;
  }
  body.results-map-expanded .result-action-button{
    height:34px!important;
    min-width:0!important;
    padding:0 8px!important;
    font-size:0!important;
    gap:0!important;
  }
  body.results-map-expanded .result-action-button svg{
    width:18px!important;
    height:18px!important;
  }
  body.results-map-expanded .result-action-button--phone,
  body.results-map-expanded .result-property-actions > button[data-contact-open]{
    width:36px!important;
    flex:0 0 36px!important;
  }
  body.results-map-expanded .result-action-button--details{display:none!important;}
  body.results-map-expanded .result-icon-button{
    width:36px!important;
    height:34px!important;
    margin-left:auto!important;
    flex:0 0 36px!important;
  }
  body.results-map-expanded .result-icon-button svg{width:18px!important;height:18px!important;}
}

/* La scelta dell'ordinamento applica subito il valore: niente footer Conferma. */
[data-sort-overlay] [data-sort-confirm]{display:none!important;}


/* ===== v288 — rifiniture modalità mappa espansa ===== */
@media (min-width:1281px){
  /* Nelle card compatte mostriamo solo il valore per locali/bagni: l'icona basta a descriverli. */
  body.results-map-expanded .result-fact--rooms .result-fact-label,
  body.results-map-expanded .result-fact--bath .result-fact-label{
    font-size:0!important;
  }
  body.results-map-expanded .result-fact--rooms .result-fact-label::after,
  body.results-map-expanded .result-fact--bath .result-fact-label::after{
    content:attr(data-short-label);
    font-size:11px;
    line-height:1;
  }
  body.results-map-expanded .result-fact--area .result-fact-label{
    white-space:nowrap!important;
  }

  /* Il telefono, quando autorizzato dall'agenzia, resta sempre visibile nella card compatta. */
  body.results-map-expanded .result-action-button--phone{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  /* Evita che il contenuto della card resti in uno stato intermedio dopo Espandi/Riduci. */
  body:not(.results-map-expanded) .result-property-card--map{
    grid-template-columns:minmax(300px,34%) minmax(0,1fr)!important;
  }
}

/* ===== Detail desktop redesign v290 ===== */
@media (min-width: 851px){
  .detail-page{padding-top:22px;background:#f6f8fb}
  .detail-page .shell{width:min(1180px,calc(100% - 48px));margin-left:auto;margin-right:auto}
  .detail-desktop-top{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:stretch;margin-bottom:18px}
  .detail-desktop-gallery{position:relative;display:grid;grid-template-columns:minmax(0,2.15fr) minmax(190px,.85fr);gap:8px;height:430px;border-radius:16px;overflow:hidden;background:#e7edf3;box-shadow:0 4px 18px rgba(21,48,73,.08)}
  .detail-desktop-main,.detail-desktop-thumbs button{position:relative;border:0;padding:0;background:#e6edf3;overflow:hidden;cursor:pointer}
  .detail-desktop-main img,.detail-desktop-thumbs img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .22s ease}
  .detail-desktop-main:hover img,.detail-desktop-thumbs button:hover img{transform:scale(1.018)}
  .detail-desktop-thumbs{display:grid;grid-template-rows:1fr 1fr;gap:8px;min-width:0}
  .detail-desktop-thumb-placeholder{background:#edf2f6}
  .detail-desktop-thumb-last span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(14,32,49,.45);color:#fff;font-size:20px;font-weight:900}
  .detail-desktop-photo-count{position:absolute;left:14px;bottom:14px;background:rgba(16,36,54,.78);color:#fff;padding:6px 9px;border-radius:8px;font-weight:900;font-size:13px}
  .detail-desktop-gallery-actions{position:absolute;left:16px;right:16px;bottom:16px;display:flex;gap:8px;justify-content:flex-end;pointer-events:none}
  .detail-desktop-gallery-actions button{pointer-events:auto;display:inline-flex;align-items:center;gap:7px;border:1px solid #d7e1e9;background:rgba(255,255,255,.96);color:#18354d;border-radius:9px;padding:9px 12px;font-weight:800;box-shadow:0 2px 8px rgba(20,49,73,.12)}
  .detail-desktop-gallery-actions svg{width:18px;height:18px}
  .detail-desktop-gallery-actions .detail-favorite{font-size:22px;line-height:1;color:#ef5b5b;padding:7px 11px}
  .detail-desktop-contact{background:#fff;border:1px solid #dfe7ee;border-radius:16px;padding:18px;box-shadow:0 4px 18px rgba(21,48,73,.07);align-self:stretch}
  .detail-desktop-contact__price{font-size:27px;font-weight:950;color:#17324d;margin-bottom:10px}
  .detail-desktop-contact h2{margin:0 0 14px;font-size:18px}
  .detail-desktop-contact .button{min-height:44px;border-radius:9px;gap:8px}
  .detail-desktop-contact .button svg{width:18px;height:18px}
  .detail-desktop-contact__agency{display:flex;align-items:center;gap:10px;padding:10px 0 14px;margin-bottom:4px;border-bottom:1px solid #edf1f4;color:#425a6d;font-weight:800}
  .detail-desktop-contact__agency img{width:72px;height:46px;object-fit:contain;background:#fff;border:1px solid #edf1f4;border-radius:8px;padding:4px}
  .detail-desktop-contact__agency-link{display:block;text-align:center;margin-top:14px;color:#0879c9;text-decoration:none;font-weight:800;font-size:13px}
  .detail-hero{display:none!important}
  .detail-layout{grid-template-columns:minmax(0,1fr)!important;gap:0!important;padding-top:12px!important}
  .detail-layout>.detail-sidebar{display:none!important}
  .detail-overview,.detail-card{border-radius:14px;padding:22px 24px;margin-bottom:16px}
  .detail-overview h1{font-size:26px}
  .detail-tabs{position:sticky;top:0}
}
@media (min-width:851px) and (max-width:1050px){
  .detail-desktop-top{grid-template-columns:minmax(0,1fr) 280px}
  .detail-desktop-gallery{height:380px;grid-template-columns:minmax(0,1.9fr) minmax(160px,.8fr)}
}
@media (max-width:850px){.detail-desktop-top{display:none!important}}

/* ===== Detail desktop gallery + navigation v291 ===== */
@media (min-width:851px){
  .detail-desktop-shell{margin-bottom:18px}
  .detail-desktop-toolbar{
    display:flex;align-items:center;justify-content:space-between;gap:18px;
    min-height:46px;margin-bottom:10px;color:#18354d
  }
  .detail-desktop-back,.detail-desktop-property-nav button,.detail-desktop-property-nav a,.detail-desktop-toolbar-action{
    appearance:none;border:0;background:transparent;color:#0879c9;cursor:pointer;
    display:inline-flex;align-items:center;gap:7px;font:inherit;font-weight:800;padding:7px 4px
  }
  .detail-desktop-back svg,.detail-desktop-property-nav svg,.detail-desktop-toolbar-action svg{
    width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
  }
  .detail-desktop-toolbar__right{display:flex;align-items:center;gap:15px;min-width:0}
  .detail-desktop-property-nav{display:flex;align-items:center;gap:8px;white-space:nowrap}
  .detail-desktop-property-nav button:disabled,.detail-desktop-property-nav a[aria-disabled="true"]{opacity:.35;cursor:default}
  .detail-desktop-property-position{color:#344b5e;font-size:14px;white-space:nowrap}
  .detail-desktop-property-position b{font-weight:800}
  .detail-desktop-toolbar-action{color:#0879c9;white-space:nowrap}
  .detail-desktop-toolbar-action.detail-favorite{position:static;width:auto;height:auto;border-radius:0;box-shadow:none;font-size:14px;color:#e22633;background:transparent}
  .detail-desktop-heart{font-size:24px;line-height:1;font-weight:500}
  .detail-desktop-toolbar-action.detail-favorite.is-saved{background:transparent}

  .detail-desktop-top{grid-template-columns:minmax(0,1fr) 310px;gap:20px;margin-bottom:0}
  .detail-desktop-gallery{
    height:430px;grid-template-columns:minmax(0,2.7fr) minmax(185px,.9fr);gap:3px;
    border-radius:16px;box-shadow:0 4px 18px rgba(21,48,73,.08)
  }
  .detail-desktop-main-wrap{position:relative;min-width:0;overflow:hidden;background:#e6edf3}
  .detail-desktop-main{width:100%;height:100%;display:block}
  .detail-desktop-main img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .22s ease}
  .detail-desktop-main-wrap:hover .detail-desktop-main img{transform:scale(1.01)}
  .detail-desktop-thumbs{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:3px;min-width:0}
  .detail-desktop-thumbs button{min-height:0;position:relative}
  .detail-desktop-thumb-placeholder{min-height:0;background:#edf2f6}
  .detail-desktop-thumb-label,.detail-desktop-main-label{
    position:absolute;left:8px;bottom:8px;z-index:3;background:rgba(18,34,49,.82);color:#fff;
    border-radius:5px;padding:4px 7px;font-size:12px;font-weight:800;line-height:1.1;max-width:calc(100% - 16px);
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none
  }
  .detail-desktop-main-label{left:14px;bottom:14px;font-size:13px;padding:5px 8px;max-width:55%}
  .detail-desktop-more-photos{
    position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;
    background:rgba(14,32,49,.48)!important;color:#fff!important;font-size:20px!important;font-weight:900!important;
    border-radius:0!important;padding:0!important;max-width:none!important;pointer-events:none
  }
  .detail-desktop-thumb-last .detail-desktop-thumb-label{z-index:4}
  .detail-desktop-photo-count{left:auto;right:14px;bottom:14px;z-index:5}
  .detail-desktop-main-arrow{
    position:absolute;top:50%;z-index:6;width:42px;height:42px;margin-top:-21px;border:0;border-radius:50%;
    background:rgba(255,255,255,.96);color:#16354e;display:grid;place-items:center;cursor:pointer;
    box-shadow:0 2px 12px rgba(15,40,60,.22);opacity:0;transform:scale(.92);transition:opacity .16s ease,transform .16s ease
  }
  .detail-desktop-main-wrap:hover .detail-desktop-main-arrow{opacity:1;transform:scale(1)}
  .detail-desktop-main-arrow:disabled{opacity:0!important;pointer-events:none}
  .detail-desktop-main-arrow--left{left:14px}.detail-desktop-main-arrow--right{right:14px}
  .detail-desktop-main-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

  .detail-desktop-contact{min-height:430px}
}

@media (min-width:851px) and (max-width:1050px){
  .detail-desktop-toolbar{gap:10px}
  .detail-desktop-toolbar__right{gap:8px}
  .detail-desktop-property-nav button span,.detail-desktop-property-nav a span,.detail-desktop-toolbar-action span:not(.detail-desktop-heart){display:none}
  .detail-desktop-gallery{height:380px;grid-template-columns:minmax(0,2.35fr) minmax(150px,.85fr)}
  .detail-desktop-contact{min-height:380px}
}


/* ===== Detail desktop refinements v292 ===== */
@media (max-width:850px){
  /* La toolbar Lista annunci / precedente / successivo / share / salva è solo desktop. */
  .detail-desktop-shell{display:none!important}
}
@media (min-width:851px){
  /* Il pulsante condividi nella toolbar desktop mostra solo l'icona. */
  .detail-desktop-toolbar-action[data-share-url]{
    width:34px;height:34px;padding:6px;justify-content:center;flex:0 0 34px
  }
  /* Le foto verticali vengono mostrate intere invece di essere tagliate da object-fit:cover. */
  .detail-desktop-main img.is-portrait-photo,
  .detail-desktop-thumbs img.is-portrait-photo{
    object-fit:contain!important;
    background:#e6edf3
  }
}
@media (min-width:851px){
  /* La label dell'ultima miniatura resta una piccola etichetta: solo +N foto usa l'overlay pieno. */
  .detail-desktop-thumb-last .detail-desktop-thumb-label{
    inset:auto auto 8px 8px!important;
    display:block!important;
    place-items:initial!important;
    background:rgba(18,34,49,.82)!important;
    font-size:12px!important;
    padding:4px 7px!important;
    max-width:calc(100% - 16px)!important
  }
}

/* ===== Detail desktop contact form + sticky sidebar v293 ===== */
@media (min-width:851px){
  .detail-desktop-top{align-items:start!important}
  .detail-desktop-contact{
    min-height:0!important;padding:0!important;background:transparent!important;border:0!important;
    border-radius:0!important;box-shadow:none!important;align-self:start!important
  }
  .detail-layout{
    display:grid!important;grid-template-columns:minmax(0,1fr) 310px!important;
    gap:20px!important;align-items:start!important
  }
  .detail-layout>.detail-sidebar{display:block!important;position:relative!important;min-width:0}
  .detail-desktop-sticky-stack{position:sticky;top:64px;transition:opacity .12s ease}
  .detail-sidebar.is-stopped{visibility:hidden;opacity:0;pointer-events:none}

  .detail-desktop-contact-card,.detail-desktop-agency-card{
    background:#fff;border:1px solid #dfe5eb;border-radius:16px;box-shadow:0 4px 18px rgba(21,48,73,.07)
  }
  .detail-desktop-contact-card{padding:18px}
  .detail-desktop-contact-card h2{margin:0 0 15px;font-size:19px;color:#27394b}
  .detail-desktop-contact-form{display:grid;gap:10px}
  .detail-desktop-contact-form>label:not(.detail-desktop-consent):not(.detail-desktop-favorite-choice){display:block;position:relative}
  .detail-desktop-contact-form>label:not(.detail-desktop-consent):not(.detail-desktop-favorite-choice)>span{
    position:absolute;left:14px;top:7px;z-index:1;font-size:11px;color:#8793a1;pointer-events:none
  }
  .detail-desktop-contact-form input[type="text"],
  .detail-desktop-contact-form input[type="email"],
  .detail-desktop-contact-form input[type="tel"],
  .detail-desktop-contact-form textarea{
    width:100%;box-sizing:border-box;border:1px solid #cfd7df;border-radius:9px;background:#fff;color:#283847;
    font:inherit;font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease
  }
  .detail-desktop-contact-form input[type="text"],
  .detail-desktop-contact-form input[type="email"],
  .detail-desktop-contact-form input[type="tel"]{height:52px;padding:21px 14px 7px}
  .detail-desktop-contact-form textarea{min-height:92px;resize:vertical;padding:23px 14px 10px;line-height:1.3}
  .detail-desktop-contact-form input:focus,.detail-desktop-contact-form textarea:focus{
    border-color:#1688d4;box-shadow:0 0 0 2px rgba(22,136,212,.1)
  }
  .detail-desktop-consent,.detail-desktop-favorite-choice{
    display:flex;align-items:flex-start;gap:9px;color:#384958;font-size:12px;line-height:1.3;cursor:pointer
  }
  .detail-desktop-consent[hidden],.detail-desktop-favorite-choice[hidden]{display:none!important}
  .detail-desktop-consent input,.detail-desktop-favorite-choice input{
    width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:#1688d4
  }
  .detail-desktop-consent a{color:#0879c9;text-decoration:none}
  .detail-desktop-send,.detail-desktop-visit{
    width:100%;min-height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:9px;
    font:inherit;font-size:13px;font-weight:850;cursor:pointer
  }
  .detail-desktop-send{border:1px solid #e56a20;background:#e56a20;color:#fff}
  .detail-desktop-send:hover{filter:brightness(.97)}
  .detail-desktop-send:disabled{opacity:.65;cursor:wait}
  .detail-desktop-send svg,.detail-desktop-visit svg,.detail-desktop-agency-card svg{
    width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
  }
  .detail-desktop-or{text-align:center;color:#4f5963;font-size:12px;padding:9px 0 7px}
  .detail-desktop-visit{border:1px solid #cbd5de;background:#fff;color:#0879c9}
  .detail-desktop-visit:hover{background:#f7fbfe}
  .detail-desktop-contact-status{min-height:0;font-size:12px;line-height:1.3}
  .detail-desktop-contact-status:empty{display:none}
  .detail-desktop-contact-status.is-success{color:#137c43}
  .detail-desktop-contact-status.is-error{color:#c92b35}

  .detail-desktop-agency-card{margin-top:12px;padding:15px}
  .detail-desktop-agency-card__main{display:flex;align-items:center;gap:12px;min-width:0}
  .detail-desktop-agency-card__main img{
    width:62px;height:52px;flex:0 0 62px;object-fit:contain;border:1px solid #e3e8ed;border-radius:8px;background:#fff;padding:4px
  }
  .detail-desktop-agency-card__main>div{min-width:0;display:grid;gap:5px}
  .detail-desktop-agency-card__main strong{font-size:13px;color:#34495b;line-height:1.25}
  .detail-desktop-agency-card__main a{display:inline-flex;align-items:center;gap:5px;color:#0879c9;text-decoration:none;font-size:12px;font-weight:750}
  .detail-desktop-agency-profile-link{
    display:block;margin-top:12px;padding-top:11px;border-top:1px solid #edf1f4;text-align:center;
    color:#0879c9;text-decoration:none;font-size:12px;font-weight:800
  }

  /* Sul desktop la scheda inserzionista è nella colonna destra sotto al form. */
  .detail-content>.detail-agency-profile-card{display:none!important}
}

@media (min-width:851px) and (max-width:1050px){
  .detail-layout{grid-template-columns:minmax(0,1fr) 280px!important;gap:16px!important}
  .detail-desktop-contact-card{padding:15px}
}

/* ===== Detail desktop v294: single sticky contact + compact scroll navbar ===== */
@media (min-width:851px){
  .detail-page-body .site-header{position:relative!important;height:58px!important}
  .detail-page-body .header-inner{height:58px!important;min-height:58px!important}
  .detail-page-body .brand img{width:154px!important;height:auto}

  .detail-desktop-shell{padding-top:6px!important}
  .detail-desktop-toolbar{min-height:36px!important;margin-bottom:6px!important}
  .detail-desktop-back,.detail-desktop-property-nav button,.detail-desktop-property-nav a,.detail-desktop-toolbar-action{padding:4px 3px!important;font-size:13px}
  .detail-desktop-toolbar__right{gap:10px!important}
  .detail-desktop-property-nav{gap:5px!important}
  .detail-desktop-property-position{font-size:13px!important}

  .detail-tabs{position:static!important}
  .detail-tabs a{padding:11px 0 9px!important}

  /* Un solo form desktop: quello accanto alla galleria diventa fisso durante lo scroll. */
  .detail-desktop-contact[data-detail-desktop-sticky-contact]{width:310px;z-index:80}
  .detail-desktop-contact[data-detail-desktop-sticky-contact].is-fixed{
    position:fixed!important;margin:0!important
  }
  .detail-desktop-contact[data-detail-desktop-sticky-contact].is-fixed .detail-desktop-contact-card,
  .detail-desktop-contact[data-detail-desktop-sticky-contact].is-fixed .detail-desktop-agency-card{box-shadow:0 7px 24px rgba(21,48,73,.12)}

  /* Mantiene la colonna destra libera mentre il form è fisso. */
  .detail-layout{grid-template-columns:minmax(0,1fr) 310px!important;gap:20px!important}
  .detail-content{grid-column:1}

  /* Nome identico agli altri campi. */
  .detail-desktop-contact-form label>input[name="name"]{
    width:100%!important;height:52px!important;padding:21px 14px 7px!important;
    border:1px solid #cfd7df!important;border-radius:9px!important;background:#fff!important;
    color:#283847!important;font:inherit!important;font-size:14px!important;box-sizing:border-box!important
  }

  /* Le immagini verticali devono stare completamente dentro il riquadro. */
  .detail-desktop-main img.is-portrait-photo,
  .detail-gallery-track .detail-photo img.is-portrait-photo{
    width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
    object-fit:contain!important;object-position:center center!important;background:#eef2f5!important;transform:none!important
  }
  .detail-desktop-main-wrap:hover .detail-desktop-main img.is-portrait-photo{transform:none!important}

  /* Mini navbar fissa stile portale: foto/prezzo a sinistra, sezioni al centro, share/salva a destra. */
  .detail-scroll-header{
    display:block!important;position:fixed;left:0;right:0;top:0;z-index:2100;background:#fff;
    transform:translateY(-110%);opacity:0;pointer-events:none;
    box-shadow:0 2px 10px rgba(20,40,60,.12);transition:transform .16s ease,opacity .16s ease
  }
  .detail-scroll-header.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}
  .detail-scroll-header__inner{height:58px;display:grid;grid-template-columns:250px minmax(0,1fr) 150px;align-items:center;gap:18px}
  .detail-scroll-header__summary{display:flex;align-items:center;gap:10px;min-width:0}
  .detail-scroll-header__summary img{width:46px;height:40px;object-fit:cover;border-radius:5px;border:1px solid #e0e5ea;flex:0 0 46px}
  .detail-scroll-header__summary>div{min-width:0;display:flex;flex-direction:column;line-height:1.2}
  .detail-scroll-header__summary strong{font-size:15px;color:#17283d;font-weight:900;white-space:nowrap}
  .detail-scroll-header__summary span{font-size:12px;color:#5b6774;white-space:nowrap}
  .detail-scroll-tabs{height:58px;display:flex;align-items:stretch;justify-content:center;gap:4px;overflow:visible;border:0}
  .detail-scroll-tabs a{height:58px;min-width:0;padding:0 13px;display:flex;align-items:center;justify-content:center;color:#3d4650;text-decoration:none;font-size:13px;font-weight:650;border-bottom:2px solid transparent;white-space:nowrap}
  .detail-scroll-tabs a.is-active{color:#0879c9;border-bottom-color:#0879c9}
  .detail-scroll-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}
  .detail-scroll-header__actions button{position:static!important;width:auto!important;height:40px!important;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;color:#0879c9!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:0 2px!important;font-size:13px!important;font-weight:800!important;cursor:pointer}
  .detail-scroll-header__actions svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .detail-scroll-header__actions .detail-favorite{color:#e22633!important}
  .detail-scroll-heart{font-size:24px;line-height:1;font-weight:500}
}

@media (min-width:851px) and (max-width:1100px){
  .detail-scroll-header__inner{grid-template-columns:205px minmax(0,1fr) 120px;gap:8px;padding-left:12px;padding-right:12px}
  .detail-scroll-tabs a{padding:0 8px;font-size:12px}
  .detail-scroll-header__summary img{width:40px;height:36px;flex-basis:40px}
  .detail-desktop-contact[data-detail-desktop-sticky-contact]{width:280px}
  .detail-layout{grid-template-columns:minmax(0,1fr) 280px!important;gap:16px!important}
}


/* ===== Detail nav visibility fix v295 ===== */
@media (max-width:850px){
  /* La mini navbar introdotta per desktop non deve mai comparire sul mobile. */
  .detail-scroll-header,
  .detail-scroll-header.is-visible{display:none!important;transform:none!important;opacity:0!important;pointer-events:none!important}
}
@media (min-width:851px){
  /* Il menu Panoramica/Descrizione/Caratteristiche/Mappa/Contatti originale resta solo mobile. */
  .detail-tabs{display:none!important}
  /* Ancora foto: evita che la navbar fissa copra l'inizio della galleria quando si usa il link Foto. */
  #foto{scroll-margin-top:66px}
}

/* ===== Detail v296: mobile originale ripristinato, navbar desktop separata ===== */
/* Le due mini-navbar sono indipendenti: nessuna regola desktop modifica il mobile. */
.detail-scroll-header--desktop{display:none}

@media (max-width:850px){
  /* Nasconde soltanto la navbar desktop nuova. */
  .detail-scroll-header--desktop,
  .detail-scroll-header--desktop.is-visible{display:none!important}

  /* Ripristino del comportamento/stile mobile originale. */
  .detail-scroll-header--mobile{
    display:block!important;
    position:fixed!important;left:0!important;right:0!important;top:0!important;z-index:2200!important;
    background:#fff!important;transform:translateY(-110%)!important;opacity:0!important;pointer-events:none!important;
    box-shadow:0 2px 10px rgba(20,40,60,.12)!important;
    transition:transform .18s ease,opacity .18s ease!important;
  }
  .detail-scroll-header--mobile.is-visible{
    display:block!important;transform:translateY(0)!important;opacity:1!important;pointer-events:auto!important
  }
  .detail-scroll-header--mobile .detail-scroll-header__top{
    height:54px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
    padding:6px 12px!important;border-bottom:1px solid #edf0f3!important
  }
  .detail-scroll-header--mobile .detail-scroll-header__summary{
    min-width:0!important;display:flex!important;flex-direction:column!important;gap:0!important;align-items:flex-start!important
  }
  .detail-scroll-header--mobile .detail-scroll-header__summary>img,
  .detail-scroll-header--mobile .detail-scroll-header__summary>div{display:none!important}
  .detail-scroll-header--mobile .detail-scroll-header__summary strong{
    font-size:14px!important;color:#17283d!important;font-weight:900!important;line-height:1.2!important
  }
  .detail-scroll-header--mobile .detail-scroll-header__summary span{
    max-width:230px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
    font-size:11px!important;color:#71808e!important;line-height:1.25!important
  }
  .detail-scroll-header--mobile .detail-scroll-header__actions{display:flex!important;gap:6px!important;align-items:center!important}
  .detail-scroll-header--mobile .detail-scroll-header__actions button{
    position:static!important;width:39px!important;height:39px!important;border:0!important;background:#fff!important;
    border-radius:50%!important;display:grid!important;place-items:center!important;color:#337ab7!important;padding:0!important
  }
  .detail-scroll-header--mobile .detail-scroll-header__actions svg{
    width:21px!important;height:21px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;
    stroke-linecap:round!important;stroke-linejoin:round!important
  }
  .detail-scroll-header--mobile .detail-scroll-header__actions .detail-favorite{
    color:#e56a20!important;font-size:26px!important
  }
  .detail-scroll-header--mobile .detail-scroll-tabs{
    height:46px!important;display:flex!important;overflow-x:auto!important;border-bottom:1px solid #e7ebef!important;
    scrollbar-width:none!important;justify-content:flex-start!important;gap:0!important
  }
  .detail-scroll-header--mobile .detail-scroll-tabs::-webkit-scrollbar{display:none!important}
  .detail-scroll-header--mobile .detail-scroll-tabs a{
    flex:0 0 auto!important;min-width:82px!important;height:46px!important;padding:0 11px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;color:#526273!important;
    text-decoration:none!important;font-size:11px!important;font-weight:800!important;border-bottom:3px solid transparent!important
  }
  .detail-scroll-header--mobile .detail-scroll-tabs a.is-active{color:#337ab7!important;border-bottom-color:#337ab7!important}

  /* Il menu rapido normale sotto le foto resta ESCLUSIVAMENTE mobile e mantiene lo sticky originale. */
  .detail-tabs{display:block!important;position:sticky!important;top:0!important;z-index:25!important}
  .detail-tabs .shell{display:flex!important;overflow-x:auto!important;gap:25px!important;white-space:nowrap!important;scrollbar-width:none}
  .detail-tabs .shell::-webkit-scrollbar{display:none}
  #foto-mobile{scroll-margin-top:104px}
}

@media (min-width:851px){
  .detail-scroll-header--mobile,
  .detail-scroll-header--mobile.is-visible{display:none!important}

  /* Navbar desktop nuova: visibile solo su desktop. */
  .detail-scroll-header--desktop{
    display:block!important;position:fixed!important;left:0!important;right:0!important;top:0!important;z-index:2100!important;
    background:#fff!important;transform:translateY(-110%)!important;opacity:0!important;pointer-events:none!important;
    box-shadow:0 2px 10px rgba(20,40,60,.12)!important;transition:transform .16s ease,opacity .16s ease!important
  }
  .detail-scroll-header--desktop.is-visible{transform:translateY(0)!important;opacity:1!important;pointer-events:auto!important}
  .detail-scroll-header--desktop .detail-scroll-header__inner{height:58px;display:grid;grid-template-columns:250px minmax(0,1fr) 150px;align-items:center;gap:18px}
  .detail-scroll-header--desktop .detail-scroll-header__summary{display:flex;align-items:center;gap:10px;min-width:0}
  .detail-scroll-header--desktop .detail-scroll-header__summary img{width:46px;height:40px;object-fit:cover;border-radius:5px;border:1px solid #e0e5ea;flex:0 0 46px}
  .detail-scroll-header--desktop .detail-scroll-header__summary>div{min-width:0;display:flex;flex-direction:column;line-height:1.2}
  .detail-scroll-header--desktop .detail-scroll-header__summary strong{font-size:15px;color:#17283d;font-weight:900;white-space:nowrap}
  .detail-scroll-header--desktop .detail-scroll-header__summary span{font-size:12px;color:#5b6774;white-space:nowrap}
  .detail-scroll-header--desktop .detail-scroll-tabs{height:58px;display:flex;align-items:stretch;justify-content:center;gap:4px;overflow:visible;border:0}
  .detail-scroll-header--desktop .detail-scroll-tabs a{height:58px;min-width:0;padding:0 13px;display:flex;align-items:center;justify-content:center;color:#3d4650;text-decoration:none;font-size:13px;font-weight:650;border-bottom:2px solid transparent;white-space:nowrap}
  .detail-scroll-header--desktop .detail-scroll-tabs a.is-active{color:#0879c9;border-bottom-color:#0879c9}
  .detail-scroll-header--desktop .detail-scroll-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}
  .detail-scroll-header--desktop .detail-scroll-header__actions button{position:static!important;width:auto!important;height:40px!important;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;color:#0879c9!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:0 2px!important;font-size:13px!important;font-weight:800!important;cursor:pointer}
  .detail-scroll-header--desktop .detail-scroll-header__actions svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .detail-scroll-header--desktop .detail-scroll-header__actions .detail-favorite{color:#e22633!important}

  /* Il vecchio menu rapido non deve mai comparire su PC. */
  .detail-tabs{display:none!important}
  #foto{scroll-margin-top:66px}
}

@media (min-width:851px) and (max-width:1100px){
  .detail-scroll-header--desktop .detail-scroll-header__inner{grid-template-columns:205px minmax(0,1fr) 120px;gap:8px;padding-left:12px;padding-right:12px}
  .detail-scroll-header--desktop .detail-scroll-tabs a{padding:0 8px;font-size:12px}
  .detail-scroll-header--desktop .detail-scroll-header__summary img{width:40px;height:36px;flex-basis:40px}
}

/* ===== Detail v297: mobile scroll + desktop media strip ===== */
@media (max-width:850px){
  /* La galleria permette sempre il pan verticale della pagina. Lo swipe foto resta orizzontale via JS. */
  .detail-gallery-track,
  .detail-gallery-track .detail-photo,
  .detail-gallery-track .detail-photo img{
    touch-action:pan-y pinch-zoom!important;
  }
  .detail-gallery-track{overscroll-behavior-x:contain!important;overscroll-behavior-y:auto!important}

  /* Quando la mini scheda è visibile, il menu rapido sotto le foto si ferma subito sotto di lei. */
  .detail-scroll-header--mobile.is-visible ~ .detail-tabs{top:100px!important}
}

@media (min-width:851px){
  /* Foto + panoramica diventano un blocco visivamente continuo. */
  .detail-desktop-shell{padding-bottom:0!important;margin-bottom:0!important}
  .detail-layout{padding-top:10px!important}

  .detail-desktop-media-actions{
    width:calc(100% - 330px);display:flex;gap:12px;align-items:stretch;
    margin-top:12px;padding:0 0 2px;
  }
  .detail-desktop-media-actions button,
  .detail-desktop-media-actions a{
    min-width:126px;height:66px;padding:8px 16px;border:1px solid #d7e1e9;border-radius:10px;
    background:#fff;color:#0879c9;text-decoration:none;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:5px;font:inherit;font-size:13px;font-weight:800;
    box-shadow:0 2px 8px rgba(20,49,73,.06);cursor:pointer;
  }
  .detail-desktop-media-actions button:hover,
  .detail-desktop-media-actions a:hover{background:#f8fbfd;border-color:#b8d5e8}
  .detail-desktop-media-actions svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .detail-desktop-media-actions [hidden]{display:none!important}
}
@media (min-width:851px) and (max-width:1100px){
  .detail-desktop-media-actions{width:calc(100% - 296px)}
  .detail-desktop-media-actions button,.detail-desktop-media-actions a{min-width:108px;height:62px;padding:7px 12px}
}

/* ===== Detail v297b: panorama attaccata alla galleria desktop ===== */
@media (min-width:851px){
  .detail-desktop-top{position:relative!important}
  .detail-desktop-top>.detail-desktop-contact{
    position:absolute!important;right:0!important;top:0!important;width:310px!important
  }
  .detail-desktop-top>.detail-desktop-contact.is-fixed{position:fixed!important;right:auto!important}
  .detail-desktop-gallery{width:calc(100% - 330px)!important}
  .detail-desktop-media-actions{width:calc(100% - 330px)!important}
}
@media (min-width:851px) and (max-width:1100px){
  .detail-desktop-top>.detail-desktop-contact{width:280px!important}
  .detail-desktop-gallery,.detail-desktop-media-actions{width:calc(100% - 296px)!important}
}

/* ===== Detail v298: desktop gallery width + fullscreen media browser ===== */
@media (min-width:851px){
  /* v297b riduceva due volte la galleria: la colonna destra e' gia gestita dalla grid. */
  .detail-desktop-gallery{width:100%!important}
  .detail-desktop-top{grid-template-columns:minmax(0,1fr) 310px!important}
  .detail-desktop-top>.detail-desktop-contact{width:310px!important}
  .detail-desktop-media-actions{width:calc(100% - 330px)!important}

  .detail-lightbox{
    padding:0!important;
    display:none;
    align-items:stretch!important;
    justify-content:stretch!important;
    flex-direction:column;
    background:#000!important;
  }
  .detail-lightbox.is-open{display:flex!important}
  .detail-lightbox-desktop-chrome{display:block;flex:0 0 auto;background:#fff;color:#263746;z-index:12;box-shadow:0 1px 0 rgba(20,45,64,.15)}
  .detail-lightbox-topbar{height:58px;display:flex;align-items:center;border-bottom:1px solid #dfe5ea;padding:0 18px;gap:18px}
  .detail-lightbox-back{border:0;background:transparent;color:#0879c9;display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:14px;font-weight:800;cursor:pointer;padding:7px 4px}
  .detail-lightbox-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .detail-lightbox-summary{display:flex;align-items:center;gap:10px;min-width:0}
  .detail-lightbox-summary img{width:42px!important;height:42px!important;max-width:none!important;max-height:none!important;object-fit:cover!important;border-radius:5px;flex:0 0 42px}
  .detail-lightbox-summary>div{display:flex;flex-direction:column;line-height:1.15;min-width:0}
  .detail-lightbox-summary strong{font-size:16px;color:#34414d;white-space:nowrap}
  .detail-lightbox-summary span{margin-top:3px;font-size:13px;color:#4a5967;white-space:nowrap}

  .detail-lightbox-media-nav{height:48px;display:flex;align-items:stretch;gap:26px;padding:0 30px;border-bottom:1px solid #dfe5ea;background:#fff}
  .detail-lightbox-media-nav button,.detail-lightbox-media-nav a{border:0;background:transparent;color:#3b4650;text-decoration:none;display:inline-flex;align-items:center;gap:8px;padding:0 2px;font:inherit;font-size:14px;cursor:pointer;border-bottom:2px solid transparent}
  .detail-lightbox-media-nav button.is-active{color:#0879c9;border-bottom-color:#0879c9}
  .detail-lightbox-media-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .detail-lightbox-media-nav [hidden]{display:none!important}

  .detail-lightbox-thumbs{height:104px;display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;padding:8px 10px 7px;background:#000;scrollbar-width:thin;scroll-behavior:smooth;flex:0 0 104px}
  .detail-lightbox-thumb{position:relative;flex:0 0 118px;height:82px;border:2px solid transparent;border-radius:8px;padding:0;overflow:hidden;background:#1e252b;cursor:pointer;opacity:.78}
  .detail-lightbox-thumb.is-active{border-color:#fff;opacity:1}
  .detail-lightbox-thumb img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;display:block}
  .detail-lightbox-thumb span{position:absolute;left:5px;right:5px;bottom:5px;color:#fff;background:rgba(0,0,0,.58);font-size:11px;font-weight:800;line-height:1.1;padding:3px 5px;border-radius:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .detail-lightbox-thumb span[hidden]{display:none!important}

  .detail-lightbox-stage{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#000;padding:18px 88px 22px}
  .detail-lightbox-stage>img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;user-select:none}
  .detail-lightbox-close{display:none!important}
  .detail-lightbox-arrow{top:calc(58px + 48px + 104px + (100vh - 210px)/2)!important;z-index:13}
  .detail-lightbox-arrow--left{left:22px!important}.detail-lightbox-arrow--right{right:22px!important}
  .detail-lightbox-count{z-index:14;left:18px!important;bottom:18px!important}
  .detail-lightbox-caption{z-index:14;top:auto!important;bottom:18px!important;left:50%!important;transform:translateX(-50%)!important;background:rgba(0,0,0,.72)!important;padding:7px 13px!important}
}
@media (min-width:851px) and (max-width:1100px){
  .detail-desktop-top{grid-template-columns:minmax(0,1fr) 280px!important}
  .detail-desktop-top>.detail-desktop-contact{width:280px!important}
  .detail-desktop-media-actions{width:calc(100% - 296px)!important}
}
@media (max-width:850px){
  .detail-lightbox-desktop-chrome{display:none!important}
  .detail-lightbox-stage{display:contents}
}

/* ===== Detail v299: fullscreen desktop + media mobile + sticky mobile pulito ===== */
/* Le schede multimediali aggiunte sotto la galleria sono esclusivamente mobile. */
.detail-mobile-media-actions{display:none}

@media (max-width:850px){
  /* La mini scheda fissa contiene solo prezzo/dati + condividi/salva: niente menu duplicato. */
  .detail-scroll-header--mobile .detail-scroll-tabs{display:none!important}
  .detail-scroll-header--mobile{height:54px!important}

  /* Il menu rapido vero resta quello fisicamente sotto le foto e diventa sticky solo quando lo si raggiunge. */
  .detail-tabs{display:block!important;position:sticky!important;top:0!important;z-index:2190!important}
  .detail-scroll-header--mobile.is-visible ~ .detail-tabs{top:54px!important}

  .detail-mobile-media-actions{
    display:flex!important;gap:10px;overflow-x:auto;scrollbar-width:none;
    padding:10px 14px 8px;background:#f5f7fa;
  }
  .detail-mobile-media-actions::-webkit-scrollbar{display:none}
  .detail-mobile-media-actions button,
  .detail-mobile-media-actions a{
    flex:0 0 auto;min-width:116px;height:62px;padding:7px 13px;border:1px solid #d7e1e9;border-radius:10px;
    background:#fff;color:#0879c9;text-decoration:none;display:flex;flex-direction:column;align-items:center;
    justify-content:center;gap:4px;font:inherit;font-size:12px;font-weight:800;box-shadow:0 2px 7px rgba(20,49,73,.05)
  }
  .detail-mobile-media-actions svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .detail-mobile-media-actions [hidden]{display:none!important}

  /* Il menu sotto le foto resta realmente sotto foto + schede media, non compare in anticipo. */
  #foto-mobile{scroll-margin-top:108px}
}

@media (min-width:851px){
  /* In fullscreen la navbar principale e le mini-navbar della pagina non devono mai restare sopra al viewer. */
  html.detail-lightbox-open .detail-page-body .site-header,
  html.detail-lightbox-open .detail-scroll-header--desktop,
  html.detail-lightbox-open .detail-scroll-header--mobile{display:none!important}

  .detail-lightbox{z-index:99999!important}
  .detail-lightbox-topbar{justify-content:flex-start}
  .detail-lightbox-summary{margin-right:auto}
  .detail-lightbox-actions{display:flex;align-items:center;gap:14px;margin-left:auto}
  .detail-lightbox-actions button{
    border:0;background:transparent;color:#0879c9;display:inline-flex;align-items:center;justify-content:center;
    gap:6px;height:42px;padding:0 4px;font:inherit;font-size:14px;font-weight:800;cursor:pointer
  }
  .detail-lightbox-actions svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .detail-lightbox-actions .detail-lightbox-favorite{color:#e22633!important;position:static!important;width:auto!important;box-shadow:none!important;border-radius:0!important}
  .detail-lightbox-heart{font-size:25px;line-height:1;font-weight:500}

  /* Le miniature sono sotto la foto grande, come nel riferimento. */
  .detail-lightbox-thumbs{
    order:10;height:104px!important;flex:0 0 104px!important;border-top:1px solid #17202a;
    padding:9px 10px 8px!important;background:#000!important
  }
  .detail-lightbox-stage{order:5;padding:18px 88px 14px!important}
  .detail-lightbox-arrow{top:50%!important;margin-top:-26px!important}
  .detail-lightbox-count{bottom:122px!important}
  .detail-lightbox-caption{bottom:122px!important}
}

/* ===== Detail v300: mobile tabs + desktop sticky contact ===== */
/* Le schede Foto/Planimetria/Video/360 sotto la galleria sono SOLO desktop. */
.detail-mobile-media-actions{display:none!important}

@media (max-width:850px){
  /* Il menu Foto/Panoramica/... esiste una sola volta, sotto la galleria.
     Quando lo raggiungiamo durante lo scroll si blocca esattamente sotto
     la mini-navbar mobile da 54px. */
  .detail-tabs{
    display:block!important;
    position:sticky!important;
    top:54px!important;
    z-index:2190!important;
    margin-top:0!important;
  }
  .detail-tabs .shell{
    display:flex!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
    scrollbar-width:none!important;
  }
  .detail-tabs .shell::-webkit-scrollbar{display:none!important}

  /* La mini-navbar fissa contiene solo riepilogo + condividi/salva. */
  .detail-scroll-header--mobile .detail-scroll-tabs{display:none!important}
  .detail-scroll-header--mobile{height:54px!important}
}

@media (min-width:851px){
  /* Piccolo margine di sicurezza quando il form passa in fixed sotto la
     mini-navbar desktop. La quota finale viene impostata anche via JS. */
  .detail-desktop-top>.detail-desktop-contact.is-fixed{
    z-index:90!important;
  }
}


/* ===== Detail v301: media mobile, fullscreen mobile pulito, swipe desktop ===== */
@media (max-width:850px){
  /* Le schede Foto / Planimetria / Video / 360 restano visibili SOLO nella pagina mobile. */
  .detail-mobile-media-actions{
    display:flex!important;
    gap:10px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
    padding:10px 14px 8px!important;
    background:#f5f7fa!important;
  }
  .detail-mobile-media-actions::-webkit-scrollbar{display:none!important}
  .detail-mobile-media-actions button,
  .detail-mobile-media-actions a{
    flex:0 0 auto!important;
    min-width:116px!important;
    height:62px!important;
    padding:7px 13px!important;
    border:1px solid #d7e1e9!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#0879c9!important;
    text-decoration:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    font:inherit!important;
    font-size:12px!important;
    font-weight:800!important;
    box-shadow:0 2px 7px rgba(20,49,73,.05)!important;
  }
  .detail-mobile-media-actions svg{
    width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;
    stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important;
  }
  .detail-mobile-media-actions [hidden]{display:none!important}

  /* Nel fullscreen mobile NON mostrare le miniature desktop:
     sul telefono deve esserci una sola foto grande per volta. */
  .detail-lightbox-thumbs{display:none!important}
  .detail-lightbox{
    padding:54px 0 58px!important;
    overflow:hidden!important;
  }
  .detail-lightbox-stage{
    display:flex!important;
    position:absolute!important;
    inset:54px 0 58px!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:0!important;
    padding:0!important;
    background:#000!important;
  }
  .detail-lightbox-stage>img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
  }
  .detail-lightbox-count{bottom:14px!important;left:16px!important}
  .detail-lightbox-caption{
    top:auto!important;bottom:14px!important;left:50%!important;transform:translateX(-50%)!important;
    max-width:60%!important;
  }
  .detail-lightbox-arrow{top:50%!important;margin-top:-21px!important}
}

@media (min-width:851px){
  /* Le schede mobile non devono comparire sul desktop. */
  .detail-mobile-media-actions{display:none!important}

  /* Contatore sempre visibile in basso a destra sulla foto principale desktop. */
  .detail-desktop-photo-count{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    left:auto!important;
    right:14px!important;
    bottom:14px!important;
    z-index:12!important;
    pointer-events:none!important;
  }

  /* La foto principale desktop accetta trascinamento orizzontale come lo swipe mobile. */
  .detail-desktop-main-wrap{touch-action:pan-y!important;user-select:none!important}
  .detail-desktop-main{cursor:grab!important}
  .detail-desktop-main.is-dragging{cursor:grabbing!important}
}

/* ===== Detail v302: posizione media mobile + fullscreen mobile isolato ===== */
/* Le miniature del visualizzatore sono una funzione desktop: di default restano nascoste. */
.detail-lightbox-thumbs{display:none!important}

@media (min-width:851px){
  .detail-lightbox-thumbs{display:flex!important}
}

@media (max-width:850px){
  /* Schede Foto / Planimetria / Video / 360 subito dopo il menu rapido
     e prima della scheda Panoramica/prezzo. */
  .detail-mobile-media-actions{
    display:flex!important;
    position:relative!important;
    z-index:2!important;
    margin:0!important;
    padding:10px 14px 9px!important;
    gap:10px!important;
    background:#f5f7fa!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    scrollbar-width:none!important;
  }
  .detail-mobile-media-actions::-webkit-scrollbar{display:none!important}
  .detail-mobile-media-actions button,
  .detail-mobile-media-actions a{
    display:flex!important;
    flex:0 0 116px!important;
    height:62px!important;
  }

  /* Fullscreen mobile: un solo stage, una sola immagine, nessuna miniatura desktop. */
  .detail-lightbox.is-open{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    padding:0!important;
    overflow:hidden!important;
    background:#000!important;
  }
  .detail-lightbox-desktop-chrome,
  .detail-lightbox-thumbs{display:none!important}
  .detail-lightbox-stage{
    display:flex!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:50px 0 56px!important;
    margin:0!important;
    overflow:hidden!important;
    align-items:center!important;
    justify-content:center!important;
    background:#000!important;
  }
  .detail-lightbox-stage>img{
    display:block!important;
    position:relative!important;
    width:auto!important;
    height:auto!important;
    max-width:100vw!important;
    max-height:calc(100dvh - 106px)!important;
    margin:auto!important;
    object-fit:contain!important;
    cursor:default!important;
  }
  .detail-lightbox-close{
    display:grid!important;
    position:absolute!important;
    left:8px!important;
    top:8px!important;
    right:auto!important;
    z-index:30!important;
    width:42px!important;
    height:42px!important;
    color:#fff!important;
    background:rgba(0,0,0,.25)!important;
    border-radius:50%!important;
  }
  .detail-lightbox-arrow{
    display:grid!important;
    position:absolute!important;
    top:50%!important;
    margin-top:-21px!important;
    z-index:30!important;
  }
  .detail-lightbox-arrow--left{left:8px!important}
  .detail-lightbox-arrow--right{right:8px!important}
  .detail-lightbox-count{
    position:absolute!important;
    left:12px!important;
    right:auto!important;
    bottom:12px!important;
    top:auto!important;
    transform:none!important;
    z-index:31!important;
  }
  .detail-lightbox-caption{
    position:absolute!important;
    left:50%!important;
    top:12px!important;
    bottom:auto!important;
    transform:translateX(-50%)!important;
    max-width:64%!important;
    z-index:31!important;
    color:#fff!important;
    background:rgba(0,0,0,.28)!important;
    border-radius:8px!important;
    padding:6px 10px!important;
  }
}


/* ===== Detail v303: fullscreen mobile thumbs + desktop counter hardening ===== */
@media (max-width:850px){
  /* Nel riquadro foto normale mobile non mostrare il nome della stanza in basso a sinistra. */
  .detail-hero .detail-photo-label{display:none!important}

  /* Fullscreen mobile: mini-gallery orizzontale in basso, senza invadere la foto grande. */
  .detail-lightbox.is-open .detail-lightbox-thumbs{
    display:flex!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:35!important;
    height:112px!important;
    padding:10px 12px 12px!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    background:linear-gradient(to top,rgba(0,0,0,.96),rgba(0,0,0,.82))!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
    box-sizing:border-box!important;
  }
  .detail-lightbox.is-open .detail-lightbox-thumbs::-webkit-scrollbar{display:none!important}
  .detail-lightbox.is-open .detail-lightbox-thumb{
    display:block!important;
    position:relative!important;
    flex:0 0 96px!important;
    width:96px!important;
    height:82px!important;
    min-width:96px!important;
    padding:0!important;
    border:2px solid transparent!important;
    border-radius:8px!important;
    overflow:hidden!important;
    background:#15191f!important;
    scroll-snap-align:center!important;
  }
  .detail-lightbox.is-open .detail-lightbox-thumb.is-active{border-color:#fff!important}
  .detail-lightbox.is-open .detail-lightbox-thumb img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
  }
  .detail-lightbox.is-open .detail-lightbox-thumb span:not([hidden]){
    display:block!important;
    position:absolute!important;
    left:4px!important;
    right:4px!important;
    bottom:4px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    padding:2px 4px!important;
    border-radius:4px!important;
    color:#fff!important;
    background:rgba(0,0,0,.58)!important;
    font-size:10px!important;
    font-weight:800!important;
    line-height:1.2!important;
    text-align:center!important;
  }

  /* Lascia lo spazio alle miniature sotto, così la foto grande resta ben visibile. */
  .detail-lightbox.is-open .detail-lightbox-stage{
    padding:50px 0 124px!important;
  }
  .detail-lightbox.is-open .detail-lightbox-stage>img{
    max-height:calc(100dvh - 174px)!important;
  }
  .detail-lightbox.is-open .detail-lightbox-count{
    bottom:124px!important;
    left:14px!important;
  }

  /* X sempre sopra a tutto e cliccabile. */
  .detail-lightbox.is-open .detail-lightbox-close{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    z-index:50!important;
  }
}

@media (min-width:851px){
  /* Il contatore della foto principale deve essere sempre interno al riquadro. */
  .detail-desktop-main-wrap .detail-desktop-photo-count{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:absolute!important;
    left:auto!important;
    right:12px!important;
    top:auto!important;
    bottom:12px!important;
    z-index:20!important;
    transform:none!important;
    margin:0!important;
    pointer-events:none!important;
    white-space:nowrap!important;
  }
}


/* ===== Detail v304: contatore desktop + media incorporati ===== */
@media (min-width:851px){
  .detail-desktop-gallery{position:relative!important}
  .detail-desktop-main-wrap{
    position:relative!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }
  .detail-desktop-main-wrap .detail-desktop-photo-count{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:absolute!important;
    right:14px!important;
    bottom:14px!important;
    left:auto!important;
    top:auto!important;
    z-index:999!important;
    min-width:48px!important;
    padding:6px 9px!important;
    border-radius:8px!important;
    background:rgba(18,31,43,.82)!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1.1!important;
    text-align:center!important;
    pointer-events:none!important;
  }

  .detail-embedded-media--desktop{
    position:absolute!important;
    inset:0!important;
    z-index:50!important;
    background:#000!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }
  .detail-embedded-media--desktop[hidden]{display:none!important}
  .detail-embedded-media--desktop iframe{
    display:block!important;
    width:100%!important;
    height:100%!important;
    border:0!important;
    background:#000!important;
  }
}

.detail-embedded-media--lightbox{
  position:absolute!important;
  z-index:24!important;
  background:#000!important;
}
.detail-embedded-media--lightbox[hidden]{display:none!important}
.detail-embedded-media--lightbox iframe{
  display:block!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  background:#000!important;
}

@media (min-width:851px){
  .detail-embedded-media--lightbox{
    left:0!important;
    right:0!important;
    top:104px!important;
    bottom:122px!important;
  }
  .detail-lightbox.is-media-mode .detail-lightbox-stage,
  .detail-lightbox.is-media-mode .detail-lightbox-thumbs,
  .detail-lightbox.is-media-mode .detail-lightbox-arrow,
  .detail-lightbox.is-media-mode .detail-lightbox-count,
  .detail-lightbox.is-media-mode .detail-lightbox-caption{
    display:none!important;
  }
}

@media (max-width:850px){
  .detail-embedded-media--lightbox{
    inset:50px 0 0!important;
  }
  .detail-lightbox.is-media-mode .detail-lightbox-stage,
  .detail-lightbox.is-media-mode .detail-lightbox-thumbs,
  .detail-lightbox.is-media-mode .detail-lightbox-arrow,
  .detail-lightbox.is-media-mode .detail-lightbox-count,
  .detail-lightbox.is-media-mode .detail-lightbox-caption{
    display:none!important;
  }
}

/* ===== Detail v305: foto desktop centrate e contatore sempre interno ===== */
@media (min-width:851px){
  .detail-desktop-main-wrap{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:#e7edf3!important;
  }
  .detail-desktop-main{
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:#e7edf3!important;
  }
  .detail-desktop-main img,
  .detail-desktop-main img.is-portrait-photo{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    margin:auto!important;
    transform:none!important;
  }
  .detail-desktop-main:hover img,
  .detail-desktop-main-wrap:hover .detail-desktop-main img,
  .detail-desktop-main-wrap:hover .detail-desktop-main img.is-portrait-photo{
    transform:none!important;
  }
  .detail-desktop-main-wrap .detail-desktop-photo-count{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:absolute!important;
    right:12px!important;
    bottom:12px!important;
    left:auto!important;
    top:auto!important;
    z-index:1000!important;
    visibility:visible!important;
    opacity:1!important;
    min-width:50px!important;
    min-height:30px!important;
    padding:6px 10px!important;
    margin:0!important;
    border-radius:8px!important;
    background:rgba(20,32,44,.86)!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
    white-space:nowrap!important;
    pointer-events:none!important;
  }
}


/* ===== Detail v306: geometria stabile galleria desktop =====
   - le foto orizzontali riempiono il riquadro e restano centrate
   - solo le vere foto verticali usano contain
   - il contatore vive sempre DENTRO il riquadro principale
*/
@media (min-width:851px){
  .detail-desktop-gallery{
    align-items:stretch!important;
  }

  .detail-desktop-main-wrap{
    position:relative!important;
    display:block!important;
    min-width:0!important;
    min-height:0!important;
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    background:#e7edf3!important;
    isolation:isolate!important;
  }

  .detail-desktop-main{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    display:block!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    border:0!important;
    background:#e7edf3!important;
  }

  /* Foto normali/orizzontali: niente bande vuote, immagine centrata. */
  .detail-desktop-main img{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
  }

  /* Solo le foto realmente verticali restano intere. */
  .detail-desktop-main img.is-portrait-photo{
    object-fit:contain!important;
    object-position:center center!important;
    background:#18232d!important;
  }

  .detail-desktop-main:hover img,
  .detail-desktop-main-wrap:hover .detail-desktop-main img,
  .detail-desktop-main-wrap:hover .detail-desktop-main img.is-portrait-photo{
    transform:none!important;
  }

  /* Il contatore non dipende più dall'immagine/button e non può finire sotto. */
  .detail-desktop-main-wrap > .detail-desktop-photo-count{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:absolute!important;
    right:12px!important;
    bottom:12px!important;
    left:auto!important;
    top:auto!important;
    z-index:2147483000!important;
    visibility:visible!important;
    opacity:1!important;
    width:auto!important;
    height:auto!important;
    min-width:50px!important;
    min-height:30px!important;
    padding:6px 10px!important;
    margin:0!important;
    border-radius:8px!important;
    background:rgba(20,32,44,.88)!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
    white-space:nowrap!important;
    pointer-events:none!important;
    transform:none!important;
  }

  .detail-desktop-main-arrow{
    z-index:2147482000!important;
  }
}

/* ===== Detail desktop gallery v307: fix definitivo altezza/centratura ===== */
@media (min-width:851px){

  /* Il riquadro galleria deve avere un'unica altezza reale. */
  .detail-desktop-gallery{
    height:430px!important;
    min-height:430px!important;
    max-height:430px!important;
    align-items:stretch!important;
    overflow:hidden!important;
  }

  /* Entrambe le colonne devono restare dentro i 430px della galleria. */
  .detail-desktop-main-wrap,
  .detail-desktop-thumbs{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow:hidden!important;
    align-self:stretch!important;
  }

  /* La foto principale non parte più "sotto":
     il button occupa ESATTAMENTE tutto il riquadro principale. */
  .detail-desktop-main-wrap{
    position:relative!important;
    display:block!important;
    background:#e6edf3!important;
  }

  .detail-desktop-main{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    display:block!important;
    overflow:hidden!important;
    background:#e6edf3!important;
  }

  .detail-desktop-main img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    object-fit:cover!important;
    object-position:50% 50%!important;
    transform:none!important;
  }

  .detail-desktop-main-wrap:hover .detail-desktop-main img{
    transform:none!important;
  }

  /* Anche le tre miniature laterali devono restare interamente dentro la galleria. */
  .detail-desktop-thumbs{
    display:grid!important;
    grid-template-rows:repeat(3,minmax(0,1fr))!important;
    gap:3px!important;
  }

  .detail-desktop-thumbs > button,
  .detail-desktop-thumbs > .detail-desktop-thumb-placeholder{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
  }

  .detail-desktop-thumbs > button > img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center!important;
    display:block!important;
    transform:none!important;
  }

  .detail-desktop-thumbs > button:hover > img{
    transform:none!important;
  }

  /* Il contatore appartiene al wrapper principale:
     non può più finire sotto l'immagine o fuori dal carosello. */
  .detail-desktop-main-wrap .detail-desktop-photo-count{
    position:absolute!important;
    right:12px!important;
    bottom:12px!important;
    left:auto!important;
    top:auto!important;
    z-index:9999!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    visibility:visible!important;
    opacity:1!important;
    width:auto!important;
    min-width:48px!important;
    height:auto!important;
    min-height:30px!important;
    margin:0!important;
    padding:6px 9px!important;
    background:rgba(18,31,44,.86)!important;
    color:#fff!important;
    border-radius:7px!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
    white-space:nowrap!important;
    pointer-events:none!important;
    transform:none!important;
  }

  .detail-desktop-main-arrow{
    z-index:9998!important;
  }
}

@media (min-width:851px) and (max-width:1050px){
  .detail-desktop-gallery{
    height:380px!important;
    min-height:380px!important;
    max-height:380px!important;
  }
}


/* ===== Detail desktop toolbar + sticky contact stability v312 ===== */
@media (min-width:851px){
  /* La toolbar replica esattamente le due colonne galleria/form:
     precedente/successivo resta nella colonna foto e si ferma al suo bordo. */
  .detail-desktop-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 310px!important;
    gap:20px!important;
    align-items:center!important;
  }
  .detail-desktop-toolbar__gallery{
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
  }
  .detail-desktop-toolbar__gallery .detail-desktop-property-nav{
    margin-left:auto!important;
    margin-right:0!important;
    justify-content:flex-end!important;
  }
  .detail-desktop-toolbar__right{
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:15px!important;
  }

  /* Quando il form diventa fixed il placeholder non deve partecipare
     all'altezza della grid: così la colonna sinistra non "salta" verso il basso. */
  .detail-desktop-top{position:relative!important}
  .detail-desktop-contact-placeholder{
    position:absolute!important;
    top:0!important;
    right:0!important;
    width:310px!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    pointer-events:none!important;
    visibility:hidden!important;
  }
}

@media (min-width:851px) and (max-width:1100px){
  .detail-desktop-toolbar{
    grid-template-columns:minmax(0,1fr) 280px!important;
    gap:16px!important;
  }
  .detail-desktop-contact-placeholder{width:280px!important}
}

/* ===== Detail v313: immobili simili full width + mini navbar ripristinata ===== */
@media (min-width:851px){
  /* La sezione immobili simili usa anche lo spazio della colonna del form. */
  .detail-content > .detail-similar-section{
    width:calc(100% + 330px)!important;
    max-width:none!important;
    margin-right:-330px!important;
  }

  /* La mini navbar desktop compare non appena la navbar con il logo esce dallo schermo. */
  .detail-scroll-header--desktop{
    display:block!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:2100!important;
  }
}

@media (min-width:851px) and (max-width:1100px){
  .detail-content > .detail-similar-section{
    width:calc(100% + 296px)!important;
    margin-right:-296px!important;
  }
}

@media (max-width:850px){
  /* Mobile: mini navbar compatta subito dopo la scomparsa dell'header principale. */
  .detail-scroll-header--mobile{
    display:block!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:2200!important;
  }
  .detail-scroll-header--mobile:not(.is-visible){
    transform:translateY(-110%)!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  .detail-scroll-header--mobile.is-visible{
    transform:translateY(0)!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  /* Il menu Foto/Panoramica/... resta sotto le foto e diventa sticky sotto la mini navbar. */
  .detail-tabs{
    top:54px!important;
  }
}

/* ===== Detail v314: menu sezioni mobile scorrevole + stato attivo ===== */
@media (max-width:850px){
  .detail-tabs{
    position:sticky!important;
    top:0!important;
    z-index:2190!important;
    overflow:visible!important;
    background:#fff!important;
  }
  .detail-tabs.is-under-mini-header{top:54px!important}
  .detail-tabs .shell{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-behavior:smooth!important;
    scrollbar-width:none!important;
    padding:7px 44px 7px!important;
  }
  .detail-tabs .shell::-webkit-scrollbar{display:none!important}
  .detail-tabs a,
  .detail-tabs a:first-child{
    flex:0 0 auto!important;
    padding:8px 11px!important;
    border:1px solid transparent!important;
    border-radius:999px!important;
    color:#5f6f7e!important;
    background:transparent!important;
    font-weight:800!important;
    line-height:1.1!important;
    transition:background .18s ease,color .18s ease,border-color .18s ease!important;
  }
  .detail-tabs a.is-active,
  .detail-tabs a:first-child.is-active{
    color:#0879c9!important;
    background:#edf7ff!important;
    border-color:#9fd4f5!important;
    box-shadow:0 1px 2px rgba(8,121,201,.06)!important;
  }
  .detail-tabs__scroll-arrow{
    position:absolute!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:4!important;
    width:34px!important;
    height:34px!important;
    border:1px solid #d8e4ed!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.97)!important;
    color:#0879c9!important;
    box-shadow:0 3px 10px rgba(19,48,74,.12)!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    font-size:22px!important;
    line-height:1!important;
    cursor:pointer!important;
  }
  .detail-tabs__scroll-arrow--prev{left:5px!important}
  .detail-tabs__scroll-arrow--next{right:5px!important}
  .detail-tabs__scroll-arrow[hidden]{display:none!important}
}

@media (min-width:851px){
  .detail-tabs__scroll-arrow{display:none!important}
  .detail-scroll-header--desktop .detail-scroll-tabs a{
    margin:7px 2px!important;
    height:44px!important;
    padding:0 13px!important;
    border:1px solid transparent!important;
    border-radius:999px!important;
    transition:background .18s ease,color .18s ease,border-color .18s ease!important;
  }
  .detail-scroll-header--desktop .detail-scroll-tabs a.is-active{
    color:#0879c9!important;
    background:#edf7ff!important;
    border-color:#9fd4f5!important;
    border-bottom-color:#9fd4f5!important;
  }
}

/* ===== Detail v315: menu sezioni mobile stabile e frecce discrete ===== */
@media (max-width:850px){
  .detail-tabs{
    position:sticky!important;
    top:0!important;
    z-index:2190!important;
    overflow:visible!important;
    background:#fff!important;
    box-shadow:0 1px 0 rgba(20,48,71,.06)!important;
  }
  .detail-tabs.is-under-mini-header{
    top:54px!important;
  }
  .detail-tabs .shell{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    scroll-behavior:smooth!important;
    scrollbar-width:none!important;
    padding:7px 28px 7px 8px!important;
  }
  .detail-tabs a,
  .detail-tabs a:first-child{
    margin:0!important;
    flex:0 0 auto!important;
  }
  .detail-tabs a:first-child{
    margin-left:0!important;
  }

  /* Frecce molto più leggere: solo un piccolo chevron su sfumatura. */
  .detail-tabs__scroll-arrow{
    top:0!important;
    bottom:0!important;
    transform:none!important;
    width:26px!important;
    height:auto!important;
    min-height:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    color:#0879c9!important;
    font-size:20px!important;
    font-weight:500!important;
    opacity:.82!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    line-height:1!important;
  }
  .detail-tabs__scroll-arrow--prev{
    left:0!important;
    background:linear-gradient(90deg,#fff 48%,rgba(255,255,255,.92) 70%,rgba(255,255,255,0))!important;
  }
  .detail-tabs__scroll-arrow--next{
    right:0!important;
    background:linear-gradient(270deg,#fff 48%,rgba(255,255,255,.92) 70%,rgba(255,255,255,0))!important;
  }
  .detail-tabs__scroll-arrow[hidden]{display:none!important}
}

/* ===== Detail v316: menu mobile realmente fisso sotto la mini-navbar ===== */
@media (max-width:850px){
  /* In stato normale il menu resta esattamente nel flusso sotto le foto. */
  .detail-tabs{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    z-index:2190!important;
  }

  /* Quando raggiunge la mini-navbar lo fissiamo via JS: non dipendiamo da position:sticky. */
  .detail-tabs.is-fixed-under-mini-header{
    position:fixed!important;
    top:var(--detail-mobile-fixed-header-h,54px)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    margin:0!important;
    z-index:2195!important;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(20,48,71,.10)!important;
  }

  .detail-tabs-fixed-placeholder{
    display:none;
    width:100%;
    height:0;
    margin:0;
    padding:0;
    border:0;
  }
  .detail-tabs-fixed-placeholder.is-active{
    display:block;
  }
}

/* ===== Detail v317: navbar desktop allineata + icone azioni coerenti ===== */
@media (min-width:851px){
  /* La barra resta fissa, ma il contenuto visivo segue esattamente il contenitore della pagina. */
  .detail-scroll-header--desktop{
    background:transparent!important;
    box-shadow:none!important;
    padding:0 24px!important;
    box-sizing:border-box!important;
  }
  .detail-scroll-header--desktop .detail-scroll-header__inner{
    width:min(1180px,100%)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:12px!important;
    padding-right:12px!important;
    box-sizing:border-box!important;
    background:#fff!important;
    box-shadow:0 2px 10px rgba(20,40,60,.12)!important;
  }

  /* Cuore desktop: dimensione stabile anche dopo il caricamento dello stato preferiti. */
  .detail-desktop-toolbar-action.detail-favorite,
  .detail-scroll-header--desktop .detail-favorite{
    min-width:44px!important;
    min-height:40px!important;
    overflow:visible!important;
  }
  .detail-desktop-heart,
  .detail-scroll-heart{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
    font-size:28px!important;
    line-height:28px!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-weight:400!important;
    color:#e22633!important;
  }

  .detail-scroll-header--desktop .detail-scroll-header__actions .detail-share-icon,
  .detail-desktop-toolbar-action .detail-share-icon{
    width:23px!important;
    height:23px!important;
  }
}

@media (max-width:850px){
  .detail-scroll-header--mobile .detail-share-icon,
  .detail-round.detail-share .detail-share-icon{
    width:22px!important;
    height:22px!important;
  }
}

/* Icona Condividi standard: quadrato con freccia verso l'alto. */
.detail-share-icon{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}



/* ===== Detail v318: allinea la navbar CON LOGO, non la mini-navbar sezioni ===== */
@media (min-width:851px){

  /* Ripristino la mini-navbar desktop com'era prima del v317:
     deve restare una barra bianca piena, senza contenitore "a scatola". */
  .detail-scroll-header--desktop{
    background:#fff!important;
    box-shadow:0 2px 10px rgba(20,40,60,.12)!important;
    padding:0!important;
  }

  .detail-scroll-header--desktop .detail-scroll-header__inner{
    width:min(1180px,calc(100% - 48px))!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  /* È QUESTA la navbar da allineare al contenitore del dettaglio:
     logo a sinistra + pulsanti a destra. */
  .detail-page-body .site-header .header-inner{
    width:min(1180px,calc(100% - 48px))!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }
}




/* ===== Detail v323: mobile tabs stabili sotto foto, poi fissate solo al contatto ===== */
@media (max-width:850px){
  /* IMPORTANT: neutralizza le vecchie regole .is-visible ~ .detail-tabs { top: ... }
     che spostavano il menu VERSO IL BASSO mentre era ancora nel flusso. */
  body.detail-page-body .detail-tabs,
  body.detail-page-body .detail-tabs.is-under-mini-header,
  body.detail-page-body .detail-scroll-header--mobile.is-visible ~ .detail-tabs,
  body.detail-page-body .detail-scroll-header--mobile.is-visible ~ .detail-tabs.is-under-mini-header{
    position:relative!important;
    top:auto!important;
    bottom:auto!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    width:100%!important;
    margin:0!important;
    z-index:2190!important;
  }

  /* Solo questa classe può staccare il menu dal flusso. */
  body.detail-page-body .detail-tabs.is-fixed-under-mini-header-v323{
    position:fixed!important;
    top:var(--detail-tabs-fixed-top-v323,54px)!important;
    left:0!important;
    right:0!important;
    bottom:auto!important;
    width:100%!important;
    margin:0!important;
    transform:none!important;
    z-index:2196!important;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(20,48,71,.10)!important;
  }

  .detail-tabs-sentinel-v323{
    display:block!important;
    width:100%!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    pointer-events:none!important;
  }
  .detail-tabs-placeholder-v323{
    display:none!important;
    width:100%!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    pointer-events:none!important;
  }
  .detail-tabs-placeholder-v323.is-active{display:block!important;}
}

/* ===== v324 account desktop autenticato ===== */
@media (min-width:851px){
  .unified-account-button.is-authenticated{
    width:42px!important;
    height:42px!important;
    padding:3px!important;
    border-radius:50%!important;
    border:2px solid #fff!important;
    outline:2px solid #cbd9e2!important;
    background:#087fc2!important;
    color:#fff!important;
    box-shadow:0 1px 5px rgba(14,64,94,.18)!important;
    display:grid!important;
    place-items:center!important;
    text-decoration:none!important;
  }
  .unified-account-initials{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    border-radius:50%!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:.2px!important;
  }

  .desktop-account-menu.is-authenticated{
    width:330px!important;
  }
  .desktop-account-menu__authenticated[hidden],
  .desktop-account-menu__guest[hidden]{display:none!important}

  .desktop-account-menu__signed-head{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:center!important;
    padding:15px 16px!important;
    background:#f8fafb!important;
    border-bottom:1px solid #e2e8ed!important;
  }
  .desktop-account-menu__signed-avatar{
    width:46px!important;
    height:46px!important;
    border-radius:50%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#087fc2!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:900!important;
    border:2px solid #fff!important;
    box-shadow:0 0 0 2px #cbd9e2!important;
  }
  .desktop-account-menu__signed-head small{
    display:block!important;
    color:#71808d!important;
    font-size:11px!important;
    margin-bottom:2px!important;
  }
  .desktop-account-menu__signed-head strong{
    display:block!important;
    color:#1b2e40!important;
    font-size:15px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .desktop-account-menu__signed-head div>span{
    display:block!important;
    margin-top:2px!important;
    color:#087fc2!important;
    font-size:11px!important;
    font-weight:750!important;
  }

  .desktop-account-menu__links--auth{
    padding:7px 0!important;
  }
  .desktop-account-menu__links--auth a,
  .desktop-account-menu__logout{
    width:100%!important;
    min-height:44px!important;
    display:grid!important;
    grid-template-columns:23px 1fr 18px!important;
    gap:10px!important;
    align-items:center!important;
    padding:0 16px!important;
    border:0!important;
    background:#fff!important;
    color:#354351!important;
    font:inherit!important;
    font-size:14px!important;
    text-align:left!important;
    cursor:pointer!important;
    text-decoration:none!important;
  }
  .desktop-account-menu__links--auth a:hover,
  .desktop-account-menu__logout:hover{background:#f5f8fa!important}
  .desktop-account-menu__logout{
    color:#087fc2!important;
    font-weight:800!important;
  }
  .desktop-account-menu__logout svg{
    width:21px!important;
    height:21px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.7!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .desktop-account-menu__logout b{
    font-size:23px!important;
    font-weight:400!important;
    text-align:right!important;
    color:#506372!important;
  }
}



/* ===== I miei immobili desktop v325 ===== */
.my-listings-desktop-heading,
.my-listings-publish-desktop,
.managed-property-location,
.managed-property-features,
.managed-property-status,
.managed-property-view{
  display:none;
}

@media (min-width: 900px){
  .my-listings-body{
    padding-bottom:0;
    background:#f4f7fa;
  }

  .my-listings-body .site-footer{
    display:block;
  }

  .my-listings-page{
    width:min(1180px, calc(100% - 48px));
    max-width:1180px;
    margin:0 auto;
    background:transparent;
    min-height:calc(100vh - 80px);
    padding-bottom:48px;
  }

  .my-listings-sticky{
    position:relative;
    top:auto;
    z-index:20;
    margin:22px 0 18px;
    padding:0;
    background:transparent;
    box-shadow:none;
  }

  .my-listings-header{
    height:58px;
    padding:0;
    border:0;
  }

  .my-listings-logo{
    width:154px;
  }

  .my-listings-header > button{
    width:42px;
    height:42px;
    border:1px solid #d7e0e7;
    border-radius:12px;
    background:#fff;
    box-shadow:0 2px 8px rgba(24,48,70,.05);
  }

  .my-listings-desktop-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin:22px 0 18px;
  }

  .my-listings-desktop-heading h1{
    margin:0;
    color:#152b3e;
    font-size:34px;
    line-height:1.08;
  }

  .my-listings-desktop-heading p{
    margin:7px 0 0;
    color:#6d7b87;
    font-size:15px;
  }

  .my-listings-publish-desktop{
    min-height:46px;
    padding:0 18px;
    border:1px solid #0d7bc1;
    border-radius:12px;
    background:#fff;
    color:#0877bb;
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:850;
    white-space:nowrap;
  }

  .my-listings-publish-desktop svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .my-listings-search,
  .my-listings-toolbar{
    background:#fff;
    border:1px solid #dfe6eb;
  }

  .my-listings-search{
    padding:14px 16px!important;
    border-radius:18px 18px 0 0;
    border-bottom:0;
  }

  .my-listings-search label{
    height:50px;
    max-width:none;
    border-radius:12px;
    background:#f9fbfc;
  }

  .my-listings-search input{
    height:48px;
    font-size:15px;
  }

  .my-listings-toolbar{
    padding:11px 16px!important;
    border-radius:0 0 18px 18px;
    border-top:1px solid #edf1f4!important;
  }

  .my-listings-toolbar button{
    font-size:15px;
  }

  .my-listings-grid{
    display:flex;
    flex-direction:column;
    gap:14px;
    padding:0;
    background:transparent;
  }

  .managed-property-card{
    display:grid;
    grid-template-columns:330px minmax(0, 1fr);
    min-height:220px;
    margin:0;
    border:1px solid #dce4ea;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 4px 14px rgba(23,52,76,.06);
  }

  .managed-property-photo{
    aspect-ratio:auto;
    height:100%;
    min-height:220px;
    border-radius:0;
    background:#e9eef2;
  }

  .managed-property-photo-track{
    height:100%;
  }

  .managed-property-photo-track img{
    height:100%;
    min-height:220px;
    object-fit:cover;
  }

  .managed-property-badge,
  .managed-property-photo-count{
    bottom:12px;
    font-size:12px;
    padding:6px 9px;
  }

  .managed-property-content{
    min-width:0;
    padding:19px 20px 17px;
    display:flex;
    flex-direction:column;
  }

  .managed-property-topline{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
  }

  .managed-property-price{
    margin:0 0 4px;
    color:#e66018;
    font-size:24px;
    line-height:1.1;
  }

  .managed-property-card h2{
    margin:0;
    font-size:19px;
    line-height:1.28;
    color:#142a3d;
  }

  .managed-property-location{
    display:block;
    margin:7px 0 0;
    color:#607386;
    font-size:14px;
    line-height:1.35;
  }

  .managed-property-status{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 10px;
    border-radius:999px;
    background:#e9f8ef;
    color:#197242;
    font-size:12px;
    font-weight:850;
    white-space:nowrap;
  }

  .managed-property-status::before{
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:#27a85c;
  }

  .managed-property-status.is-offline{
    background:#f1f2f3;
    color:#69747e;
  }

  .managed-property-status.is-offline::before{
    background:#89939c;
  }

  .managed-property-features{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:13px 0 12px;
  }

  .managed-property-features span{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:8px;
    background:#f2f6f9;
    color:#41576a;
    font-size:12px;
    font-weight:750;
  }

  .managed-property-stats{
    grid-template-columns:repeat(6, minmax(0,1fr));
    gap:0;
    margin-top:auto;
    padding:11px 0;
    border:0;
    border-top:1px solid #e8edf1;
    border-bottom:1px solid #e8edf1;
    border-radius:0;
    background:#fff;
  }

  .managed-property-stats > div{
    padding:0 10px;
    border-right:1px solid #edf1f4;
  }

  .managed-property-stats > div:first-child{
    padding-left:0;
  }

  .managed-property-stats > div:last-child{
    border-right:0;
  }

  .managed-property-stats small{
    font-size:11px;
  }

  .managed-property-stats strong{
    margin-top:3px;
    font-size:14px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .managed-property-stats svg{
    width:16px;
    height:16px;
    margin-right:4px;
  }

  .managed-property-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:12px;
  }

  .managed-property-edit,
  .managed-property-view{
    min-height:40px;
    margin:0;
    padding:0 15px;
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    font-size:13px;
    font-weight:850;
    text-decoration:none;
  }

  .managed-property-edit{
    min-width:165px;
    background:#0a7bc1;
    border-color:#0a7bc1;
    color:#fff;
  }

  .managed-property-view{
    border:1px solid #cfd9e0;
    background:#fff;
    color:#34566f;
  }

  .managed-property-view svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .my-listings-load-more{
    margin:24px auto 0;
  }

  .personal-bottom-nav,
  .professional-bottom-nav{
    display:none!important;
  }
}

@media (min-width: 900px) and (max-width: 1050px){
  .my-listings-page{
    width:min(960px, calc(100% - 32px));
  }

  .managed-property-card{
    grid-template-columns:280px minmax(0,1fr);
  }

  .managed-property-stats{
    grid-template-columns:repeat(3,1fr);
    row-gap:10px;
  }

  .managed-property-stats > div:nth-child(3){
    border-right:0;
  }
}

/* ===== I miei immobili v326: header desktop + azioni rapide ===== */
.managed-property-features [hidden]{display:none!important}

@media (min-width:900px){
  .my-listings-body .site-header{display:block!important}
  .my-listings-body .my-listings-header{display:none!important}
  .my-listings-body .my-listings-sticky{margin-top:0!important;padding-top:18px!important}
  .my-listings-body .site-header .header-inner{width:min(1180px,calc(100% - 48px));max-width:1180px;margin:0 auto}

  .managed-property-features span{
    gap:6px!important;
    min-height:30px!important;
    padding:0 10px!important;
  }
  .managed-property-features span svg{
    width:16px!important;
    height:16px!important;
    flex:0 0 16px!important;
    fill:none!important;
    stroke:#0b78bd!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .managed-property-features span b{
    color:#40576a!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
}

@media (max-width:899px){
  .my-listings-body .site-header{display:none!important}
  .my-listings-body .my-listings-header{display:flex!important}
}

/* ===== I miei immobili v327: desktop/mobile header + icone corrette ===== */
.my-listings-desktop-actions,
.my-listings-refresh-desktop{display:none}

@media (min-width:900px){
  /* Desktop: usa SOLO la navbar principale del sito. */
  body.my-listings-body .site-header{display:block!important}
  body.my-listings-body .my-listings-header{display:none!important}

  .my-listings-desktop-actions{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
  }
  .my-listings-refresh-desktop,
  .my-listings-publish-desktop{
    min-height:46px!important;
    height:46px!important;
    padding:0 16px!important;
    border-radius:12px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    font-size:14px!important;
    font-weight:850!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .my-listings-refresh-desktop{
    border:1px solid #d3dde5!important;
    background:#fff!important;
    color:#294a62!important;
    cursor:pointer!important;
  }
  .my-listings-refresh-desktop svg,
  .my-listings-publish-desktop svg{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    min-height:18px!important;
    max-width:18px!important;
    max-height:18px!important;
    flex:0 0 18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.9!important;
  }

  /* Icone rapide annuncio: dimensioni reali, niente SVG enormi. */
  body.my-listings-body .managed-property-features{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin:12px 0!important;
  }
  body.my-listings-body .managed-property-features span{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    min-height:30px!important;
    padding:0 9px!important;
    border-radius:8px!important;
  }
  body.my-listings-body .managed-property-features span > svg{
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    min-height:15px!important;
    max-width:15px!important;
    max-height:15px!important;
    flex:0 0 15px!important;
    display:block!important;
    fill:none!important;
    stroke:#0b78bd!important;
    stroke-width:1.8!important;
  }
  body.my-listings-body .managed-property-features span > b{
    font-size:12px!important;
    line-height:1.1!important;
  }

  body.my-listings-body .managed-property-stats svg{
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    min-height:15px!important;
    max-width:15px!important;
    max-height:15px!important;
    flex:0 0 15px!important;
    display:block!important;
  }
}

@media (max-width:899px){
  /* Mobile: niente navbar desktop del sito; rimane solo l'header mobile della pagina. */
  body.my-listings-body .site-header{display:none!important}
  body.my-listings-body .my-listings-header{display:flex!important}
  body.my-listings-body .my-listings-desktop-heading{display:none!important}
  body.my-listings-body .my-listings-desktop-actions,
  body.my-listings-body .my-listings-refresh-desktop,
  body.my-listings-body .my-listings-publish-desktop{display:none!important}
}


/* ===== I miei immobili v328: altezza uniforme + switch stato + elimina ===== */
.managed-property-delete{
  border:1px solid #e2a3a3;
  background:#fff;
  color:#c93434;
  cursor:pointer;
}
.managed-property-delete svg{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.managed-property-delete:disabled,
.managed-property-status:disabled{
  opacity:.55;
  cursor:wait;
}

/* Switch rapido visibile sia desktop che mobile. */
body.my-listings-body .managed-property-status{
  appearance:none;
  border:0;
  cursor:pointer;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:72px;
  height:30px;
  padding:0 9px;
  border-radius:999px;
  background:#e8f8ef;
  color:#157344;
  font-size:12px;
  font-weight:850;
  line-height:1;
}
body.my-listings-body .managed-property-status-dot{
  position:relative;
  width:28px;
  height:16px;
  border-radius:999px;
  background:#27a85c;
  flex:0 0 28px;
  transition:.18s ease;
}
body.my-listings-body .managed-property-status-dot::after{
  content:"";
  position:absolute;
  top:2px;
  right:2px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.18);
  transition:.18s ease;
}
body.my-listings-body .managed-property-status.is-offline{
  background:#f0f2f4;
  color:#697783;
}
body.my-listings-body .managed-property-status.is-offline .managed-property-status-dot{
  background:#9ba7b0;
}
body.my-listings-body .managed-property-status.is-offline .managed-property-status-dot::after{
  right:14px;
}

@media (min-width:900px){
  /* Tutte le schede desktop hanno la stessa altezza, a prescindere dalla foto. */
  body.my-listings-body .managed-property-card{
    height:236px!important;
    min-height:236px!important;
    max-height:236px!important;
    grid-template-columns:330px minmax(0,1fr)!important;
  }
  body.my-listings-body .managed-property-photo,
  body.my-listings-body .managed-property-photo-track,
  body.my-listings-body .managed-property-photo-track img{
    height:236px!important;
    min-height:236px!important;
    max-height:236px!important;
  }
  body.my-listings-body .managed-property-photo-track img{
    object-fit:cover!important;
  }
  body.my-listings-body .managed-property-content{
    height:236px!important;
    min-height:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body.my-listings-body .managed-property-card h2{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  body.my-listings-body .managed-property-location{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body.my-listings-body .managed-property-features{
    min-height:30px;
    max-height:30px;
    overflow:hidden;
  }
  body.my-listings-body .managed-property-actions{
    margin-top:9px!important;
  }
  body.my-listings-body .managed-property-delete{
    min-height:40px;
    height:40px;
    padding:0 13px;
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    font-size:13px;
    font-weight:850;
  }
  body.my-listings-body .managed-property-delete svg{
    width:17px!important;
    height:17px!important;
    flex:0 0 17px!important;
  }
}

@media (max-width:899px){
  body.my-listings-body .managed-property-status{
    position:absolute!important;
    top:9px!important;
    right:9px!important;
    z-index:12!important;
    min-width:42px!important;
    width:42px!important;
    height:24px!important;
    padding:0!important;
    background:transparent!important;
  }
  body.my-listings-body .managed-property-status [data-managed-status-label]{
    display:none!important;
  }
  body.my-listings-body .managed-property-status-dot{
    width:34px!important;
    height:20px!important;
    flex-basis:34px!important;
  }
  body.my-listings-body .managed-property-status-dot::after{
    width:16px!important;
    height:16px!important;
  }
  body.my-listings-body .managed-property-status.is-offline .managed-property-status-dot::after{
    right:16px!important;
  }
  body.my-listings-body .managed-property-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    gap:7px!important;
  }
  body.my-listings-body .managed-property-edit{
    min-width:0!important;
  }
  body.my-listings-body .managed-property-view,
  body.my-listings-body .managed-property-delete{
    width:40px!important;
    min-width:40px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:9px!important;
  }
  body.my-listings-body .managed-property-view span,
  body.my-listings-body .managed-property-delete span{
    display:none!important;
  }
  body.my-listings-body .managed-property-view svg,
  body.my-listings-body .managed-property-delete svg{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    max-width:18px!important;
  }
}

/* ===== I miei immobili v329: griglia desktop + tutti gli annunci ===== */
.my-listings-desktop-table-head{display:none}
@media (min-width:900px){
  body.my-listings-body .my-listings-page{
    width:min(1320px,calc(100% - 40px))!important;
    max-width:1320px!important;
  }
  body.my-listings-body .site-header .header-inner{
    width:min(1320px,calc(100% - 40px))!important;
    max-width:1320px!important;
  }
  body.my-listings-body .my-listings-desktop-table-head{
    display:grid!important;
    grid-template-columns:330px 185px 120px 210px 180px 115px 150px;
    align-items:center;
    gap:0;
    min-height:44px;
    margin:14px 0 0;
    padding:0 14px;
    border:1px solid #dce4ea;
    border-bottom:0;
    border-radius:14px 14px 0 0;
    background:#f6f8fa;
    color:#687684;
    font-size:12px;
    font-weight:800;
  }
  body.my-listings-body .my-listings-grid{
    gap:0!important;
    border:1px solid #dce4ea;
    border-radius:0 0 14px 14px;
    overflow:hidden;
    background:#fff!important;
  }
  body.my-listings-body .managed-property-card{
    height:174px!important;
    min-height:174px!important;
    max-height:174px!important;
    grid-template-columns:190px minmax(0,1fr)!important;
    border:0!important;
    border-bottom:1px solid #e1e7ec!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  body.my-listings-body .managed-property-card:last-child{border-bottom:0!important}
  body.my-listings-body .managed-property-photo,
  body.my-listings-body .managed-property-photo-track,
  body.my-listings-body .managed-property-photo-track img{
    height:174px!important;
    min-height:174px!important;
    max-height:174px!important;
  }
  body.my-listings-body .managed-property-content{
    height:174px!important;
    padding:12px 14px!important;
    display:grid!important;
    grid-template-columns:minmax(260px,1.5fr) 118px minmax(320px,1fr) 160px;
    grid-template-rows:auto 42px 42px;
    column-gap:14px;
    align-items:start;
    overflow:hidden!important;
  }
  body.my-listings-body .managed-property-topline{
    grid-column:1 / 3;
    grid-row:1;
    min-width:0;
    gap:10px!important;
  }
  body.my-listings-body .managed-property-topline > div{min-width:0}
  body.my-listings-body .managed-property-price{
    font-size:20px!important;
    margin:0 0 2px!important;
  }
  body.my-listings-body .managed-property-card h2{
    font-size:14px!important;
    line-height:1.25!important;
    -webkit-line-clamp:2!important;
  }
  body.my-listings-body .managed-property-location{
    font-size:12px!important;
    margin-top:4px!important;
  }
  body.my-listings-body .managed-property-status{
    position:static!important;
    grid-column:2;
    align-self:start;
    justify-self:end;
    min-width:72px!important;
  }
  body.my-listings-body .managed-property-features{
    grid-column:1 / 3;
    grid-row:2;
    align-self:center;
    min-height:32px!important;
    max-height:32px!important;
    margin:4px 0!important;
    gap:5px!important;
  }
  body.my-listings-body .managed-property-features span{
    min-height:26px!important;
    padding:0 7px!important;
    font-size:11px!important;
  }
  body.my-listings-body .managed-property-features span > svg{
    width:13px!important;height:13px!important;min-width:13px!important;min-height:13px!important;max-width:13px!important;max-height:13px!important;flex-basis:13px!important
  }
  body.my-listings-body .managed-property-stats{
    grid-column:3 / 5;
    grid-row:1 / 3;
    align-self:stretch;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,1fr);
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:#fff!important;
  }
  body.my-listings-body .managed-property-stats > div{
    min-width:0;
    padding:8px 10px!important;
    border-right:1px solid #edf1f4!important;
    border-bottom:1px solid #edf1f4!important;
  }
  body.my-listings-body .managed-property-stats > div:nth-child(3n){border-right:0!important}
  body.my-listings-body .managed-property-stats > div:nth-child(n+4){border-bottom:0!important}
  body.my-listings-body .managed-property-stats small{font-size:10px!important}
  body.my-listings-body .managed-property-stats strong{font-size:12px!important;margin-top:2px!important}
  body.my-listings-body .managed-property-actions{
    grid-column:1 / 5;
    grid-row:3;
    align-self:end;
    margin:0!important;
    padding-top:5px;
    border-top:1px solid #eef2f5;
    gap:8px!important;
  }
  body.my-listings-body .managed-property-edit,
  body.my-listings-body .managed-property-view,
  body.my-listings-body .managed-property-delete{
    min-height:32px!important;
    height:32px!important;
    padding:0 11px!important;
    font-size:11px!important;
    border-radius:8px!important;
  }
  body.my-listings-body .managed-property-edit{min-width:132px!important}
  body.my-listings-body .managed-property-delete svg,
  body.my-listings-body .managed-property-view svg,
  body.my-listings-body .managed-property-edit svg{width:14px!important;height:14px!important;min-width:14px!important}
  body.my-listings-body .managed-property-badge{bottom:8px!important;left:8px!important;font-size:10px!important;padding:4px 6px!important}
  body.my-listings-body .managed-property-photo-count{bottom:8px!important;right:8px!important;font-size:10px!important;padding:4px 6px!important}
}
@media (min-width:900px) and (max-width:1180px){
  body.my-listings-body .my-listings-desktop-table-head{display:none!important}
  body.my-listings-body .managed-property-content{grid-template-columns:minmax(220px,1fr) 110px minmax(300px,1fr)!important}
  body.my-listings-body .managed-property-stats{grid-column:3!important}
  body.my-listings-body .managed-property-actions{grid-column:1/4!important}
}


/* ===== I miei immobili v330: una foto + spaziatura + paginazione + switch mobile ===== */
body.my-listings-body .managed-photo-arrow,
body.my-listings-body .managed-property-photo-count{display:none!important}

body.my-listings-body .managed-property-photo-track{
  transform:none!important;
}
body.my-listings-body .managed-property-photo-track img{
  flex:0 0 100%!important;
  width:100%!important;
}

.my-listings-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:26px auto 48px;
  padding:0 12px;
}
.my-listings-pagination[hidden]{display:none!important}
.my-listings-pagination button,
.my-listings-pagination .pagination-dots{
  min-width:38px;
  height:38px;
  padding:0 10px;
  border:1px solid #d6e0e7;
  border-radius:9px;
  background:#fff;
  color:#31546d;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:13px;
}
.my-listings-pagination button{cursor:pointer}
.my-listings-pagination button:hover:not(:disabled):not(.is-current){border-color:#0b7cc1;color:#0b7cc1}
.my-listings-pagination button.is-current{background:#0b7cc1;border-color:#0b7cc1;color:#fff}
.my-listings-pagination button:disabled{opacity:.4;cursor:default}
.my-listings-pagination .pagination-dots{border-color:transparent;background:transparent;min-width:26px;padding:0}

@media (min-width:900px){
  body.my-listings-body .my-listings-grid{
    gap:12px!important;
    border:0!important;
    border-radius:0!important;
    overflow:visible!important;
    background:transparent!important;
    padding:12px 0 0!important;
  }
  body.my-listings-body .managed-property-card{
    border:1px solid #dce4ea!important;
    border-radius:12px!important;
    box-shadow:0 2px 7px rgba(31,57,78,.04)!important;
    overflow:hidden!important;
  }
  body.my-listings-body .managed-property-card:last-child{border-bottom:1px solid #dce4ea!important}
  body.my-listings-body .my-listings-desktop-table-head{
    border-bottom:1px solid #dce4ea!important;
    border-radius:14px!important;
    margin-bottom:0!important;
  }
}

@media (max-width:899px){
  body.my-listings-body .managed-property-card{
    position:relative!important;
    margin-bottom:20px!important;
  }
  body.my-listings-body .managed-property-topline{
    position:relative!important;
    padding-right:46px!important;
  }
  body.my-listings-body .managed-property-status{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:absolute!important;
    top:10px!important;
    right:10px!important;
    z-index:20!important;
    width:38px!important;
    min-width:38px!important;
    height:22px!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
  }
  body.my-listings-body .managed-property-status-dot{
    display:block!important;
    width:36px!important;
    height:20px!important;
    flex:0 0 36px!important;
  }
  body.my-listings-body .managed-property-status [data-managed-status-label]{display:none!important}
  .my-listings-pagination{
    margin:18px auto 92px;
    gap:5px;
    overflow-x:auto;
    justify-content:flex-start;
    scrollbar-width:none;
  }
  .my-listings-pagination::-webkit-scrollbar{display:none}
  .my-listings-pagination button{min-width:36px;height:36px}
}

/* ===== I miei immobili v331: desktop full-width con sidebar + griglia gestionale ===== */
.my-listings-desktop-sidebar,
.managed-property-photo-actions,
.my-listings-stats-dialog{display:none}

@media (min-width:900px){
  body.my-listings-body{
    background:#f5f7f9!important;
  }

  body.my-listings-body .site-header{
    z-index:2600!important;
  }

  body.my-listings-body .my-listings-page{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:18px 24px 48px 112px!important;
    box-sizing:border-box!important;
  }

  body.my-listings-body .site-header .header-inner{
    width:100%!important;
    max-width:none!important;
    padding-left:98px!important;
    padding-right:24px!important;
    box-sizing:border-box!important;
  }

  body.my-listings-body .my-listings-desktop-sidebar{
    position:fixed!important;
    top:70px!important;
    left:0!important;
    bottom:0!important;
    width:82px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    padding:14px 8px!important;
    border-right:1px solid #dde5eb!important;
    background:#fff!important;
    z-index:2500!important;
    box-shadow:2px 0 8px rgba(30,55,75,.03)!important;
  }

  body.my-listings-body .my-listings-desktop-sidebar a,
  body.my-listings-body .my-listings-desktop-sidebar button{
    width:100%!important;
    min-height:62px!important;
    padding:7px 4px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    color:#42586a!important;
    text-decoration:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    font:inherit!important;
    font-size:11px!important;
    font-weight:750!important;
    cursor:pointer!important;
  }

  body.my-listings-body .my-listings-desktop-sidebar a:hover,
  body.my-listings-body .my-listings-desktop-sidebar button:hover,
  body.my-listings-body .my-listings-desktop-sidebar a.is-active{
    background:#eef7fd!important;
    color:#0b7cc1!important;
  }

  body.my-listings-body .my-listings-desktop-sidebar svg{
    width:22px!important;
    height:22px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }

  body.my-listings-body .my-listings-desktop-sidebar button:last-child{
    margin-top:auto!important;
    color:#cf3a3a!important;
  }

  body.my-listings-body .my-listings-sticky{
    margin:0 0 14px!important;
  }

  body.my-listings-body .my-listings-header{
    display:none!important;
  }

  body.my-listings-body .my-listings-desktop-heading{
    margin:2px 0 14px!important;
  }

  body.my-listings-body .my-listings-desktop-heading h1{
    font-size:30px!important;
  }

  body.my-listings-body .my-listings-search,
  body.my-listings-body .my-listings-toolbar{
    width:100%!important;
  }

  body.my-listings-body .my-listings-desktop-table-head{
    display:grid!important;
    grid-template-columns:220px minmax(260px,1.35fr) 125px minmax(220px,1fr) minmax(220px,1fr) 130px!important;
    min-height:48px!important;
    width:100%!important;
    margin:14px 0 0!important;
    padding:0!important;
    border:1px solid #d9e2e8!important;
    border-bottom:0!important;
    border-radius:12px 12px 0 0!important;
    background:#f7f9fb!important;
    color:#657482!important;
    overflow:hidden!important;
  }

  body.my-listings-body .my-listings-desktop-table-head span{
    height:100%!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    border-right:1px solid #e3e9ee!important;
    font-size:12px!important;
    font-weight:800!important;
  }

  body.my-listings-body .my-listings-desktop-table-head span:last-child{border-right:0!important}

  body.my-listings-body .my-listings-grid{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    padding:14px 0 0!important;
    border:0!important;
    border-radius:0!important;
    overflow:visible!important;
    background:transparent!important;
  }

  body.my-listings-body .managed-property-card{
    width:100%!important;
    height:192px!important;
    min-height:192px!important;
    max-height:192px!important;
    display:grid!important;
    grid-template-columns:220px minmax(0,1fr)!important;
    margin:0!important;
    border:1px solid #dbe3e9!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(29,53,71,.045)!important;
    overflow:hidden!important;
  }

  body.my-listings-body .managed-property-photo-cell{
    height:192px!important;
    display:grid!important;
    grid-template-rows:145px 47px!important;
    border-right:1px solid #e2e8ed!important;
    background:#fff!important;
  }

  body.my-listings-body .managed-property-photo,
  body.my-listings-body .managed-property-photo-track,
  body.my-listings-body .managed-property-photo-track img{
    width:100%!important;
    height:145px!important;
    min-height:145px!important;
    max-height:145px!important;
  }

  body.my-listings-body .managed-property-photo{
    position:relative!important;
    overflow:hidden!important;
    border-radius:0!important;
    background:#eef2f5!important;
  }

  body.my-listings-body .managed-property-photo-track img{
    display:block!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  body.my-listings-body .managed-property-photo-actions{
    display:grid!important;
    grid-template-columns:repeat(5,1fr)!important;
    gap:0!important;
    border-top:1px solid #e5ebef!important;
    background:#fff!important;
  }

  body.my-listings-body .managed-property-photo-actions a,
  body.my-listings-body .managed-property-photo-actions button{
    min-width:0!important;
    height:47px!important;
    padding:0!important;
    border:0!important;
    border-right:1px solid #edf1f4!important;
    background:#fff!important;
    color:#0879bc!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-decoration:none!important;
    cursor:pointer!important;
  }

  body.my-listings-body .managed-property-photo-actions > :last-child{
    border-right:0!important;
    color:#d74848!important;
  }

  body.my-listings-body .managed-property-photo-actions a:hover,
  body.my-listings-body .managed-property-photo-actions button:hover{
    background:#f1f8fc!important;
  }

  body.my-listings-body .managed-property-photo-actions svg{
    width:18px!important;
    height:18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }

  body.my-listings-body .managed-property-content{
    height:192px!important;
    min-height:192px!important;
    max-height:192px!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:minmax(260px,1.35fr) 125px minmax(220px,1fr) minmax(220px,1fr) 130px!important;
    grid-template-rows:1fr!important;
    column-gap:0!important;
    align-items:stretch!important;
    overflow:hidden!important;
  }

  body.my-listings-body .managed-property-topline{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    display:block!important;
    min-width:0!important;
    height:100%!important;
    padding:18px 16px!important;
    border-right:1px solid #e5eaee!important;
    overflow:hidden!important;
  }

  body.my-listings-body .managed-property-topline > div{
    min-width:0!important;
  }

  body.my-listings-body .managed-property-municipality{
    margin:0 0 9px!important;
    color:#0b70ad!important;
    font-size:18px!important;
    line-height:1.2!important;
    font-weight:800!important;
  }

  body.my-listings-body .managed-property-contract-price{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:baseline!important;
    gap:7px!important;
    margin:0 0 7px!important;
    color:#384f62!important;
    font-size:14px!important;
  }

  body.my-listings-body .managed-property-contract-price span::after{
    content:' -';
  }

  body.my-listings-body .managed-property-price{
    display:inline!important;
    margin:0!important;
    color:#e65e16!important;
    font-size:17px!important;
    line-height:1.2!important;
    font-weight:900!important;
  }

  body.my-listings-body .managed-property-surface{
    margin:0 0 8px!important;
    color:#2f4353!important;
    font-size:14px!important;
    font-weight:750!important;
  }

  body.my-listings-body .managed-property-location{
    margin:0!important;
    color:#71808c!important;
    font-size:12px!important;
    line-height:1.35!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }

  body.my-listings-body .managed-property-status{
    position:absolute!important;
    right:14px!important;
    bottom:14px!important;
    top:auto!important;
    min-width:74px!important;
    height:28px!important;
    padding:0 9px!important;
    border:0!important;
    border-radius:999px!important;
    background:#e9f8ef!important;
    color:#167543!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    font-size:11px!important;
    font-weight:850!important;
    cursor:pointer!important;
  }

  body.my-listings-body .managed-property-status.is-offline{
    background:#edf1f3!important;
    color:#65727d!important;
  }

  body.my-listings-body .managed-property-status-dot{
    width:22px!important;
    height:12px!important;
    flex:0 0 22px!important;
    position:relative!important;
    border-radius:999px!important;
    background:#27a85d!important;
  }

  body.my-listings-body .managed-property-status-dot::after{
    content:''!important;
    position:absolute!important;
    top:2px!important;
    right:2px!important;
    width:8px!important;
    height:8px!important;
    border-radius:50%!important;
    background:#fff!important;
  }

  body.my-listings-body .managed-property-status.is-offline .managed-property-status-dot{
    background:#9aa5ad!important;
  }

  body.my-listings-body .managed-property-status.is-offline .managed-property-status-dot::after{
    right:12px!important;
  }

  body.my-listings-body .managed-property-features,
  body.my-listings-body .managed-property-actions{
    display:none!important;
  }

  body.my-listings-body .managed-property-stats{
    grid-column:3 / 6!important;
    grid-row:1!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,1fr)!important;
    background:#fff!important;
  }

  body.my-listings-body .managed-property-stats > div{
    min-width:0!important;
    padding:18px 14px 12px!important;
    border-right:1px solid #e5eaee!important;
    border-bottom:1px solid #e5eaee!important;
    display:flex!important;
    flex-wrap:wrap!important;
    align-content:flex-start!important;
    gap:4px!important;
  }

  body.my-listings-body .managed-property-stats > div:nth-child(3n){border-right:0!important}
  body.my-listings-body .managed-property-stats > div:nth-child(n+4){border-bottom:0!important}

  body.my-listings-body .managed-property-stats small{
    width:100%!important;
    font-size:11px!important;
    color:#7b8994!important;
  }

  body.my-listings-body .managed-property-stats strong{
    margin:0!important;
    font-size:14px!important;
    color:#1f3445!important;
    font-weight:800!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.my-listings-body .managed-property-stats svg{
    width:15px!important;
    height:15px!important;
    margin:0 3px 0 0!important;
    fill:none!important;
    stroke:#0b7cc1!important;
  }

  body.my-listings-body .managed-property-badge{
    left:10px!important;
    bottom:8px!important;
    font-size:10px!important;
    padding:4px 6px!important;
  }

  body.my-listings-body .my-listings-pagination{
    justify-content:center!important;
    gap:4px!important;
    margin:28px auto 54px!important;
  }

  body.my-listings-body .my-listings-pagination button{
    min-width:42px!important;
    height:42px!important;
    padding:0 12px!important;
    border:0!important;
    border-radius:8px!important;
    background:transparent!important;
    color:#0679bc!important;
    font-size:16px!important;
    font-weight:800!important;
  }

  body.my-listings-body .my-listings-pagination button:hover:not(:disabled):not(.is-current){
    background:#eef7fc!important;
  }

  body.my-listings-body .my-listings-pagination button.is-current{
    border:1px solid #43a9e5!important;
    background:#eff8fe!important;
    color:#0877bb!important;
  }

  body.my-listings-body .my-listings-pagination button:disabled{
    opacity:.28!important;
  }

  body.my-listings-body .my-listings-stats-dialog{
    width:min(520px,calc(100% - 40px))!important;
    padding:28px!important;
    border:0!important;
    border-radius:18px!important;
    box-shadow:0 24px 70px rgba(20,42,60,.24)!important;
    color:#173047!important;
  }

  body.my-listings-body .my-listings-stats-dialog[open]{display:block!important}
  body.my-listings-body .my-listings-stats-dialog::backdrop{background:rgba(10,24,36,.46)!important}
  body.my-listings-body .my-listings-stats-dialog h2{margin:0 36px 4px 0!important}
  body.my-listings-body .my-listings-stats-title{margin:0 0 20px!important;color:#71808b!important}
  body.my-listings-body .my-listings-stats-close{position:absolute!important;right:14px!important;top:12px!important;border:0!important;background:transparent!important;font-size:30px!important;cursor:pointer!important}
  body.my-listings-body .my-listings-stats-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important}
  body.my-listings-body .my-listings-stats-grid div{padding:16px!important;border-radius:12px!important;background:#f3f7fa!important}
  body.my-listings-body .my-listings-stats-grid small{display:block!important;color:#72818c!important;margin-bottom:5px!important}
  body.my-listings-body .my-listings-stats-grid strong{font-size:24px!important}
}

@media (min-width:900px) and (max-width:1220px){
  body.my-listings-body .my-listings-desktop-table-head{display:none!important}
  body.my-listings-body .managed-property-card{grid-template-columns:200px minmax(0,1fr)!important}
  body.my-listings-body .managed-property-photo-cell{grid-template-rows:145px 47px!important}
  body.my-listings-body .managed-property-content{grid-template-columns:minmax(230px,1fr) 110px minmax(360px,1.4fr)!important}
  body.my-listings-body .managed-property-stats{grid-column:3!important}
}

@media (max-width:899px){
  body.my-listings-body .my-listings-desktop-sidebar,
  body.my-listings-body .managed-property-photo-actions,
  body.my-listings-body .my-listings-stats-dialog{display:none!important}
  body.my-listings-body .managed-property-photo-cell{display:block!important}
}

@media (min-width:900px){
  body.my-listings-body .managed-property-mobile-summary{display:none!important}
  body.my-listings-body .managed-property-desktop-summary{display:block!important}
}
@media (max-width:899px){
  body.my-listings-body .managed-property-mobile-summary{display:block!important}
  body.my-listings-body .managed-property-desktop-summary{display:none!important}
}


/* ===== v332: Home caroselli a riga singola + gestione annunci desktop ===== */
@media (min-width:900px){
  /* HOME: ricerche e immobili recenti sempre su UNA SOLA RIGA. */
  body.home-page-body .recent-section,
  body.home-page-body .recently-viewed{
    position:relative!important;
  }
  body.home-page-body .recent-scroll,
  body.home-page-body .property-scroll{
    display:flex!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    gap:16px!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-behavior:smooth!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  body.home-page-body .recent-scroll::-webkit-scrollbar,
  body.home-page-body .property-scroll::-webkit-scrollbar{display:none!important}
  body.home-page-body .home-recent-search-card,
  body.home-page-body .home-viewed-property-card{
    flex:0 0 calc((100% - 48px)/4)!important;
    width:calc((100% - 48px)/4)!important;
    min-width:260px!important;
    max-width:none!important;
    scroll-snap-align:start!important;
  }
  body.home-page-body .desktop-carousel-arrow:not([hidden]){display:flex!important}
}

@media (min-width:900px){
  /* Navbar superiore gestione annunci: sempre visibile e logo completamente a sinistra. */
  body.my-listings-body .site-header{
    position:sticky!important;
    top:0!important;
    z-index:5000!important;
    box-shadow:0 1px 0 #e4e9ed!important;
  }
  body.my-listings-body .site-header .header-inner{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:14px!important;
    padding-right:18px!important;
  }
  body.my-listings-body .site-header .brand{margin-left:0!important}
  body.my-listings-body .site-header .brand img{margin-left:0!important}
  body.my-listings-body .my-listings-desktop-sidebar{top:72px!important}

  /* Header tabella come gestionale Immobiliare.it. */
  body.my-listings-body .my-listings-desktop-table-head{
    display:grid!important;
    grid-template-columns:280px minmax(190px,1.25fr) 125px 100px 100px 125px 155px 115px 125px!important;
    align-items:center!important;
    width:100%!important;
    min-height:48px!important;
    padding:0!important;
    border:1px solid #dce4ea!important;
    border-radius:10px 10px 0 0!important;
    background:#fff!important;
    overflow:hidden!important;
  }
  body.my-listings-body .my-listings-desktop-table-head span{
    height:100%!important;
    padding:0 12px!important;
    display:flex!important;
    align-items:center!important;
    border-right:1px solid #e5eaee!important;
    color:#526476!important;
    font-size:12px!important;
    font-weight:800!important;
    white-space:nowrap!important;
  }
  body.my-listings-body .my-listings-desktop-table-head span:last-child{border-right:0!important}

  body.my-listings-body .my-listings-grid{
    padding-top:0!important;
    gap:12px!important;
  }
  body.my-listings-body .managed-property-card{
    grid-template-columns:280px minmax(0,1fr)!important;
    height:192px!important;
    min-height:192px!important;
    max-height:192px!important;
    border-radius:10px!important;
  }
  body.my-listings-body .managed-property-photo-cell{
    display:grid!important;
    grid-template-rows:124px 24px 44px!important;
    height:192px!important;
    min-height:192px!important;
    max-height:192px!important;
    border-right:1px solid #e5eaee!important;
    background:#fff!important;
  }
  body.my-listings-body .managed-property-photo,
  body.my-listings-body .managed-property-photo-track,
  body.my-listings-body .managed-property-photo-track img{
    height:124px!important;
    min-height:124px!important;
    max-height:124px!important;
  }
  body.my-listings-body .managed-property-photo-reference{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    padding:0 10px!important;
    border-top:1px solid #edf1f4!important;
    color:#607386!important;
    font-size:11px!important;
    overflow:hidden!important;
  }
  body.my-listings-body .managed-property-photo-reference small{color:#82909a!important}
  body.my-listings-body .managed-property-photo-reference strong{
    color:#18354b!important;
    font-size:11px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.my-listings-body .managed-property-photo-actions{height:44px!important}
  body.my-listings-body .managed-property-photo-actions a,
  body.my-listings-body .managed-property-photo-actions button{height:44px!important}

  body.my-listings-body .managed-property-content{
    height:192px!important;
    min-height:192px!important;
    max-height:192px!important;
    display:grid!important;
    grid-template-columns:minmax(190px,1.25fr) 125px 100px 100px 125px 155px 115px 125px!important;
    grid-template-rows:1fr!important;
    overflow:hidden!important;
  }
  body.my-listings-body .managed-property-topline{
    display:contents!important;
  }
  body.my-listings-body .managed-property-topline > div{
    grid-column:1!important;
    grid-row:1!important;
    padding:16px 12px!important;
    min-width:0!important;
    overflow:hidden!important;
    border-right:1px solid #e5eaee!important;
  }
  body.my-listings-body .managed-property-municipality{
    margin:0 0 8px!important;
    font-size:15px!important;
  }
  body.my-listings-body .managed-property-contract-price{margin:0 0 6px!important;font-size:13px!important}
  body.my-listings-body .managed-property-price{font-size:15px!important}
  body.my-listings-body .managed-property-surface{font-size:13px!important;margin-bottom:7px!important}
  body.my-listings-body .managed-property-location{font-size:11px!important}

  body.my-listings-body .managed-property-status{
    position:static!important;
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:center!important;
    margin:0!important;
  }

  body.my-listings-body .managed-desktop-metrics{
    display:contents!important;
  }
  body.my-listings-body .managed-desktop-metrics > div{
    min-width:0!important;
    padding:14px 10px!important;
    border-right:1px solid #e5eaee!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    gap:5px!important;
    overflow:hidden!important;
  }
  body.my-listings-body .managed-desktop-metrics > div:nth-child(1){grid-column:3!important}
  body.my-listings-body .managed-desktop-metrics > div:nth-child(2){grid-column:4!important}
  body.my-listings-body .managed-desktop-metrics > div:nth-child(3){grid-column:5!important}
  body.my-listings-body .managed-desktop-metrics > div:nth-child(4){grid-column:6!important}
  body.my-listings-body .managed-desktop-metrics > div:nth-child(5){grid-column:7!important}
  body.my-listings-body .managed-desktop-metrics > div:nth-child(6){grid-column:8!important;border-right:0!important}
  body.my-listings-body .managed-desktop-metrics small{
    color:#7b8994!important;
    font-size:10px!important;
    white-space:nowrap!important;
  }
  body.my-listings-body .managed-desktop-metrics strong{
    color:#1c3549!important;
    font-size:12px!important;
    font-weight:800!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.my-listings-body .managed-desktop-statistics strong{font-size:11px!important}

  /* Vecchi blocchi della card non servono nella tabella desktop. */
  body.my-listings-body .managed-property-features,
  body.my-listings-body .managed-property-stats,
  body.my-listings-body .managed-property-actions{display:none!important}
}

@media (max-width:899px){
  body.my-listings-body .managed-property-photo-reference,
  body.my-listings-body .managed-desktop-metrics{display:none!important}

  /* Lo switch appartiene alla singola card, non al viewport. */
  body.my-listings-body .managed-property-card{position:relative!important}
  body.my-listings-body .managed-property-topline{position:static!important}
  body.my-listings-body .managed-property-status{
    position:absolute!important;
    top:10px!important;
    right:10px!important;
    z-index:25!important;
    transform:none!important;
  }
}



/* ===== v333: home caroselli + header Annunci desktop + mobile status ===== */

/* HOME desktop: una sola riga vera, senza wrapping o grid residui. */
@media (min-width:900px){
  body.home-page-body #recent-search-list.recent-scroll,
  body.home-page-body #recent-property-list.property-scroll{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    grid-template-columns:none!important;
    grid-auto-flow:unset!important;
    align-items:stretch!important;
    gap:16px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-behavior:smooth!important;
    scrollbar-width:none!important;
    overscroll-behavior-x:contain!important;
  }
  body.home-page-body #recent-search-list.recent-scroll::-webkit-scrollbar,
  body.home-page-body #recent-property-list.property-scroll::-webkit-scrollbar{
    display:none!important;
  }
  body.home-page-body #recent-search-list.recent-scroll > *,
  body.home-page-body #recent-property-list.property-scroll > *{
    flex:0 0 286px!important;
    width:286px!important;
    min-width:286px!important;
    max-width:286px!important;
    margin:0!important;
  }
  body.home-page-body .recent-section,
  body.home-page-body .recently-viewed{
    overflow:visible!important;
    position:relative!important;
  }
  body.home-page-body .desktop-carousel-arrow{
    z-index:8!important;
  }
  body.home-page-body .desktop-carousel-arrow:not([hidden]){
    display:flex!important;
  }
}

/* GESTIONE ANNUNCI DESKTOP */
@media (min-width:900px){
  body.my-listings-body .site-header{
    position:sticky!important;
    top:0!important;
    z-index:6000!important;
    background:#fff!important;
  }
  body.my-listings-body .site-header .header-inner{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:14px!important;
    padding-right:18px!important;
  }

  /* La riga Annunci/Tutti/Online/... resta fissa subito sotto la navbar. */
  body.my-listings-body .my-listings-sticky{
    position:static!important;
    top:auto!important;
    z-index:auto!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.my-listings-body .my-listings-desktop-heading{
    position:sticky!important;
    top:72px!important;
    z-index:5500!important;
    min-height:66px!important;
    margin:0 -18px 14px!important;
    padding:10px 18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:20px!important;
    background:#fff!important;
    border-bottom:1px solid #dce4ea!important;
    box-shadow:0 2px 8px rgba(17,43,65,.05)!important;
  }
  body.my-listings-body .my-listings-desktop-heading-left{
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    gap:18px!important;
  }
  body.my-listings-body .my-listings-desktop-heading h1{
    margin:0!important;
    font-size:28px!important;
    line-height:1!important;
    white-space:nowrap!important;
    color:#172b3b!important;
  }
  body.my-listings-body .my-listings-desktop-heading p{
    display:none!important;
  }
  body.my-listings-body .my-listings-desktop-tabs{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    white-space:nowrap!important;
  }
  body.my-listings-body .my-listings-desktop-tabs button{
    min-height:34px!important;
    padding:0 13px!important;
    border:1px solid #d3dce3!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#34485a!important;
    font-size:13px!important;
    font-weight:750!important;
    cursor:pointer!important;
  }
  body.my-listings-body .my-listings-desktop-tabs button.is-active{
    border-color:#63afe0!important;
    background:#eaf6fd!important;
    color:#0679bc!important;
  }
  body.my-listings-body .my-listings-desktop-tabs button.is-disabled{
    opacity:.48!important;
    cursor:default!important;
  }
  body.my-listings-body .my-listings-desktop-actions{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    flex:0 0 auto!important;
  }
  body.my-listings-body .my-listings-publish-desktop{
    min-height:38px!important;
    padding:0 15px!important;
    border-radius:9px!important;
  }
  body.my-listings-body .my-listings-refresh-icon{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    border:1px solid #d3dce3!important;
    border-radius:10px!important;
    background:#fff!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body.my-listings-body .my-listings-refresh-icon span{display:none!important}
  body.my-listings-body .my-listings-refresh-icon svg{
    width:18px!important;
    height:18px!important;
  }

  /* Il vecchio filtro a discesa rimane per conteggio/mobile ma non serve nel desktop. */
  body.my-listings-body .my-listings-toolbar .my-listings-menu-wrap:first-child{
    display:none!important;
  }
  body.my-listings-body .my-listings-toolbar{
    justify-content:flex-end!important;
  }
}

/* MOBILE: switch Online/Offline accanto al prezzo, non nell'angolo della foto/device. */
@media (max-width:899px){
  body.my-listings-body .managed-property-card{
    position:relative!important;
  }
  body.my-listings-body .managed-property-topline{
    position:relative!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:8px!important;
  }
  body.my-listings-body .managed-property-topline > div{
    flex:1 1 auto!important;
    min-width:0!important;
  }
  body.my-listings-body .managed-property-status{
    position:static!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    flex:0 0 auto!important;
    margin:0 0 0 8px!important;
    align-self:flex-start!important;
    z-index:2!important;
  }
  body.my-listings-body .managed-property-price--mobile{
    padding-right:0!important;
  }

  /* Nelle azioni mobile togli Vedi annuncio (occhio) e rendi Elimina coerente con Modifica. */
  body.my-listings-body .managed-property-actions .managed-property-view{
    display:none!important;
  }
  body.my-listings-body .managed-property-actions{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
  }
  body.my-listings-body .managed-property-actions .managed-property-edit,
  body.my-listings-body .managed-property-actions .managed-property-delete{
    min-height:34px!important;
    height:34px!important;
    padding:0 11px!important;
    border-radius:8px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    font-size:11px!important;
    font-weight:800!important;
    line-height:1!important;
  }
  body.my-listings-body .managed-property-actions .managed-property-delete svg,
  body.my-listings-body .managed-property-actions .managed-property-edit svg{
    width:14px!important;
    height:14px!important;
    flex:0 0 14px!important;
  }
}



/* ===== v334: gestione annunci desktop sticky + luogo pulito ===== */
.my-listings-found-desktop{display:none}

@media (min-width:900px){
  :root{
    --my-listings-site-header-h:72px;
    --my-listings-sidebar-w:82px;
    --my-listings-heading-h:58px;
  }

  /* La navbar mobile non deve mai apparire sul desktop gestionale. */
  body.my-listings-body .logged-nav-host,
  body.my-listings-body .logged-bottom-nav,
  body.my-listings-body .professional-bottom-nav{
    display:none!important;
  }

  /* Header superiore fisso. */
  body.my-listings-body .site-header{
    position:sticky!important;
    top:0!important;
    z-index:7000!important;
    background:#fff!important;
  }

  /* Menu sinistro attaccato subito sotto la navbar. */
  body.my-listings-body .my-listings-desktop-sidebar{
    top:var(--my-listings-site-header-h)!important;
    left:0!important;
    width:var(--my-listings-sidebar-w)!important;
    z-index:6100!important;
  }

  /* Il contenuto parte esattamente dal bordo destro del menu sinistro. */
  body.my-listings-body .my-listings-page{
    width:calc(100% - var(--my-listings-sidebar-w))!important;
    max-width:none!important;
    margin:0 0 0 var(--my-listings-sidebar-w)!important;
    padding:0 18px 48px!important;
    box-sizing:border-box!important;
  }

  body.my-listings-body .my-listings-sticky{
    margin:0!important;
    padding:0!important;
    position:static!important;
  }

  /* Riga Annunci/Tutti/... attaccata alla navbar e al menu sinistro. */
  body.my-listings-body .my-listings-desktop-heading{
    position:sticky!important;
    top:var(--my-listings-site-header-h)!important;
    z-index:6200!important;
    width:calc(100% + 36px)!important;
    min-height:var(--my-listings-heading-h)!important;
    height:var(--my-listings-heading-h)!important;
    margin:0 -18px!important;
    padding:0 18px!important;
    box-sizing:border-box!important;
    border-radius:0!important;
    background:#fff!important;
    border-top:0!important;
    border-bottom:1px solid #dce4ea!important;
    box-shadow:0 2px 8px rgba(17,43,65,.05)!important;
    display:flex!important;
    align-items:center!important;
  }

  /* Ricerca e toolbar scorrono normalmente sotto la riga Annunci. */
  body.my-listings-body .my-listings-search{
    margin-top:14px!important;
  }

  body.my-listings-body .my-listings-toolbar{
    justify-content:space-between!important;
    align-items:center!important;
  }

  body.my-listings-body .my-listings-found-desktop{
    display:block!important;
    color:#53687a!important;
    font-size:13px!important;
    font-weight:650!important;
  }
  body.my-listings-body .my-listings-found-desktop strong{
    color:#18364c!important;
    font-size:14px!important;
    font-weight:850!important;
  }

  /* Il vecchio filtro dropdown resta solo come supporto mobile. */
  body.my-listings-body .my-listings-toolbar .my-listings-menu-wrap:first-of-type{
    display:none!important;
  }

  /* L'intestazione della tabella diventa sticky solo quando la raggiungi. */
  body.my-listings-body .my-listings-desktop-table-head{
    position:sticky!important;
    top:calc(var(--my-listings-site-header-h) + var(--my-listings-heading-h))!important;
    z-index:5900!important;
    border-radius:0!important;
    box-shadow:0 2px 6px rgba(17,43,65,.06)!important;
  }

  /* Luogo: comune una sola volta + indirizzo subito sotto. */
  body.my-listings-body .managed-property-municipality{
    margin:0 0 4px!important;
  }
  body.my-listings-body .managed-property-address-desktop{
    display:block!important;
    margin:0 0 9px!important;
    color:#425a6c!important;
    font-size:12px!important;
    line-height:1.28!important;
    white-space:normal!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
  }
  body.my-listings-body .managed-property-address-desktop.is-empty{
    color:#8b98a2!important;
    font-style:italic!important;
  }
  body.my-listings-body .managed-property-location--mobile{
    display:none!important;
  }

  body.my-listings-body .managed-property-contract-price{
    margin:0 0 5px!important;
  }
  body.my-listings-body .managed-property-surface{
    margin:0!important;
  }

  /* Stato più leggibile e gradevole nella colonna Visibilità. */
  body.my-listings-body .managed-property-status{
    min-width:84px!important;
    height:30px!important;
    padding:0 10px!important;
    border:1px solid #cfe9d9!important;
    border-radius:999px!important;
    background:#edf9f2!important;
    color:#167542!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)!important;
    font-size:11px!important;
    font-weight:850!important;
  }
  body.my-listings-body .managed-property-status.is-offline{
    border-color:#d8e0e5!important;
    background:#f0f3f5!important;
    color:#687681!important;
  }
  body.my-listings-body .managed-property-status-dot{
    width:25px!important;
    height:14px!important;
    flex:0 0 25px!important;
    border-radius:999px!important;
  }

  /* Un po' più respiro tra le righe. */
  body.my-listings-body .my-listings-grid{
    gap:16px!important;
  }
}

@media (max-width:899px){
  .managed-property-address-desktop{display:none!important}
  .managed-property-location--mobile{display:block!important}
  .my-listings-found-desktop{display:none!important}
}



/* ===== v335: sticky gestionale + stato in Luogo + visibilità TOP/SUPER/STANDARD ===== */
@media (min-width:900px){
  :root{
    --my-listings-site-header-h:72px;
    --my-listings-heading-h:58px;
    --my-listings-sidebar-w:82px;
    --my-listings-table-head-h:42px;
  }

  /* Il problema precedente era strutturale: la riga Annunci era sticky dentro un
     contenitore che finiva prima della tabella. La rendiamo fixed rispetto al viewport. */
  body.my-listings-body .my-listings-desktop-heading{
    position:fixed!important;
    top:var(--my-listings-site-header-h)!important;
    left:var(--my-listings-sidebar-w)!important;
    right:0!important;
    width:auto!important;
    height:var(--my-listings-heading-h)!important;
    min-height:var(--my-listings-heading-h)!important;
    margin:0!important;
    padding:0 18px!important;
    z-index:6400!important;
    box-sizing:border-box!important;
    background:#fff!important;
    border-bottom:1px solid #dce4ea!important;
    box-shadow:0 2px 8px rgba(17,43,65,.06)!important;
  }

  /* Recupera lo spazio della riga fixed: ricerca/toolbar partono sotto Annunci. */
  body.my-listings-body .my-listings-search{
    margin-top:calc(var(--my-listings-heading-h) + 14px)!important;
  }

  /* L'intestazione della tabella resta SEMPRE sotto Annunci quando la raggiunge. */
  body.my-listings-body .my-listings-desktop-table-head{
    position:sticky!important;
    top:calc(var(--my-listings-site-header-h) + var(--my-listings-heading-h))!important;
    z-index:6300!important;
    min-height:var(--my-listings-table-head-h)!important;
    background:#fff!important;
    border-top:1px solid #dce4ea!important;
    border-bottom:1px solid #dce4ea!important;
    box-shadow:0 2px 5px rgba(17,43,65,.05)!important;
  }

  /* Luogo: comune, indirizzo, contratto-prezzo, superficie, switch. */
  body.my-listings-body .managed-property-topline > div{
    padding:12px 12px!important;
  }
  body.my-listings-body .managed-property-municipality{
    margin:0 0 4px!important;
  }
  body.my-listings-body .managed-property-address-desktop{
    margin:0 0 5px!important;
    -webkit-line-clamp:1!important;
  }
  body.my-listings-body .managed-property-contract-price{
    margin:0 0 4px!important;
  }
  body.my-listings-body .managed-property-surface{
    margin:0 0 8px!important;
  }

  body.my-listings-body .managed-property-status--desktop{
    position:static!important;
    display:inline-flex!important;
    width:auto!important;
    min-width:80px!important;
    height:27px!important;
    min-height:27px!important;
    padding:0 9px!important;
    margin:0!important;
    justify-content:center!important;
    align-items:center!important;
    border-radius:999px!important;
    font-size:10px!important;
  }
  body.my-listings-body .managed-property-status--mobile{
    display:none!important;
  }

  /* Visibilità: qui va il livello dell'annuncio, non più lo stato online/offline. */
  body.my-listings-body .managed-property-visibility-tier{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:center!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:72px!important;
    height:27px!important;
    padding:0 10px!important;
    border-radius:7px!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.02em!important;
    white-space:nowrap!important;
    border:1px solid transparent!important;
  }
  body.my-listings-body .managed-property-visibility-tier--mega{
    background:#152b3e!important;
    color:#fff!important;
    border-color:#152b3e!important;
  }
  body.my-listings-body .managed-property-visibility-tier--super{
    background:#fff4cc!important;
    color:#8a6500!important;
    border-color:#f3d75d!important;
  }
  body.my-listings-body .managed-property-visibility-tier--top{
    background:#fff1e7!important;
    color:#d95b0b!important;
    border-color:#ffcda8!important;
  }
  body.my-listings-body .managed-property-visibility-tier--standard{
    background:#f0f3f5!important;
    color:#53636f!important;
    border-color:#d9e0e5!important;
  }

  /* Non mostrare più TOP/SUPER/STANDARD sopra la foto. */
  body.my-listings-body .managed-property-badge{
    display:none!important;
  }

  /* La vecchia regola assegnava la colonna Visibilità allo switch: neutralizzata. */
  body.my-listings-body .managed-property-topline > .managed-property-status,
  body.my-listings-body .managed-property-status:not(.managed-property-status--desktop):not(.managed-property-status--mobile){
    grid-column:auto!important;
  }
}

@media (max-width:899px){
  /* Mobile: resta lo switch accanto al prezzo. */
  body.my-listings-body .managed-property-status--desktop{
    display:none!important;
  }
  body.my-listings-body .managed-property-status--mobile{
    display:inline-flex!important;
    position:static!important;
    flex:0 0 auto!important;
    margin-left:8px!important;
  }
  body.my-listings-body .managed-property-mobile-price-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
  }
  body.my-listings-body .managed-property-visibility-tier{
    display:none!important;
  }
  body.my-listings-body .managed-property-badge{
    display:none!important;
  }
}


/* ===== I miei annunci v336: rif/id, comandi rapidi ===== */
@media (min-width: 900px){
  .managed-property-photo-reference{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding:6px 10px!important;
  }
  .managed-property-photo-reference > span{
    display:inline-flex!important;
    align-items:baseline!important;
    gap:5px!important;
    min-width:0!important;
  }
  .managed-property-photo-reference > span:last-child{
    margin-left:auto!important;
    text-align:right!important;
  }
  .managed-property-photo-actions svg,
  .my-listings-desktop-sidebar a[href*="statistiche"] svg{
    width:18px!important;
    height:18px!important;
    max-width:18px!important;
    max-height:18px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
}

/* ===== v337: toolbar gestione annunci desktop ===== */
@media (min-width:900px){
  /* Il selettore centrale "Tutti gli annunci" è solo mobile. */
  body.my-listings-body .my-listings-toolbar > .my-listings-menu-wrap:not(.my-listings-menu-wrap--sort){
    display:none!important;
  }
  body.my-listings-body .my-listings-toolbar{
    position:relative!important;
    overflow:visible!important;
    z-index:6050!important;
    justify-content:space-between!important;
  }
  body.my-listings-body .my-listings-menu-wrap--sort{
    display:block!important;
    position:relative!important;
    z-index:6800!important;
    margin-left:auto!important;
  }
  body.my-listings-body [data-listings-sort]{
    position:relative!important;
    z-index:6801!important;
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    color:#17324d!important;
  }
  body.my-listings-body .my-listings-menu--right{
    z-index:6900!important;
    right:0!important;
    left:auto!important;
    top:calc(100% + 7px)!important;
  }
  body.my-listings-body .my-listings-menu--right:not([hidden]){
    display:block!important;
  }
  body.my-listings-body .my-listings-sticky,
  body.my-listings-body .my-listings-search{
    overflow:visible!important;
  }
}

/* v339 - Tipologia obbligatoria: evidenza rossa anche sul contenitore del select */
form[data-listing-form] label.has-invalid-field > span:first-child,
.listing-form label.has-invalid-field > span:first-child{
  color:#c62828!important;
  font-weight:850!important;
}
form[data-listing-form] label.has-invalid-field select,
.listing-form label.has-invalid-field select{
  border:2px solid #d32f2f!important;
  background:#fff1f1!important;
  box-shadow:0 0 0 2px rgba(211,47,47,.10)!important;
}


/* ===== v343: form annuncio desktop full-screen + sidebar area riservata ===== */
.listing-form-desktop-sidebar{display:none}
@media (min-width:900px){
  body.listing-form-body{padding-bottom:0!important;background:#f4f6f8!important}
  body.listing-form-body .site-header{position:sticky!important;top:0!important;z-index:2600!important;background:#fff!important}
  body.listing-form-body .site-header .header-inner{width:100%!important;max-width:none!important;padding-left:96px!important;padding-right:24px!important;box-sizing:border-box!important}
  body.listing-form-body .brand{margin-right:auto!important}
  body.listing-form-body .listing-form-desktop-sidebar{
    position:fixed!important;top:70px!important;left:0!important;bottom:0!important;width:82px!important;
    display:flex!important;flex-direction:column!important;padding:14px 8px!important;box-sizing:border-box!important;
    border-right:1px solid #dde5eb!important;background:#fff!important;z-index:2500!important
  }
  body.listing-form-body .listing-form-desktop-sidebar a,
  body.listing-form-body .listing-form-desktop-sidebar button{
    width:100%!important;min-height:62px!important;padding:7px 4px!important;border:0!important;border-radius:10px!important;
    background:transparent!important;color:#42586a!important;text-decoration:none!important;display:flex!important;flex-direction:column!important;
    align-items:center!important;justify-content:center!important;gap:5px!important;font:inherit!important;font-size:11px!important;font-weight:750!important;cursor:pointer!important
  }
  body.listing-form-body .listing-form-desktop-sidebar a:hover,
  body.listing-form-body .listing-form-desktop-sidebar button:hover,
  body.listing-form-body .listing-form-desktop-sidebar a.is-active{background:#eef7fd!important;color:#0b7cc1!important}
  body.listing-form-body .listing-form-desktop-sidebar svg{width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  body.listing-form-body .listing-form-desktop-sidebar button:last-child{margin-top:auto!important;color:#cf3a3a!important}

  body.listing-form-body .listing-form-page{width:auto!important;max-width:none!important;margin:0 0 0 82px!important;min-height:calc(100vh - 70px)!important;background:#f4f6f8!important}
  body.listing-form-body .listing-form-appbar{top:70px!important;min-height:72px!important;padding:10px 30px!important;grid-template-columns:42px minmax(0,1fr) 42px!important;z-index:2400!important}
  body.listing-form-body .listing-form-appbar h1{font-size:24px!important}
  body.listing-form-body .listing-form-tabs{top:142px!important;z-index:2390!important;padding:0 28px!important;overflow:visible!important}
  body.listing-form-body .listing-form-tabs button{min-height:52px!important;font-size:14px!important}
  body.listing-form-body [data-listing-form]{max-width:none!important;width:100%!important;padding:20px 28px 50px!important;box-sizing:border-box!important}
  body.listing-form-body .listing-form-panel{padding:0!important;max-width:none!important;width:100%!important}
  body.listing-form-body .listing-form-card{border-radius:4px!important;padding:24px 28px!important;margin:0 0 16px!important;box-shadow:none!important}
  body.listing-form-body .listing-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:2px 34px!important}
  body.listing-form-body .listing-form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.listing-form-body .listing-form-card input,
  body.listing-form-body .listing-form-card select,
  body.listing-form-body .listing-form-card textarea{border-radius:3px!important;min-height:46px!important}
  body.listing-form-body .listing-form-map-placeholder{border-radius:4px!important}
  body.listing-form-body .listing-form-section-nav{max-width:none!important;margin:8px 0 0!important}
  body.listing-form-body .listing-form-submit-wrap{position:static!important;padding:12px 0 0!important;background:transparent!important}
  body.listing-form-body .listing-form-submit{width:auto!important;min-width:260px!important;margin-left:auto!important;border-radius:4px!important;padding:0 28px!important}
  body.listing-form-body .listing-form-message{margin:0 0 8px!important}
  body.listing-form-body .logged-bottom-nav{display:none!important}
}
@media (min-width:1400px){
  body.listing-form-body [data-listing-form]{padding-left:42px!important;padding-right:42px!important}
  body.listing-form-body .listing-form-appbar{padding-left:44px!important;padding-right:44px!important}
  body.listing-form-body .listing-form-tabs{padding-left:42px!important;padding-right:42px!important}
}

/* Area profilo: niente footer */
body.account-body .site-footer{display:none!important}


/* ===== v344 — form annuncio: layout principale + fix sidebar mobile ===== */

/* La sidebar dell'area riservata è SOLO desktop. Questa regola finale evita
   che vecchi override la rendano visibile su telefono. */
@media (max-width:899px){
  body.listing-form-body .listing-form-desktop-sidebar{
    display:none!important;
    position:static!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
  }

  body.listing-form-body .listing-form-page{
    margin-left:0!important;
    width:100%!important;
    max-width:none!important;
  }
}

/* Struttura comune: stesso ordine logico su desktop e mobile. */
body.listing-form-body .listing-main-fields{
  display:flex;
  flex-direction:column;
  gap:0;
}

body.listing-form-body .listing-main-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:24px;
  align-items:end;
}

body.listing-form-body .listing-main-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}

body.listing-form-body .listing-main-field>span{
  color:#172b3d;
  font-weight:800;
}

body.listing-form-body .listing-main-field--full{
  width:100%;
}

body.listing-form-body .listing-main-row [hidden]{
  display:none!important;
}

body.listing-form-body .listing-toggle--inline{
  margin:0!important;
  min-height:58px;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
}

body.listing-form-body .listing-toggle--inline>span{
  min-width:0;
}

body.listing-form-body .listing-toggle--inline>span strong,
body.listing-form-body .listing-toggle--inline>span small{
  display:block;
}

body.listing-form-body .listing-toggle--inline>span small{
  margin-top:3px;
}

@media (min-width:900px){
  /* separatore netto tra navbar principale e area modifica/pubblicazione */
  body.listing-form-body .site-header{
    border-bottom:1px solid #dbe3e9!important;
    box-shadow:none!important;
  }

  body.listing-form-body .listing-form-appbar{
    border-bottom:1px solid #dbe3e9!important;
  }

  body.listing-form-body .listing-main-fields{
    gap:0!important;
  }

  body.listing-form-body .listing-main-row,
  body.listing-form-body .listing-main-field--full{
    padding:15px 0!important;
    border-bottom:1px solid #e6ebef!important;
  }

  body.listing-form-body .listing-main-row:first-child{
    padding-top:6px!important;
  }

  body.listing-form-body .listing-main-row--reference{
    grid-template-columns:minmax(0,1fr) minmax(340px,.72fr)!important;
  }

  body.listing-form-body .listing-main-row--contract{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }

  body.listing-form-body .listing-main-row--price{
    grid-template-columns:minmax(0,1fr) minmax(340px,.72fr)!important;
  }

  body.listing-form-body .listing-main-row--expenses{
    grid-template-columns:minmax(340px,.72fr) minmax(0,1fr)!important;
  }

  body.listing-form-body .listing-active-toggle{
    align-self:end!important;
  }

  body.listing-form-body .listing-main-field input,
  body.listing-form-body .listing-main-field select{
    min-height:46px!important;
  }

  body.listing-form-body .listing-main-field textarea{
    min-height:150px!important;
  }
}

@media (max-width:899px){
  body.listing-form-body .listing-main-row{
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:0!important;
  }

  body.listing-form-body .listing-main-fields{
    gap:14px!important;
  }

  body.listing-form-body .listing-main-field,
  body.listing-form-body .listing-toggle--inline{
    width:100%!important;
    box-sizing:border-box!important;
  }

  /* riferimento seguito immediatamente dallo switch Annuncio attivo */
  body.listing-form-body .listing-main-row--reference{
    gap:10px!important;
  }

  body.listing-form-body .listing-toggle--inline{
    min-height:52px!important;
    padding:4px 0!important;
  }

  body.listing-form-body .listing-main-field input,
  body.listing-form-body .listing-main-field select{
    width:100%!important;
    box-sizing:border-box!important;
  }

  /* impedisce alle SVG della sidebar desktop di ereditare regole generiche
     e apparire enormi anche durante il parsing/layout mobile */
  body.listing-form-body .listing-form-desktop-sidebar svg{
    width:0!important;
    height:0!important;
    max-width:0!important;
    max-height:0!important;
  }
}

/* ===== v345 — form annuncio organizzato per macro-dati ===== */
body.listing-form-body .listing-form-card--macro{
  padding:0!important;
  overflow:hidden;
}
body.listing-form-body .listing-form-card--macro > .listing-form-macro-title{
  padding:17px 22px;
  background:#f5f6f7;
  border-bottom:1px solid #dfe4e8;
}
body.listing-form-body .listing-form-macro-title h2{
  margin:0!important;
  font-size:18px;
  line-height:1.2;
  color:#152b3e;
}
body.listing-form-body .listing-form-macro-title p{
  margin:5px 0 0;
  color:#6b7884;
  font-size:13px;
}
body.listing-form-body .listing-form-card--macro > .listing-main-fields,
body.listing-form-body .listing-form-card--macro > .listing-main-row,
body.listing-form-body .listing-form-card--macro > .listing-form-grid,
body.listing-form-body .listing-form-card--macro > label,
body.listing-form-body .listing-form-card--macro > .listing-form-map-placeholder{
  margin-left:24px;
  margin-right:24px;
}
body.listing-form-body .listing-form-card--macro > .listing-main-fields,
body.listing-form-body .listing-form-card--macro > .listing-form-grid{
  padding-top:12px;
  padding-bottom:14px;
}
body.listing-form-body .listing-form-card--macro > label{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:4px;
  margin-bottom:16px;
}
body.listing-form-body .listing-form-card--macro > .listing-form-map-placeholder{
  margin-bottom:22px;
}
body.listing-form-body .listing-form-card--reference-state > .listing-main-row{
  padding:18px 0 22px!important;
}

@media (min-width:900px){
  body.listing-form-body .listing-form-card--macro{
    margin-bottom:18px!important;
  }
  body.listing-form-body .listing-form-card--macro .listing-main-row{
    padding:14px 0!important;
  }
  body.listing-form-body .listing-form-card--macro .listing-main-row:last-child{
    border-bottom:0!important;
  }
  body.listing-form-body .listing-form-card--macro .listing-main-field--full{
    padding:14px 0!important;
  }
  body.listing-form-body .listing-form-card--macro > .listing-form-grid{
    padding-top:20px;
  }
}

@media (max-width:899px){
  body.listing-form-body .listing-form-card--macro > .listing-form-macro-title{
    padding:14px 16px;
  }
  body.listing-form-body .listing-form-macro-title h2{
    font-size:17px;
  }
  body.listing-form-body .listing-form-card--macro > .listing-main-fields,
  body.listing-form-body .listing-form-card--macro > .listing-main-row,
  body.listing-form-body .listing-form-card--macro > .listing-form-grid,
  body.listing-form-body .listing-form-card--macro > label,
  body.listing-form-body .listing-form-card--macro > .listing-form-map-placeholder{
    margin-left:14px;
    margin-right:14px;
  }
  body.listing-form-body .listing-form-card--macro > .listing-main-fields,
  body.listing-form-body .listing-form-card--macro > .listing-form-grid{
    padding-top:12px;
    padding-bottom:14px;
  }
  body.listing-form-body .listing-form-card--reference-state > .listing-main-row{
    padding:14px 0 18px!important;
  }
}


/* ===== v346 — macro form, asta e area personale senza footer ===== */
body.personal-area-body .site-footer,
body.listing-form-body .site-footer{display:none!important;}

body.listing-form-body .listing-form-macro-title{
  background:#eaf2f8!important;
  border-bottom:1px solid #cbd9e4!important;
  border-left:4px solid #0b7fc4!important;
  padding:17px 22px 16px 18px!important;
}
body.listing-form-body .listing-form-macro-title h2{
  color:#102a43!important;
  font-size:19px!important;
  font-weight:900!important;
  letter-spacing:-.01em;
}
body.listing-form-body .listing-form-macro-title p{display:none!important;}

body.listing-form-body .listing-input-with-prefix{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:stretch!important;
  width:100%!important;
  min-height:46px;
}
body.listing-form-body .listing-input-with-prefix>b{
  display:flex;align-items:center;justify-content:center;
  padding:0 13px;
  border:1px solid #d5dfe7;
  border-right:0;
  border-radius:4px 0 0 4px;
  background:#f6f8fa;
  color:#52677a;
  font-size:13px;
  white-space:nowrap;
}
body.listing-form-body .listing-input-with-prefix>input{
  min-width:0!important;
  width:100%!important;
  border-radius:0 4px 4px 0!important;
}

@media (min-width:900px){
  body.listing-form-body .listing-main-row--reference{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(280px,.65fr)!important;
    align-items:end!important;
  }
  body.listing-form-body .listing-form-card--auction .listing-main-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:899px){
  body.listing-form-body .listing-form-macro-title{
    padding:14px 16px 13px 12px!important;
    border-left-width:3px!important;
  }
  body.listing-form-body .listing-form-macro-title h2{font-size:18px!important;}
  body.listing-form-body .listing-input-with-prefix{min-height:48px;}
}

/* ===== v347 — zone dinamiche, mappa indirizzo e bozze ===== */
body.listing-form-body [data-zone-field][hidden],
body.listing-form-body [data-auction-fields][hidden],
body.listing-form-body [data-rent-frequency][hidden],
body.listing-form-body [data-rent-contract][hidden],
body.listing-form-body [data-expenses-field][hidden],
body.listing-form-body [data-heating-expenses-field][hidden]{display:none!important;}

body.listing-form-body .listing-address-field{position:relative;}
body.listing-form-body .listing-address-suggestions{
  position:absolute;
  left:0;right:0;top:calc(100% + 4px);
  z-index:1200;
  background:#fff;
  border:1px solid #ccd9e3;
  border-radius:10px;
  box-shadow:0 12px 30px rgba(22,49,70,.14);
  overflow:hidden;
  max-height:280px;
  overflow-y:auto;
}
body.listing-form-body .listing-address-suggestions button{
  width:100%;
  border:0;
  border-bottom:1px solid #edf1f4;
  background:#fff;
  color:#173149;
  text-align:left;
  padding:11px 13px;
  font:inherit;
  cursor:pointer;
}
body.listing-form-body .listing-address-suggestions button:hover{background:#f2f8fc;}
body.listing-form-body .listing-address-suggestions button:last-child{border-bottom:0;}

body.listing-form-body .listing-form-map{
  height:280px;
  margin:8px 24px 0;
  border:1px solid #cfdce6;
  border-radius:12px;
  overflow:hidden;
  background:#edf3f6;
}
body.listing-form-body .listing-form-map-status{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:8px 24px 22px;
  padding:10px 12px;
  color:#477087;
  font-size:13px;
  background:#f5f9fc;
  border:1px dashed #c7d9e5;
  border-radius:10px;
}
body.listing-form-body .listing-form-map-status svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;}

body.listing-form-body .listing-form-submit-wrap{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap;
}
body.listing-form-body .listing-form-draft{
  min-height:46px;
  border:1px solid #0b7fc4;
  border-radius:8px;
  background:#fff;
  color:#0878bc;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:800;
  cursor:pointer;
}
body.listing-form-body .listing-form-draft svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;}
body.listing-form-body .listing-form-draft:disabled{opacity:.55;cursor:wait;}

.managed-property-status.is-draft{
  background:#fff6db!important;
  color:#8c6500!important;
  border-color:#f1d273!important;
}
.managed-property-status.is-draft .managed-property-status-dot{background:#e6a800!important;}

@media (max-width:899px){
  body.listing-form-body .listing-form-map{height:220px;margin:8px 14px 0;}
  body.listing-form-body .listing-form-map-status{margin:8px 14px 18px;font-size:12px;align-items:flex-start;}
  body.listing-form-body .listing-form-submit-wrap{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
  body.listing-form-body .listing-form-draft,
  body.listing-form-body .listing-form-submit{width:100%!important;min-width:0!important;padding-left:8px!important;padding-right:8px!important;}
}

/* ===== v348 — wizard annuncio più intuitivo, riepilogo e mappa affiancata ===== */
body.listing-form-body .listing-form-tabs{
  gap:0!important;
  border-bottom:1px solid #d7e1e8!important;
  background:#fff!important;
}
body.listing-form-body .listing-form-tabs button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  color:#52677a!important;
  font-weight:800!important;
}
body.listing-form-body .listing-form-tabs button>b{
  width:26px;height:26px;
  display:grid;place-items:center;
  border:1px solid #cbd7e0;
  border-radius:50%;
  background:#fff;
  color:#607487;
  font-size:12px;
  line-height:1;
}
body.listing-form-body .listing-form-tabs button.is-active{
  color:#0879be!important;
  background:#f5fbff!important;
}
body.listing-form-body .listing-form-tabs button.is-active>b{
  border-color:#0b80c7;
  background:#0b80c7;
  color:#fff;
}
body.listing-form-body .listing-form-tabs button.is-active::after{
  left:24%!important;right:24%!important;height:3px!important;
}

body.listing-form-body .listing-address-map-layout{
  padding:22px 24px 24px;
  display:grid;
  grid-template-columns:minmax(320px,.78fr) minmax(520px,1.22fr);
  gap:24px;
  align-items:stretch;
}
body.listing-form-body .listing-address-map-fields{
  display:flex;
  flex-direction:column;
  gap:14px;
}
body.listing-form-body .listing-address-map-fields>label{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin:0!important;
}
body.listing-form-body .listing-address-map-fields>label>span:first-child{
  font-size:13px;
  font-weight:850;
  color:#173149;
}
body.listing-form-body .listing-address-map-preview{
  position:relative;
  min-height:360px;
  border:1px solid #d7e1e8;
  border-radius:14px;
  overflow:hidden;
  background:#edf3f6;
  box-shadow:0 2px 10px rgba(24,52,74,.05);
}
body.listing-form-body .listing-address-map-preview .listing-form-map{
  height:100%;
  min-height:360px;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
}
body.listing-form-body .listing-address-map-preview .listing-form-map-status{
  position:absolute;
  z-index:500;
  left:14px;right:14px;bottom:14px;
  margin:0!important;
  padding:11px 14px;
  justify-content:flex-start;
  background:rgba(255,255,255,.96);
  border:1px solid #d9e3ea;
  border-radius:11px;
  box-shadow:0 4px 16px rgba(19,47,70,.13);
  color:#315f7d;
}

body.listing-form-body .listing-form-summary-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:24px;
  margin-bottom:16px;
  border:1px solid #cfe0ec;
  border-radius:14px;
  background:linear-gradient(135deg,#f4faff,#fff);
}
body.listing-form-body .listing-summary-kicker{
  display:block;
  margin-bottom:5px;
  color:#0879be;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
body.listing-form-body .listing-form-summary-head h2{margin:0 0 7px;font-size:24px;color:#102a43;}
body.listing-form-body .listing-form-summary-head p{margin:0;max-width:760px;color:#607386;font-size:14px;}
body.listing-form-body .listing-summary-status{
  flex:0 0 auto;
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 12px;border-radius:999px;
  background:#fff4e5;color:#9a5b00;border:1px solid #f2d39a;
  font-size:12px;font-weight:850;
}
body.listing-form-body .listing-summary-status>i{width:8px;height:8px;border-radius:50%;background:#e59b1a;}
body.listing-form-body .listing-summary-status.is-ready{background:#eaf8ef;color:#197443;border-color:#bfe4cc;}
body.listing-form-body .listing-summary-status.is-ready>i{background:#27a85e;}
body.listing-form-body .listing-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
body.listing-form-body .listing-summary-card{
  border:1px solid #dbe4ea;
  border-radius:13px;
  background:#fff;
  overflow:hidden;
}
body.listing-form-body .listing-summary-card>header{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px;border-bottom:1px solid #e8eef2;background:#f8fafb;
}
body.listing-form-body .listing-summary-card h3{margin:0;font-size:15px;color:#173149;}
body.listing-form-body .listing-summary-card header button{
  border:0;background:none;color:#0879be;font-size:12px;font-weight:850;cursor:pointer;
}
body.listing-form-body .listing-summary-card>div{padding:8px 16px 13px;}
body.listing-form-body .listing-summary-card>div>div{
  display:flex;justify-content:space-between;gap:18px;
  padding:8px 0;border-bottom:1px solid #eef2f5;font-size:13px;
}
body.listing-form-body .listing-summary-card>div>div:last-child{border-bottom:0;}
body.listing-form-body .listing-summary-card>div span{color:#708090;}
body.listing-form-body .listing-summary-card>div strong{color:#173149;text-align:right;}
body.listing-form-body .listing-summary-publish{
  margin-top:16px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:18px 20px;
  border:1px solid #d7e1e8;border-radius:13px;background:#fff;
}
body.listing-form-body .listing-summary-publish>div{display:flex;flex-direction:column;gap:4px;}
body.listing-form-body .listing-summary-publish>div>strong{font-size:15px;color:#173149;}
body.listing-form-body .listing-summary-publish>div>span{font-size:12px;color:#6b7c8c;}
body.listing-form-body .listing-form-submit--publish{position:static!important;min-width:190px!important;}
body.listing-form-body .listing-form-submit--publish:disabled{opacity:.45;cursor:not-allowed;}

body.listing-form-body .listing-form-save-progress{min-width:180px;}
body.listing-form-body .listing-form-submit-wrap{display:flex!important;justify-content:flex-end!important;}

@media (max-width:899px){
  body.listing-form-body .listing-form-tabs{
    justify-content:flex-start!important;
    overflow-x:auto!important;
    scrollbar-width:none;
    padding:0 6px!important;
  }
  body.listing-form-body .listing-form-tabs::-webkit-scrollbar{display:none;}
  body.listing-form-body .listing-form-tabs button{
    flex:0 0 auto!important;
    min-width:118px!important;
    padding:0 10px!important;
    gap:6px!important;
  }
  body.listing-form-body .listing-form-tabs button>b{width:22px;height:22px;font-size:11px;}
  body.listing-form-body .listing-address-map-layout{
    padding:14px;
    grid-template-columns:1fr;
    gap:14px;
  }
  body.listing-form-body .listing-address-map-preview{min-height:245px;}
  body.listing-form-body .listing-address-map-preview .listing-form-map{min-height:245px;}
  body.listing-form-body .listing-address-map-preview .listing-form-map-status{left:9px;right:9px;bottom:9px;font-size:11px;}
  body.listing-form-body .listing-form-summary-head{padding:17px;flex-direction:column;gap:12px;}
  body.listing-form-body .listing-form-summary-head h2{font-size:20px;}
  body.listing-form-body .listing-summary-grid{grid-template-columns:1fr;}
  body.listing-form-body .listing-summary-publish{flex-direction:column;align-items:stretch;}
  body.listing-form-body .listing-form-submit--publish{width:100%!important;}
  body.listing-form-body .listing-form-submit-wrap{display:flex!important;justify-content:stretch!important;}
  body.listing-form-body .listing-form-save-progress{width:100%!important;}
}

/* ===== v349 — wizard compatto stile gestionale + mappa 50/50 ===== */
@media (min-width:900px){
  body.listing-form-body .listing-form-tabs{
    display:flex!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    padding:0!important;
    border-bottom:1px solid #dbe3e9!important;
    background:#fff!important;
  }
  body.listing-form-body .listing-form-tabs button{
    flex:0 0 84px!important;
    width:84px!important;
    min-width:84px!important;
    min-height:58px!important;
    padding:0!important;
    gap:0!important;
    border-right:1px solid #e2e8ed!important;
    border-radius:0!important;
    background:#fff!important;
    color:#0879be!important;
    font-size:14px!important;
    font-weight:700!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    transition:flex-basis .18s ease,width .18s ease,background .18s ease!important;
  }
  body.listing-form-body .listing-form-tabs button>b{
    display:block!important;
    width:auto!important;height:auto!important;
    margin:0!important;
    border:0!important;border-radius:0!important;
    background:transparent!important;
    color:inherit!important;
    font-size:15px!important;
    line-height:1!important;
  }
  body.listing-form-body .listing-form-tabs button>span{
    display:none!important;
    margin-left:14px!important;
    font-size:15px!important;
    font-weight:700!important;
  }
  body.listing-form-body .listing-form-tabs button.is-active{
    flex-basis:300px!important;
    width:300px!important;
    justify-content:flex-start!important;
    padding:0 28px!important;
    background:#f5fbff!important;
  }
  body.listing-form-body .listing-form-tabs button.is-active>span{display:inline!important;}
  body.listing-form-body .listing-form-tabs button.is-active::after{display:none!important;content:none!important;}

  body.listing-form-body .listing-address-map-layout{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:22px!important;
  }
  body.listing-form-body .listing-address-map-fields,
  body.listing-form-body .listing-address-map-preview{min-width:0!important;width:100%!important;}
}

@media (max-width:899px){
  body.listing-form-body .listing-form-tabs{gap:0!important;padding:0!important;overflow-x:auto!important;}
  body.listing-form-body .listing-form-tabs button{
    flex:0 0 54px!important;
    width:54px!important;min-width:54px!important;
    min-height:46px!important;
    padding:0!important;gap:0!important;
    border-right:1px solid #e7edf1!important;
    border-radius:0!important;background:#fff!important;
  }
  body.listing-form-body .listing-form-tabs button>b{
    display:block!important;width:auto!important;height:auto!important;
    border:0!important;border-radius:0!important;background:transparent!important;
    color:#0879be!important;font-size:12px!important;
  }
  body.listing-form-body .listing-form-tabs button>span{display:none!important;}
  body.listing-form-body .listing-form-tabs button.is-active{
    flex-basis:150px!important;width:150px!important;
    justify-content:flex-start!important;padding:0 14px!important;
    background:#f5fbff!important;
  }
  body.listing-form-body .listing-form-tabs button.is-active>span{display:inline!important;margin-left:8px!important;font-size:12px!important;}
  body.listing-form-body .listing-form-tabs button.is-active::after{display:none!important;content:none!important;}
}

/* ===== v350 — wizard riepilogo sempre raggiungibile, mappa coerente con app/dettaglio ===== */
body.listing-form-body .listing-form-map-heading{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:10px 13px;
  border:1px solid #dce5eb;
  border-bottom:0;
  border-radius:14px 14px 0 0;
  background:#fff;
  color:#17324a;
  font-size:13px;
  font-weight:750;
}
body.listing-form-body .listing-form-map-heading svg{width:19px;height:19px;fill:none;stroke:#337ab7;stroke-width:1.8;}
body.listing-form-body .listing-address-map-preview .listing-form-map{border-radius:0!important;}

@media (min-width:1200px){
  /* Il riepilogo resta leggibile quando lo spazio desktop lo consente. */
  body.listing-form-body .listing-form-tabs button[data-form-tab="summary"]{
    flex-basis:180px!important;
    width:180px!important;
    padding:0 22px!important;
    justify-content:flex-start!important;
  }
  body.listing-form-body .listing-form-tabs button[data-form-tab="summary"]>span{
    display:inline!important;
    margin-left:12px!important;
    font-size:15px!important;
    font-weight:700!important;
  }
  body.listing-form-body .listing-form-tabs button[data-form-tab="summary"].is-active{
    flex-basis:300px!important;
    width:300px!important;
  }

  /* La bottom-nav è esclusivamente mobile nella gestione annunci. */
  body.listing-form-body .logged-nav-host,
  body.listing-form-body .logged-bottom-nav,
  body.listing-form-body .professional-bottom-nav,
  body.listing-form-body .logged-nav-host.is-professional .logged-bottom-nav--professional{
    display:none!important;
  }
}

@media (min-width:900px) and (max-width:1199px){
  body.listing-form-body .logged-nav-host,
  body.listing-form-body .logged-bottom-nav,
  body.listing-form-body .professional-bottom-nav,
  body.listing-form-body .logged-nav-host.is-professional .logged-bottom-nav--professional{
    display:none!important;
  }
}

@media (max-width:899px){
  /* Salvataggio sempre raggiungibile sopra la navbar mobile. */
  body.listing-form-body .listing-form-submit-wrap{
    position:sticky!important;
    bottom:72px!important;
    z-index:2395!important;
    padding:10px 14px!important;
    margin:0 -14px!important;
    background:linear-gradient(to bottom,rgba(245,247,249,0),#f5f7f9 32%)!important;
  }
  body.listing-form-body .listing-form-save-progress{
    width:100%!important;
    min-height:48px!important;
  }
  body.listing-form-body .listing-form-page{padding-bottom:88px!important;}
  body.listing-form-body .listing-form-map-heading{font-size:12px;}
}

/* ===== v352 — area mappa, azioni mobile annunci, barra salvataggio ===== */
body.listing-form-body .leaflet-pane.leaflet-privacyAreaPane-pane{
  z-index:460!important;
  pointer-events:none!important;
}
body.listing-form-body .leaflet-privacyAreaPane-pane svg{
  display:block!important;
  overflow:visible!important;
}
body.listing-form-body .leaflet-privacyAreaPane-pane path{
  display:block!important;
  stroke:#1684d6!important;
  stroke-width:3px!important;
  stroke-opacity:1!important;
  fill:#1684d6!important;
  fill-opacity:.18!important;
}

@media (min-width:900px){
  body.listing-form-body .listing-form-bottom-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:14px!important;
    margin-top:14px!important;
  }
  body.listing-form-body .listing-form-bottom-row .listing-form-section-nav,
  body.listing-form-body .listing-form-bottom-row .listing-form-submit-wrap{
    margin:0!important;
    padding:0!important;
  }
  body.listing-form-body .listing-form-bottom-row .listing-form-submit-wrap{
    position:static!important;
    display:flex!important;
    align-items:center!important;
  }
  body.listing-form-body .listing-form-bottom-row .listing-form-save-progress{
    min-height:48px!important;
    min-width:190px!important;
  }
}

@media (max-width:899px){
  body.listing-form-body .listing-form-bottom-row{display:block!important;}
  body.listing-form-body .listing-form-bottom-row .listing-form-submit-wrap{
    position:sticky!important;
    bottom:72px!important;
    z-index:2395!important;
    padding:10px 14px!important;
    margin:0 -14px!important;
    background:linear-gradient(to bottom,rgba(245,247,249,0),#f5f7f9 32%)!important;
  }

  body.my-listings-body .managed-property-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px!important;
    gap:8px!important;
  }
  body.my-listings-body .managed-property-actions .managed-property-edit{
    width:100%!important;
    min-width:0!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 12px!important;
  }
  body.my-listings-body .managed-property-actions .managed-property-delete{
    width:44px!important;
    min-width:44px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
  }
  body.my-listings-body .managed-property-actions .managed-property-delete span{display:none!important;}
}


/* ===== v353 — Comune con autocomplete come app + area privacy canvas ===== */
body.listing-form-body .listing-municipality-field{
  position:relative;
}
body.listing-form-body .listing-municipality-field > input{
  width:100%;
}
body.listing-form-body .listing-municipality-suggestions{
  z-index:2600;
}
body.listing-form-body .listing-form-map .leaflet-canvas-pane canvas,
body.listing-form-body .listing-form-map .leaflet-overlay-pane svg{
  pointer-events:none;
}


/* ===== v297 — form annuncio: proporzioni campi + tooltip riferimento ===== */
@media (min-width:900px){
  body.listing-form-body .listing-main-row--price,
  body.listing-form-body .listing-main-row--reference{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:24px!important;
  }
  body.listing-form-body .listing-main-row--price > *,
  body.listing-form-body .listing-main-row--reference > *{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}
body.listing-form-body input[name="annuncioPrezzoModal"]{
  width:100%!important;
  box-sizing:border-box!important;
  appearance:textfield!important;
  -moz-appearance:textfield!important;
}
body.listing-form-body input[name="annuncioPrezzoModal"]::-webkit-outer-spin-button,
body.listing-form-body input[name="annuncioPrezzoModal"]::-webkit-inner-spin-button{
  -webkit-appearance:none!important;
  appearance:none!important;
  margin:0!important;
}
body.listing-form-body .listing-label-with-help{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  position:relative;
  width:max-content;
  max-width:100%;
}
body.listing-form-body .listing-help-tip{
  position:relative;
  display:inline-flex!important;
  width:19px!important;
  height:19px!important;
  flex:0 0 19px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#087fc3!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  cursor:help!important;
  user-select:none;
  outline:none;
  box-shadow:0 0 0 2px rgba(8,127,195,.08);
}
body.listing-form-body .listing-help-tip:hover,
body.listing-form-body .listing-help-tip:focus{
  background:#056aa5!important;
  box-shadow:0 0 0 4px rgba(8,127,195,.14);
}
body.listing-form-body .listing-help-tip::after{
  content:attr(data-help);
  position:absolute;
  left:50%;
  bottom:calc(100% + 10px);
  transform:translateX(-50%);
  width:300px;
  max-width:min(300px,82vw);
  padding:11px 13px;
  border-radius:8px;
  background:#17212b;
  color:#fff;
  font-size:12px;
  line-height:1.45;
  font-weight:600;
  text-align:left;
  white-space:normal;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:3000;
  box-shadow:0 8px 24px rgba(0,0,0,.20);
  transition:opacity .15s ease,visibility .15s ease;
}
body.listing-form-body .listing-help-tip::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:calc(100% + 4px);
  transform:translateX(-50%);
  border:6px solid transparent;
  border-top-color:#17212b;
  opacity:0;
  visibility:hidden;
  z-index:3001;
}
body.listing-form-body .listing-help-tip:hover::after,
body.listing-form-body .listing-help-tip:focus::after,
body.listing-form-body .listing-help-tip:hover::before,
body.listing-form-body .listing-help-tip:focus::before{
  opacity:1;
  visibility:visible;
}
@media (max-width:899px){
  body.listing-form-body .listing-help-tip::after{
    left:0;
    transform:none;
  }
  body.listing-form-body .listing-help-tip::before{
    left:8px;
    transform:none;
  }
}


/* ===== v298 — tooltip riferimento, mappa mobile, azioni finali ===== */
body.listing-form-body .listing-form-card--reference-state{
  overflow:visible!important;
  position:relative;
  z-index:30;
}

body.listing-form-body .listing-help-tip{
  z-index:60!important;
}

body.listing-form-body .listing-help-tip::after{
  top:calc(100% + 10px)!important;
  bottom:auto!important;
  left:0!important;
  transform:none!important;
  z-index:9999!important;
}

body.listing-form-body .listing-help-tip::before{
  top:calc(100% + 4px)!important;
  bottom:auto!important;
  left:5px!important;
  transform:none!important;
  border:6px solid transparent!important;
  border-bottom-color:#17212b!important;
  border-top-color:transparent!important;
  z-index:10000!important;
}

@media (max-width:899px){
  body.listing-form-body .listing-form-card--reference-state{
    overflow:visible!important;
    z-index:80!important;
  }

  body.listing-form-body .listing-help-tip::after{
    width:min(310px,calc(100vw - 62px))!important;
    max-width:calc(100vw - 62px)!important;
    left:0!important;
    right:auto!important;
    top:calc(100% + 10px)!important;
    bottom:auto!important;
    transform:none!important;
  }

  body.listing-form-body .listing-address-map-preview .listing-form-map{
    min-height:200px!important;
    height:200px!important;
  }

  body.listing-form-body .listing-address-map-preview{
    margin-bottom:14px!important;
  }

  body.listing-form-body .listing-form-card--address-map{
    padding-bottom:18px!important;
  }

  body.listing-form-body .listing-form-bottom-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:16px!important;
    padding-bottom:86px!important;
  }

  body.listing-form-body .listing-form-bottom-row .listing-form-section-nav,
  body.listing-form-body .listing-form-bottom-row .listing-form-submit-wrap{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    position:static!important;
    background:none!important;
  }

  body.listing-form-body .listing-form-bottom-row .listing-form-step-button--next,
  body.listing-form-body .listing-form-bottom-row .listing-form-save-progress{
    width:100%!important;
    min-height:54px!important;
    height:54px!important;
    border-radius:10px!important;
    box-sizing:border-box!important;
  }

  body.listing-form-body .listing-form-page{
    padding-bottom:105px!important;
  }
}

/* ===== v299 — step 2 caratteristiche + mobile nav/map/final actions ===== */
body.listing-form-body .listing-details-grid{
  padding:18px 22px 20px!important;
  margin:0!important;
  gap:18px 22px!important;
}
body.listing-form-body .listing-form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr));}
body.listing-form-body .listing-form-grid--four{grid-template-columns:repeat(4,minmax(0,1fr));}
body.listing-form-body .listing-grid-span-2{grid-column:span 2;}
body.listing-form-body [data-accessory-field][hidden]{display:none!important;}
body.listing-form-body [data-accessory-field]{animation:listingFieldReveal .16s ease both;}
@keyframes listingFieldReveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

@media (min-width:900px){
  body.listing-form-body .listing-form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.listing-form-body .listing-form-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  body.listing-form-body .listing-form-panel[data-form-panel="details"] .listing-form-card--macro{
    border:1px solid #dbe4eb!important;
    border-radius:5px!important;
    overflow:hidden!important;
  }
}

@media (max-width:899px){
  body.listing-form-body .listing-form-grid--two,
  body.listing-form-body .listing-form-grid--three,
  body.listing-form-body .listing-form-grid--four,
  body.listing-form-body .listing-details-grid{
    grid-template-columns:1fr!important;
  }
  body.listing-form-body .listing-grid-span-2{grid-column:auto!important;}
  body.listing-form-body .listing-details-grid{
    padding:14px 11px 16px!important;
    gap:12px!important;
  }

  /* Leaflet e la mappa devono restare SEMPRE sotto la navbar inferiore. */
  body.listing-form-body .listing-form-card--address-map,
  body.listing-form-body .listing-address-map-preview,
  body.listing-form-body .listing-form-map{
    position:relative!important;
    z-index:1!important;
  }
  body.listing-form-body .listing-form-map .leaflet-pane,
  body.listing-form-body .listing-form-map .leaflet-control{
    z-index:auto!important;
  }
  body.listing-form-body .logged-nav-host{
    position:relative!important;
    z-index:10000!important;
  }
  body.listing-form-body .logged-bottom-nav,
  body.listing-form-body .professional-bottom-nav{
    z-index:10001!important;
    background:#fff!important;
  }

  /* Azioni finali: margine laterale, uguale altezza e niente enorme vuoto finale. */
  body.listing-form-body .listing-form-bottom-row{
    width:auto!important;
    margin:18px 12px 0!important;
    padding:0 0 78px!important;
    gap:10px!important;
    box-sizing:border-box!important;
  }
  body.listing-form-body .listing-form-bottom-row .listing-form-section-nav,
  body.listing-form-body .listing-form-bottom-row .listing-form-submit-wrap{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    position:static!important;
    background:transparent!important;
  }
  body.listing-form-body .listing-form-bottom-row .listing-form-step-button,
  body.listing-form-body .listing-form-bottom-row .listing-form-save-progress{
    width:100%!important;
    height:52px!important;
    min-height:52px!important;
    border-radius:10px!important;
    box-sizing:border-box!important;
  }
  body.listing-form-body .listing-form-page{
    padding-bottom:0!important;
  }
}


/* ===== v301 - Gestione foto desktop: 6 miniature per riga ===== */
@media (min-width: 1024px){
  .listing-photo-grid{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:8px!important;
    align-items:start;
  }
  .listing-photo-item{min-width:0;cursor:grab}
  .listing-photo-item:active{cursor:grabbing}
  .listing-photo-item__image{
    aspect-ratio:4/3!important;
    min-height:0!important;
    height:auto!important;
  }
  .listing-photo-item__image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .listing-photo-edit-hint{
    right:29px!important;
    top:5px!important;
    font-size:8px!important;
    padding:3px 5px!important;
  }
  .listing-photo-item__image button{
    width:23px!important;
    height:23px!important;
    font-size:15px!important;
  }
  .listing-photo-type{
    min-height:32px!important;
    height:32px!important;
    margin-top:5px!important;
    padding:4px 7px!important;
    font-size:11px!important;
  }
}
@media (min-width: 900px) and (max-width: 1023px){
  .listing-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* ===== v303 — Contratto/prezzo stile gestionale, campi allineati desktop/mobile ===== */
body.listing-form-body .listing-form-card--costs .listing-cost-fields{
  padding-top:10px!important;
  padding-bottom:12px!important;
}
body.listing-form-body .listing-form-card--costs .listing-cost-grid,
body.listing-form-body .listing-form-card--costs .listing-cost-line{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:36px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid #e5ebef;
}
body.listing-form-body .listing-form-card--costs .listing-cost-line:last-child{border-bottom:0;}
body.listing-form-body .listing-form-card--costs .listing-cost-field{
  display:grid!important;
  grid-template-columns:170px minmax(0,1fr);
  gap:14px!important;
  align-items:center;
  min-width:0;
}
body.listing-form-body .listing-form-card--costs .listing-cost-field>span:first-child{
  margin:0!important;
  font-size:14px!important;
  font-weight:800!important;
  color:#173149!important;
  line-height:1.2;
}
body.listing-form-body .listing-form-card--costs .listing-cost-field>input,
body.listing-form-body .listing-form-card--costs .listing-cost-field>select,
body.listing-form-body .listing-form-card--costs .listing-input-with-prefix{
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  box-sizing:border-box!important;
}
body.listing-form-body .listing-form-card--costs .listing-cost-field>select,
body.listing-form-body .listing-form-card--costs .listing-cost-field>input{
  height:48px!important;
}
body.listing-form-body .listing-form-card--costs .listing-input-with-prefix>b{
  min-width:74px;
  padding:0 12px!important;
  font-size:14px!important;
  font-weight:750!important;
}
body.listing-form-body .listing-form-card--costs .listing-input-with-prefix>input{
  height:48px!important;
  min-height:48px!important;
}
body.listing-form-body .listing-form-card--costs input[type="number"]::-webkit-outer-spin-button,
body.listing-form-body .listing-form-card--costs input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
body.listing-form-body .listing-form-card--costs input[type="number"]{-moz-appearance:textfield;}
body.listing-form-body .listing-form-card--costs .listing-cost-toggle{
  min-height:48px!important;
  padding:0!important;
  margin:0!important;
}
body.listing-form-body .listing-form-card--costs .listing-cost-toggle>span strong{
  font-size:14px!important;
  line-height:1.2;
}
body.listing-form-body .listing-form-card--costs .listing-cost-toggle>span small{
  font-size:12px!important;
  line-height:1.25;
  color:#718190!important;
}
body.listing-form-body .listing-form-card--costs [hidden]{display:none!important;}

@media (min-width:900px){
  body.listing-form-body .listing-form-card--costs .listing-cost-grid{
    grid-auto-flow:row;
  }
  body.listing-form-body .listing-form-card--costs .listing-cost-spacer{display:block;}
}

@media (max-width:899px){
  body.listing-form-body .listing-form-card--costs .listing-cost-fields{
    padding-top:6px!important;
    padding-bottom:8px!important;
  }
  body.listing-form-body .listing-form-card--costs .listing-cost-grid,
  body.listing-form-body .listing-form-card--costs .listing-cost-line{
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:13px 0!important;
  }
  body.listing-form-body .listing-form-card--costs .listing-cost-field{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:7px!important;
  }
  body.listing-form-body .listing-form-card--costs .listing-cost-field>span:first-child{
    font-size:13px!important;
  }
  body.listing-form-body .listing-form-card--costs .listing-cost-spacer{display:none!important;}
  body.listing-form-body .listing-form-card--costs .listing-cost-toggle{
    width:100%!important;
    min-height:52px!important;
  }
  body.listing-form-body .listing-form-card--costs .listing-input-with-prefix>b{
    min-width:70px;
  }
}

/* ===== v304 — form orizzontale + messaggi desktop + logo agenzia header ===== */
.unified-agency-brand{
  display:flex;align-items:center;justify-content:center;max-width:190px;height:44px;padding:4px 10px;border:1px solid #d6e1e9;border-radius:12px;background:#fff;box-sizing:border-box;
}
.unified-agency-brand[hidden]{display:none!important}
.unified-agency-brand img{display:block;max-width:168px;max-height:34px;width:auto;height:auto;object-fit:contain}

@media (min-width:900px){
  /* Etichetta e campo sulla stessa linea nel form principale */
  body.listing-form-body .listing-form-panel[data-form-panel="main"] .listing-main-row > .listing-main-field,
  body.listing-form-body .listing-form-panel[data-form-panel="main"] .listing-main-field--full,
  body.listing-form-body .listing-form-card--reference-state .listing-main-field{
    display:grid!important;
    grid-template-columns:180px minmax(0,1fr)!important;
    align-items:center!important;
    gap:16px!important;
  }
  body.listing-form-body .listing-form-panel[data-form-panel="main"] .listing-main-field--full{align-items:start!important}
  body.listing-form-body .listing-form-panel[data-form-panel="main"] .listing-main-field--full>span{padding-top:13px}
  body.listing-form-body .listing-form-panel[data-form-panel="main"] .listing-main-field>span:first-child,
  body.listing-form-body .listing-form-card--reference-state .listing-main-field>span:first-child{margin:0!important;font-weight:800!important;color:#173149!important}
  body.listing-form-body .listing-form-panel[data-form-panel="main"] .listing-main-field input,
  body.listing-form-body .listing-form-panel[data-form-panel="main"] .listing-main-field select,
  body.listing-form-body .listing-form-panel[data-form-panel="main"] .listing-main-field textarea,
  body.listing-form-body .listing-form-card--reference-state .listing-main-field input{width:100%!important;min-width:0!important}

  /* Pagina 2: due campi per riga, ciascuno con label a sinistra e controllo a destra */
  body.listing-form-body .listing-form-panel[data-form-panel="details"] .listing-details-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px 34px!important;
  }
  body.listing-form-body .listing-form-panel[data-form-panel="details"] .listing-details-grid>label{
    display:grid!important;
    grid-template-columns:145px minmax(0,1fr)!important;
    align-items:center!important;
    gap:12px!important;
    min-width:0!important;
  }
  body.listing-form-body .listing-form-panel[data-form-panel="details"] .listing-details-grid>label>span:first-child{
    margin:0!important;font-weight:800!important;color:#173149!important;line-height:1.2!important
  }
  body.listing-form-body .listing-form-panel[data-form-panel="details"] .listing-details-grid>label input,
  body.listing-form-body .listing-form-panel[data-form-panel="details"] .listing-details-grid>label select{
    width:100%!important;min-width:0!important
  }
  body.listing-form-body .listing-form-panel[data-form-panel="details"] .listing-grid-span-2{
    grid-column:span 2!important;
  }

  /* messaggi desktop */
  body.messages-page-body{padding-bottom:0!important;background:#fff!important;overflow:hidden}
  body.messages-page-body .site-footer{display:none!important}
  body.messages-page-body .site-header{display:block!important;position:fixed!important;top:0;left:0;right:0;z-index:1200;height:72px;background:#fff;border-bottom:1px solid #e2e8ee}
  body.messages-page-body .site-header .header-inner{height:72px;max-width:none!important;width:100%!important;padding:0 22px 0 96px!important;box-sizing:border-box}
  body.messages-page-body .site-header .brand{margin-left:0!important}
  body.messages-page-body .site-header .brand img{width:185px;height:auto}
  body.messages-page-body .logged-bottom-nav{display:none!important}
  .messages-desktop-sidebar{position:fixed;left:0;top:72px;bottom:0;width:82px;background:#fff;border-right:1px solid #e0e6eb;z-index:1100;display:flex;flex-direction:column;align-items:stretch;padding:12px 7px;box-sizing:border-box}
  .messages-desktop-sidebar a{min-height:62px;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;color:#173149;text-decoration:none;font-size:11px;font-weight:800;border-radius:11px}
  .messages-desktop-sidebar a.is-active{background:#eaf5fc;color:#0877be}
  .messages-desktop-sidebar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .messages-page{position:fixed!important;left:82px;right:0;top:72px;bottom:0;width:auto!important;max-width:none!important;min-height:0!important;margin:0!important;background:#fff!important}
  .messages-mobile-shell{display:none!important}
  .messages-desktop-shell{display:grid!important;grid-template-columns:335px minmax(0,1fr) 330px;width:100%;height:100%;min-height:0;background:#fff}
  .messages-desktop-shell.details-hidden{grid-template-columns:335px minmax(0,1fr)}
  .messages-conversations-pane,.messages-chat-pane,.messages-detail-pane{min-width:0;min-height:0;background:#fff}
  .messages-conversations-pane{border-right:1px solid #dfe5ea;display:flex;flex-direction:column}
  .messages-pane-head{height:72px;padding:14px 14px 8px;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}
  .messages-pane-head h1{margin:0;font-size:23px}.messages-pane-head p{margin:2px 0 0;color:#778593;font-size:12px}
  .messages-pane-head button{border:0;background:#eef5fa;color:#0877be;width:34px;height:34px;border-radius:50%;font-size:16px}
  .messages-desktop-search{margin:0 12px 10px;height:42px;border:1px solid #dce4ea;border-radius:10px;display:flex;align-items:center;padding:0 10px;background:#f8fafb}
  .messages-desktop-search svg{width:18px;height:18px;fill:none;stroke:#6b7e8e;stroke-width:1.8}.messages-desktop-search input{border:0!important;outline:0!important;background:transparent!important;width:100%;padding:0 8px!important;font:inherit}
  .messages-desktop-list{overflow:auto;min-height:0;flex:1;border-top:1px solid #edf0f2}
  .messages-desktop-item{position:relative;display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;padding:11px 12px;border-bottom:1px solid #e7ebef;cursor:pointer;background:#fff}
  .messages-desktop-item:hover,.messages-desktop-item.is-active{background:#f1f3f5}.messages-desktop-item.is-unread{background:#f7fbfe}
  .messages-desktop-item>img{width:78px;height:68px;object-fit:cover;border-radius:8px;background:#edf1f4}
  .messages-desktop-item-top{display:flex;gap:7px;align-items:flex-start}.messages-desktop-item-top strong{font-size:14px;line-height:1.2;flex:1}.messages-desktop-item-top time{font-size:10px;color:#63707b;white-space:nowrap}
  .messages-desktop-item p{margin:4px 0 3px;font-size:12px;color:#4c5965;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages-desktop-item small{display:block;font-size:11px;color:#697785;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages-desktop-item>i{position:absolute;right:9px;bottom:9px;width:8px;height:8px;border-radius:50%;background:#0786d1}
  .messages-chat-pane{display:flex;flex-direction:column;min-height:0}
  .messages-desktop-chat-head{height:50px;border-bottom:1px solid #dfe5ea;display:flex;align-items:center;justify-content:space-between;padding:0 14px;flex:0 0 auto}.messages-desktop-chat-head strong{display:block;font-size:15px}.messages-desktop-chat-head small{color:#6f7c88;font-size:11px}.messages-desktop-chat-head button{border:1px solid #cfd9e1;background:#fff;color:#0877be;border-radius:8px;padding:7px 10px;font-weight:800;text-transform:uppercase;font-size:11px}
  .messages-desktop-empty-chat{flex:1;display:grid;place-items:center;color:#75818d}
  .messages-chat-thread--desktop{flex:1!important;min-height:0!important;max-height:none!important;padding:22px 16px 90px!important;background:#fff!important;overflow:auto!important}
  .messages-chat-date{align-self:center;background:#f2f4f6;border-radius:14px;padding:4px 9px;font-size:10px;color:#596875;margin:8px 0}
  .messages-chat-thread--desktop .messages-chat-bubble{box-shadow:none!important;background:#f4f5f6!important;border-radius:15px 15px 15px 5px!important;max-width:min(72%,700px)!important}
  .messages-chat-thread--desktop .messages-chat-bubble.is-mine{background:#e8f3fb!important;border-radius:15px 15px 5px 15px!important}
  .messages-chat-compose--desktop{position:absolute!important;left:335px;right:330px;bottom:0!important;height:68px;margin:0!important;padding:10px 14px!important;display:flex;align-items:center;gap:9px;background:#fff!important;border-top:1px solid #dfe5ea;z-index:5;box-sizing:border-box}
  .messages-desktop-shell.details-hidden .messages-chat-compose--desktop{right:0}
  .messages-chat-compose--desktop textarea{min-height:42px!important;height:42px!important;border-radius:22px!important;padding:10px 14px!important;resize:none!important}
  .messages-chat-plus,.messages-chat-send{width:38px;height:38px;border:0!important;background:transparent!important;color:#0a86cf!important;font-size:24px;padding:0!important}
  .messages-detail-pane{border-left:1px solid #dfe5ea;overflow:auto}.messages-detail-pane[hidden]{display:none!important}
  .messages-detail-pane>header{height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid #dfe5ea;font-size:15px}.messages-detail-pane>header button{width:34px;height:34px;border:0;background:transparent;color:#0877be;font-size:28px;line-height:1}
  .messages-property-mini{padding:14px}.messages-property-mini>a{display:block;border:1px solid #dce4ea;border-radius:15px;overflow:hidden;text-decoration:none;color:#17283a;background:#fff;box-shadow:0 2px 8px rgba(18,49,73,.05)}
  .messages-property-mini img{display:block;width:100%;height:175px;object-fit:cover;background:#edf1f4}.messages-property-mini a>div{padding:13px}.messages-property-mini strong{display:block;font-size:22px;margin-bottom:6px}.messages-property-mini b{display:block;font-size:14px;line-height:1.3}.messages-property-mini span,.messages-property-mini small{display:block;color:#5b6874;font-size:12px;margin-top:5px}
  .messages-detail-actions{border-top:1px solid #e8ecef;border-bottom:1px solid #e8ecef;padding:9px 14px}.messages-detail-actions button{display:flex;align-items:center;gap:9px;width:100%;height:42px;border:0;background:#fff;text-align:left;color:#344353;font-size:14px}.messages-detail-actions button.is-saved{color:#e34d54}
  .messages-contact-detail{padding:14px}.messages-contact-detail h3{margin:0 0 12px;font-size:13px}.messages-contact-person{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e6eaed}.messages-contact-person img,.messages-contact-avatar{width:42px;height:42px;border-radius:50%;object-fit:contain;border:1px solid #dce4ea;display:grid;place-items:center;background:#fff}.messages-contact-person strong{display:block;font-size:13px}.messages-contact-person a{display:block;color:#0877be;text-decoration:none;font-size:12px;margin-top:3px}.messages-contact-person small{display:block;color:#6c7985;font-size:11px;margin-top:3px}
}

@media (max-width:899px){
  .messages-desktop-shell,.messages-desktop-sidebar{display:none!important}
  .messages-mobile-shell{display:block!important}
  body.messages-page-body .site-header{display:none!important}
  .unified-agency-brand{display:none!important}

  body.listing-form-body .listing-form-panel[data-form-panel="main"] .listing-main-field,
  body.listing-form-body .listing-form-card--reference-state .listing-main-field,
  body.listing-form-body .listing-form-panel[data-form-panel="details"] .listing-details-grid>label{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important
  }
  body.listing-form-body .listing-form-panel[data-form-panel="details"] .listing-details-grid{grid-template-columns:1fr!important}
  body.listing-form-body .listing-form-panel[data-form-panel="details"] .listing-grid-span-2{grid-column:auto!important}
}


/* ===== v305 messaggi desktop: navigazione, paginazione e dettagli ===== */
@media (min-width:900px){
  body.messages-page-body .logged-nav-host,
  body.messages-page-body .logged-bottom-nav,
  body.messages-page-body .professional-bottom-nav{display:none!important}
  body.messages-page-body .messages-desktop-sidebar{
    top:72px!important;left:0!important;bottom:0!important;width:82px!important;padding:14px 8px!important;
    border-right:1px solid #dde5eb!important;background:#fff!important;box-shadow:2px 0 8px rgba(30,55,75,.03)!important;
  }
  body.messages-page-body .messages-desktop-sidebar a,
  body.messages-page-body .messages-desktop-sidebar button{
    width:100%!important;min-height:62px!important;padding:7px 4px!important;border:0!important;border-radius:10px!important;background:transparent!important;
    color:#42586a!important;text-decoration:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    gap:5px!important;font:inherit!important;font-size:11px!important;font-weight:750!important;cursor:pointer!important;
  }
  body.messages-page-body .messages-desktop-sidebar a:hover,
  body.messages-page-body .messages-desktop-sidebar button:hover,
  body.messages-page-body .messages-desktop-sidebar a.is-active{background:#eef7fd!important;color:#0b7cc1!important}
  body.messages-page-body .messages-desktop-sidebar svg{width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  body.messages-page-body .messages-desktop-sidebar button:last-child{margin-top:auto!important;color:#cf3a3a!important}
  .messages-desktop-empty-chat[hidden]{display:none!important}
  .messages-desktop-pagination{min-height:48px;padding:8px 10px;border-top:1px solid #e7ebef;display:flex;align-items:center;justify-content:center;gap:5px;background:#fff;flex:0 0 auto}
  .messages-desktop-pagination[hidden]{display:none!important}
  .messages-desktop-pagination button{min-width:32px;height:32px;padding:0 9px;border:1px solid #d8e2e9;border-radius:8px;background:#fff;color:#0a76b8;font-weight:800;cursor:pointer}
  .messages-desktop-pagination button.is-active{background:#eaf5fc;border-color:#79bfe8;color:#076fae}
  .messages-desktop-pagination button:disabled{opacity:.35;cursor:default}
  .messages-property-facts{display:flex!important;flex-wrap:wrap;gap:12px!important;margin-top:10px!important;color:#344b60!important}
  .messages-property-facts span{display:inline-flex!important;align-items:center;gap:4px;margin:0!important;font-size:12px!important;color:#344b60!important}
  .messages-property-facts svg{width:17px;height:17px;fill:none;stroke:#385a74;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .messages-contact-avatar svg{width:22px;height:22px;fill:none;stroke:#30485d;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .messages-show-phone{display:block;border:0;background:transparent;color:#0877be;padding:0;margin-top:3px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
  .messages-phone-link{display:block!important;color:#0877be!important;font-weight:750!important}
}

/* ===== v306 messaggi mobile: chat, paginazione e footer rimosso ===== */
@media (min-width:900px){
  .messages-mark-all-read{
    width:auto!important;height:34px!important;padding:0 12px!important;border:1px solid #d7e4ec!important;
    border-radius:10px!important;background:#fff!important;color:#0877be!important;font-size:11px!important;font-weight:800!important;
    white-space:nowrap!important
  }
}

@media (max-width:899px){
  body.messages-page-body{padding-bottom:86px!important;background:#f6f7f9!important}
  body.messages-page-body .site-footer{display:none!important}
  .messages-mobile-pagination{
    display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:nowrap;
    min-height:70px;padding:10px 16px 96px;background:#f6f7f9;overflow-x:auto;scrollbar-width:none
  }
  .messages-mobile-pagination::-webkit-scrollbar{display:none}
  .messages-mobile-pagination[hidden]{display:none!important}
  .messages-mobile-pagination button{
    flex:0 0 auto;min-width:42px;height:42px;padding:0 12px;border:0;border-radius:10px;background:transparent;
    color:#0877be;font-size:16px;font-weight:800;cursor:pointer
  }
  .messages-mobile-pagination button.is-active{background:#eaf5fc;box-shadow:inset 0 0 0 1px #78bde7}
  .messages-mobile-pagination button:disabled{opacity:.3}
  .messages-pagination-dots{flex:0 0 auto;color:#0877be;font-size:20px;font-weight:800;padding:0 2px}
  .messages-summary button{font-size:14px!important;color:#8a6f5c!important;white-space:nowrap}

  body.messages-mobile-chat-open{overflow:hidden!important;padding-bottom:0!important;background:#fff!important}
  body.messages-mobile-chat-open .logged-nav-host,
  body.messages-mobile-chat-open .logged-bottom-nav,
  body.messages-mobile-chat-open .professional-bottom-nav{display:none!important}
  body.messages-mobile-chat-open .messages-page{height:100dvh!important;min-height:100dvh!important;width:100%!important;margin:0!important;background:#fff!important}
  body.messages-mobile-chat-open .messages-mobile-shell{height:100%!important}
  .messages-mobile-conversation{height:100dvh;display:flex;flex-direction:column;background:#fff;overflow:hidden}
  .messages-chat-header--mobile{
    position:relative!important;top:auto!important;min-height:54px!important;height:54px!important;padding:6px 12px!important;gap:8px!important;
    flex:0 0 auto!important;background:#fff!important;border-bottom:1px solid #dfe5ea!important;z-index:5!important
  }
  .messages-chat-header--mobile .messages-chat-back{
    width:28px!important;height:36px!important;border:0!important;background:transparent!important;border-radius:0!important;
    color:#0785cf!important;font-size:32px!important;line-height:30px!important;padding:0!important
  }
  .messages-chat-party{min-width:0;flex:1}
  .messages-chat-header--mobile h1{font-size:16px!important;line-height:1.15!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .messages-chat-header--mobile p{font-size:11px!important;margin-top:1px!important}
  .messages-chat-head-actions{display:flex;align-items:center;gap:4px}
  .messages-chat-head-actions button{width:34px;height:34px;border:0;background:transparent;color:#0877be;font-size:19px;font-weight:800;padding:0}
  .messages-mobile-property{
    display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;flex:0 0 auto;
    padding:8px 14px;border-bottom:1px solid #dfe5ea;background:#fff;color:#213247;text-decoration:none
  }
  .messages-mobile-property img{width:72px;height:64px;border-radius:8px;object-fit:cover;background:#eef2f5}
  .messages-mobile-property div{min-width:0}
  .messages-mobile-property strong{display:block;font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .messages-mobile-property span{display:block;margin-top:3px;color:#5e6975;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .messages-mobile-property b{display:block;margin-top:4px;font-size:13px;color:#2d4054}
  .messages-chat-thread--mobile{
    flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;background:#fff!important;
    padding:20px 14px 22px!important;gap:12px!important
  }
  .messages-chat-thread--mobile .messages-chat-bubble{box-shadow:none!important;background:#f4f5f6!important;max-width:82%!important}
  .messages-chat-thread--mobile .messages-chat-bubble.is-mine{background:#e8f3fb!important}
  .messages-chat-compose--mobile{
    position:relative!important;bottom:auto!important;flex:0 0 auto!important;display:flex!important;align-items:flex-end!important;gap:7px!important;
    padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important;border-top:1px solid #dfe5ea!important;background:#fff!important;z-index:6!important
  }
  .messages-chat-compose--mobile textarea{
    min-height:40px!important;height:40px!important;max-height:96px!important;border-radius:21px!important;padding:9px 13px!important;line-height:20px!important
  }
  .messages-chat-compose--mobile .messages-chat-plus,
  .messages-chat-compose--mobile .messages-chat-send{
    flex:0 0 34px!important;width:34px!important;height:40px!important;border:0!important;background:transparent!important;color:#0a86cf!important;
    padding:0!important;font-size:24px!important;border-radius:0!important
  }
}

/* ===== v307 - Desktop Salvati / messaggi privati ===== */
@media (min-width: 900px){
  body.saved-page-body{padding-bottom:0!important;background:#f4f7f9!important;}
  body.saved-page-body .site-header{position:sticky;top:0;z-index:1200;background:#fff;}
  body.saved-page-body .logged-bottom-nav{display:none!important;}
  body.saved-page-body .site-footer{display:none!important;}
  .saved-desktop-sidebar{position:fixed;left:0;top:72px;bottom:0;width:82px;background:#fff;border-right:1px solid #e0e6eb;z-index:1100;display:flex;flex-direction:column;padding:12px 7px;box-sizing:border-box;}
  .saved-desktop-sidebar a,.saved-desktop-sidebar button{min-height:62px;border:0;background:transparent;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;color:#173149;text-decoration:none;font-size:11px;font-weight:800;border-radius:11px;cursor:pointer;font-family:inherit;}
  .saved-desktop-sidebar a:hover,.saved-desktop-sidebar button:hover,.saved-desktop-sidebar a.is-active{background:#eef7fd;color:#0b7cc1;}
  .saved-desktop-sidebar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  .saved-desktop-sidebar button:last-child{margin-top:auto;color:#cf3a3a;}
  .saved-page{width:auto!important;max-width:none!important;margin:0 0 0 82px!important;min-height:calc(100vh - 72px)!important;padding:24px 28px 48px!important;box-sizing:border-box;background:#f4f7f9!important;}
  .saved-page .logged-page-title{max-width:1450px;margin:0 auto 10px;padding:0;}
  .saved-page .logged-page-title h1{font-size:30px;margin:0;}
  .saved-tabs{max-width:1450px;margin:0 auto 20px;border-bottom:1px solid #dce4ea;display:flex;gap:4px;padding:0;}
  .saved-tabs button{border:0;background:transparent;padding:14px 18px;font-weight:800;font-size:15px;color:#465667;border-bottom:3px solid transparent;border-radius:0;}
  .saved-tabs button.is-active{color:#0877be;border-bottom-color:#0877be;background:transparent;}
  .saved-panel,.logged-loading,.logged-empty{max-width:1450px;margin-left:auto;margin-right:auto;}
  .saved-property-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(480px,0.92fr)!important;gap:18px!important;align-items:start;}
  .saved-property-card{position:relative;display:grid!important;grid-template-columns:42% 58%;min-height:290px;background:#fff;border:1px solid #dce4ea;border-radius:15px;overflow:hidden;box-shadow:0 2px 8px rgba(18,49,73,.04);}
  .saved-property-photo{height:100%;min-height:290px;position:relative;overflow:hidden;}
  .saved-property-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .saved-property-photo>span{position:absolute;left:12px;bottom:12px;background:#147dbe;color:#fff;border-radius:5px;padding:4px 8px;font-size:11px;font-weight:900;}
  .saved-remove{position:absolute;right:16px;bottom:16px;z-index:3;width:44px;height:44px;border:1px solid #ef5a5a!important;border-radius:10px!important;background:#fff!important;color:#e3152a!important;font-size:22px;display:grid;place-items:center;}
  .saved-property-content{padding:22px 68px 20px 22px;display:flex;flex-direction:column;}
  .saved-property-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
  .saved-price{font-size:27px!important;line-height:1.15;color:#1f2e3d!important;}
  .saved-agency-logo{max-width:110px;max-height:46px;object-fit:contain;}
  .saved-property-content h2{font-size:18px;line-height:1.35;margin:12px 0 8px;}
  .saved-property-content h2 a{color:#253746;text-decoration:none;}
  .saved-property-content>p{margin:0;color:#596a79;font-size:14px;line-height:1.45;}
  .saved-property-facts{display:flex;flex-wrap:wrap;gap:16px 22px;margin:18px 0;color:#526576;font-size:13px;}
  .saved-property-facts span{white-space:nowrap;}
  .saved-property-actions{display:flex;gap:10px;margin-top:auto;padding-top:15px;}
  .saved-property-actions a{border:1px solid #cfdce5;border-radius:8px;padding:9px 14px;color:#0877be;text-decoration:none;font-weight:800;font-size:13px;background:#fff;}
  .saved-property-actions a:first-child{background:#0877be;color:#fff;border-color:#0877be;}
  .saved-search-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px!important;}
  .saved-search-card{background:#fff;border:1px solid #d7e0e7;border-radius:14px;overflow:hidden;box-shadow:0 2px 7px rgba(20,52,74,.04);}
  .saved-search-map{height:150px;position:relative;overflow:hidden;background-color:#eef3f0;background-image:linear-gradient(28deg,transparent 47%,#d7e2dd 48%,#d7e2dd 51%,transparent 52%),linear-gradient(92deg,transparent 47%,#dde5e1 48%,#dde5e1 51%,transparent 52%),linear-gradient(150deg,transparent 47%,#d7e2dd 48%,#d7e2dd 51%,transparent 52%);background-size:72px 72px,95px 95px,120px 120px;}
  .saved-search-map span{position:absolute;left:28%;top:26%;width:42%;height:48%;background:rgba(0,128,210,.22);border:2px solid #0877be;clip-path:polygon(15% 0,55% 8%,100% 40%,75% 100%,25% 83%,0 45%);}
  .saved-search-body{padding:18px;}
  .saved-search-body>small{color:#788592;font-size:12px;}
  .saved-search-body h2{font-size:18px;color:#0877be;margin:8px 0 10px;}
  .saved-search-tags{display:flex;gap:6px;flex-wrap:wrap;min-height:34px;}
  .saved-search-tags span{border:1px solid #d0d9e0;border-radius:5px;background:#f7f9fa;padding:4px 8px;font-size:12px;color:#445462;}
  .saved-search-notify{border-top:1px solid #e3e8ec;margin-top:22px;padding:16px 0;display:flex;flex-direction:column;gap:3px;color:#344453;}
  .saved-search-notify small{color:#7d8993;}
  .saved-search-actions{display:grid;grid-template-columns:1fr 44px 44px;gap:10px;}
  .saved-search-actions a,.saved-search-actions button{height:42px;border:1px solid #cfd9e1;border-radius:8px;background:#fff;color:#0877be;text-decoration:none;font-weight:800;display:grid;place-items:center;cursor:pointer;}
  .saved-search-actions .saved-search-delete{color:#d83c3c;}
}
@media (max-width: 899px){
  .saved-desktop-sidebar{display:none!important;}
  body.saved-page-body .site-header{display:none!important;}
}

/* v308 - area privata: sidebar condivisa + salvati desktop risultati/mappa */
@media (min-width:900px){
  body.saved-page-body{overflow-x:hidden;background:#f4f7f9}
  body.saved-page-body .site-footer{display:none!important}
  .private-desktop-sidebar{display:flex!important}
  .saved-page{margin-left:66px!important;padding:18px 22px 28px!important;max-width:none!important;width:calc(100% - 66px)!important}
  .saved-page .logged-page-title{padding:2px 0 8px!important;background:transparent!important;text-align:left!important}
  .saved-page .logged-page-title h1{font-size:28px!important;margin:0!important}
  .saved-tabs{height:58px!important;background:#fff;border:1px solid #dce5eb;border-radius:10px 10px 0 0!important;display:flex!important;justify-content:flex-start!important;gap:6px!important;padding:7px 12px!important}
  .saved-tabs button{width:auto!important;min-width:150px!important;padding:0 18px!important;border-radius:8px!important;border:0!important;background:transparent!important;color:#385064!important;font-weight:800!important}
  .saved-tabs button.is-active{background:#eaf5fc!important;color:#0877be!important;box-shadow:inset 0 0 0 1px #a8d5f1!important}
  .saved-panel{padding-top:14px!important}
  .saved-results-layout{display:grid!important;grid-template-columns:minmax(520px,48%) minmax(460px,52%)!important;gap:14px!important;align-items:start!important;height:calc(100vh - 165px);min-height:600px}
  .saved-property-grid{display:flex!important;flex-direction:column!important;gap:14px!important;overflow:auto!important;max-height:100%!important;padding:1px 8px 20px 1px!important;scrollbar-width:thin}
  .saved-property-card{display:grid!important;grid-template-columns:38% 62%!important;min-height:245px!important;border-radius:14px!important;border:1px solid #d7e1e8!important;box-shadow:0 2px 8px rgba(18,49,73,.05)!important;background:#fff!important;overflow:hidden!important}
  .saved-property-photo{height:100%!important;min-height:245px!important;aspect-ratio:auto!important}
  .saved-property-photo>span{top:auto!important;bottom:10px!important;left:10px!important;font-size:10px!important;padding:5px 8px!important;background:#0877be!important}
  .saved-property-content{padding:18px 58px 16px 18px!important;min-width:0!important}
  .saved-property-content h2{font-size:18px!important;margin:8px 0 6px!important;line-height:1.3!important}
  .saved-property-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#627482!important;font-size:13px!important;margin-top:8px!important}
  .saved-property-facts{margin:12px 0!important;gap:12px 18px!important}
  .saved-properties-map{display:block!important;position:sticky!important;top:82px!important;height:calc(100vh - 165px)!important;min-height:600px!important;border:1px solid #d7e1e8;border-radius:14px;overflow:hidden;background:#e9eef2}
  .saved-properties-map .leaflet-container{height:100%;width:100%}
  .saved-search-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;padding:4px 0 24px!important}
  .saved-search-card{border-radius:14px!important;overflow:hidden!important;background:#fff!important;border:1px solid #d7e1e8!important;box-shadow:0 2px 8px rgba(18,49,73,.05)!important}
  .saved-search-map{height:185px!important;background:#edf2f4!important;position:relative!important}
  .saved-search-map .leaflet-container{height:100%!important;width:100%!important}
  .saved-search-body{padding:17px!important}
  .saved-search-body h2{font-size:18px!important;margin:6px 0 12px!important;color:#0877be!important}
  .saved-search-tags{display:flex!important;gap:7px!important;flex-wrap:wrap!important;min-height:36px!important}
  .saved-search-tags span{border:1px solid #cad7df!important;background:#f7f9fa!important;border-radius:6px!important;padding:5px 8px!important;font-size:12px!important;color:#3f5160!important}
  .saved-search-notify{margin-top:18px!important;padding:14px 0!important}
}
@media (max-width:899px){
  .saved-properties-map{display:none!important}
  .saved-results-layout{display:block!important;height:auto!important}
}

/* ===== v309 - fix sidebar privata condivisa + ripristino Salvati mobile ===== */
.private-desktop-sidebar{display:none!important}
@media (min-width:900px){
  .private-desktop-sidebar{
    position:fixed!important;left:0!important;top:72px!important;bottom:0!important;width:82px!important;
    z-index:2500!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;
    padding:14px 8px!important;box-sizing:border-box!important;background:#fff!important;
    border-right:1px solid #dde5eb!important;box-shadow:2px 0 8px rgba(30,55,75,.03)!important;
  }
  .private-desktop-sidebar a,.private-desktop-sidebar button{
    width:100%!important;min-height:62px!important;padding:7px 4px!important;margin:0!important;border:0!important;
    border-radius:10px!important;background:transparent!important;color:#42586a!important;text-decoration:none!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;
    font:inherit!important;font-size:11px!important;font-weight:750!important;line-height:1.15!important;cursor:pointer!important;
  }
  .private-desktop-sidebar a:hover,.private-desktop-sidebar button:hover,.private-desktop-sidebar a.is-active{background:#eef7fd!important;color:#0b7cc1!important}
  .private-desktop-sidebar svg{display:block!important;width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;min-height:22px!important;max-height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;transform:none!important}
  .private-desktop-sidebar span{display:block!important;font-size:11px!important;line-height:1.1!important;white-space:nowrap!important}
  .private-desktop-sidebar button:last-child{margin-top:auto!important;color:#cf3a3a!important}
  body.messages-page-body .messages-page{margin-left:82px!important;width:calc(100% - 82px)!important}
}
@media (max-width:899px){
  .private-desktop-sidebar{display:none!important}
  body.saved-page-body .saved-page{width:min(760px,100%)!important;max-width:760px!important;margin:0 auto!important;padding:0!important;background:#f6f7f9!important}
  body.saved-page-body .saved-tabs{height:auto!important;margin:0!important;border:0!important;border-radius:0!important;background:#fff!important;padding:0 16px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important}
  body.saved-page-body .saved-tabs button{width:100%!important;min-width:0!important;padding:16px 4px!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;background:transparent!important;color:#536170!important;font-size:14px!important}
  body.saved-page-body .saved-tabs button.is-active{background:transparent!important;color:#0877be!important;border-bottom-color:#0877be!important;box-shadow:none!important}
  body.saved-page-body .saved-panel{padding:16px!important}
  body.saved-page-body .saved-property-grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;overflow:visible!important;max-height:none!important;padding:0!important}
  body.saved-page-body .saved-property-card{display:block!important;min-height:0!important;border-radius:24px!important;border:0!important;box-shadow:0 5px 18px rgba(25,55,80,.08)!important;overflow:hidden!important}
  body.saved-page-body .saved-property-photo{display:block!important;height:auto!important;min-height:0!important;aspect-ratio:16/10!important;position:relative!important}
  body.saved-page-body .saved-property-photo img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
  body.saved-page-body .saved-property-photo>span{position:absolute!important;left:16px!important;top:16px!important;bottom:auto!important;padding:8px 12px!important;border-radius:10px!important;background:#666!important;color:#fff!important;font-size:12px!important;font-weight:900!important}
  body.saved-page-body .saved-remove{position:absolute!important;right:16px!important;top:16px!important;bottom:auto!important;width:44px!important;height:44px!important;border-radius:12px!important;font-size:20px!important}
  body.saved-page-body .saved-property-content{padding:20px!important;display:block!important}
  body.saved-page-body .saved-property-content h2{margin:0 0 8px!important;font-size:20px!important}
  body.saved-page-body .saved-property-content>p{margin:0!important;color:#337ab7!important;font-weight:750!important;font-size:14px!important}
  body.saved-page-body .saved-property-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;margin-top:18px!important;padding-top:16px!important;border-top:1px solid #e5e9ec!important}
  body.saved-page-body .saved-property-actions a{min-height:48px!important;border:0!important;border-radius:13px!important;background:#eaf5fc!important;color:#2875a8!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}
  body.saved-page-body .saved-search-list{display:grid!important;grid-template-columns:1fr!important;gap:13px!important;padding:0!important}
  body.saved-page-body .saved-search-card{border:1px solid #dce2e7!important;border-radius:18px!important;background:#fff!important;overflow:hidden!important;box-shadow:none!important}
  body.saved-page-body .saved-search-card>a{padding:17px!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) 20px!important;align-items:center!important;gap:12px!important;color:#15283b!important;text-decoration:none!important}
  body.saved-page-body .saved-search-card>a>span{width:44px!important;height:44px!important;border-radius:13px!important;background:#edf6fc!important;color:#337ab7!important;display:grid!important;place-items:center!important;font-size:25px!important}
  body.saved-page-body .saved-search-card h2{margin:0 0 4px!important;font-size:17px!important;color:#15283b!important}
  body.saved-page-body .saved-search-card p{margin:0!important;color:#6d7781!important}
  body.saved-page-body .saved-search-card>button{width:100%!important;min-height:40px!important;border:0!important;border-top:1px solid #edf0f2!important;background:#fff!important;color:#d75d15!important;font-weight:800!important}
  body.saved-page-body .saved-agency-logo,.saved-property-topline,.saved-property-facts,.saved-property-description,.saved-search-map,.saved-search-body{display:none!important}
}

/* ===== v310 - allineamento area privata desktop + tabs Salvati sticky ===== */
@media (min-width:900px){
  /* Messaggi: la pagina e' gia' posizionata a left:82px nel layout desktop.
     Evita il secondo offset introdotto dal fix condiviso. */
  body.messages-page-body .messages-page{
    margin-left:0!important;
    width:auto!important;
    left:82px!important;
    right:0!important;
  }

  /* Salvati: stessa struttura di Annunci/Messaggi, senza contenitore centrato. */
  body.saved-page-body{
    padding:0!important;
    overflow-x:hidden!important;
    background:#f4f7f9!important;
  }
  body.saved-page-body .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:2600!important;
    height:72px!important;
    background:#fff!important;
    border-bottom:1px solid #e0e6eb!important;
  }
  body.saved-page-body .site-header .header-inner{
    height:72px!important;
    max-width:none!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  body.saved-page-body .private-desktop-sidebar{
    top:72px!important;
  }
  body.saved-page-body .saved-page{
    width:calc(100% - 82px)!important;
    max-width:none!important;
    min-height:calc(100vh - 72px)!important;
    margin:72px 0 0 82px!important;
    padding:58px 18px 28px!important;
    box-sizing:border-box!important;
    background:#f4f7f9!important;
  }
  body.saved-page-body .saved-page .logged-page-title{
    display:none!important;
  }

  /* Barra Annunci / Ricerche sempre visibile sotto la navbar superiore. */
  body.saved-page-body .saved-tabs{
    position:fixed!important;
    top:72px!important;
    left:82px!important;
    right:0!important;
    z-index:2450!important;
    height:58px!important;
    max-width:none!important;
    margin:0!important;
    padding:0 18px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    background:#fff!important;
    border:0!important;
    border-bottom:1px solid #dce4ea!important;
    border-radius:0!important;
    box-shadow:0 2px 7px rgba(24,48,68,.04)!important;
  }
  body.saved-page-body .saved-tabs button{
    width:auto!important;
    min-width:0!important;
    height:58px!important;
    padding:0 22px!important;
    border:0!important;
    border-bottom:3px solid transparent!important;
    border-radius:0!important;
    background:#fff!important;
    color:#344657!important;
    box-shadow:none!important;
    font-size:14px!important;
    font-weight:750!important;
  }
  body.saved-page-body .saved-tabs button.is-active{
    color:#0877be!important;
    background:#fff!important;
    border-bottom-color:#0877be!important;
    box-shadow:none!important;
  }
  body.saved-page-body .saved-tabs button:first-child::before{
    content:"⌂";
    display:inline-block;
    margin-right:8px;
    font-size:18px;
    line-height:1;
    vertical-align:-1px;
  }
  body.saved-page-body .saved-tabs button:last-child::before{
    content:"♧";
    display:inline-block;
    margin-right:8px;
    font-size:16px;
    line-height:1;
    vertical-align:-1px;
  }

  body.saved-page-body .saved-panel,
  body.saved-page-body .logged-loading,
  body.saved-page-body .logged-empty{
    max-width:none!important;
    width:100%!important;
    margin:0!important;
  }
  body.saved-page-body .saved-panel{
    padding-top:10px!important;
  }
  body.saved-page-body .saved-results-layout{
    width:100%!important;
  }
}

@media (max-width:899px){
  /* Nessuna variazione al layout mobile gia' approvato. */
  body.saved-page-body .saved-tabs button::before{content:none!important;display:none!important}
}

/* v310.1 - icone reali nella barra Salvati desktop */
@media (min-width:900px){
  body.saved-page-body .saved-tabs button::before{content:none!important;display:none!important}
  body.saved-page-body .saved-tab-icon{
    display:inline-block!important;width:18px!important;height:18px!important;margin-right:8px!important;
    fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;
    vertical-align:-4px!important;
  }
}
@media (max-width:899px){body.saved-page-body .saved-tab-icon{display:none!important}}
@media (min-width:900px){
  body.saved-page-body .saved-properties-map{
    top:140px!important;
    height:calc(100vh - 150px)!important;
    min-height:520px!important;
  }
  body.saved-page-body .saved-results-layout{
    height:calc(100vh - 150px)!important;
    min-height:520px!important;
  }
}

/* ===== v311 - Salvati desktop: tabs allineate, toolbar risultati e sort ===== */
@media (min-width:900px){
  body.saved-page-body .saved-tabs{
    justify-content:flex-start!important;
    align-items:stretch!important;
    padding-left:18px!important;
  }
  body.saved-page-body .saved-tabs button{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:165px!important;
    justify-content:flex-start!important;
    text-align:left!important;
    padding:0 18px!important;
  }
  body.saved-page-body .saved-tabs button + button{margin-left:8px!important}

  body.saved-page-body .saved-properties-toolbar{
    position:sticky!important;
    top:130px!important;
    z-index:2250!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    padding:0 16px!important;
    margin:0 0 12px!important;
    background:#fff!important;
    border:1px solid #dbe4ea!important;
    border-radius:0 0 10px 10px!important;
    box-sizing:border-box!important;
    box-shadow:0 2px 7px rgba(24,48,68,.04)!important;
  }
  body.saved-page-body .saved-properties-toolbar>strong{
    color:#344657!important;
    font-size:14px!important;
    font-weight:800!important;
  }
  body.saved-page-body .saved-sort{position:relative!important}
  body.saved-page-body .saved-sort-button{
    height:38px!important;
    min-width:112px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    border:0!important;
    background:#fff!important;
    color:#173149!important;
    font:inherit!important;
    font-weight:800!important;
    cursor:pointer!important;
    border-radius:8px!important;
  }
  body.saved-page-body .saved-sort-button:hover{background:#f4f8fb!important}
  body.saved-page-body .saved-sort-button svg{
    width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important
  }
  body.saved-page-body .saved-sort-menu{
    position:absolute!important;
    top:44px!important;
    right:0!important;
    width:230px!important;
    background:#fff!important;
    border:1px solid #d8e2e9!important;
    border-radius:12px!important;
    box-shadow:0 14px 34px rgba(20,43,60,.18)!important;
    padding:7px!important;
    z-index:2800!important;
  }
  body.saved-page-body .saved-sort-menu[hidden]{display:none!important}
  body.saved-page-body .saved-sort-menu button{
    width:100%!important;
    min-height:42px!important;
    padding:0 12px!important;
    border:0!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#263b4c!important;
    text-align:left!important;
    font:inherit!important;
    cursor:pointer!important;
  }
  body.saved-page-body .saved-sort-menu button:hover,
  body.saved-page-body .saved-sort-menu button.is-active{background:#eaf5fc!important;color:#0877be!important}

  body.saved-page-body .saved-panel[data-saved-panel="properties"]{padding-top:10px!important}
  body.saved-page-body .saved-results-layout{
    height:calc(100vh - 214px)!important;
    min-height:500px!important;
  }
  body.saved-page-body .saved-properties-map{
    top:194px!important;
    height:calc(100vh - 204px)!important;
    min-height:500px!important;
  }
}
@media (max-width:899px){
  body.saved-page-body .saved-properties-toolbar{display:none!important}
}


/* ===== v312 - Salvati desktop: strip tabs perfettamente agganciata alla navbar ===== */
@media (min-width:900px){
  body.saved-page-body .saved-tabs{
    position:fixed!important;
    top:72px!important;
    left:82px!important;
    right:0!important;
    width:auto!important;
    height:58px!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    background:#fff!important;
    border:0!important;
    border-bottom:1px solid #dce4ea!important;
    border-radius:0!important;
    z-index:2450!important;
  }
  body.saved-page-body .saved-tabs button{
    flex:0 0 180px!important;
    width:180px!important;
    min-width:180px!important;
    height:58px!important;
    margin:0!important;
    padding:0 18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    text-align:center!important;
    border:0!important;
    border-bottom:3px solid transparent!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  body.saved-page-body .saved-tabs button + button{margin-left:0!important}
  body.saved-page-body .saved-tabs button.is-active{
    background:#fff!important;
    color:#0877be!important;
    border-bottom-color:#0877be!important;
  }
  body.saved-page-body .saved-page{
    margin-top:72px!important;
    padding-top:70px!important;
  }
  body.saved-page-body .saved-properties-toolbar{
    top:130px!important;
  }
}

/* v313 - Salvati desktop allineati ai risultati annunci */
@media (min-width:900px){
  body.saved-page-body .saved-results-layout{
    grid-template-columns:minmax(650px,800px) minmax(480px,1fr)!important;
    gap:0!important;
    height:calc(100vh - 185px)!important;
    border-top:1px solid #e5e7eb!important;
  }
  body.saved-page-body .saved-results-list-column{
    min-width:0!important;
    height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    background:#fff!important;
  }
  body.saved-page-body .saved-property-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    overflow:auto!important;
    max-height:none!important;
    flex:1 1 auto!important;
    padding:16px 14px 22px!important;
    scrollbar-width:thin;
  }
  body.saved-page-body .saved-property-grid .result-property-card{
    grid-template-columns:minmax(270px,40%) 1fr!important;
    min-height:300px!important;
    border-radius:18px!important;
    border:1px solid #dfe5ea!important;
    box-shadow:0 2px 8px #102a4312!important;
    overflow:hidden!important;
  }
  body.saved-page-body .saved-property-grid .result-property-main-photo{min-height:225px!important}
  body.saved-page-body .saved-property-grid .result-property-content{padding:18px 20px!important}
  body.saved-page-body .saved-property-grid .result-property-actions{display:flex!important;gap:9px!important;margin-top:auto!important;padding-top:0!important;border-top:0!important}
  body.saved-page-body .saved-property-grid .result-action-button{display:inline-flex!important}
  body.saved-page-body .saved-property-grid .result-icon-button{display:inline-flex!important}
  body.saved-page-body .saved-properties-map{
    border-radius:0 14px 14px 0!important;
    border-left:1px solid #e5e7eb!important;
    height:100%!important;
    min-height:0!important;
    top:0!important;
  }
  body.saved-page-body .saved-pagination{
    flex:0 0 auto!important;
    min-height:58px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    padding:10px 14px!important;
    border-top:1px solid #e5e7eb!important;
    background:#fff!important;
  }
  body.saved-page-body .saved-pagination[hidden]{display:none!important}
  body.saved-page-body .saved-pagination button{
    min-width:38px!important;height:38px!important;padding:0 10px!important;border:1px solid #cbd8e2!important;
    border-radius:9px!important;background:#fff!important;color:#0877be!important;font-weight:850!important;cursor:pointer!important
  }
  body.saved-page-body .saved-pagination button.is-active{background:#eaf5fc!important;border-color:#7fc2eb!important;color:#0877be!important}
  body.saved-page-body .saved-pagination button:disabled{opacity:.4!important;cursor:default!important}
  body.saved-page-body .saved-pagination span{color:#7b8792!important;padding:0 2px!important}
  body.saved-page-body .results-map-property-leaflet-popup .leaflet-popup-content-wrapper{border-radius:16px!important;overflow:hidden!important}
  body.saved-page-body .saved-map-popup .results-map-popup-actions a,
  body.saved-page-body .saved-map-popup .results-map-popup-actions button{
    width:42px;height:42px;border:1px solid #cfd8e2;border-radius:10px;background:#fff;color:#1676bb;display:inline-flex;align-items:center;justify-content:center
  }
  body.saved-page-body .saved-map-popup .results-map-popup-actions svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}
  body.saved-page-body .saved-map-popup .results-map-popup-actions button.is-saved svg{fill:#e11d2e;stroke:#e11d2e}
}
@media (max-width:899px){
  body.saved-page-body .saved-pagination{
    display:flex;align-items:center;justify-content:center;gap:7px;padding:14px 4px 4px;background:transparent
  }
  body.saved-page-body .saved-pagination[hidden]{display:none!important}
  body.saved-page-body .saved-pagination button{min-width:36px;height:36px;border:1px solid #cbd8e2;border-radius:9px;background:#fff;color:#0877be;font-weight:800}
  body.saved-page-body .saved-pagination button.is-active{background:#eaf5fc;border-color:#7fc2eb}
  body.saved-page-body .saved-pagination button:disabled{opacity:.4}
}

/* v314 - Salvati desktop: mappa sticky, bottom nav solo mobile, marker hover */
@media (min-width:900px){
  /* La bottom-nav autenticata deve essere esclusivamente mobile, anche per account professionali. */
  body.saved-page-body .logged-nav-host,
  body.saved-page-body .logged-nav-host .logged-bottom-nav,
  body.saved-page-body .logged-nav-host.is-professional .logged-bottom-nav--private,
  body.saved-page-body .logged-nav-host.is-professional .logged-bottom-nav--professional,
  body.saved-page-body .professional-bottom-nav{
    display:none!important;
  }

  /* La pagina scorre normalmente a sinistra; la mappa resta ancorata sotto toolbar/tab. */
  body.saved-page-body .saved-results-layout{
    height:auto!important;
    min-height:calc(100vh - 205px)!important;
    align-items:start!important;
    overflow:visible!important;
  }
  body.saved-page-body .saved-results-list-column{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body.saved-page-body .saved-property-grid{
    overflow:visible!important;
    height:auto!important;
    max-height:none!important;
    flex:none!important;
  }
  body.saved-page-body .saved-properties-map{
    position:sticky!important;
    top:196px!important;
    align-self:start!important;
    height:calc(100vh - 212px)!important;
    min-height:520px!important;
    max-height:calc(100vh - 212px)!important;
  }
  body.saved-page-body .saved-pagination{
    position:relative!important;
    z-index:2!important;
  }

  body.saved-page-body .saved-price-marker span{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    white-space:nowrap!important;
  }
  body.saved-page-body .saved-price-marker span>b{
    color:#fff!important;
    font-size:13px!important;
    line-height:1!important;
  }
  body.saved-page-body .saved-hover-popup .leaflet-popup-content-wrapper{
    pointer-events:auto!important;
  }
}

/* ===== v315 - Salvati: tab compatti, marker cuore pulito, sticky coerente ===== */
@media (min-width:900px){
  body.saved-page-body .saved-tabs{
    height:52px!important;
  }
  body.saved-page-body .saved-tabs button{
    height:52px!important;
    min-height:52px!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  body.saved-page-body .saved-page{
    padding-top:64px!important;
  }
  body.saved-page-body .saved-properties-toolbar{
    top:124px!important;
    min-height:52px!important;
    height:52px!important;
    margin-bottom:12px!important;
  }
  body.saved-page-body .saved-properties-map{
    top:188px!important;
    height:calc(100vh - 200px)!important;
    max-height:calc(100vh - 200px)!important;
    min-height:500px!important;
  }
  body.saved-page-body .saved-price-marker span{
    gap:6px!important;
    padding-left:8px!important;
    padding-right:10px!important;
  }
  body.saved-page-body .saved-price-marker .saved-marker-heart{
    width:15px!important;
    height:15px!important;
    flex:0 0 15px!important;
    fill:#fff!important;
    stroke:#fff!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
}

/* ===== v316 - Salvati: gruppi marker con navigazione popup ===== */
@media (min-width:900px){
  body.saved-page-body .saved-price-marker .saved-marker-group-count{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:20px!important;
    height:20px!important;
    padding:0 6px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.22)!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
  }
  body.saved-page-body .saved-map-group-switcher{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin:0 auto 8px!important;
    padding:0 2px!important;
  }
  body.saved-page-body .saved-map-group-switcher button{
    width:32px!important;
    height:32px!important;
    border:1px solid #d7dee7!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#7c8a97!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer!important;
  }
  body.saved-page-body .saved-map-group-switcher button svg{
    width:16px!important;
    height:16px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.9!important;
  }
  body.saved-page-body .saved-map-group-switcher span{
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    min-width:108px!important;
    justify-content:center!important;
    height:34px!important;
    padding:0 14px!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#334e68!important;
    font-weight:800!important;
    box-shadow:0 12px 28px rgba(15,23,42,.12)!important;
  }
  body.saved-page-body .saved-map-group-switcher span svg{
    width:15px!important;
    height:15px!important;
    fill:none!important;
    stroke:#7c8a97!important;
    stroke-width:1.9!important;
  }
}

/* ===== v317 - Mappe: immobili con coordinate coincidenti + popup adattivo ===== */
@media (min-width:900px){
  /* Contatore dentro il marker quando più annunci hanno la stessa posizione. */
  .result-price-marker--grouped span{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    padding-right:6px!important;
  }
  .result-price-marker .result-marker-group-count{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:20px!important;
    height:20px!important;
    padding:0 6px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.22)!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1!important;
  }

  /* La numerazione del gruppo è visivamente separata dalla mini scheda. */
  .results-map-property-leaflet-popup.has-grouped-properties .leaflet-popup-content-wrapper{
    overflow:visible!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .results-map-property-leaflet-popup.has-grouped-properties .leaflet-popup-content{
    position:relative!important;
    overflow:visible!important;
  }
  .results-map-property-leaflet-popup.has-grouped-properties .results-map-property-popup{
    border-radius:16px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 14px 42px rgba(8,35,58,.24)!important;
  }
  .results-map-group-switcher,
  body.saved-page-body .saved-map-group-switcher{
    position:absolute!important;
    left:50%!important;
    top:-46px!important;
    transform:translateX(-50%)!important;
    z-index:20!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    margin:0!important;
    width:max-content!important;
    pointer-events:auto!important;
  }
  .results-map-group-switcher button,
  body.saved-page-body .saved-map-group-switcher button{
    width:32px!important;
    height:32px!important;
    padding:0!important;
    border:1px solid #d6dee7!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#748391!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-shadow:0 4px 14px rgba(15,23,42,.10)!important;
    cursor:pointer!important;
  }
  .results-map-group-switcher button svg,
  body.saved-page-body .saved-map-group-switcher button svg{
    width:15px!important;
    height:15px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .results-map-group-switcher span,
  body.saved-page-body .saved-map-group-switcher span{
    min-width:104px!important;
    height:34px!important;
    padding:0 13px!important;
    border:1px solid #e1e7ed!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#324a60!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    font-size:12px!important;
    font-weight:850!important;
    box-shadow:0 7px 20px rgba(15,23,42,.13)!important;
  }
  .results-map-group-switcher span svg,
  body.saved-page-body .saved-map-group-switcher span svg{
    width:15px!important;
    height:15px!important;
    fill:none!important;
    stroke:#768696!important;
    stroke-width:1.9!important;
  }

  /* Se il marker è vicino al bordo superiore il popup viene spostato sotto il marker. */
  .results-map-property-leaflet-popup.is-below-marker .leaflet-popup-tip-container{
    display:none!important;
  }
  .results-map-property-leaflet-popup.is-below-marker.has-grouped-properties .results-map-group-switcher,
  body.saved-page-body .results-map-property-leaflet-popup.is-below-marker.has-grouped-properties .saved-map-group-switcher{
    top:-46px!important;
  }

  /* Salvati: il wrapper non deve tagliare il selettore 1 di N. */
  body.saved-page-body .results-map-property-leaflet-popup.has-grouped-properties .leaflet-popup-content-wrapper{
    overflow:visible!important;
  }
  body.saved-page-body .results-map-property-leaflet-popup.has-grouped-properties .saved-map-popup{
    border-radius:16px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 14px 42px rgba(8,35,58,.24)!important;
  }
}


/* ===== v318 - Mappe: marker raggruppati compatti + popup sotto più vicino ===== */
@media (min-width:900px){
  .result-price-marker--grouped span{
    min-width:58px!important;
    width:58px!important;
    height:28px!important;
    padding:0 8px!important;
    gap:6px!important;
    justify-content:center!important;
  }
  .result-price-marker--grouped span > svg,
  body.saved-page-body .saved-price-marker.result-price-marker--grouped .saved-marker-house{
    display:block!important;
    width:16px!important;
    height:16px!important;
    flex:0 0 16px!important;
    fill:none!important;
    stroke:#fff!important;
    stroke-width:1.9!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .result-price-marker--grouped .result-marker-group-count,
  body.saved-page-body .saved-price-marker.result-price-marker--grouped .saved-marker-group-count{
    min-width:auto!important;
    width:auto!important;
    height:auto!important;
    padding:0!important;
    background:transparent!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
  }
  body.saved-page-body .saved-price-marker.result-price-marker--grouped .saved-marker-heart{
    display:none!important;
  }

  /* Quando il popup è forzato sotto al marker il selettore 1 di N resta vicino al pin. */
  .results-map-property-leaflet-popup.is-below-marker.has-grouped-properties .results-map-group-switcher,
  body.saved-page-body .results-map-property-leaflet-popup.is-below-marker.has-grouped-properties .saved-map-group-switcher{
    top:-40px!important;
  }
}

/* ===== v320 - Admin area, provenienza gestionale e controlli stato ===== */
body.my-listings-body .managed-property-status-stack{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:7px}
body.my-listings-body .managed-property-status{
  min-height:30px!important;padding:4px 10px 4px 6px!important;border:1px solid #bfe8cf!important;
  border-radius:999px!important;background:linear-gradient(180deg,#f0fff6,#e6f8ee)!important;
  color:#137a46!important;box-shadow:0 1px 0 rgba(255,255,255,.8) inset!important;font-weight:850!important;
}
body.my-listings-body .managed-property-status.is-offline{border-color:#dbe3e9!important;background:linear-gradient(180deg,#f7f9fb,#edf1f4)!important;color:#667786!important}
body.my-listings-body .managed-property-source{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:7px;background:#eef5fb;color:#276f9f;font-size:11px;font-weight:850;line-height:1.2}
body.my-listings-body .managed-property-source[hidden]{display:none!important}

.admin-panel-body{background:#f4f7f9}
.admin-panel-page{margin-left:86px;padding:28px 34px 70px;min-height:calc(100vh - 70px)}
.admin-panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:22px}
.admin-panel-heading h1{margin:3px 0 4px;font-size:32px;line-height:1;color:#102a43}.admin-panel-heading p{margin:0;color:#6d7c89}.admin-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#1684c7}
.admin-toolbar{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid #dfe7ed;border-radius:16px;padding:12px 14px;margin-bottom:14px;box-shadow:0 4px 16px rgba(15,38,56,.04)}
.admin-toolbar label{height:48px;display:flex;align-items:center;gap:10px;flex:1;border:1px solid #d7e1e8;border-radius:12px;padding:0 14px}.admin-toolbar label svg{width:20px;height:20px;fill:none;stroke:#1684c7;stroke-width:2}.admin-toolbar input{border:0;outline:0;background:transparent;width:100%;font-size:15px}
.admin-table-card{background:#fff;border:1px solid #dfe7ed;border-radius:16px;overflow:hidden}.admin-agency-table-head,.admin-agency-row{display:grid;grid-template-columns:1.55fr 1.35fr 1fr .8fr .8fr .7fr;gap:0;align-items:stretch}.admin-agency-table-head{background:#f4f8fb;border-bottom:1px solid #dfe7ed;color:#536777;font-size:12px;font-weight:900}.admin-agency-table-head span{padding:13px 14px}.admin-agency-row{border-bottom:1px solid #edf1f4}.admin-agency-row:last-child{border-bottom:0}.admin-agency-row>div{padding:14px;border-right:1px solid #edf1f4;min-width:0;display:flex;flex-direction:column;justify-content:center}.admin-agency-row>div:last-child{border-right:0}.admin-agency-row strong{font-size:14px;color:#102a43}.admin-agency-row small{display:block;margin-top:4px;color:#71808d;font-size:12px}.admin-agency-row a{color:#087fca;text-decoration:none;overflow:hidden;text-overflow:ellipsis}.admin-agency-identity{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:12px}.admin-agency-identity img,.admin-agency-placeholder{width:56px;height:44px;border-radius:8px;border:1px solid #e1e8ed;object-fit:contain;background:#fff;display:grid;place-items:center;color:#7e8f9c;font-size:24px;flex:none}.admin-agency-status span{width:max-content;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}.admin-agency-status .is-on{background:#e8f8ef;color:#14804a}.admin-agency-status .is-off{background:#eef2f5;color:#6d7a85}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:7px;padding:20px}.admin-pagination button{min-width:38px;height:38px;border:1px solid #d8e2e9;border-radius:9px;background:#fff;color:#155f91;font-weight:850}.admin-pagination button.is-active{border-color:#1684c7;background:#eaf6fd}.admin-pagination button:disabled{opacity:.4}
.admin-metric-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:18px}.admin-metric-grid article{background:#fff;border:1px solid #dfe7ed;border-radius:16px;padding:18px;box-shadow:0 4px 16px rgba(15,38,56,.035)}.admin-metric-grid small,.admin-metric-grid span{display:block;color:#71808d}.admin-metric-grid article>strong{display:block;font-size:29px;color:#102a43;margin:8px 0 5px}.admin-metric-grid b{color:#137a46}
.admin-dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.admin-dashboard-card{background:#fff;border:1px solid #dfe7ed;border-radius:16px;padding:18px}.admin-dashboard-card--wide{grid-column:1/-1}.admin-dashboard-card>header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #edf1f4;padding-bottom:14px;margin-bottom:14px}.admin-dashboard-card h2{margin:0 0 4px;font-size:19px}.admin-dashboard-card p{margin:0;color:#7b8995;font-size:13px}.admin-dashboard-card a{color:#087fca;font-weight:850;text-decoration:none}
.admin-progress-row{display:grid;grid-template-columns:minmax(190px,.65fr) 1fr;gap:18px;align-items:center;padding:10px 0}.admin-progress-row>div span{display:block;color:#7b8995;font-size:12px;margin-top:3px}.admin-progress-row i{height:10px;border-radius:999px;background:#edf3f7;overflow:hidden}.admin-progress-row i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1684c7,#5eb6e9)}
.admin-contract-list{display:grid;gap:10px}.admin-contract-card{padding:14px;border:1px solid #e2e9ee;border-radius:12px;background:#fafcfd}.admin-contract-card span,.admin-contract-card small{display:block}.admin-contract-card strong{display:block;font-size:24px;margin:3px 0;color:#102a43}.admin-contract-card small{color:#7b8995}
.admin-top-agencies>div{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #edf1f4}.admin-top-agencies>div:last-child{border-bottom:0}.admin-top-agencies>div>b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf6fc;color:#1684c7}.admin-top-agencies span small,.admin-top-agencies em small{display:block;color:#7c8a96;font-size:11px;font-style:normal}.admin-top-agencies em{font-style:normal;font-size:17px;font-weight:900;text-align:right;color:#102a43}

@media(max-width:1200px){.admin-metric-grid{grid-template-columns:repeat(3,1fr)}.admin-agency-table-head,.admin-agency-row{grid-template-columns:1.4fr 1.2fr 1fr .8fr}.admin-agency-table-head span:nth-child(5),.admin-agency-table-head span:nth-child(6),.admin-agency-row>div:nth-child(5),.admin-agency-row>div:nth-child(6){display:none}}
@media(max-width:899px){.admin-panel-page{margin-left:0;padding:18px 14px 110px}.admin-panel-heading{align-items:flex-start;flex-direction:column}.admin-panel-heading h1{font-size:26px}.admin-metric-grid{grid-template-columns:repeat(2,1fr)}.admin-dashboard-grid{grid-template-columns:1fr}.admin-agency-table-head{display:none}.admin-agency-row{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e1e8ed;border-radius:14px;margin:10px;overflow:hidden}.admin-agency-row>div{display:flex!important;border-right:0;border-bottom:1px solid #edf1f4}.admin-agency-row>div:nth-child(1){grid-column:1/-1}.admin-toolbar{align-items:stretch;flex-direction:column}.admin-progress-row{grid-template-columns:1fr;gap:8px}}

/* ===== v321 - statistiche per ruolo + Bilocale Intelligence ===== */
.private-desktop-sidebar [hidden]{display:none!important}
.stats-shell{padding-top:24px!important}
.stats-heading{align-items:center}.stats-date-filter{display:flex;gap:10px;align-items:flex-end}.stats-date-filter label{font-size:11px;font-weight:800;color:#6b7c89}.stats-date-filter input{display:block;margin-top:5px;height:40px;border:1px solid #d7e1e8;border-radius:9px;padding:0 10px;background:#fff;color:#102a43}
.stats-metric-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.stats-agency-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.75fr);gap:16px}.stats-listings-card{min-width:0}.stats-listing-table-wrap,.stats-table-scroll{overflow:auto}.stats-listing-table{width:100%;border-collapse:collapse;font-size:13px}.stats-listing-table th{padding:11px 12px;text-align:left;color:#607382;background:#f6f9fb;border-bottom:1px solid #e3eaf0;white-space:nowrap}.stats-listing-table td{padding:12px;border-bottom:1px solid #edf1f4;color:#20394c;vertical-align:middle}.stats-listing-table tr:last-child td{border-bottom:0}.stats-listing-table td strong,.stats-listing-table td small{display:block}.stats-listing-table td small{margin-top:3px;color:#748591}.stats-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.stats-status.is-online{background:#e8f8ef;color:#15804b}.stats-status.is-offline{background:#eef2f5;color:#667786}.stats-status.is-bozza{background:#fff4dd;color:#9b6710}.stats-donut-wrap{height:300px}
.stats-tabs{position:sticky;top:72px;z-index:1200;display:flex;gap:4px;padding:6px;background:#fff;border:1px solid #dfe7ed;border-radius:13px;margin-bottom:16px;box-shadow:0 5px 18px rgba(16,42,67,.05)}.stats-tabs button{border:0;background:transparent;border-radius:9px;padding:11px 15px;font-weight:850;color:#536777;cursor:pointer}.stats-tabs button.is-active{background:#eaf6fd;color:#0b7cc1}.stats-intel-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.stats-intel-kpis article{background:#fff;border:1px solid #dfe7ed;border-radius:14px;padding:15px}.stats-intel-kpis small{display:block;color:#71808d}.stats-intel-kpis strong{display:block;font-size:25px;color:#102a43;margin-top:7px}.stats-intel-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-bottom:16px}.stats-intel-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-chart{height:320px}.stats-wide{margin-bottom:16px}.stats-funnel{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.stats-funnel article{border-left:4px solid #1684c7;background:#f6f9fb;border-radius:8px;padding:13px}.stats-funnel strong,.stats-funnel span{display:block}.stats-funnel strong{font-size:23px;color:#102a43}.stats-funnel span{font-size:12px;color:#71808d;margin-top:4px}.stats-bar{margin:11px 0}.stats-bar>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}.stats-bar i{display:block;height:8px;border-radius:999px;background:#edf3f7;margin-top:5px;overflow:hidden}.stats-bar i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1684c7,#5eb6e9)}.stats-empty{color:#7b8995}.stats-session-summary{display:grid;grid-template-columns:auto 1fr;gap:12px 10px;align-items:baseline}.stats-session-summary strong{font-size:24px;color:#102a43}.stats-session-summary span{color:#71808d}
@media(max-width:1280px){.stats-metric-grid,.stats-intel-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-intel-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:899px){.stats-shell{padding:16px 12px 100px!important}.stats-agency-grid,.stats-intel-grid,.stats-intel-grid--3{grid-template-columns:1fr}.stats-metric-grid,.stats-intel-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-date-filter{width:100%;flex-wrap:wrap}.stats-date-filter label{flex:1}.stats-date-filter input{width:100%}.stats-tabs{top:64px;overflow:auto;white-space:nowrap}.stats-funnel{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-listing-table{min-width:720px}.stats-chart{height:260px}}

/* ===== v322: risultati desktop senza bottom-nav + paginazione dinamica durante zoom mappa ===== */
@media (min-width:761px){
  body.results-page-body .results-public-bottom-nav,
  body.results-page-body .results-authenticated-nav,
  body.results-page-body .results-public-bottom-nav .public-account-bottom-nav,
  body.results-page-body .results-authenticated-nav .logged-bottom-nav,
  body.results-page-body .results-authenticated-nav .professional-bottom-nav,
  body.results-page-body .results-authenticated-nav .logged-nav-host{
    display:none!important;
  }
}
body.results-map-bounds-filtered .results-pagination--numbered{
  display:flex;
}
.results-pagination--numbered button{
  min-width:38px;
  height:38px;
  padding:0 9px;
  border:0;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  color:#0878bf;
  font:inherit;
  font-weight:650;
  line-height:1;
  cursor:pointer;
  box-sizing:border-box;
}
.results-pagination--numbered button:hover:not(:disabled){background:#f3f9fd}
.results-pagination--numbered button.results-page-last{color:#8fc8ed}
.results-pagination--numbered button.results-page-arrow{
  min-width:34px;
  padding:0 5px;
  font-size:28px;
  font-weight:400;
}
.results-pagination--numbered button.results-page-arrow--double{font-size:29px}
.results-pagination--numbered button.is-disabled,
.results-pagination--numbered button:disabled{
  color:#a9d4ef;
  cursor:default;
  background:transparent;
}
@media(max-width:760px){
  .results-pagination--numbered button{min-width:34px;height:36px;padding:0 7px}
}

/* Detail: CTA al posto dei riquadri vuoti quando l'annuncio ha una sola foto. */
@media (min-width: 900px) {
  .detail-desktop-thumbs.detail-desktop-thumbs--single {
    display:block!important;
    min-width:0;
  }
  .detail-desktop-more-request {
    width:100%;
    height:100%;
    border:0;
    padding:28px 18px;
    background:#f3f7fa;
    color:#10283f;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:10px;
    cursor:pointer;
    transition:background .18s ease, box-shadow .18s ease;
  }
  .detail-desktop-more-request:hover {
    background:#eef6fc;
    box-shadow:inset 0 0 0 1px #cfe3f3;
  }
  .detail-desktop-more-request__icon {
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    color:#15324b;
  }
  .detail-desktop-more-request__icon svg {
    width:32px;
    height:32px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .detail-desktop-more-request strong {
    font-size:22px;
    line-height:1.1;
    font-weight:900;
  }
  .detail-desktop-more-request > span:last-child {
    color:#087cc4;
    font-size:15px;
    font-weight:800;
    line-height:1.35;
  }
}

/* Detail single-photo CTA + navigazione con URL reali (v324). */
@media (min-width:900px){
  .detail-desktop-thumbs.detail-desktop-thumbs--single{
    display:grid!important;
    grid-template-rows:minmax(0,1fr)!important;
    height:100%!important;
    min-height:0!important;
  }
  .detail-desktop-thumbs--single .detail-desktop-more-request{
    grid-row:1/-1;
    align-self:stretch;
    min-height:100%;
    border-radius:0;
  }
}
.detail-desktop-back,
.detail-desktop-property-nav a,
.detail-list-navigation a{
  color:inherit;
  text-decoration:none;
}
.detail-desktop-property-nav a,
.detail-list-navigation a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.detail-desktop-property-nav a[aria-disabled="true"],
.detail-list-navigation a[aria-disabled="true"]{
  opacity:.38;
  pointer-events:none;
}


/* ===== v325 — breadcrumb provincia/zone + colore navigazione dettaglio ===== */
.detail-desktop-back,
.detail-desktop-property-nav a,
.detail-list-navigation a{
  color:#0879c9!important;
}
.detail-desktop-property-position{
  color:#344b5e!important;
}

.results-zone-breadcrumb{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.results-zone-breadcrumb__trigger{
  appearance:none;
  border:0;
  background:transparent;
  color:#0879c9;
  padding:0;
  font:inherit;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.results-zone-breadcrumb__trigger svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.results-zone-breadcrumb__menu{
  position:absolute;
  z-index:1200;
  top:calc(100% + 9px);
  left:0;
  width:360px;
  max-height:330px;
  overflow:auto;
  padding:8px 0;
  background:#fff;
  border:1px solid #d8e1e8;
  border-radius:10px;
  box-shadow:0 10px 28px rgba(16,40,63,.18);
}
.results-zone-breadcrumb__menu[hidden]{display:none!important}
.results-zone-breadcrumb__menu a{
  display:block;
  padding:10px 18px;
  color:#475467!important;
  text-decoration:none;
  white-space:normal;
  line-height:1.35;
}
.results-zone-breadcrumb__menu a:hover,
.results-zone-breadcrumb__menu a.is-active{
  background:#eef7fd;
  color:#0879c9!important;
}
@media (max-width:850px){
  .results-zone-breadcrumb{display:none!important}
}

/* ===== v327 — profilo desktop coerente con area riservata + sidebar admin sicura ===== */
.private-desktop-sidebar [data-admin-only][hidden]{display:none!important;}

@media (min-width:900px){
  body.personal-area-body{
    background:#f4f7f9!important;
    padding-bottom:0!important;
  }
  body.personal-area-body .site-header{
    position:sticky;
    top:0;
    z-index:1400;
  }
  body.personal-area-body .personal-area{
    min-height:calc(100vh - 72px);
    margin-left:86px;
    padding:0;
    background:#f4f7f9;
  }
  body.personal-area-body .personal-area-shell{
    width:auto!important;
    max-width:1420px;
    margin:0 auto!important;
    padding:28px 34px 72px!important;
    box-sizing:border-box;
  }
  body.personal-area-body .account-page-heading{
    margin:0 0 18px;
  }
  body.personal-area-body .account-page-heading h1{
    font-size:30px;
    color:#102a43;
  }
  body.personal-area-body .account-page-heading p{
    font-size:14px;
  }
  body.personal-area-body .account-identity-card{
    min-height:0;
    margin:0 0 18px;
    padding:22px 26px;
    border-radius:18px;
    gap:20px;
    background:linear-gradient(115deg,#15547a,#1976b9);
  }
  body.personal-area-body .account-identity-card .account-avatar{
    width:88px;height:88px;flex-basis:88px;
    font-size:26px;
  }
  body.personal-area-body .account-identity-copy h2{font-size:25px;margin-bottom:5px}
  body.personal-area-body .account-identity-copy p{font-size:15px;margin-bottom:10px}
  body.personal-area-body .account-identity-card .account-role{padding:6px 12px;font-size:12px}

  body.personal-area-body .account-tabs{
    position:sticky;
    top:72px;
    z-index:950;
    display:grid!important;
    grid-template-columns:repeat(3,1fr);
    margin:0 0 18px!important;
    padding:0!important;
    border:1px solid #dfe7ed;
    border-radius:13px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 4px 14px rgba(16,42,67,.04);
  }
  body.personal-area-body .account-tabs button{
    min-height:54px;
    border:0!important;
    border-right:1px solid #e7edf1!important;
    border-radius:0!important;
    background:#fff!important;
    color:#536777!important;
    font-size:14px!important;
    font-weight:850!important;
  }
  body.personal-area-body .account-tabs button:last-child{border-right:0!important}
  body.personal-area-body .account-tabs button.is-active{
    background:#eaf6fd!important;
    color:#0879be!important;
    box-shadow:inset 0 -3px 0 #0b80c7;
  }

  body.personal-area-body .account-panel.is-active{display:block!important;}
  body.personal-area-body .account-activity-card,
  body.personal-area-body .account-form-card{
    border:1px solid #dfe7ed!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 4px 16px rgba(15,38,56,.035)!important;
  }
  body.personal-area-body .account-activity-card{padding:0!important;overflow:hidden}
  body.personal-area-body .account-activity-heading,
  body.personal-area-body .account-form-heading{
    padding:18px 20px!important;
    border-bottom:1px solid #e5ebf0!important;
    background:#f8fbfd!important;
  }
  body.personal-area-body .account-activity-heading h2,
  body.personal-area-body .account-form-heading h2{font-size:19px!important;color:#102a43!important}
  body.personal-area-body .account-activity-heading p,
  body.personal-area-body .account-form-heading p{font-size:13px!important;color:#738492!important}

  body.personal-area-body .account-action-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0!important;
  }
  body.personal-area-body .account-action{
    min-height:82px!important;
    padding:14px 18px!important;
    border-bottom:1px solid #edf1f4!important;
    border-right:1px solid #edf1f4!important;
    background:#fff!important;
  }
  body.personal-area-body .account-action:nth-child(even){border-right:0!important}
  body.personal-area-body .account-action:hover{background:#f5faff!important}
  body.personal-area-body .account-action>span:first-child{
    width:42px!important;height:42px!important;border-radius:11px!important;
    background:#edf7fd!important;color:#0b80c7!important;
  }
  body.personal-area-body .account-action strong{font-size:14px!important;color:#102a43!important}
  body.personal-area-body .account-action small{font-size:12px!important;color:#768692!important}
  body.personal-area-body .account-logout-button{
    width:auto!important;
    min-width:210px;
    margin:16px 0 0 auto!important;
    min-height:46px!important;
  }

  body.personal-area-body .account-profile-form,
  body.personal-area-body .account-password-form{
    display:grid;
    gap:16px;
  }
  body.personal-area-body .account-form-card{margin:0!important;padding:0 20px 20px!important;overflow:hidden}
  body.personal-area-body .account-form-heading{margin:0 -20px 18px!important}
  body.personal-area-body .account-fields--two{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px 18px!important;
  }
  body.personal-area-body .account-field--wide{grid-column:auto!important}
  body.personal-area-body .account-field:has(textarea){grid-column:1/-1!important}
  body.personal-area-body .account-field input,
  body.personal-area-body .account-field textarea{
    min-height:48px!important;
    border-radius:10px!important;
  }
  body.personal-area-body .account-switch{padding:16px 2px!important;}
  body.personal-area-body .account-primary-button{
    width:auto!important;
    min-width:220px;
    margin-left:auto!important;
    min-height:48px!important;
  }
  body.personal-area-body .personal-bottom-nav--professional,
  body.personal-area-body .personal-bottom-nav--private,
  body.personal-area-body .logged-bottom-nav,
  body.personal-area-body .professional-bottom-nav{
    display:none!important;
  }
}

@media (max-width:899px){
  body.personal-area-body .private-desktop-sidebar{display:none!important;}
  body.personal-area-body .personal-area{margin-left:0!important;}
  body.personal-area-body .site-header{display:flex!important;}
}


/* ===== v328 — profilo: form orizzontali desktop, logo agenzia e bottom-nav solo mobile ===== */
.account-logo-field{align-items:flex-start}
.account-logo-editor{min-width:0;display:flex;align-items:center;gap:14px}
.account-logo-preview{width:92px;height:72px;flex:0 0 92px;border:1px solid #d8e0e6;border-radius:12px;background:#f7fafc;display:grid;place-items:center;overflow:hidden}
.account-logo-preview img{width:100%;height:100%;object-fit:contain;padding:7px;box-sizing:border-box;background:#fff}
.account-logo-preview>span{width:34px;height:34px;color:#337ab7}
.account-logo-preview>span svg{width:100%;height:100%}
.account-logo-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.account-logo-upload{display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid #337ab7;border-radius:10px;color:#176fa9;background:#fff;font-weight:850;cursor:pointer}
.account-logo-upload input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
.account-logo-actions small{color:#71808e;font-size:12px}
.account-logo-message{font-size:12px;font-weight:750}
.account-logo-message.is-success{color:#16713c}.account-logo-message.is-error{color:#a63820}

@media (min-width:900px){
  body.personal-area-body .logged-nav-host,
  body.personal-area-body .logged-nav-host .logged-bottom-nav,
  body.personal-area-body .logged-nav-host .professional-bottom-nav{
    display:none!important;
  }
  body.personal-area-body .account-fields,
  body.personal-area-body .account-fields--two{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px 22px!important;
  }
  body.personal-area-body .account-field{
    min-width:0;
    display:grid!important;
    grid-template-columns:165px minmax(0,1fr)!important;
    gap:14px!important;
    align-items:center!important;
  }
  body.personal-area-body .account-field>span{
    margin:0!important;
    font-size:13px!important;
    line-height:1.25;
  }
  body.personal-area-body .account-field--wide{
    grid-column:auto!important;
  }
  body.personal-area-body .account-field:has(textarea){
    grid-column:1/-1!important;
    grid-template-columns:165px minmax(0,1fr)!important;
    align-items:start!important;
  }
  body.personal-area-body .account-field:has(textarea)>span{padding-top:12px}
  body.personal-area-body .account-logo-field{
    grid-column:1/-1!important;
    grid-template-columns:165px minmax(0,1fr)!important;
  }
  body.personal-area-body .account-password-form .account-fields{
    grid-template-columns:1fr!important;
  }
  body.personal-area-body .account-password-form .account-field{
    grid-template-columns:220px minmax(0,1fr)!important;
  }
}

@media (max-width:899px){
  body.personal-area-body .logged-nav-host{display:block!important}
  body.personal-area-body .personal-area-shell{
    padding-bottom:calc(112px + env(safe-area-inset-bottom))!important;
  }
  body.personal-area-body .account-logout-button{
    margin-bottom:18px!important;
  }
  body.personal-area-body .account-logo-field{display:block!important}
  body.personal-area-body .account-logo-field>span{display:block;margin:0 0 8px!important}
}

/* ===== v329 — profilo: contatti personali, indirizzo assistito e mappa attività ===== */
.account-field--professional{display:none!important}
.personal-area.is-professional .account-field--professional{display:grid!important}
.account-form-heading a{color:#0879be;text-decoration:none;font-weight:750}
.account-form-heading a:hover{text-decoration:underline}
.account-address-map{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
  gap:18px;
  grid-column:1/-1!important;
  padding-top:2px;
}
.account-address-fields{display:flex;flex-direction:column;gap:14px;min-width:0}
.account-field.account-field--stacked{display:block!important}
.account-field.account-field--stacked>span{display:block!important;margin:0 0 7px!important}
.account-autocomplete{position:relative;min-width:0}
.account-autocomplete>input{
  box-sizing:border-box;
  width:100%;
  min-height:48px;
  border:1px solid #d8e0e6;
  border-radius:10px;
  padding:13px 14px;
  color:#15283b;
  background:#fff;
  font:inherit;
  outline:none;
}
.account-autocomplete>input:focus{border-color:#337ab7;box-shadow:0 0 0 3px rgba(51,122,183,.1)}
.account-address-suggestions{
  position:absolute;
  top:calc(100% + 5px);
  left:0;
  right:0;
  z-index:1200;
  max-height:238px;
  overflow:auto;
  padding:6px;
  border:1px solid #d7e1e8;
  border-radius:11px;
  background:#fff;
  box-shadow:0 12px 30px rgba(16,42,67,.18);
}
.account-address-suggestions[hidden]{display:none!important}
.account-address-suggestions button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  padding:10px 11px;
  border:0;
  border-radius:8px;
  color:#17324a;
  background:#fff;
  text-align:left;
  cursor:pointer;
}
.account-address-suggestions button:hover{background:#edf7fd;color:#0879be}
.account-address-suggestions strong{font-size:13px;font-weight:800}
.account-address-suggestions small{color:#71808e;font-size:12px}
.account-address-help{margin:0;color:#71808e;font-size:12px;line-height:1.4}
.account-address-map-preview{
  min-height:238px;
  overflow:hidden;
  border:1px solid #d8e1e8;
  border-radius:12px;
  background:#e9eef2;
}
.account-address-map-preview .leaflet-container{width:100%;height:100%;min-height:238px;font-family:inherit}

@media (max-width:899px){
  .personal-area.is-professional .account-field--professional{display:block!important}
  .account-address-map{grid-template-columns:1fr;gap:14px}
  .account-address-map-preview{min-height:220px}
  .account-address-map-preview .leaflet-container{min-height:220px}
}

/* ===== v331 — profilo attività ordinato e separazione sezione richieste ===== */
[data-professional-profile]:not([hidden]){
  display:grid;
  gap:28px;
}
[data-professional-profile] > .account-form-card{
  margin-bottom:0!important;
}
.account-business-profile{
  display:grid;
  gap:20px;
}
.account-business-pair{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.account-business-website,
.account-business-description,
.account-business-profile .account-address-map{
  min-width:0;
}

@media (min-width:900px){
  body.personal-area-body .account-business-profile .account-logo-field,
  body.personal-area-body .account-business-profile .account-business-website,
  body.personal-area-body .account-business-profile .account-business-description{
    grid-column:1/-1!important;
  }
  body.personal-area-body .account-business-description{
    display:grid!important;
    grid-template-columns:165px minmax(0,1fr)!important;
    align-items:start!important;
  }
  body.personal-area-body .account-business-description>span{
    padding-top:12px;
  }
  body.personal-area-body .account-business-profile .account-address-map{
    grid-template-columns:minmax(320px,.9fr) minmax(440px,1.1fr);
    gap:22px;
    padding-top:4px;
  }
}

@media (max-width:899px){
  [data-professional-profile]:not([hidden]){gap:22px}
  .account-business-profile{gap:17px}
  .account-business-pair{grid-template-columns:1fr;gap:17px}
  .account-business-website,
  .account-business-description{display:block!important}
  .account-business-description>span{display:block;margin:0 0 7px!important;padding:0!important}
}

/* ===== v332 — dati personali su righe fisse + consenso WhatsApp ===== */
.account-personal-fields{
  display:grid;
  gap:14px;
}
.account-personal-pair,
.account-personal-whatsapp{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.account-personal-whatsapp{
  grid-column:1/-1;
}
.account-personal-pair--phones{
  grid-template-columns:1fr;
}
.personal-area.is-professional .account-personal-pair--phones{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.personal-area.is-professional .account-personal-whatsapp{
  display:grid!important;
}
body.personal-area-body .account-whatsapp-optin{
  min-width:0;
  min-height:48px;
  margin:0;
  padding:7px 12px!important;
  border:1px solid #d8e0e6!important;
  border-radius:10px;
  background:#f8fbfd;
}
body.personal-area-body .account-whatsapp-optin strong{
  color:#173149;
  font-size:13px;
}
body.personal-area-body .account-whatsapp-optin small{
  font-size:11px;
}

@media (min-width:900px){
  body.personal-area-body .account-personal-email{
    grid-column:1/-1!important;
  }
}

@media (max-width:899px){
  .account-personal-fields{gap:17px}
  .account-personal-pair,
  .personal-area.is-professional .account-personal-whatsapp{
    grid-template-columns:1fr;
    gap:17px;
  }
  body.personal-area-body .account-whatsapp-optin{
    min-height:58px;
    padding:9px 12px!important;
  }
}

/* ===== v333 — contatti rapidi nel dettaglio annuncio ===== */
.detail-overview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:0 0 14px;
}
.detail-overview-head>.detail-price{
  margin:0;
  color:#e56a20;
  font-size:34px;
  line-height:1.05;
  font-weight:950;
  white-space:nowrap;
}
.detail-desktop-quick-contacts{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.detail-desktop-quick-contact{
  min-height:42px;
  padding:0 13px;
  border:1px solid currentColor;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font:inherit;
  font-size:13px;
  font-weight:850;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  background:#fff;
}
.detail-desktop-quick-contact svg,
.detail-desktop-agency-card__main button svg,
.detail-phone-modal svg,
.detail-bottom-action--whatsapp svg{
  width:20px;
  height:20px;
  flex:0 0 20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.detail-desktop-quick-contact--phone{
  color:#0879c9;
  border-color:#bad9ed;
  background:#f4faff;
}
.detail-desktop-quick-contact--whatsapp{
  color:#138a3d;
  border-color:#9ed9af;
  background:#effbf2;
}
.detail-desktop-quick-contact--message{
  color:#fff;
  border-color:#e56a20;
  background:#e56a20;
}
.detail-desktop-quick-contact:hover{
  filter:brightness(.97);
}
.detail-desktop-agency-card__main button{
  width:max-content;
  padding:0;
  border:0;
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#0879c9;
  background:transparent;
  font:inherit;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}
.detail-desktop-agency-card__main button svg{
  width:15px;
  height:15px;
  flex-basis:15px;
}

.detail-phone-modal[hidden]{display:none!important}
.detail-phone-modal{
  position:fixed;
  inset:0;
  z-index:5200;
  padding:20px;
  display:grid;
  place-items:center;
  opacity:0;
  transition:opacity .18s ease;
}
.detail-phone-modal.is-open{opacity:1}
.detail-phone-modal__backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:rgba(17,39,58,.56);
  cursor:pointer;
}
.detail-phone-modal__dialog{
  position:relative;
  z-index:1;
  width:min(100%,430px);
  padding:34px 30px 30px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 22px 65px rgba(16,42,63,.28);
  text-align:center;
  transform:translateY(10px) scale(.98);
  transition:transform .18s ease;
}
.detail-phone-modal.is-open .detail-phone-modal__dialog{
  transform:translateY(0) scale(1);
}
.detail-phone-modal__close{
  position:absolute;
  top:11px;
  right:13px;
  width:34px;
  height:34px;
  padding:0;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#536a7c;
  background:#f1f5f8;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.detail-phone-modal__icon{
  width:58px;
  height:58px;
  margin:0 auto 15px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:#0879c9;
}
.detail-phone-modal__icon svg{
  width:27px;
  height:27px;
  flex-basis:27px;
  stroke-width:2;
}
.detail-phone-modal h2{
  margin:0 0 7px;
  color:#173149;
  font-size:22px;
}
.detail-phone-modal p{
  margin:0 0 18px;
  color:#6b7f8f;
}
.detail-phone-modal__number{
  min-height:50px;
  padding:0 20px;
  border-radius:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:#0879c9;
  font-size:21px;
  font-weight:900;
  text-decoration:none;
}
.detail-phone-modal small{
  display:block;
  margin-top:12px;
  color:#768897;
  font-size:12px;
}
body.detail-phone-modal-open{overflow:hidden}

@media (max-width:850px){
  .detail-overview-head{
    display:block;
    margin-bottom:12px;
  }
  .detail-overview-head>.detail-price{
    font-size:30px;
  }
  .detail-desktop-quick-contacts{
    display:none!important;
  }
  .detail-bottom-action--whatsapp{
    flex:0 0 54px!important;
    width:54px!important;
    padding:0!important;
    color:#fff!important;
    border:1px solid #1fa650!important;
    background:#1fa650!important;
  }
  .detail-bottom-actions .detail-bottom-action--phone svg,
  .detail-bottom-actions .detail-bottom-action--whatsapp svg{
    width:22px!important;
    height:22px!important;
    flex-basis:22px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
}

@media (max-width:420px){
  .detail-bottom-actions{
    gap:7px!important;
  }
  .detail-bottom-actions .detail-bottom-action--message{
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .detail-phone-modal{
    padding:12px;
    place-items:end center;
  }
  .detail-phone-modal__dialog{
    width:100%;
    padding:31px 22px calc(24px + env(safe-area-inset-bottom,0px));
    border-radius:18px 18px 12px 12px;
  }
}

/* ===== v336 — icona WhatsApp ufficiale + comandi galleria mobile ===== */
.whatsapp-brand-icon,
.detail-desktop-quick-contact .whatsapp-brand-icon,
.detail-bottom-actions .whatsapp-brand-icon{
  fill:currentColor!important;
  stroke:none!important;
}
.whatsapp-brand-icon path{
  fill:currentColor!important;
  stroke:none!important;
}
.detail-hero .detail-photo-count{
  border:0;
  color:#17283d;
  font:inherit;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  z-index:8;
  appearance:none;
  -webkit-appearance:none;
}

/* ===== Detail v337 — ritorno risultati + collegamenti media ===== */
.detail-scroll-header__back{
  width:36px;
  height:36px;
  flex:0 0 36px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#0879c9;
  background:#f1f8fd;
  text-decoration:none;
  transition:background .15s ease,color .15s ease;
}
.detail-scroll-header__back:hover{
  color:#056baF;
  background:#e3f2fc;
}
.detail-scroll-header__back svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media (min-width:851px){
  .detail-scroll-header--desktop .detail-scroll-header__inner{
    grid-template-columns:36px 214px minmax(0,1fr) 150px!important;
    gap:14px!important;
  }
}

@media (min-width:851px) and (max-width:1100px){
  .detail-scroll-header--desktop .detail-scroll-header__inner{
    grid-template-columns:34px 165px minmax(0,1fr) 116px!important;
    gap:7px!important;
  }
  .detail-scroll-header--desktop .detail-scroll-header__back{
    width:34px;
    height:34px;
    flex-basis:34px;
  }
}

@media (max-width:850px){
  .detail-scroll-header--mobile .detail-scroll-header__top{
    justify-content:flex-start!important;
    gap:8px!important;
  }
  .detail-scroll-header--mobile .detail-scroll-header__back{
    width:36px!important;
    height:36px!important;
    flex:0 0 36px!important;
  }
  .detail-scroll-header--mobile .detail-scroll-header__summary{
    flex:1 1 auto!important;
  }
  .detail-scroll-header--mobile .detail-scroll-header__summary span{
    max-width:150px!important;
  }
  .detail-scroll-header--mobile .detail-scroll-header__actions{
    margin-left:auto!important;
  }
}

/* ===== Detail e risultati v338 — contenitore, icone e badge ===== */
@media (min-width:851px){
  .detail-page .shell,
  .detail-page-body .site-header .header-inner,
  .detail-scroll-header--desktop .detail-scroll-header__inner{
    width:min(1360px,calc(100% - 48px))!important;
    max-width:1360px!important;
  }

  /* Il nome della stanza resta sulle miniature laterali, non sulla foto grande. */
  .detail-desktop-main-label{
    display:none!important;
  }
}

/* NUOVO in alto a sinistra; livello di visibilità in basso a sinistra. */
.result-property-new-badge{
  left:12px!important;
  right:auto!important;
  top:12px!important;
  bottom:auto!important;
  background:#0879c9!important;
}
.result-property-badge{
  left:12px!important;
  right:auto!important;
  top:auto!important;
  bottom:12px!important;
}

/* ===== Detail e risultati v339 — galleria, panoramica e icone ===== */
@media (min-width:851px){
  .detail-desktop-gallery{
    height:520px!important;
    min-height:520px!important;
    max-height:520px!important;
  }
  .detail-desktop-thumbs{
    grid-template-rows:repeat(4,minmax(0,1fr))!important;
  }
  .detail-desktop-thumbs.detail-desktop-thumbs--single{
    grid-template-rows:minmax(0,1fr)!important;
  }

  .detail-overview{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "overview-main overview-side"
      "overview-facts overview-facts"!important;
    column-gap:32px!important;
    row-gap:18px!important;
    align-items:start!important;
  }
  .detail-overview-main{
    grid-area:overview-main!important;
    min-width:0!important;
  }
  .detail-overview-head{
    grid-area:overview-side!important;
    margin:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    gap:13px!important;
  }
  .detail-overview-head>.detail-price{
    margin:0!important;
    text-align:right!important;
  }
  .detail-desktop-quick-contacts{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:9px!important;
  }
  .detail-desktop-quick-contact{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    border-radius:11px!important;
    display:grid!important;
    place-items:center!important;
  }
  .detail-desktop-quick-contact span{
    display:none!important;
  }
  .detail-desktop-quick-contact svg{
    width:21px!important;
    height:21px!important;
    flex-basis:21px!important;
  }
  .detail-facts--app{
    grid-area:overview-facts!important;
    margin-top:0!important;
  }
}

@media (min-width:851px) and (max-width:1050px){
  .detail-desktop-gallery{
    height:460px!important;
    min-height:460px!important;
    max-height:460px!important;
  }
}

/* ===== Detail e risultati v341 — contatti sulla riga delle caratteristiche ===== */
@media (min-width:851px){
  .detail-overview{
    grid-template-areas:
      "overview-main overview-side"
      "overview-facts overview-contacts"!important;
  }
  .detail-overview-head{
    gap:0!important;
  }
  .detail-overview>.detail-desktop-quick-contacts{
    grid-area:overview-contacts!important;
    justify-self:end!important;
    align-self:stretch!important;
    width:auto!important;
    justify-content:flex-end!important;
    align-items:flex-start!important;
    margin:0!important;
    padding-top:18px!important;
    border-top:1px solid #edf1f4!important;
  }
}

/* ===== Risultati v343 — contenuto azzurro nel marker raggruppato evidenziato ===== */
@media (min-width:900px){
  .result-price-marker.result-price-marker--grouped.is-card-hover span > svg{
    stroke:#087fc8!important;
  }
  .result-price-marker.result-price-marker--grouped.is-card-hover .result-marker-group-count{
    color:#087fc8!important;
  }
}
