/* =========================================================
BNI PERUGIA — EVENTI / WEB CORPORATE PRT EVOLUTION — V4BIS
Responsive rebuild + hover geometry locked.
========================================================= */

.ev4b-page{
  --red:#cf2030;
  --red2:#e11630;
  --dark:#202020;
  --text:#4c4e51;
  width:100%!important;
  max-width:1480px!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
  font-family:Arial,Helvetica,sans-serif!important;
  color:var(--text)!important;
}

.ev4b-page *,
.ev4b-page *::before,
.ev4b-page *::after{box-sizing:border-box!important}

/* =========================================================
HERO
========================================================= */
.ev4b-top{padding:0 0 30px!important}

.ev4b-hero{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(440px,.92fr)!important;
  align-items:stretch!important;
  min-height:455px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 88% 20%,rgba(207,32,48,.05),transparent 34%),
    linear-gradient(90deg,#fff 0%,#fff 61%,#fbfbfb 100%)!important;
  border:1px solid #e8e8e8!important;
  border-radius:18px!important;
  box-shadow:0 16px 40px rgba(0,0,0,.07)!important;
}

.ev4b-corner{
  position:absolute!important;
  left:0!important;
  top:0!important;
  z-index:3!important;
  width:70px!important;
  height:70px!important;
  background:linear-gradient(135deg,var(--red2),var(--red))!important;
  clip-path:polygon(0 0,100% 0,0 100%)!important;
}

