/* ===================================================== */
/* ===== MODAL PROMOÇÃO DE SETEMBRO 2026 ===== */
/* ===================================================== */

body.promo-open{
  overflow:hidden;
}

.promo-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:5000;
  padding:24px;
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  align-items:center;
  justify-content:center;
}

.promo-modal.is-open{
  display:flex;
}

.promo-modal-box{
  width:min(76vw, 1600px);
  max-height:94vh;
  position:relative;
  animation:promoReveal .45s ease both;
}

@keyframes promoReveal{
  from{opacity:0; transform:scale(.96) translateY(16px);}
  to{opacity:1; transform:scale(1) translateY(0);}
}

.promo-banner-wrap{
  position:relative;
  width:100%;
  max-height:94vh;
  overflow:hidden;
  border:1px solid var(--gold);
  box-shadow:
    0 0 0 2px rgba(201,162,63,.12),
    0 0 35px rgba(201,162,63,.35),
    0 0 70px rgba(192,24,24,.22);
  background:#050505;
}

.promo-banner-wrap picture{
  display:block;
  width:100%;
  line-height:0;
}

.promo-banner{
  width:100%;
  height:auto;
  max-height:94vh;
  display:block;
  object-fit:contain;
}

.promo-close{
  position:absolute;
  z-index:20;
  top:12px;
  right:16px;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  margin:0;
  border:1px solid #fff;
  border-radius:50%;
  background: rgba(192,24,24,.72);
  color:#fff;
  font-family:serif;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  transition:.25s ease;
  pointer-events:auto;
}

.promo-close:hover{
  color:var(--gold);
  border-color:var(--gold);
  background:rgba(0,0,0,.72);
  transform:rotate(90deg);
}

.promo-actions{
  position:absolute;
  z-index:15;
  left:22%;
  top:68%;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  pointer-events:auto;
}

.promo-whatsapp-btn{
  min-width:130px;
  padding:9px 30px;
  border:1px solid var(--gold);
  border-radius:8px;
  background:linear-gradient(135deg, rgba(8,8,8,.94), rgba(92,8,8,.92));
  color:var(--gold);
  font-family:'Cinzel', serif;
  font-size:15px;
  font-weight:bold;
  letter-spacing:1px;
  text-transform:uppercase;
  text-align:center;
  box-shadow:
    0 0 12px rgba(201,162,63,.35),
    inset 0 0 14px rgba(192,24,24,.25);
  transition:.3s ease;
  pointer-events:auto;
}

.promo-whatsapp-btn i{
  margin-right:8px;
  font-size:20px;
}

@keyframes promoWhatsappPulse{
  0%, 100%{
    transform:scale(1);
  }

  50%{
    transform:scale(1.05);
  }
}

.promo-whatsapp-btn{
  animation:promoWhatsappPulse 3s ease-in-out infinite;
}
.promo-whatsapp-btn:hover{
  color:#fff;
  border-color:#fff;
  transform:translateY(-2px);
  box-shadow:
    0 0 18px rgba(201,162,63,.65),
    0 0 30px rgba(192,24,24,.28);
}

.promo-terms-link{
  border:0;
  padding:0;
  background:transparent;
  color:var(--gold);
  font-family:'CG-Light', serif;
  font-size:15px;
  letter-spacing:.7px;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:4px;
  text-shadow:0 1px 4px #000;
  pointer-events:auto;
  transition:color .25s ease;
}

.promo-terms-link:hover{
  color:rgba(255,238,181,.92);
}

.modal.is-open{
  display:block;
  z-index:5100;
}

.promo-terms-content{
  margin:5vh auto;
  max-height:none !important;
  overflow:visible !important;
}

.promo-terms-modal .steps .step{
  align-items:flex-start;
}

.promo-terms-modal .steps .num{
  min-width:40px;
}

.promo-terms-close{
  z-index:5;
}

@media (max-width:900px){
  .promo-modal{
    padding:12px;
  }

  .promo-modal-box,
  .promo-banner-wrap,
  .promo-banner-wrap picture,
  .promo-banner{
    max-height:92vh;
  }

  .promo-actions{
    left:20%;
    top:68%;
  }

  .promo-whatsapp-btn{
    min-width:120px;
    padding:7px 12px;
    font-size:13px;
  }

  .promo-terms-link{
    font-size:13px;
  }

  .promo-close{
    top:8px;
    right:10px;
    width:36px;
    height:36px;
    font-size:25px;
  }
}

@media (max-width:600px){
  .promo-modal{
    padding:7px;
  }

  .promo-modal-box{
    width:100%;
  }

  .promo-actions{
    left:25%;
    top:68%;
    gap:5px;
  }

  .promo-whatsapp-btn{
    min-width:100px;
    padding:10px 5px;
    font-size:9px;
    letter-spacing:.5px;
  }

  .promo-whatsapp-btn i{
    margin-right:4px;
    font-size:12px;
  }

  .promo-terms-link{
    font-size:10px;
    text-underline-offset:2px;
  }

  .promo-close{
    top:6px;
    right:7px;
    width:29px;
    height:29px;
    font-size:21px;
  }

  .promo-terms-content{
    width:94%;
    margin:4vh auto;
    padding:22px 18px;
  }

  .promo-terms-content h2{
    font-size:20px;
  }
}
@media (orientation: portrait){
  .promo-actions{
    left:auto;
    right:10%;
    top:12%;
    transform:none;
    align-items:center;
  }
}