/*
 * UP Assicurazioni — authoritative overrides
 * Clean rebuild after corrupted numbered CSS.
 * Brand palette sampled from supplied logo:
 * #015599 #016CAE #0181C1 #082F71
 */
:root{
  --up-navy:#015599!important;
  --up-blue:#016CAE!important;
  --up-accent:#0181C1!important;
  --up-deep:#082F71!important;
  --up-pale:rgba(1,129,193,.075)!important;
  --up-line:rgba(1,108,174,.20)!important;
  --up-ink:#184F73!important;
  --up-muted:#5B7E96!important;
}
/* Brand */
body.up-approved{color:var(--up-ink)!important}
body.up-approved h1,
body.up-approved h2,
body.up-approved h3,
body.up-approved h4{color:var(--up-deep)!important}
body.up-approved .up-site-header{border-bottom-color:rgba(1,108,174,.18)!important}
body.up-approved .up-brand-name small,
body.up-approved .up-desktop-nav>.up-nav-menu>li>a{color:var(--up-deep)!important}
/* Light surfaces */
body.up-approved .up-home-hero{
  background:linear-gradient(105deg,rgba(1,129,193,.10),rgba(1,108,174,.035))!important;
  border-color:rgba(1,108,174,.18)!important;
}
body.up-approved .up-home-service-card{
  background:rgba(1,129,193,.035)!important;
  border-color:rgba(1,108,174,.18)!important;
}
body.up-approved .up-home-process{background:rgba(1,129,193,.045)!important}
body.up-approved .up-process-steps span{
  background:rgba(1,129,193,.12)!important;
  color:var(--up-deep)!important;
}
body.up-approved .up-home-request{
  background:linear-gradient(90deg,rgba(1,108,174,.20),rgba(1,129,193,.07))!important;
}
body.up-approved .up-home-request:before{
  background:linear-gradient(90deg,rgba(1,85,153,.10),rgba(255,255,255,.12))!important;
}
body.up-approved .up-home-form>h2,
body.up-approved .up-home-brand-strip,
body.up-approved .up-request-band{background:rgba(1,129,193,.075)!important}
/* Buttons */
body.up-approved .up-button,
body.up-approved .up-index .up-index-cta,
body.up-approved .up-form-shell .wpforms-page-next,
body.up-approved .up-form-shell .wpforms-submit{
  background:var(--up-navy)!important;
  border-color:var(--up-navy)!important;
  color:#fff!important;
}
body.up-approved .up-button:hover,
body.up-approved .up-form-shell .wpforms-page-next:hover,
body.up-approved .up-form-shell .wpforms-submit:hover{
  background:var(--up-blue)!important;
  border-color:var(--up-blue)!important;
}
body.up-approved .up-button-outline{
  background:transparent!important;
  color:var(--up-navy)!important;
  border-color:var(--up-navy)!important;
}
/* METHOD BLOCK — contained like the cards above, no image */
body.up-approved .up-home-method{
  width:min(1220px,calc(100% - 72px))!important;
  margin:28px auto 0!important;
  display:grid!important;
  grid-template-columns:minmax(320px,.74fr) minmax(0,1.26fr)!important;
  border:1px solid rgba(1,108,174,.16)!important;
  background:#fff!important;
}
body.up-approved .up-home-method-left{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:320px!important;
  background:var(--up-deep)!important;
}
body.up-approved .up-home-method-copy{
  width:100%!important;
  max-width:440px!important;
  margin:0 auto!important;
  padding:52px 38px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  background:transparent!important;
}
body.up-approved .up-home-method-copy h2,
body.up-approved .up-home-method-copy p{color:#fff!important}
body.up-approved .up-home-method-copy p{
  max-width:390px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.up-approved .up-button-white-outline{
  align-self:center!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.62)!important;
}
body.up-approved .up-home-process{
  min-width:0!important;
  padding:42px 34px!important;
  background:rgba(1,129,193,.045)!important;
}
/* FORM — one connector only */
body.up-approved .wpforms-page-indicator.circles{
  position:relative!important;
  display:flex!important;
  gap:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.up-approved .wpforms-page-indicator.circles .wpforms-page-indicator-page{
  position:relative!important;
  flex:1 1 0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  z-index:1!important;
}
body.up-approved .wpforms-page-indicator.circles .wpforms-page-indicator-page:before,
body.up-approved .wpforms-page-indicator.circles .wpforms-page-indicator-page:after{
  display:none!important;
  content:none!important;
}
body.up-approved .wpforms-page-indicator.circles:before{display:none!important;content:none!important}
body.up-approved .wpforms-page-indicator.circles:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:12.5%!important;
  right:12.5%!important;
  top:16px!important;
  height:2px!important;
  background:rgba(1,108,174,.24)!important;
  z-index:0!important;
}
body.up-approved .wpforms-page-indicator.circles .wpforms-page-indicator-page-number{
  position:relative!important;
  z-index:2!important;
  margin:0 auto!important;
}
body.up-approved .wpforms-page-indicator.circles .wpforms-page-indicator-page.active .wpforms-page-indicator-page-number{
  background:var(--up-navy)!important;
  color:#fff!important;
}
body.up-approved .up-form-shell .wpforms-field-label{color:var(--up-deep)!important}
body.up-approved .up-form-shell input:not([type=checkbox]):not([type=radio]),
body.up-approved .up-form-shell select,
body.up-approved .up-form-shell textarea{border-color:rgba(1,108,174,.28)!important}
/* PECORIELLO-STYLE DESKTOP MENU */
@media(min-width:1051px){
  body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu{
    display:none!important;
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:auto!important;
    width:270px!important;
    max-height:66vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:8px!important;
    background:#fff!important;
    border:1px solid rgba(1,108,174,.18)!important;
    box-shadow:0 16px 34px rgba(8,47,113,.14)!important;
  }
  body.up-approved .up-desktop-nav>.up-nav-menu>li:hover>.sub-menu,
  body.up-approved .up-desktop-nav>.up-nav-menu>li:focus-within>.sub-menu{
    display:block!important;
  }
  body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li{
    display:block!important;
    border-bottom:1px solid rgba(1,108,174,.10)!important;
  }
  body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li:last-child{border-bottom:0!important}
  body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li>a{
    display:block!important;
    position:relative!important;
    padding:11px 30px 11px 10px!important;
    margin:0!important;
    border:0!important;
    background:#fff!important;
    font-family:var(--up-body)!important;
    font-size:11px!important;
    font-weight:500!important;
    line-height:1.4!important;
    color:#274F6B!important;
  }
  body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li:hover>a,
  body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li:focus-within>a{
    background:rgba(1,129,193,.075)!important;
    color:var(--up-deep)!important;
  }
  body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li.menu-item-has-children>a:after{
    content:"›"!important;
    position:absolute!important;
    right:11px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    color:#47718E!important;
    font-size:15px!important;
  }
  body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li.menu-item-has-children:hover>a:after,
  body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li.menu-item-has-children:focus-within>a:after{
    content:"⌄"!important;
  }
  body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li>.sub-menu{
    display:none!important;
    position:static!important;
    width:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding:4px 0 8px 12px!important;
    margin:0!important;
    background:#fff!important;
    border:0!important;
    border-left:2px solid rgba(1,129,193,.20)!important;
    box-shadow:none!important;
  }
  body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li:hover>.sub-menu,
  body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li:focus-within>.sub-menu{
    display:block!important;
  }
  body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li>.sub-menu li a{
    display:block!important;
    padding:7px 9px!important;
    border:0!important;
    background:#fff!important;
    font-family:var(--up-body)!important;
    font-size:10.5px!important;
    line-height:1.35!important;
    color:#476C85!important;
  }
  body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li>.sub-menu li a:hover,
  body.up-approved .up-desktop-nav>.up-nav-menu>li>.sub-menu>li>.sub-menu li a:focus{
    color:var(--up-deep)!important;
    background:rgba(1,129,193,.055)!important;
  }
}
/* Footer */
body.up-approved .up-site-footer{background:var(--up-deep)!important}
body.up-approved .up-site-footer h3{color:#fff!important}
body.up-approved .up-site-footer a,
body.up-approved .up-site-footer p{color:rgba(255,255,255,.92)!important}
body.up-approved .up-footer-bottom{
  color:rgba(255,255,255,.72)!important;
  border-top-color:rgba(255,255,255,.22)!important;
}
@media(max-width:1050px){
  body.up-approved .up-home-method{
    width:min(1220px,calc(100% - 48px))!important;
    grid-template-columns:1fr!important;
  }
}
@media(max-width:650px){
  body.up-approved .up-home-method{
    width:calc(100% - 32px)!important;
    margin-top:20px!important;
  }
  body.up-approved .up-home-method-copy{padding:38px 24px!important}
}


/* FAQ — Pecoriello-style accordion */
body.up-approved .up-faq-section{
  display:block!important;
  padding-bottom:8px!important;
  margin-bottom:34px!important;
  border-bottom:0!important;
}
body.up-approved .up-faq-section>h2{
  margin-bottom:14px!important;
}
body.up-approved .up-faq-list{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
}
body.up-approved .up-faq-item{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-top:1px solid rgba(1,108,174,.18)!important;
  border-radius:0!important;
  background:transparent!important;
}
body.up-approved .up-faq-item:last-child{
  border-bottom:1px solid rgba(1,108,174,.18)!important;
}
body.up-approved .up-faq-item>summary{
  position:relative!important;
  display:block!important;
  cursor:pointer!important;
  list-style:none!important;
  padding:18px 44px 18px 0!important;
  margin:0!important;
  font-family:var(--up-display)!important;
  font-size:19px!important;
  font-weight:500!important;
  line-height:1.35!important;
  color:var(--up-deep)!important;
  background:transparent!important;
}
body.up-approved .up-faq-item>summary::-webkit-details-marker{
  display:none!important;
}
body.up-approved .up-faq-item>summary:after{
  content:"+"!important;
  position:absolute!important;
  right:4px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  font-family:var(--up-body)!important;
  font-size:22px!important;
  font-weight:400!important;
  line-height:1!important;
  color:#4C7792!important;
}
body.up-approved .up-faq-item[open]>summary:after{
  content:"−"!important;
}
body.up-approved .up-faq-item>p,
body.up-approved .up-faq-item>ul,
body.up-approved .up-faq-item>ol{
  margin:0!important;
  padding:0 44px 18px 0!important;
}
body.up-approved .up-faq-item>p{
  color:#47677E!important;
  font-size:14px!important;
  line-height:1.85!important;
}
body.up-approved .up-faq-item[open]>summary{
  color:var(--up-navy)!important;
}
@media(max-width:650px){
  body.up-approved .up-faq-item>summary{
    font-size:18px!important;
    padding-right:36px!important;
  }
  body.up-approved .up-faq-item>p,
  body.up-approved .up-faq-item>ul,
  body.up-approved .up-faq-item>ol{
    padding-right:18px!important;
  }
}


/* Contextual request panel — aligned with Pecoriello */
body.up-approved .up-context-request{
  padding:24px 0 58px!important;
  background:linear-gradient(90deg,rgba(1,108,174,.15),rgba(1,129,193,.055))!important;
}
body.up-approved .up-context-request-panel{
  display:grid!important;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)!important;
  gap:0!important;
  align-items:stretch!important;
  overflow:hidden!important;
  border-radius:8px!important;
  box-shadow:0 12px 34px rgba(8,47,113,.08)!important;
}
body.up-approved .up-context-request-intro{
  background:#fff!important;
  padding:38px 30px!important;
}
body.up-approved .up-context-request-intro h2{
  margin:0 0 16px!important;
  font-size:30px!important;
  line-height:1.12!important;
  color:var(--up-deep)!important;
}
body.up-approved .up-context-request-intro p{
  margin:0 0 22px!important;
  font-size:13px!important;
  line-height:1.75!important;
  color:#4D6E84!important;
}
body.up-approved .up-request-benefits{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  gap:9px!important;
}
body.up-approved .up-request-benefits li{
  position:relative!important;
  padding-left:30px!important;
  font-size:12px!important;
  color:#55778D!important;
}
body.up-approved .up-request-benefits li:before{
  content:"✓"!important;
  position:absolute!important;
  left:0!important;
  top:-2px!important;
  width:21px!important;
  height:21px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(1,108,174,.22)!important;
  border-radius:50%!important;
  color:var(--up-blue)!important;
  font-size:11px!important;
}
body.up-approved .up-context-request-form{
  min-width:0!important;
  background:#fff!important;
}
body.up-approved .up-context-request-form>h2{
  margin:0!important;
  padding:20px 28px!important;
  background:rgba(1,129,193,.075)!important;
  font-size:30px!important;
  line-height:1.12!important;
  color:var(--up-deep)!important;
}
body.up-approved .up-context-request-form .up-form-shell{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:18px 28px 28px!important;
  background:#fff!important;
}
body.up-approved .up-context-request-form .up-form-summary{
  margin:0 0 18px!important;
}
@media(max-width:900px){
  body.up-approved .up-context-request-panel{grid-template-columns:1fr!important}
  body.up-approved .up-context-request-intro{padding:30px 26px!important}
}
@media(max-width:650px){
  body.up-approved .up-context-request{padding:18px 0 36px!important}
  body.up-approved .up-context-request-intro{padding:26px 22px!important}
  body.up-approved .up-context-request-form>h2{padding:18px 22px!important;font-size:26px!important}
  body.up-approved .up-context-request-form .up-form-shell{padding:16px 22px 24px!important}
}




/* Accessibility: verified Lighthouse failures only. */
body.up-approved .up-form-shell .wpforms-page-indicator-page-title{
  color:#536F84!important;
}
body.up-approved .up-form-shell .wpforms-page-indicator-page.active .wpforms-page-indicator-page-title{
  color:var(--up-navy)!important;
}
body.up-approved .up-home-guide-card small{
  color:#536F84!important;
}
body.up-approved .up-home-guides-head>a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:24px!important;
}
body.up-approved .up-site-footer a:not(.up-back-top){
  min-height:24px!important;
}

/* Mobile hero uses the existing responsive WordPress derivative. */
@media(max-width:700px){
  body.up-approved.up-home .up-home-hero-photo{
    background-image:url('https://upassicurazioni.it/wp-content/uploads/2026/03/assicurazione-768x369.jpg')!important;
  }
}

