/* ============================================================
BNI PERUGIA — PORTALE DIVENTA VELOCE / V1
============================================================ */

.dv26-page{
  --bni-red:#cf2030;
  --bni-dark:#202020;
  --bni-text:#55585c;
  --bni-soft:#f7f7f7;
  --bni-line:#e8e8e8;
  width:100%!important;
  max-width:1480px!important;
  margin:0 auto!important;
  padding:30px 20px 50px!important;
  box-sizing:border-box!important;
  font-family:Arial,Helvetica,sans-serif!important;
}

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

/* HERO */
.dv26-hero{
  position:relative!important;
  overflow:hidden!important;
  padding:28px 40px 18px!important;
  text-align:center!important;
  background:#fff!important;
}

.dv26-hero-accent{
  position:absolute!important;
  left:-90px!important;
  top:-150px!important;
  width:310px!important;
  height:410px!important;
  background:linear-gradient(145deg,#e21831 0%,#cf2030 68%,#b71927 100%)!important;
  transform:rotate(39deg)!important;
  opacity:1!important;
}

.dv26-kicker{
  position:relative!important;
  z-index:2!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:42px!important;
  padding:8px 20px!important;
  border:1px solid rgba(207,32,48,.45)!important;
  border-radius:999px!important;
  color:var(--bni-red)!important;
  background:#fff!important;
  font-size:15px!important;
  line-height:1.1!important;
  font-weight:700!important;
  letter-spacing:.4px!important;
}

.dv26-lock{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23cf2030' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/g%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:contain!important;
}

.dv26-hero h1{
  position:relative!important;
  z-index:2!important;
  margin:28px 0 0!important;
  padding:0!important;
  color:var(--bni-dark)!important;
  font-size:64px!important;
  line-height:1.05!important;
  font-weight:800!important;
  letter-spacing:-2px!important;
  text-transform:none!important;
}

.dv26-hero h1 span{
  color:var(--bni-red)!important;
}

.dv26-title-line{
  position:relative!important;
  z-index:2!important;
  width:88px!important;
  height:4px!important;
  margin:21px auto 18px!important;
  background:var(--bni-red)!important;
  border-radius:999px!important;
}

.dv26-hero p{
  position:relative!important;
  z-index:2!important;
  margin:0!important;
  padding:0!important;
  color:#3f4144!important;
  font-size:20px!important;
  line-height:1.5!important;
  text-align:center!important;
}

.dv26-hero p strong{
  color:var(--bni-red)!important;
}

.dv26-watermark{
  position:absolute!important;
  right:18px!important;
  top:35px!important;
  z-index:1!important;
  color:rgba(207,32,48,.035)!important;
  font-size:190px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-8px!important;
}

/* GRID */
.dv26-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:28px!important;
  margin:26px 0 34px!important;
}

.dv26-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:445px!important;
  padding:28px 28px 25px!important;
  background:#fff!important;
  border:1px solid var(--bni-line)!important;
  border-radius:14px!important;
  box-shadow:0 10px 24px rgba(0,0,0,.07)!important;
  overflow:hidden!important;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important;
}

.dv26-card::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:4px!important;
  background:var(--bni-red)!important;
}

.dv26-card:hover{
  transform:translateY(-8px)!important;
  border-color:rgba(207,32,48,.25)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.12)!important;
}

.dv26-card-num{
  position:absolute!important;
  top:20px!important;
  right:18px!important;
  color:rgba(207,32,48,.12)!important;
  font-size:72px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-4px!important;
}

.dv26-icon{
  width:92px!important;
  height:92px!important;
  margin:8px 0 26px!important;
  border-radius:50%!important;
  background-color:var(--bni-red)!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:58% 58%!important;
  box-shadow:0 10px 22px rgba(207,32,48,.20)!important;
  transition:transform .28s ease,box-shadow .28s ease!important;
}

.dv26-card:hover .dv26-icon{
  transform:scale(1.06) rotate(-2deg)!important;
  box-shadow:0 14px 28px rgba(207,32,48,.26)!important;
}