.ev4b-dots{
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:90px!important;
  height:310px!important;
  z-index:1!important;
  opacity:.26!important;
  background-image:radial-gradient(circle,#cf2030 1.3px,transparent 1.5px)!important;
  background-size:10px 10px!important;
  mask-image:linear-gradient(to right,#000,transparent)!important;
  -webkit-mask-image:linear-gradient(to right,#000,transparent)!important;
}

.ev4b-copy{
  position:relative!important;
  z-index:4!important;
  padding:66px 46px 56px 65px!important;
}

.ev4b-kicker{
  margin:0 0 14px!important;
  color:var(--red)!important;
  font-size:16px!important;
  line-height:1.1!important;
  font-weight:800!important;
  letter-spacing:1.5px!important;
  text-transform:uppercase!important;
}

.ev4b-hero h1{
  max-width:660px!important;
  margin:0!important;
  padding:0!important;
  color:var(--dark)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:49px!important;
  line-height:1.05!important;
  font-weight:800!important;
  letter-spacing:-1.5px!important;
  text-transform:none!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.ev4b-hero h1::before,.ev4b-hero h1::after,
.ev4b-region-heading h2::before,.ev4b-region-heading h2::after,
.ev4b-card h3::before,.ev4b-card h3::after,
.ev4b-final-copy h3::before,.ev4b-final-copy h3::after{
  content:none!important;
  display:none!important;
}

.ev4b-hero h1 span{color:var(--red)!important}

.ev4b-line{
  width:58px!important;
  height:4px!important;
  margin:27px 0 24px!important;
  background:var(--red)!important;
  border-radius:999px!important;
}

.ev4b-copy>p{
  max-width:615px!important;
  margin:0!important;
  padding:0!important;
  color:#414346!important;
  font-size:17px!important;
  line-height:1.58!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

.ev4b-calendar-intro{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:32px!important;
  color:#343639!important;
  font-size:15px!important;
  line-height:1.35!important;
}
.ev4b-calendar-intro strong{font-weight:700!important}
.ev4b-calendar-intro strong span{color:var(--red)!important}

.ev4b-calendar-icon{
  width:29px!important;
  height:29px!important;
  flex:0 0 29px!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23cf2030' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='13' width='46' height='42' rx='5'/%3E%3Cpath d='M9 25h46M20 8v12M44 8v12M20 35h6M31 35h6M42 35h6M20 45h6M31 45h6'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat!important;
}

.ev4b-visual{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:455px!important;
  padding:30px 34px 25px 8px!important;
}

.ev4b-calendar-img{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  max-width:570px!important;
  height:auto!important;
  max-height:410px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
}

.ev4b-watermark{
  position:absolute!important;
  right:14px!important;
  bottom:15px!important;
  z-index:1!important;
  width:235px!important;
  opacity:.055!important;
}
.ev4b-watermark img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* =========================================================
REGION
========================================================= */
.ev4b-bottom{padding:32px 0 50px!important}

.ev4b-region-block{
  padding:42px 38px 36px!important;
  background:linear-gradient(180deg,#fafafa,#f7f7f7)!important;
  border:1px solid #e8e8e8!important;
  border-radius:18px!important;
  box-shadow:0 8px 22px rgba(0,0,0,.04)!important;
}

.ev4b-region-heading{
  max-width:840px!important;
  margin:0 auto 31px!important;
  text-align:center!important;
}
.ev4b-region-kicker{
  margin:0 0 9px!important;
  color:var(--red)!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:1.4px!important;
  text-transform:uppercase!important;
}
.ev4b-region-heading h2{
  margin:0!important;
  padding:0!important;
  color:var(--dark)!important;
  font-size:35px!important;
  line-height:1.12!important;
  font-weight:800!important;
  letter-spacing:-.7px!important;
  text-transform:none!important;
}
.ev4b-region-heading h2 span{color:var(--red)!important}
.ev4b-region-heading p{
  margin:13px auto 0!important;
  padding:0!important;
  color:#55575a!important;
  font-size:15px!important;
  line-height:1.52!important;
}

.ev4b-region-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:245px!important;
  gap:25px!important;
  width:100%!important;
  align-items:stretch!important;
}

.ev4b-card{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:245px!important;
  min-height:245px!important;
  max-height:245px!important;
  margin:0!important;
  padding:31px 30px 27px!important;
  overflow:hidden!important;
  border-radius:12px!important;
  transform:translateY(0)!important;
  transition:
    background .28s ease,
    border-color .28s ease,
    box-shadow .28s ease,
    color .28s ease!important;
}

.ev4b-card-active{
  color:#fff!important;
  background:linear-gradient(135deg,var(--red),var(--red2))!important;
  border:1.5px solid transparent!important;
  box-shadow:0 14px 28px rgba(207,32,48,.18)!important;
}

.ev4b-card-link{
  color:var(--dark)!important;
  background:#fff!important;
  border:1.5px solid rgba(207,32,48,.70)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.045)!important;
}

.ev4b-num{
  position:absolute!important;
  top:14px!important;
  left:20px!important;
  font-size:63px!important;
  line-height:1!important;
  font-weight:300!important;
  pointer-events:none!important;
}
.ev4b-card-active .ev4b-num{color:rgba(255,255,255,.22)!important}
.ev4b-card-link .ev4b-num{color:#dedede!important}

.ev4b-card-copy{
  position:relative!important;
  z-index:3!important;
  max-width:72%!important;
  margin-left:76px!important;
}

.ev4b-label{
  margin:0 0 9px!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.5px!important;
  text-transform:uppercase!important;
}
.ev4b-card-active .ev4b-label{color:#fff!important}
.ev4b-card-link .ev4b-label{color:var(--red)!important}

.ev4b-card h3{
  margin:0 0 11px!important;
  padding:0!important;
  font-size:27px!important;
  line-height:1.12!important;
  font-weight:800!important;
  text-transform:none!important;
}
.ev4b-card-active h3{color:#fff!important}
.ev4b-card-link h3{color:var(--dark)!important}

.ev4b-card p{
  margin:0!important;
  padding:0!important;
  font-size:14px!important;
  line-height:1.5!important;
}
.ev4b-card-active p{color:rgba(255,255,255,.93)!important}
.ev4b-card-link p{color:#45474a!important}

.ev4b-status,
.ev4b-region-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:41px!important;
  margin-top:20px!important;
  padding:0 18px!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.ev4b-status{
  color:var(--red)!important;
  background:#fff!important;
  border-radius:999px!important;
}
.ev4b-region-btn{
  min-width:190px!important;
  color:var(--red)!important;
  background:#fff!important;
  border:1.5px solid var(--red)!important;
  border-radius:7px!important;
}
.ev4b-region-btn b{font-size:20px!important;font-weight:400!important}

.ev4b-pin{
  width:17px!important;
  height:17px!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23cf2030' d='M32 5c-12 0-22 10-22 22 0 17 22 32 22 32s22-15 22-32C54 15 44 5 32 5zm0 30a8 8 0 110-16 8 8 0 010 16z'/%3E%3C/svg%3E") center/contain no-repeat!important;
}

.ev4b-skyline{
  position:absolute!important;
  right:16px!important;
  bottom:8px!important;
  z-index:1!important;
  width:190px!important;
  height:145px!important;
  opacity:.20!important;
  background-position:right bottom!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
}
.ev4b-skyline-perugia{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 140'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='3'%3E%3Cpath d='M8 128h164M25 128V70h45v58M35 70V45h25v25M42 45l6-16 6 16M78 128V82h38v46M89 82V57h16v25M94 57V32h6v25M126 128V92h34v36M134 92V70h18v22'/%3E%3C/g%3E%3C/svg%3E")!important;
}
.ev4b-skyline-rietiterni{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 140'%3E%3Cg fill='none' stroke='%23cf2030' stroke-width='3'%3E%3Cpath d='M8 128h164M23 128V76h38v52M32 76V54h20v22M38 54l4-17 5 17M69 128V90h35v38M78 90V66h18v24M83 66l4-19 5 19M113 128V72h43v56M126 72V46h18v26M132 46l4-18 5 18'/%3E%3C/g%3E%3C/svg%3E")!important;
}

/* Hover: geometry locked */
@media(hover:hover) and (pointer:fine){
  .ev4b-card-link:hover{
    height:245px!important;
    min-height:245px!important;
    max-height:245px!important;
    padding:31px 30px 27px!important;
    transform:translateY(0)!important;
    color:#fff!important;
    background:linear-gradient(135deg,var(--red),var(--red2))!important;
    border-color:transparent!important;
    box-shadow:0 14px 28px rgba(207,32,48,.18)!important;
  }
  .ev4b-card-link:hover .ev4b-num{color:rgba(255,255,255,.22)!important}
  .ev4b-card-link:hover .ev4b-label,
  .ev4b-card-link:hover h3,
  .ev4b-card-link:hover p{color:#fff!important}
  .ev4b-card-link:hover .ev4b-skyline-rietiterni{
    opacity:.20!important;
    filter:brightness(0) invert(1)!important;
  }
  .ev4b-card-link:hover .ev4b-region-btn{
    color:var(--red)!important;
    background:#fff!important;
    border-color:#fff!important;
  }
}

/* =========================================================
FINAL CTA
========================================================= */
.ev4b-final-cta{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  margin-top:22px!important;
  padding:18px 25px!important;
  background:#fff!important;
  border:1px solid #e7e7e7!important;
  border-radius:13px!important;
  box-shadow:0 7px 18px rgba(0,0,0,.04)!important;
}
.ev4b-final-icon{
  width:50px!important;
  height:50px!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23cf2030' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='10' width='34' height='38' rx='4'/%3E%3Cpath d='M7 21h34M16 6v10M32 6v10'/%3E%3Ccircle cx='47' cy='42' r='9'/%3E%3Cpath d='M33 57c2-7 7-11 14-11s12 4 14 11'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat!important;
}
.ev4b-final-copy h3{
  margin:0 0 3px!important;
  padding:0!important;
  color:var(--dark)!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-transform:none!important;
}
.ev4b-final-copy p{
  margin:0!important;
  padding:0!important;
  color:#55585b!important;
  font-size:14px!important;
  line-height:1.4!important;
}
.ev4b-final-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  min-width:275px!important;
  min-height:48px!important;
  padding:0 19px!important;
  color:#fff!important;
  background:linear-gradient(90deg,var(--red),var(--red2))!important;
  border-radius:7px!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:800!important;
}
.ev4b-final-btn b{font-size:20px!important;font-weight:400!important}

/* =========================================================
CMS SHIELD
========================================================= */
.widgetTextColumns .ev4b-page,
.page .widgetTextColumns .ev4b-page{
  width:100%!important;
  max-width:1480px!important;
  float:none!important;
  clear:both!important;
}
.widgetTextColumns .ev4b-region-grid,
.page .widgetTextColumns .ev4b-region-grid{display:grid!important}
.widgetTextColumns .ev4b-card,
.page .widgetTextColumns .ev4b-card{
  float:none!important;
  width:100%!important;
  margin:0!important;
}
.widgetTextColumns .ev4b-page h1,
.widgetTextColumns .ev4b-page h2,
.widgetTextColumns .ev4b-page h3,
.widgetTextColumns .ev4b-page p{
  font-family:Arial,Helvetica,sans-serif!important;
}

/* =========================================================
TABLET
========================================================= */
@media(max-width:980px){
  .ev4b-hero{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .ev4b-copy{
    padding:52px 40px 22px!important;
  }
  .ev4b-hero h1{
    max-width:680px!important;
    font-size:44px!important;
  }
  .ev4b-visual{
    min-height:325px!important;
    padding:0 35px 26px!important;
  }
  .ev4b-calendar-img{
    width:min(100%,520px)!important;
    max-height:310px!important;
  }
  .ev4b-region-grid{
    grid-template-columns:1fr!important;
    grid-auto-rows:auto!important;
  }
  .ev4b-card{
    height:245px!important;
    min-height:245px!important;
    max-height:245px!important;
  }
}

/* =========================================================
MOBILE
========================================================= */
@media(max-width:640px){
  .ev4b-top{padding-bottom:20px!important}

  .ev4b-hero{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    border-radius:14px!important;
  }

  .ev4b-corner{
    width:52px!important;
    height:52px!important;
  }

  .ev4b-dots{
    width:62px!important;
    height:250px!important;
    opacity:.20!important;
  }

  .ev4b-copy{
    order:1!important;
    width:100%!important;
    padding:36px 24px 12px!important;
  }

  .ev4b-kicker{
    margin-left:0!important;
    font-size:13px!important;
    letter-spacing:1.2px!important;
  }

  .ev4b-desktop-break{display:none!important}

  .ev4b-hero h1{
    width:100%!important;
    max-width:none!important;
    font-size:34px!important;
    line-height:1.06!important;
    letter-spacing:-.7px!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }

  .ev4b-line{
    width:50px!important;
    margin:21px 0 19px!important;
  }

  .ev4b-copy>p{
    font-size:15px!important;
    line-height:1.55!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }

  .ev4b-calendar-intro{
    margin-top:24px!important;
    font-size:14px!important;
  }

  .ev4b-visual{
    order:2!important;
    width:100%!important;
    min-height:0!important;
    padding:8px 18px 28px!important;
    display:flex!important;
    justify-content:center!important;
  }

  .ev4b-calendar-img{
    width:100%!important;
    max-width:365px!important;
    max-height:none!important;
    height:auto!important;
  }

  .ev4b-watermark{
    right:10px!important;
    bottom:6px!important;
    width:150px!important;
    opacity:.045!important;
  }

  .ev4b-bottom{padding:20px 0 35px!important}

  .ev4b-region-block{
    padding:30px 16px 18px!important;
    border-radius:14px!important;
  }

  .ev4b-region-heading{
    margin-bottom:23px!important;
  }

  .ev4b-region-kicker{
    font-size:11px!important;
    letter-spacing:1px!important;
  }

  .ev4b-region-heading h2{
    font-size:27px!important;
    line-height:1.1!important;
  }

  .ev4b-region-heading p{
    font-size:13px!important;
    line-height:1.48!important;
  }

  .ev4b-region-grid{
    gap:12px!important;
  }

  .ev4b-card,
  .ev4b-card-link:hover{
    height:165px!important;
    min-height:165px!important;
    max-height:165px!important;
    padding:20px 17px 18px!important;
  }

  .ev4b-num{
    top:12px!important;
    left:13px!important;
    font-size:46px!important;
  }

  .ev4b-card-copy{
    max-width:76%!important;
    margin-left:52px!important;
  }

  .ev4b-label{
    margin-bottom:5px!important;
    font-size:10px!important;
  }

  .ev4b-card h3{
    margin-bottom:7px!important;
    font-size:19px!important;
  }

  .ev4b-card p{
    display:none!important;
  }

  .ev4b-status,
  .ev4b-region-btn{
    min-height:34px!important;
    margin-top:12px!important;
    padding:0 13px!important;
    font-size:10px!important;
  }

  .ev4b-region-btn{
    min-width:155px!important;
  }

  .ev4b-skyline{
    right:9px!important;
    bottom:5px!important;
    width:110px!important;
    height:86px!important;
    opacity:.17!important;
  }

  .ev4b-final-cta{
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:13px!important;
    padding:16px!important;
  }

  .ev4b-final-icon{
    width:42px!important;
    height:42px!important;
  }

  .ev4b-final-copy h3{
    font-size:16px!important;
  }

  .ev4b-final-copy p{
    font-size:12px!important;
  }

  .ev4b-final-btn{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    margin-top:3px!important;
    font-size:11px!important;
  }
}


/* =========================================================
V4BIS ANCHOR UPDATE — SEI QUI > CALENDARIO PERUGIA
L'ancora vive tra la Hero e il modulo calendario proprietario.
========================================================= */

html{
  scroll-behavior:smooth;
}

.ev4b-calendar-anchor{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  scroll-margin-top:90px!important;
}

/* Il vecchio status ora è un link, ma resta visivamente identico */
a.ev4b-status,
a.ev4b-status:link,
a.ev4b-status:visited,
a.ev4b-status:hover,
a.ev4b-status:focus{
  color:var(--red)!important;
  background:#fff!important;
  text-decoration:none!important;
  outline:none!important;
}

a.ev4b-status:hover{
  box-shadow:0 7px 16px rgba(0,0,0,.10)!important;
}

@media(max-width:640px){
  .ev4b-calendar-anchor{
    scroll-margin-top:72px!important;
  }
}
