*{box-sizing:border-box}html{scroll-behavior:smooth}body.sp-custom-page{background:#032724!important}body.sp-custom-page #masthead,body.sp-custom-page .site-header,body.sp-custom-page #colophon,body.sp-custom-page .site-footer,body.sp-custom-page .entry-title,body.sp-custom-page .page-title{display:none!important}body.sp-custom-page #page,body.sp-custom-page #wrapper,body.sp-custom-page #inner-wrap,body.sp-custom-page #primary,body.sp-custom-page #main,body.sp-custom-page .site,body.sp-custom-page .site-main,body.sp-custom-page .content-area,body.sp-custom-page .content-container,body.sp-custom-page .entry,body.sp-custom-page .entry-content,body.sp-custom-page .entry-content-wrap,body.sp-custom-page .wp-block-post-content,body.sp-custom-page .wp-block-shortcode{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}.sp-page{min-height:100vh;overflow-x:hidden;color:#f4efe4;background:radial-gradient(circle at 72% 19%,rgba(236,221,154,.22),transparent 22%),radial-gradient(circle at 6% 52%,rgba(212,162,58,.09),transparent 24%),linear-gradient(135deg,#021f1d,#073e38 58%,#022421);font-family:"Segoe UI",system-ui,sans-serif}.sp-header,.sp-main,.sp-footer{width:min(1680px,calc(100% - 112px));margin:0 auto}.sp-header{position:fixed;left:50%;transform:translateX(-50%);top:14px;z-index:10;min-height:54px;padding:6px 14px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(212,162,58,.2);border-radius:20px;background:rgba(2,30,27,.78);backdrop-filter:blur(10px);box-shadow:0 20px 50px rgba(0,0,0,.18)}.sp-logo{display:flex;width:clamp(180px,14vw,245px)}.sp-logo img{display:block;width:100%;height:auto}.sp-menu-btn{width:44px;height:44px;display:grid;place-content:center;gap:6px;border:1px solid rgba(212,162,58,.55);border-radius:50%;background:rgba(255,255,255,.03);cursor:pointer}.sp-menu-btn span{display:block;width:20px;height:2px;background:#d4a23a}.sp-menu{position:fixed;top:88px;right:56px;z-index:20;width:min(340px,calc(100vw - 48px));padding:22px;display:grid;border:1px solid rgba(212,162,58,.45);border-radius:20px;background:rgba(2,30,27,.98);box-shadow:0 30px 70px rgba(0,0,0,.38);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.24s ease}.sp-open .sp-menu{opacity:1;visibility:visible;transform:translateY(0)}.sp-close{justify-self:end;width:40px;height:40px;border:1px solid rgba(212,162,58,.45);border-radius:50%;background:transparent;color:#d4a23a;font-size:1.5rem;cursor:pointer}.sp-menu a{padding:15px 4px;border-bottom:1px solid rgba(212,162,58,.14);color:#f4efe4;text-decoration:none;font:1.35rem Georgia,serif}.sp-menu a:hover{color:#d4a23a}.sp-main{padding:220px 0 60px}.sp-hero{min-height:600px;display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:60px}.sp-hero h1{margin:0 0 24px;color:#f4efe4;font:500 clamp(4.5rem,7vw,8rem)/.95 Georgia,serif;letter-spacing:-.04em}.sp-line{display:flex;align-items:center;gap:12px;margin-bottom:20px}.sp-line span{width:130px;height:1px;background:linear-gradient(90deg,rgba(212,162,58,.15),rgba(212,162,58,.86))}.sp-line i{width:14px;height:14px;border:1px solid #d4a23a;transform:rotate(45deg)}.sp-line.sp-center{justify-content:center}.sp-line.sp-center span{width:220px}.sp-role{margin:0 0 18px;color:#d4a23a;font:1.75rem Georgia,serif}.sp-lead{max-width:620px;margin:0 0 30px;color:rgba(244,239,228,.82);font-size:1.35rem}.sp-btn,.sp-form-block button{display:inline-flex;align-items:center;min-height:58px;padding:0 28px;border:1px solid rgba(212,162,58,.95);border-radius:14px;background:linear-gradient(180deg,#e3bd60,#d4a23a);color:#1d170c;text-decoration:none;font:700 1.12rem Georgia,serif;cursor:pointer}.sp-portrait-box{position:relative;min-height:560px;display:grid;place-items:center}.sp-rings{position:absolute;width:420px;height:420px;border:1px solid rgba(212,162,58,.12);border-radius:50%;box-shadow:0 0 0 30px rgba(212,162,58,.045),0 0 0 60px rgba(212,162,58,.03),0 0 0 90px rgba(212,162,58,.02)}.sp-portrait{position:relative;max-width:min(100%,660px);max-height:620px;object-fit:contain;filter:drop-shadow(0 28px 44px rgba(0,0,0,.28));-webkit-mask-image:linear-gradient(to bottom,#000 72%,rgba(0,0,0,.16) 88%,transparent 100%);mask-image:linear-gradient(to bottom,#000 72%,rgba(0,0,0,.16) 88%,transparent 100%)}.sp-services{padding-top:20px}.sp-title{margin-bottom:24px;text-align:center}.sp-title h2,.sp-studio h2,.sp-contact h2,.sp-form-block h2{margin:0 0 18px;color:#f4efe4;font:500 clamp(2.2rem,3vw,3.5rem)/1 Georgia,serif;text-transform:uppercase}.sp-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.sp-cards article,.sp-studio,.sp-contact,.sp-contact-form{border:1px solid rgba(212,162,58,.22);border-radius:20px;background:linear-gradient(180deg,rgba(10,55,49,.48),rgba(3,31,28,.62));box-shadow:0 14px 40px rgba(0,0,0,.18)}.sp-cards article{min-height:235px;padding:28px 22px;text-align:center}.sp-icon,.sp-round{width:70px;height:70px;margin:0 auto 16px;display:grid;place-items:center;border:1px solid rgba(212,162,58,.5);border-radius:50%;color:#d4a23a;font-size:1.7rem}.sp-cards h3{margin:0 0 14px;color:#f4efe4;font:500 1.75rem/1.05 Georgia,serif}.sp-cards p,.sp-studio p,.sp-contact p,.sp-form-block p{color:rgba(244,239,228,.78);font-size:1.05rem}.sp-bottom{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;padding-top:28px}.sp-studio{padding:34px;display:grid;grid-template-columns:90px 1fr;gap:24px}.sp-round{margin:0}.sp-signature{margin-bottom:0;color:#d4a23a!important;font-family:"Brush Script MT",cursive;font-size:3rem!important}.sp-contact{padding:34px}.sp-contact strong{color:#d4a23a}.sp-contact a,.sp-footer a{color:rgba(244,239,228,.86);text-decoration:none}.sp-contact a:hover,.sp-footer a:hover{color:#d4a23a}.sp-form-block{display:grid;grid-template-columns:.65fr 1.35fr;gap:28px;padding-top:30px}.sp-overline{color:#d4a23a!important;text-transform:uppercase;letter-spacing:.18em;font-size:.82rem!important;font-weight:800}.sp-status,.sp-form-alert{font-weight:700}.sp-success{color:#bbf7d0!important}.sp-error,.sp-form-alert,.sp-field-error{color:#ffb4a8!important}.sp-contact-form{padding:28px;display:grid;gap:16px}.sp-contact-form label{display:grid;gap:8px}.sp-contact-form label>span{color:rgba(244,239,228,.9);font-weight:700}.sp-contact-form label strong{color:#d4a23a}.sp-contact-form input,.sp-contact-form textarea{width:100%;padding:15px 16px;border:1px solid rgba(212,162,58,.25);border-radius:14px;background:rgba(255,255,255,.06);color:#f4efe4;font:inherit}.sp-contact-form textarea{resize:vertical}.sp-contact-form input:focus,.sp-contact-form textarea:focus{outline:0;border-color:rgba(212,162,58,.68);box-shadow:0 0 0 3px rgba(212,162,58,.12)}.sp-field-error{display:none;font-size:.92rem}.sp-contact-form label.sp-has-error input,.sp-contact-form label.sp-has-error textarea{border-color:#ffb4a8;box-shadow:0 0 0 3px rgba(255,180,168,.12)}.sp-contact-form label.sp-has-error .sp-field-error{display:block}.sp-hp{position:absolute!important;left:-9999px!important;opacity:0!important}.sp-form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.sp-form-actions>button{flex:0 0 auto}.sp-form-actions>span{margin-left:auto;color:rgba(244,239,228,.78);font-size:1.05rem}.sp-wa-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border-radius:999px;background:#25D366;color:#05261a;text-decoration:none;font-weight:800;box-shadow:0 12px 28px rgba(37,211,102,.22)}.sp-wa-btn:hover{filter:brightness(.96)}.sp-footer{padding:22px 0 30px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;border-top:1px solid rgba(212,162,58,.16);color:rgba(244,239,228,.72)}.sp-footer-main{display:flex;flex-wrap:wrap;gap:8px 16px;max-width:1180px}.sp-footer-main strong{color:#f4efe4}.sp-footer-main span{color:rgba(244,239,228,.72)}.sp-back-top{position:fixed;right:32px;bottom:28px;z-index:30;width:54px;height:54px;border:1px solid rgba(212,162,58,.72);border-radius:50%;background:rgba(2,30,27,.88);color:#d4a23a;font-size:1.75rem;line-height:1;cursor:pointer;box-shadow:0 16px 36px rgba(0,0,0,.28);opacity:0;visibility:hidden;transform:translateY(12px);transition:.22s ease}.sp-back-top.sp-visible{opacity:1;visibility:visible;transform:translateY(0)}.sp-back-top:hover{background:#d4a23a;color:#1d170c}#servizi,#studio,#contatti,#modulo{scroll-margin-top:160px}@media(max-width:1180px){.sp-header,.sp-main,.sp-footer{width:min(100% - 64px,1680px)}.sp-hero{grid-template-columns:1fr;text-align:center}.sp-line,.sp-btn{justify-content:center}.sp-lead{margin-left:auto;margin-right:auto}.sp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-bottom,.sp-form-block{grid-template-columns:1fr}}@media(max-width:760px){.sp-header,.sp-main,.sp-footer{width:min(100% - 32px,1680px)}.sp-header{top:8px;min-height:54px;padding:6px 10px}.sp-logo{width:min(52vw,210px)}.sp-menu-btn{width:42px;height:42px}.sp-menu{top:74px;right:16px}.sp-main{padding-top:150px}.sp-hero h1{font-size:clamp(3.1rem,15vw,5rem)}.sp-role{font-size:1.3rem}.sp-lead{font-size:1.08rem}.sp-cards{grid-template-columns:1fr}.sp-studio{grid-template-columns:1fr;text-align:center}.sp-round{margin-inline:auto}.sp-portrait-box{min-height:360px}.sp-rings{width:260px;height:260px}.sp-form-actions{align-items:stretch;flex-direction:column}.sp-form-actions>span{margin-left:0;text-align:center}.sp-form-actions button,.sp-wa-btn{width:100%;justify-content:center}.sp-back-top{right:18px;bottom:18px;width:48px;height:48px;font-size:1.5rem}.sp-footer,.sp-footer-main{justify-content:center;text-align:center}.sp-footer{flex-direction:column;gap:8px}}


/* Fix Kadence: elimina spazi/bande ereditate dal tema sulla home personalizzata */
body.sp-custom-page .entry-content-wrap,
body.sp-custom-page .entry-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

body.sp-custom-page article.entry,
body.sp-custom-page .content-bg,
body.sp-custom-page .site-main,
body.sp-custom-page .content-area,
body.sp-custom-page .content-container {
  background: transparent !important;
  box-shadow: none !important;
}

/* Studio Policheni Site v1.0.2 - rifiniture modulo, menu e pagine legali */
.sp-close{
  width:48px!important;
  height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:1!important;
  font-size:2rem!important;
  font-family:Arial,Helvetica,sans-serif!important;
}

.sp-contact-form input,
.sp-contact-form textarea{
  color:#fff!important;
  caret-color:#f4efe4!important;
}

.sp-contact-form input::placeholder,
.sp-contact-form textarea::placeholder{
  color:rgba(244,239,228,.55)!important;
}

.sp-contact-form input:-webkit-autofill,
.sp-contact-form textarea:-webkit-autofill{
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 0 0 1000px rgba(255,255,255,.06) inset!important;
  transition:background-color 9999s ease-in-out 0s!important;
}

.sp-form-block button:disabled,
.sp-wa-btn.sp-disabled{
  opacity:.46!important;
  cursor:not-allowed!important;
  filter:grayscale(.18)!important;
  box-shadow:none!important;
}

.sp-form-block button:disabled:hover,
.sp-wa-btn.sp-disabled:hover{
  filter:grayscale(.18)!important;
}

.sp-footer-links{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:flex-end;
  white-space:nowrap;
}

body.sp-legal-page{
  background:#032724!important;
  color:#f4efe4!important;
}

body.sp-legal-page #inner-wrap,
body.sp-legal-page #primary,
body.sp-legal-page #main,
body.sp-legal-page .site-main,
body.sp-legal-page .content-area,
body.sp-legal-page .content-container,
body.sp-legal-page article.entry{
  background:radial-gradient(circle at 72% 19%,rgba(236,221,154,.16),transparent 22%),linear-gradient(135deg,#021f1d,#073e38 58%,#022421)!important;
}

body.sp-legal-page .entry-content-wrap{
  max-width:980px!important;
  margin:80px auto!important;
  padding:42px!important;
  border:1px solid rgba(212,162,58,.22)!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,rgba(10,55,49,.58),rgba(3,31,28,.76))!important;
  box-shadow:0 18px 48px rgba(0,0,0,.22)!important;
}

body.sp-legal-page .entry-title,
body.sp-legal-page .page-title,
body.sp-legal-page h1,
body.sp-legal-page h2,
body.sp-legal-page h3{
  color:#f4efe4!important;
  font-family:Georgia,serif!important;
}

body.sp-legal-page h1,
body.sp-legal-page .entry-title{
  color:#d4a23a!important;
}

body.sp-legal-page p,
body.sp-legal-page li,
body.sp-legal-page td,
body.sp-legal-page th{
  color:rgba(244,239,228,.86)!important;
}

body.sp-legal-page a{
  color:#d4a23a!important;
}

@media(max-width:760px){
  .sp-footer-links{
    align-items:center;
    width:100%;
  }

  body.sp-legal-page .entry-content-wrap{
    margin:36px 16px!important;
    padding:24px!important;
  }
}


/* Studio Policheni Site v1.0.3 - elimina bande chiare Kadence sulle pagine legali */
body.sp-legal-page .site-header,
body.sp-legal-page #masthead,
body.sp-legal-page .site-main-header-wrap,
body.sp-legal-page .site-header-wrap,
body.sp-legal-page .main-navigation,
body.sp-legal-page .header-navigation,
body.sp-legal-page .mobile-header-wrap,
body.sp-legal-page .kadence-sticky-header,
body.sp-legal-page .entry-hero,
body.sp-legal-page .entry-hero-container-inner,
body.sp-legal-page .entry-hero .entry-header,
body.sp-legal-page .page-hero-section,
body.sp-legal-page .page-header,
body.sp-legal-page .entry-header {
  background:#032724!important;
  background-color:#032724!important;
  box-shadow:none!important;
  border:0!important;
}

body.sp-legal-page .site-header,
body.sp-legal-page #masthead,
body.sp-legal-page .site-main-header-wrap,
body.sp-legal-page .site-header-wrap {
  display:none!important;
}

body.sp-legal-page .entry-hero,
body.sp-legal-page .page-hero-section,
body.sp-legal-page .entry-header {
  display:none!important;
}

body.sp-legal-page .content-wrap,
body.sp-legal-page .site-container,
body.sp-legal-page .site-main,
body.sp-legal-page #main {
  padding-top:0!important;
  margin-top:0!important;
}

body.sp-legal-page #inner-wrap,
body.sp-legal-page #primary,
body.sp-legal-page #main,
body.sp-legal-page .site-main,
body.sp-legal-page .content-area,
body.sp-legal-page .content-container,
body.sp-legal-page article.entry {
  padding-top:0!important;
}

body.sp-legal-page.admin-bar #inner-wrap {
  min-height:calc(100vh - 32px);
}

@media(max-width:782px){
  body.sp-legal-page.admin-bar #inner-wrap {
    min-height:calc(100vh - 46px);
  }
}


/* Studio Policheni Site v1.0.4 - link ritorno Home sulle pagine legali */
body.sp-legal-page .sp-legal-home-link{
  margin:0 0 28px!important;
}

body.sp-legal-page .sp-legal-home-link a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:42px!important;
  padding:0 18px!important;
  border:1px solid rgba(212,162,58,.65)!important;
  border-radius:999px!important;
  background:rgba(2,30,27,.62)!important;
  color:#d4a23a!important;
  text-decoration:none!important;
  font-weight:800!important;
}

body.sp-legal-page .sp-legal-home-link a:hover{
  background:#d4a23a!important;
  color:#1d170c!important;
}