.dv26-icon--signup{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='17' width='35' height='35' rx='4'/%3E%3Cpath d='M28 40l24-24 7 7-24 24-10 3zM48 20l7 7'/%3E%3C/g%3E%3C/svg%3E")!important;
}

.dv26-icon--renew{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M51 21A22 22 0 0 0 14 19l-5 6'/%3E%3Cpath d='M9 15v10h10'/%3E%3Cpath d='M13 43a22 22 0 0 0 37 2l5-6'/%3E%3Cpath d='M55 49V39H45'/%3E%3C/g%3E%3C/svg%3E")!important;
}

.dv26-icon--gadget{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23fff' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 29l7-13h22l7 13-18 11z'/%3E%3Cpath d='M19 16l4 13h17l1-13M23 29l7 11 10-11'/%3E%3Cpath d='M37 45l13-13 7 7-13 13zM48 34l7 7'/%3E%3C/g%3E%3C/svg%3E")!important;
}

.dv26-icon--tools{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='10' y='28' width='44' height='25' rx='4'/%3E%3Cpath d='M18 28v-8h11v8M36 28l10-10M42 14l8 8M18 39h28M24 34v18M40 34v18'/%3E%3C/g%3E%3C/svg%3E")!important;
}

.dv26-card h2{
  margin:0!important;
  padding:0!important;
  color:var(--bni-dark)!important;
  font-size:28px!important;
  line-height:1.15!important;
  font-weight:800!important;
  text-transform:none!important;
  letter-spacing:-.6px!important;
}

.dv26-card-line{
  width:42px!important;
  height:3px!important;
  margin:17px 0 18px!important;
  background:var(--bni-red)!important;
  border-radius:4px!important;
}

.dv26-card p{
  margin:0 0 26px!important;
  padding:0!important;
  color:#424548!important;
  font-size:16px!important;
  line-height:1.55!important;
}

.dv26-btn{
  margin-top:auto!important;
  min-height:52px!important;
  padding:0 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  border:1.5px solid var(--bni-red)!important;
  border-radius:7px!important;
  color:var(--bni-red)!important;
  background:#fff!important;
  text-decoration:none!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:800!important;
  transition:background .22s ease,color .22s ease,transform .22s ease!important;
}

.dv26-btn b{
  font-size:23px!important;
  font-weight:400!important;
}

.dv26-btn:hover{
  background:var(--bni-red)!important;
  color:#fff!important;
  transform:translateY(-2px)!important;
}

