/* Shared premium layer for the original functional pages. Loaded after their local CSS. */
:root{--cip-ink:#192321;--cip-muted:#68716d;--cip-paper:#f3f0e8;--cip-white:#fff;--cip-forest:#183b37;--cip-forest-2:#2f5a53;--cip-lime:#d9ff57;--cip-copper:#b97850;--cip-line:rgba(25,35,33,.14);--cip-shadow:0 22px 60px rgba(20,30,28,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.cip-legacy{margin:0!important;min-height:100vh!important;display:flex!important;flex-direction:column!important;background:var(--cip-paper)!important;background-image:none!important;color:var(--cip-ink)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;-webkit-font-smoothing:antialiased}
body.cip-legacy>main,body.cip-legacy>.container{flex:1}body.cip-legacy a{color:var(--cip-forest-2)}
.cip-header{position:sticky;top:0;z-index:100;background:rgba(24,35,33,.96);backdrop-filter:blur(16px);color:#fff;border-bottom:1px solid rgba(185,120,80,.25);box-shadow:none!important;padding:0!important;text-align:left!important}.cip-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.cip-nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.cip-brand{display:inline-flex;align-items:center;gap:12px;color:#fff!important;text-decoration:none!important;font-weight:800;letter-spacing:-.03em;font-size:1.15rem}.cip-brand-mark{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:13px;background:#0b2521 url('/static/cip-logo-mark-v2.png') center/40px no-repeat;color:transparent;font-size:0;box-shadow:0 8px 22px rgba(0,0,0,.2)}.cip-menu{display:flex;align-items:center;gap:23px;list-style:none;margin:0;padding:0}.cip-menu a{color:rgba(255,255,255,.76)!important;text-decoration:none!important;font-size:.91rem;font-weight:700}.cip-menu a:hover,.cip-menu a[aria-current="page"]{color:#fff!important}.cip-menu .cip-cta{padding:11px 17px;border-radius:999px;background:var(--cip-lime);color:var(--cip-ink)!important}.cip-menu-button{display:none;width:44px;height:44px;min-width:0!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.23)!important;border-radius:12px!important;background:transparent!important}.cip-menu-button span{display:block;width:19px;height:2px;margin:4px auto;background:#fff}
body.cip-legacy main{width:min(1060px,calc(100% - 32px))!important;max-width:none!important;margin:0 auto!important;padding:56px 0 84px!important;background:none!important}body.cip-legacy main.container,body.cip-legacy>.container{width:min(1060px,calc(100% - 32px))!important;max-width:none!important;margin:0 auto!important;padding:56px 0 84px!important;background:none!important}
body.cip-legacy main:before,body.cip-legacy>.container:before{content:attr(data-page-label);display:block;margin:0 0 13px;color:var(--cip-forest-2);font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
body.cip-legacy h1,body.cip-legacy h2,body.cip-legacy h3{color:var(--cip-ink)!important;letter-spacing:-.025em}body.cip-legacy main>h1,body.cip-legacy main>h2,body.cip-legacy>.container>h1,body.cip-legacy>.container>h2{font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(2.4rem,6vw,4.8rem)!important;font-weight:500!important;line-height:1!important;letter-spacing:-.05em!important;margin:0 0 20px!important}body.cip-legacy p{line-height:1.65}
body.cip-legacy .block,body.cip-legacy .form-container,body.cip-legacy form:not(.cip-inline),body.cip-legacy .card,body.cip-legacy .tool-card,body.cip-legacy .content,body.cip-legacy .calculator,body.cip-legacy .box{background:#fff!important;border:1px solid var(--cip-line)!important;border-radius:24px!important;box-shadow:0 14px 42px rgba(18,63,55,.08)!important;padding:clamp(22px,4vw,40px)!important}
body.cip-legacy label{display:block!important;margin:17px 0 7px!important;color:var(--cip-ink)!important;font-size:.83rem!important;font-weight:800!important}body.cip-legacy input:not([type="checkbox"]):not([type="radio"]),body.cip-legacy select,body.cip-legacy textarea{width:100%!important;min-height:50px!important;padding:12px 14px!important;border:1px solid var(--cip-line)!important;border-radius:12px!important;background:#fafaf7!important;color:var(--cip-ink)!important;font:inherit!important;outline:none!important;box-shadow:none!important}body.cip-legacy textarea{min-height:120px!important;resize:vertical}body.cip-legacy input:focus,body.cip-legacy select:focus,body.cip-legacy textarea:focus{border-color:var(--cip-forest-2)!important;box-shadow:0 0 0 3px rgba(27,91,79,.1)!important}
body.cip-legacy button,body.cip-legacy input[type="submit"],body.cip-legacy .btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;min-width:140px;margin-top:18px;padding:0 21px!important;border:0!important;border-radius:13px!important;background:var(--cip-forest)!important;color:#fff!important;font-weight:800!important;text-decoration:none!important;cursor:pointer;transition:transform .2s,background .2s}body.cip-legacy button:hover,body.cip-legacy .btn:hover{background:var(--cip-forest-2)!important;transform:translateY(-2px)}body.cip-legacy button:disabled{opacity:.5;cursor:not-allowed;transform:none}
body.cip-legacy table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--cip-line);border-radius:16px;background:#fff}body.cip-legacy th{background:var(--cip-forest)!important;color:#fff!important}body.cip-legacy th,body.cip-legacy td{padding:13px!important;border-color:var(--cip-line)!important}
body.cip-legacy .result,body.cip-legacy .results,body.cip-legacy .success-message,body.cip-legacy .alert{border-radius:14px!important;padding:16px!important}body.cip-legacy iframe{border-radius:18px!important;box-shadow:var(--cip-shadow)}
.cip-footer{margin-top:auto;padding:48px 0 24px!important;background:#0b2d28!important;color:#fff!important;text-align:left!important}.cip-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:38px}.cip-footer p{max-width:420px;color:rgba(255,255,255,.62)}.cip-footer-title{margin:0 0 14px!important;color:var(--cip-lime)!important;font:800 .74rem/1.2 Inter,sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase}.cip-footer-links{display:grid;gap:9px}.cip-footer-links a{color:rgba(255,255,255,.74)!important;text-decoration:none!important}.cip-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:38px;padding-top:21px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.45);font-size:.8rem}
body.cip-legacy>.cookie-banner,body.cip-legacy>#cookieBanner,body.cip-legacy>#cookie-banner{left:20px!important;right:20px!important;bottom:20px!important;max-width:680px!important;margin-left:auto!important;padding:18px!important;border-radius:18px!important;background:#102a27!important;box-shadow:0 20px 70px rgba(0,0,0,.3)!important;color:#fff!important;z-index:200!important}body.cip-legacy .cookie-banner button{margin:0!important;background:var(--cip-lime)!important;color:var(--cip-ink)!important}
@media(max-width:900px){.cip-menu-button{display:block}.cip-menu{position:absolute;inset:76px 0 auto;display:none;flex-direction:column;align-items:stretch;padding:22px;background:var(--cip-forest);border-top:1px solid rgba(255,255,255,.1)}.cip-menu.open{display:flex}.cip-menu a{display:block;padding:7px 0}.cip-menu .cip-cta{text-align:center}.cip-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cip-shell{width:min(100% - 28px,1180px)}.cip-nav{min-height:68px}.cip-menu{top:68px}.cip-brand{font-size:1rem}body.cip-legacy main,body.cip-legacy main.container,body.cip-legacy>.container{padding:40px 0 64px!important}.cip-footer-grid{grid-template-columns:1fr}.cip-footer-bottom{flex-direction:column}body.cip-legacy .block,body.cip-legacy .form-container,body.cip-legacy form:not(.cip-inline),body.cip-legacy .card{padding:20px!important;border-radius:18px!important}body.cip-legacy>.cookie-banner,body.cip-legacy>#cookieBanner,body.cip-legacy>#cookie-banner{left:12px!important;right:12px!important;bottom:12px!important;flex-direction:column!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Page-specific refinements */
body.cip-legacy #introHomepage{width:min(760px,calc(100% - 32px))!important;max-width:760px!important;margin:46px auto 24px!important;padding:26px 30px!important;overflow:hidden!important;border:1px solid var(--cip-line)!important;border-left:0!important;border-radius:20px!important;background:#fff!important;box-shadow:0 14px 42px rgba(18,63,55,.08)!important;color:var(--cip-ink)!important;text-align:left!important}
body.cip-legacy #introHomepage p,body.cip-legacy #introHomepage p.single-line,body.cip-legacy #introHomepage p.multi-line{max-width:100%!important;margin:0!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;line-height:1.65!important}
body.cip-legacy #introHomepage p+p{margin-top:10px!important;color:var(--cip-muted)!important}

body.cip-legacy main.container[data-page-label="Gestione annunci"]{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)!important;gap:24px!important;align-items:stretch!important;width:min(1040px,calc(100% - 32px))!important}
body.cip-legacy main.container[data-page-label="Gestione annunci"]:before{grid-column:1/-1!important;margin-bottom:-6px!important}
body.cip-legacy #introAreaRiservata{max-width:none!important;margin:0!important;padding:38px!important;display:flex!important;align-items:flex-end!important;min-height:390px!important;border:0!important;border-radius:25px!important;background:var(--cip-forest)!important;box-shadow:var(--cip-shadow)!important;color:#fff!important;text-align:left!important;font-size:1.06rem!important;line-height:1.7!important}
body.cip-legacy #introAreaRiservata p{margin:0!important;color:rgba(255,255,255,.74)!important}body.cip-legacy #introAreaRiservata strong{color:var(--cip-lime)!important}
body.cip-legacy #otpForm{max-width:none!important;min-height:390px!important;margin:0!important;padding:38px!important;justify-content:center!important;gap:13px!important;text-align:left!important;border-radius:25px!important}
body.cip-legacy #otpForm h2{margin:0 0 10px!important;font:500 2.4rem/1 Georgia,serif!important;letter-spacing:-.045em!important}
body.cip-legacy #otpForm .email-row,body.cip-legacy #otpForm .otp-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important;margin:0!important;align-items:stretch!important}
body.cip-legacy #otpForm .otp-btn{min-width:140px!important;margin:0!important;white-space:nowrap!important}
body.cip-legacy #otpForm>button[type="submit"]{width:100%!important;margin-top:3px!important;background:var(--cip-lime)!important;color:var(--cip-ink)!important}
body.cip-legacy #immobiliContainer{grid-column:1/-1!important;margin-top:20px!important}
body.cip-legacy #logoutBtn.cip-logout{position:fixed!important;z-index:120!important;top:90px!important;right:20px!important;width:auto!important;min-width:100px!important;margin:0!important;background:#b83a3a!important;color:#fff!important}
body.cip-legacy .immobili-container .immobile-card{width:min(330px,100%)!important;border:1px solid var(--cip-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 14px 38px rgba(18,63,55,.09)!important}
@media(max-width:800px){body.cip-legacy main.container[data-page-label="Gestione annunci"]{grid-template-columns:1fr!important}body.cip-legacy #introAreaRiservata{min-height:260px!important}body.cip-legacy #otpForm{min-height:auto!important}}
@media(max-width:560px){body.cip-legacy #introHomepage{padding:21px!important;margin-top:28px!important}body.cip-legacy #introAreaRiservata,body.cip-legacy #otpForm{padding:24px!important}body.cip-legacy #otpForm .email-row,body.cip-legacy #otpForm .otp-row{grid-template-columns:1fr!important}body.cip-legacy #otpForm .otp-btn{width:100%!important}body.cip-legacy #logoutBtn.cip-logout{top:auto!important;right:12px!important;bottom:12px!important}}

/* Navigation conflict-proofing for pages with strong legacy button styles. */
.cip-header,.cip-header .cip-nav{background:#123f37!important;background-color:#123f37!important}
.cip-menu{background-color:#123f37}
.cip-menu-button{position:relative!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.23)!important;border-radius:12px!important;background:rgba(255,255,255,.04)!important;transform:none!important}
.cip-menu-button:hover{background:rgba(255,255,255,.1)!important;transform:none!important}
.cip-menu-icon,.cip-menu-icon:before,.cip-menu-icon:after{position:absolute!important;left:50%!important;width:20px!important;height:2px!important;border-radius:2px!important;background:#fff!important;content:""!important;transform:translateX(-50%)!important}
.cip-menu-icon{top:50%!important;margin:0!important}.cip-menu-icon:before{top:-7px!important}.cip-menu-icon:after{top:7px!important}
@media(max-width:900px){.cip-menu-button{display:block!important}}

/* Mobile-first hardening for the original functional pages */
body.cip-legacy{overflow-x:hidden!important}body.cip-legacy img,body.cip-legacy video,body.cip-legacy iframe{max-width:100%!important;height:auto}body.cip-legacy h1,body.cip-legacy h2,body.cip-legacy h3,body.cip-legacy p,body.cip-legacy a{overflow-wrap:break-word}body.cip-legacy table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}body.cip-legacy button,body.cip-legacy a,body.cip-legacy input,body.cip-legacy select,body.cip-legacy textarea{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(max-width:900px){.cip-header{padding-top:env(safe-area-inset-top)!important}.cip-menu{z-index:130;max-height:calc(100dvh - 76px);overflow-y:auto;gap:4px!important;padding:16px!important;box-shadow:0 24px 44px rgba(5,32,28,.25)}.cip-menu a{min-height:48px;display:flex!important;align-items:center;padding:10px 14px!important;border-radius:10px}.cip-menu a:hover,.cip-menu a:focus-visible{background:rgba(255,255,255,.07)}.cip-menu .cip-cta{justify-content:center;margin-top:5px}.cip-menu-button{flex:0 0 44px!important}}
@media(max-width:640px){.cip-brand{min-width:0;gap:9px!important;font-size:clamp(.88rem,4.1vw,1rem)!important;white-space:nowrap}.cip-brand-mark{width:38px!important;height:38px!important;flex:0 0 38px}.cip-shell{width:min(100% - 24px,1180px)!important}body.cip-legacy main,body.cip-legacy main.container,body.cip-legacy>.container{width:min(100% - 24px,1060px)!important;padding:34px 0 58px!important}body.cip-legacy main>h1,body.cip-legacy main>h2,body.cip-legacy>.container>h1,body.cip-legacy>.container>h2{font-size:clamp(2.25rem,12vw,3.3rem)!important}body.cip-legacy input:not([type=checkbox]):not([type=radio]),body.cip-legacy select,body.cip-legacy textarea{font-size:16px!important}body.cip-legacy button,body.cip-legacy input[type=submit],body.cip-legacy .btn{min-height:50px}body.cip-legacy>.cookie-banner,body.cip-legacy>#cookieBanner,body.cip-legacy>#cookie-banner{gap:10px!important;padding:14px!important;border-radius:15px!important;font-size:.8rem!important}body.cip-legacy .cookie-buttons{width:100%!important;text-align:stretch!important}body.cip-legacy .cookie-buttons button,body.cip-legacy .cookie-banner button{width:100%!important;min-height:44px!important}.cip-footer{padding-top:44px!important}.cip-footer-grid{gap:28px!important}}
@media(max-width:360px){.cip-shell{width:min(100% - 20px,1180px)!important}.cip-brand{font-size:.86rem!important}.cip-brand-mark{width:36px!important;height:36px!important;flex-basis:36px}body.cip-legacy main,body.cip-legacy main.container,body.cip-legacy>.container{width:min(100% - 20px,1060px)!important}body.cip-legacy .block,body.cip-legacy .form-container,body.cip-legacy form:not(.cip-inline),body.cip-legacy .card{padding:17px!important}}
@media(hover:none),(pointer:coarse){body.cip-legacy button:hover,body.cip-legacy .btn:hover{transform:none!important}}
@media(min-width:901px){.cip-menu-button{display:none!important}}
body.cip-legacy .publish-free-button{display:flex!important;width:min(360px,100%)!important;margin:28px auto 0!important;background:linear-gradient(135deg,var(--cip-forest),#294a44)!important;box-shadow:0 14px 36px rgba(24,35,33,.2)!important}
