
/* WordPress block theme compatibility */
/* NUOVA: remove block theme constrained layout around shortcode */
body:has(.nuova-site) main,body:has(.nuova-site) .wp-block-post-content,body:has(.nuova-site) .entry-content,body:has(.nuova-site) .wp-block-shortcode:has(.nuova-site){width:100%!important;max-width:none!important;min-width:0!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;}
body:has(.nuova-site) .wp-block-post-content:has(.nuova-site) > *,body:has(.nuova-site) .entry-content:has(.nuova-site) > *{max-width:none!important;}
body:has(.nuova-site) .is-layout-constrained:has(.nuova-site){max-width:none!important;width:100%!important;padding-inline:0!important;}
body:has(.nuova-site) .nuova-site{clear:both;transform:none!important;inset-inline:auto!important;}
:where(.entry-content,.wp-block-post-content) > .wp-block-shortcode:has(.nuova-site){max-width:none!important;width:100%!important;margin-block:0!important;padding:0!important;}
:where(.entry-content,.wp-block-post-content):has(> .wp-block-shortcode .nuova-site){max-width:none!important;padding-inline:0!important;}

.nuova-site{--n:#064966;--d:#07384c;--a:#b9dce6;--paper:#f5f9fa;font-family:Arial,Helvetica,sans-serif;color:#173b49;line-height:1.6;overflow:hidden;width:100%;max-width:100%;position:relative;left:auto;margin-left:0;margin-right:0;isolation:isolate}.nuova-site *,.nuova-site *::before,.nuova-site *::after{box-sizing:border-box}.nuova-site{font-size:16px}.nuova-site img,.nuova-site svg{max-width:100%;height:auto}.nuova-site .wrap>*{min-width:0}.nuova-site a{overflow-wrap:anywhere}.nuova-site .nav,.nuova-site .hero,.nuova-site section,.nuova-site footer{width:100%}.nuova-site a{text-decoration:none}.nuova-site .wrap{width:min(1140px,calc(100% - 40px));margin:auto}.nuova-site .nav{background:#fff;padding:19px 0}.nuova-site .nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:15px}.nuova-site .brand{font-family:Georgia,serif;font-size:32px;letter-spacing:2px;color:var(--n)}.nuova-site .navlinks{display:flex;align-items:center;gap:26px}.nuova-site .navlinks a{color:var(--d);font-size:14px;font-weight:600}.nuova-site .btn{display:inline-flex;align-items:center;justify-content:center;background:var(--n);color:#fff!important;border-radius:7px;padding:14px 23px;font-weight:700;transition:background .2s}.nuova-site .btn:hover{background:#087099}.nuova-site .btn.white{background:#fff;color:var(--n)!important}.nuova-site .hero{background:linear-gradient(105deg,rgba(3,52,72,.95),rgba(4,73,102,.79)),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1800&q=80') center/cover;min-height:590px;display:flex;align-items:center;color:white}.nuova-site .hero .wrap{padding:95px 0}.nuova-site .eyebrow{text-transform:uppercase;letter-spacing:2.8px;font-size:12px;font-weight:700;color:#c1e3ee}.nuova-site h1,.nuova-site h2,.nuova-site h3,.nuova-site p{margin-top:0}.nuova-site h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,75px);line-height:1.1;max-width:780px;font-weight:400;margin:17px 0 22px}.nuova-site .hero p{font-size:18px;max-width:600px;color:#e4f1f5;margin-bottom:31px}.nuova-site section.content{padding:88px 0}.nuova-site .intro{text-align:center;max-width:730px;margin:0 auto 42px}.nuova-site h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(31px,4vw,45px);line-height:1.18;color:var(--d);margin:12px 0 17px}.nuova-site .intro p{color:#647982}.nuova-site .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.nuova-site .card{padding:34px 30px;background:#fff;border:1px solid #e1eaed;border-radius:11px;box-shadow:0 12px 30px rgba(9,55,75,.045)}.nuova-site .card .symbol{font-size:29px;margin-bottom:16px}.nuova-site .card h3{font-size:19px;color:var(--d);margin-bottom:12px}.nuova-site .card p{color:#647982;font-size:15px;margin:0}.nuova-site .soft{background:var(--paper)}.nuova-site .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:65px}.nuova-site .photo{min-height:430px;background:url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1100&q=80') center/cover;border-radius:12px}.nuova-site .checks{list-style:none;padding:0;margin:26px 0}.nuova-site .checks li{padding:9px 0}.nuova-site .checks li:before{content:'✓';color:#0784a7;font-weight:bold;margin-right:13px}.nuova-site .area{text-align:center;background:#e6f2f5}.nuova-site .area p{max-width:680px;margin:0 auto}.nuova-site .cta{background:var(--n);color:#fff;text-align:center;padding:78px 0}.nuova-site .cta h2{color:#fff}.nuova-site .cta p{color:#e0f1f6;margin-bottom:27px}.nuova-site .cta .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.nuova-site footer{background:#062f42;color:#c1d6df;padding:30px 0;font-size:13px}.nuova-site footer .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.nuova-site footer a{color:#fff}.nuova-site .mobile-call{display:none}.nuova-site h1,.nuova-site h2,.nuova-site h3{overflow-wrap:break-word}.nuova-site .btn{max-width:100%;text-align:center;white-space:normal}.nuova-site .navlinks{min-width:0;flex-wrap:wrap;justify-content:flex-end}@media(max-width:900px){.nuova-site .navlinks a:not(.btn){display:none}.nuova-site .brand{font-size:25px}.nuova-site .navlinks .btn{padding:10px 13px;font-size:12px}.nuova-site .hero{min-height:520px}.nuova-site .hero .wrap{padding:72px 0}.nuova-site .hero p{font-size:16px}.nuova-site section.content{padding:62px 0}.nuova-site .cards{grid-template-columns:1fr}.nuova-site .split{grid-template-columns:1fr;gap:30px}.nuova-site .photo{min-height:280px;order:-1}.nuova-site .mobile-call{display:block;position:fixed;bottom:15px;left:15px;right:15px;z-index:99;box-shadow:0 8px 30px #002c4355;text-align:center}.nuova-site footer{padding-bottom:88px}}@media(max-width:480px){.nuova-site .wrap{width:calc(100% - 32px)}.nuova-site .nav{padding:12px 0}.nuova-site .nav .wrap{gap:8px}.nuova-site .brand{font-size:23px}.nuova-site .navlinks .btn{font-size:12px;padding:10px 11px}.nuova-site .hero{min-height:0}.nuova-site .hero .wrap{padding:70px 0}.nuova-site h1{font-size:clamp(36px,10vw,48px)}.nuova-site h1 br{display:none}.nuova-site h2{font-size:clamp(28px,8vw,36px)}.nuova-site .card{padding:25px 22px}.nuova-site .cta{padding:62px 0}.nuova-site .cta .actions{flex-direction:column;align-items:stretch}.nuova-site .cta .actions .btn{width:100%}.nuova-site footer .wrap{flex-direction:column}.nuova-site .mobile-call{left:12px;right:12px;bottom:12px}}@media(prefers-reduced-motion:reduce){.nuova-site *{scroll-behavior:auto!important;transition:none!important}}

/* V2: logo and dynamic content */
.nuova-site .nuova-logo{display:block;width:auto;max-width:180px;max-height:72px;object-fit:contain}
.nuova-site .nuova-extra:nth-of-type(even){background:var(--paper)}
.nuova-site .nuova-extra .wrap:not(.split){max-width:850px}
.nuova-site .nuova-extra p{white-space:normal}
.nuova-site .hero{background-position:center;background-size:cover}
.nuova-site .photo{background-position:center;background-size:cover}
@media(max-width:480px){.nuova-site .nuova-logo{max-width:125px;max-height:55px}}

/* V2.1: full bleed inside Twenty Twenty-Five and other block themes.
   Unlike a left:50% transform, the margin calculation preserves centering. */
body:has(.nuova-site) { margin:0; overflow-x:clip; }
body:has(.nuova-site) .wp-site-blocks,
body:has(.nuova-site) .wp-site-blocks > main,
body:has(.nuova-site) main.wp-block-group,
body:has(.nuova-site) .wp-block-post-content,
body:has(.nuova-site) .entry-content,
body:has(.nuova-site) .wp-block-shortcode:has(.nuova-site) {
  box-sizing:border-box; max-width:none!important; padding-inline:0!important;
  margin-inline:0!important; margin-block-start:0!important; margin-block-end:0!important;
}
body:has(.nuova-site) .wp-site-blocks { padding-inline:0!important; }
body:has(.nuova-site) .wp-block-post-content:has(.nuova-site),
body:has(.nuova-site) .entry-content:has(.nuova-site) { width:100%!important; }
/* Only the NUOVA canvas bleeds to viewport edges, not every theme block. */
body:has(.nuova-site) .nuova-site {
  width:100vw!important; max-width:none!important;
  margin-left:calc(50% - 50vw)!important; margin-right:calc(50% - 50vw)!important;
  left:auto!important; right:auto!important; transform:none!important;
}
body:has(.nuova-site) .wp-block-shortcode:has(.nuova-site) {
  display:flow-root; width:100%!important; overflow:visible!important;
}
body:has(.nuova-site) .wp-site-blocks > main { padding-bottom:0!important; margin-bottom:0!important; }
body:has(.nuova-site) .wp-site-blocks > footer { margin-top:0!important; }
@supports(width:100dvw){
  body:has(.nuova-site) .nuova-site { width:100dvw!important; margin-left:calc(50% - 50dvw)!important; margin-right:calc(50% - 50dvw)!important; }
}

/* V2.2: dedicated homepage template, no block theme wrapper */
html:has(body.nuova-standalone),body.nuova-standalone{margin:0!important;padding:0!important;width:100%;min-height:100%;overflow-x:clip}
body.nuova-standalone #main-content{margin:0!important;padding:0!important;width:100%;max-width:none;display:block}
body.nuova-standalone .nuova-site{width:100%!important;max-width:none!important;margin:0!important;min-height:100svh;display:flex;flex-direction:column;left:auto!important;right:auto!important}
body.nuova-standalone .nuova-site>footer{margin-top:auto}
body.nuova-standalone.admin-bar .nuova-site{min-height:calc(100svh - 32px)}
@media(max-width:782px){body.nuova-standalone.admin-bar .nuova-site{min-height:calc(100svh - 46px)}}

/* V2.3 - Header breathing room, including WordPress admin toolbar */
body.nuova-standalone .nuova-site > header.nav {
  position:relative; top:auto; margin:0;
  min-height:96px; padding:20px 0;
  display:flex; align-items:center; flex-shrink:0;
}
body.nuova-standalone .nuova-site > header.nav > .wrap {
  width:min(1140px,calc(100% - 48px));
  display:flex; align-items:center; justify-content:space-between;
  min-height:56px; gap:24px;
}
body.nuova-standalone .nuova-site > header.nav .brand {
  display:inline-flex; align-items:center; line-height:1.25;
  min-height:48px; margin:0; padding:0; flex-shrink:0;
}
body.nuova-standalone .nuova-site > header.nav .nuova-logo {
  max-height:62px; object-fit:contain;
}
body.nuova-standalone .nuova-site > header.nav .navlinks {
  display:flex; align-items:center; gap:24px; margin:0;
}
@media(max-width:767px){
  body.nuova-standalone .nuova-site > header.nav {min-height:78px;padding:14px 0;}
  body.nuova-standalone .nuova-site > header.nav > .wrap {width:calc(100% - 32px);min-height:50px;gap:12px;}
  body.nuova-standalone .nuova-site > header.nav .brand {min-height:42px;}
  body.nuova-standalone .nuova-site > header.nav .nuova-logo {max-height:48px;}
  body.nuova-standalone .nuova-site > header.nav .navlinks {gap:10px;}
}