/* SUMMARY */
.dv26-summary{
  display:grid!important;
  grid-template-columns:92px 1fr auto!important;
  align-items:center!important;
  gap:24px!important;
  padding:22px 28px!important;
  background:linear-gradient(180deg,#fafafa,#f4f4f4)!important;
  border:1px solid #e9e9e9!important;
  border-radius:14px!important;
}

.dv26-summary-icon{
  width:72px!important;
  height:72px!important;
  border-radius:50%!important;
  background-color:var(--bni-red)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='32' cy='20' r='8'/%3E%3Ccircle cx='15' cy='26' r='6'/%3E%3Ccircle cx='49' cy='26' r='6'/%3E%3Cpath d='M20 52v-5c0-8 5-13 12-13s12 5 12 13v5M5 50v-4c0-6 4-10 10-10 3 0 5 1 7 3M59 50v-4c0-6-4-10-10-10-3 0-5 1-7 3'/%3E%3C/g%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:58% 58%!important;
}

.dv26-summary-copy h3{
  margin:0 0 6px!important;
  color:var(--bni-dark)!important;
  font-size:25px!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-transform:none!important;
}

.dv26-summary-copy p{
  margin:0!important;
  color:#484b4e!important;
  font-size:15.5px!important;
  line-height:1.5!important;
}

.dv26-summary-brand{
  min-width:220px!important;
  padding-left:34px!important;
  border-left:1px solid #ddd!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}

.dv26-summary-brand img{
  width:125px!important;
  height:auto!important;
  margin:0!important;
}

.dv26-summary-brand span{
  margin-top:3px!important;
  color:#333!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.7px!important;
}

/* FOOTER STRIP */
.dv26-footer-strip{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:20px!important;
  margin-top:18px!important;
  padding:17px 28px!important;
  color:#fff!important;
  background:linear-gradient(90deg,#cf2030,#df0925)!important;
  border-radius:0 0 8px 8px!important;
}

.dv26-footer-left{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  font-size:14px!important;
}

.dv26-footer-left strong{
  padding-left:18px!important;
  border-left:1px solid rgba(255,255,255,.5)!important;
  font-size:17px!important;
}

.dv26-shield{
  width:30px!important;
  height:30px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 8l19 7v14c0 13-8 22-19 27-11-5-19-14-19-27V15z'/%3E%3Cpath d='M23 31l6 6 13-14'/%3E%3C/g%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:contain!important;
}

.dv26-footer-claim{
  font-family:Georgia,serif!important;
  font-size:16px!important;
  font-style:italic!important;
  white-space:nowrap!important;
}

/* RESPONSIVE */
@media(max-width:1100px){
  .dv26-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .dv26-card{
    min-height:400px!important;
  }

  .dv26-hero h1{
    font-size:54px!important;
  }
}

@media(max-width:767px){
  .dv26-page{
    padding:18px 14px 36px!important;
  }

  .dv26-hero{
    padding:22px 12px 14px!important;
  }

  .dv26-hero-accent{
    left:-140px!important;
    top:-185px!important;
  }

  .dv26-kicker{
    font-size:12px!important;
    padding:7px 14px!important;
  }

  .dv26-hero h1{
    margin-top:23px!important;
    font-size:40px!important;
    line-height:1.08!important;
    letter-spacing:-1px!important;
  }

  .dv26-hero p{
    font-size:16px!important;
  }

  .dv26-watermark{
    display:none!important;
  }

  .dv26-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
    margin-top:22px!important;
  }

  .dv26-card{
    min-height:0!important;
    padding:24px 22px 22px!important;
  }

  .dv26-card-num{
    font-size:60px!important;
  }

  .dv26-icon{
    width:78px!important;
    height:78px!important;
  }

  .dv26-card h2{
    font-size:24px!important;
  }

  .dv26-summary{
    grid-template-columns:68px 1fr!important;
    gap:15px!important;
    padding:18px!important;
  }

  .dv26-summary-icon{
    width:60px!important;
    height:60px!important;
  }

  .dv26-summary-copy h3{
    font-size:21px!important;
  }

  .dv26-summary-brand{
    grid-column:1 / -1!important;
    padding:16px 0 0 83px!important;
    border-left:0!important;
    border-top:1px solid #ddd!important;
    align-items:flex-start!important;
  }

  .dv26-footer-strip{
    flex-direction:column!important;
    align-items:flex-start!important;
    padding:16px 18px!important;
  }

  .dv26-footer-left{
    flex-wrap:wrap!important;
    gap:10px!important;
  }

  .dv26-footer-left strong{
    padding-left:0!important;
    border-left:0!important;
  }

  .dv26-footer-claim{
    white-space:normal!important;
  }
}


/* ============================================================
V1BIS CMS SAFE
Il CMS BNI può eliminare/flattenare tag SECTION e ARTICLE.
Questa versione usa solo DIV e rinforza i reset locali.
============================================================ */

.page .widgetTextColumns .dv26-page{
  display:block!important;
  width:100%!important;
  max-width:1480px!important;
  margin:0 auto!important;
  padding:30px 20px 50px!important;
  overflow:visible!important;
}

/* neutralizza regole globali del template */
.page .widgetTextColumns .dv26-page h1,
.page .widgetTextColumns .dv26-page h2,
.page .widgetTextColumns .dv26-page h3,
.page .widgetTextColumns .dv26-page p,
.page .widgetTextColumns .dv26-page a{
  font-family:Arial,Helvetica,sans-serif!important;
}

.page .widgetTextColumns .dv26-page h1::before,
.page .widgetTextColumns .dv26-page h1::after,
.page .widgetTextColumns .dv26-page h2::before,
.page .widgetTextColumns .dv26-page h2::after,
.page .widgetTextColumns .dv26-page h3::before,
.page .widgetTextColumns .dv26-page h3::after{
  content:none!important;
  display:none!important;
}

/* HERO — specificità maggiore */
.page .widgetTextColumns .dv26-page .dv26-hero{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  padding:28px 40px 18px!important;
  text-align:center!important;
  background:#fff!important;
}

.page .widgetTextColumns .dv26-page .dv26-hero h1{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  margin:28px 0 0!important;
  padding:0!important;
  color:#202020!important;
  font-size:64px!important;
  line-height:1.05!important;
  font-weight:800!important;
  letter-spacing:-2px!important;
  text-transform:none!important;
  text-align:center!important;
}

.page .widgetTextColumns .dv26-page .dv26-hero h1 span{
  color:#cf2030!important;
}

.page .widgetTextColumns .dv26-page .dv26-hero > p{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#3f4144!important;
  font-size:20px!important;
  line-height:1.5!important;
  text-align:center!important;
}

/* GRID — impedisce al CMS di trasformarla in blocco lineare */
.page .widgetTextColumns .dv26-page .dv26-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:28px!important;
  width:100%!important;
  margin:26px 0 34px!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
}

.page .widgetTextColumns .dv26-page .dv26-card{
  float:none!important;
  width:auto!important;
  margin:0!important;
}

/* evita interferenze sui link CTA */
.page .widgetTextColumns .dv26-page .dv26-btn{
  font-size:14px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.page .widgetTextColumns .dv26-page .dv26-btn:hover{
  text-decoration:none!important;
}

/* Responsive rinforzato */
@media(max-width:1100px){
  .page .widgetTextColumns .dv26-page .dv26-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .page .widgetTextColumns .dv26-page .dv26-hero h1{
    font-size:54px!important;
  }
}
@media(max-width:767px){
  .page .widgetTextColumns .dv26-page .dv26-grid{
    grid-template-columns:1fr!important;
  }
  .page .widgetTextColumns .dv26-page .dv26-hero{
    padding:22px 12px 14px!important;
  }
  .page .widgetTextColumns .dv26-page .dv26-hero h1{
    font-size:40px!important;
    line-height:1.08!important;
  }
  .page .widgetTextColumns .dv26-page .dv26-hero > p{
    font-size:16px!important;
  }
}

/* ============================================================
V1QUATER — ICONE BACKEND BNI + CENTRATURA GEOMETRICA
============================================================ */
.page .widgetTextColumns .dv26-page .dv26-icon,
.dv26-page .dv26-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:92px!important;
  height:92px!important;
  padding:0!important;
  margin:8px 0 26px!important;
  border-radius:50%!important;
  background:#cf2030!important;
  background-image:none!important;
  overflow:hidden!important;
  line-height:0!important;
}
.page .widgetTextColumns .dv26-page .dv26-icon img,
.dv26-page .dv26-icon img{
  display:block!important;
  width:62%!important;
  height:62%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:50% 50%!important;
  filter:none!important;
}
.dv26-page .dv26-icon--signup img{width:60%!important;height:60%!important;transform:translate(1px,0)!important}
.dv26-page .dv26-icon--renew img{width:61%!important;height:61%!important;transform:translate(0,0)!important}
.dv26-page .dv26-icon--gadget img{width:64%!important;height:64%!important;transform:translate(0,1px)!important}
.dv26-page .dv26-icon--tools img{width:63%!important;height:63%!important;transform:translate(0,1px)!important}
.dv26-page .dv26-card:hover .dv26-icon{transform:scale(1.06)!important}
.dv26-page .dv26-card:hover .dv26-icon--signup img{transform:translate(1px,0)!important}
.dv26-page .dv26-card:hover .dv26-icon--renew img{transform:translate(0,0)!important}
.dv26-page .dv26-card:hover .dv26-icon--gadget img,
.dv26-page .dv26-card:hover .dv26-icon--tools img{transform:translate(0,1px)!important}
@media(max-width:767px){
  .page .widgetTextColumns .dv26-page .dv26-icon,
  .dv26-page .dv26-icon{width:78px!important;height:78px!important}
}


/* ============================================================
V1QUINQUIES — WATERMARK ISTITUZIONALE + ANGOLO HERO MIGLIORATO
============================================================ */

/* 1) WATERMARK: usa il vero logo istituzionale BNI */
.page .widgetTextColumns .dv26-page .dv26-watermark,
.dv26-page .dv26-watermark{
  position:absolute!important;
  right:18px!important;
  top:38px!important;
  z-index:1!important;
  width:300px!important;
  height:auto!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  opacity:.065!important;
  pointer-events:none!important;
}

.page .widgetTextColumns .dv26-page .dv26-watermark img,
.dv26-page .dv26-watermark img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  filter:none!important;
}

/* 2) ANGOLO HERO: nastro continuo, senza punta/interruzione secca */
.page .widgetTextColumns .dv26-page .dv26-hero,
.dv26-page .dv26-hero{
  overflow:hidden!important;
}

.page .widgetTextColumns .dv26-page .dv26-hero-accent,
.dv26-page .dv26-hero-accent{
  position:absolute!important;
  left:-150px!important;
  top:-185px!important;
  width:390px!important;
  height:470px!important;
  margin:0!important;
  padding:0!important;
  background:linear-gradient(145deg,#e21831 0%,#cf2030 67%,#b71927 100%)!important;
  border-radius:0 0 44px 44px!important;
  transform:rotate(38deg)!important;
  transform-origin:center center!important;
  box-shadow:none!important;
  clip-path:none!important;
  opacity:1!important;
  z-index:1!important;
  pointer-events:none!important;
}

/* sottile seconda fascia per dare profondità al nastro */
.page .widgetTextColumns .dv26-page .dv26-hero-accent::after,
.dv26-page .dv26-hero-accent::after{
  content:""!important;
  position:absolute!important;
  right:-18px!important;
  bottom:-10px!important;
  width:34px!important;
  height:100%!important;
  background:rgba(207,32,48,.16)!important;
  border-radius:0 0 24px 24px!important;
}

/* Hero content sopra al nastro */
.page .widgetTextColumns .dv26-page .dv26-kicker,
.page .widgetTextColumns .dv26-page .dv26-hero h1,
.page .widgetTextColumns .dv26-page .dv26-title-line,
.page .widgetTextColumns .dv26-page .dv26-hero > p,
.dv26-page .dv26-kicker,
.dv26-page .dv26-hero h1,
.dv26-page .dv26-title-line,
.dv26-page .dv26-hero > p{
  position:relative!important;
  z-index:3!important;
}

/* Desktop medio */
@media(max-width:1100px){
  .page .widgetTextColumns .dv26-page .dv26-watermark,
  .dv26-page .dv26-watermark{
    width:240px!important;
    right:8px!important;
    top:45px!important;
  }

  .page .widgetTextColumns .dv26-page .dv26-hero-accent,
  .dv26-page .dv26-hero-accent{
    left:-165px!important;
    top:-205px!important;
    width:380px!important;
    height:455px!important;
  }
}

/* Mobile: watermark nascosto, angolo molto più discreto */
@media(max-width:767px){
  .page .widgetTextColumns .dv26-page .dv26-watermark,
  .dv26-page .dv26-watermark{
    display:none!important;
  }

  .page .widgetTextColumns .dv26-page .dv26-hero-accent,
  .dv26-page .dv26-hero-accent{
    left:-205px!important;
    top:-245px!important;
    width:340px!important;
    height:420px!important;
    border-radius:0 0 34px 34px!important;
  }
}
