/* V46 — blank page, modal and payment fixes */

/* Remove viewport placeholders that created long black blank areas. */
main > section,
main > section:not(:first-child),
img,
img[loading="lazy"]{
  content-visibility:visible!important;
  contain:none!important;
  contain-intrinsic-size:auto!important;
}
.reveal,
.reveal:not(.in){
  opacity:1!important;
  transform:none!important;
  visibility:visible!important;
}
section{
  min-height:auto;
}
.deferred-bg{
  opacity:1!important;
}

/* Consultation popup: fixed, centred, scrollable and mobile-safe. */
.consultation-popup{
  position:fixed!important;
  inset:0!important;
  z-index:20000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:
    max(18px,env(safe-area-inset-top))
    14px
    max(18px,env(safe-area-inset-bottom))!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  transition:opacity .28s ease,visibility .28s ease!important;
}
.consultation-popup.open{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.consultation-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(0,0,0,.72)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;
}
.consultation-dialog{
  position:relative!important;
  z-index:2!important;
  width:min(560px,100%)!important;
  max-height:calc(100dvh - 36px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  margin:0!important;
  padding:clamp(24px,5vw,42px)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,#17130f,#080808)!important;
  border:1px solid rgba(183,138,90,.5)!important;
  box-shadow:0 30px 100px rgba(0,0,0,.72)!important;
  transform:translateY(18px) scale(.98)!important;
  transition:transform .34s cubic-bezier(.2,.8,.2,1)!important;
}
.consultation-popup.open .consultation-dialog{
  transform:none!important;
}
.consultation-close{
  position:sticky!important;
  float:right!important;
  top:0!important;
  z-index:4!important;
}
.consultation-dialog form{
  padding-bottom:8px!important;
}
body.consultation-open{
  overflow:hidden!important;
}
body.consultation-open .floating-whatsapp,
body.consultation-open .header-profile-link,
body.consultation-open .menu-btn{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
@media(max-width:600px){
  .consultation-popup{
    align-items:flex-end!important;
    padding:10px!important;
  }
  .consultation-dialog{
    width:100%!important;
    max-height:calc(100dvh - 20px)!important;
    border-radius:24px 24px 18px 18px!important;
    padding:24px 18px 26px!important;
  }
  .consultation-dialog h2{
    font-size:36px!important;
    padding-right:38px!important;
  }
}

/* Payment centre */
.payment-shell{
  min-height:100vh;
  padding:120px 6vw 80px;
  background:
    radial-gradient(circle at 82% 8%,rgba(183,138,90,.13),transparent 30%),
    #080808;
  color:#f4ede5;
}
.payment-wrap{width:min(1050px,100%);margin:auto}
.payment-head{max-width:760px;margin-bottom:30px}
.payment-head h1{
  font:600 clamp(44px,7vw,82px)/.98 "Playfair Display",Georgia,serif;
  margin:12px 0
}
.payment-head p{color:#aaa299;line-height:1.75}
.payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.payment-card{
  border:1px solid rgba(183,138,90,.3);
  border-radius:22px;padding:23px;
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.012))
}
.payment-card h2,.payment-card h3{font-family:"Playfair Display",Georgia,serif}
.payment-meta{display:grid;gap:8px;color:#aaa299;font-size:13px}
.payment-amount{font-size:32px;font-weight:800;color:#d7a05d;margin:14px 0}
.payment-status{
  display:inline-flex;padding:7px 11px;border-radius:999px;
  border:1px solid rgba(183,138,90,.3);font-size:11px;letter-spacing:.06em
}
.payment-status.paid{color:#9fd6aa;border-color:rgba(91,180,111,.45)}
.payment-status.pending{color:#e1bd87}
.payment-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}
.payment-btn{
  min-height:44px;padding:11px 17px;border-radius:999px;border:1px solid #b78a5a;
  background:#b78a5a;color:#080808;font-weight:750;text-decoration:none
}
.payment-btn.secondary{background:transparent;color:#eee5dc}
.payment-empty{
  grid-column:1/-1;padding:36px;text-align:center;color:#aaa299;
  border:1px dashed rgba(183,138,90,.3);border-radius:22px
}
.payment-form{display:grid;gap:13px}
.payment-form label{display:grid;gap:7px;font-size:12px;color:#d8d0c7}
.payment-input{
  width:100%;padding:14px;border-radius:14px;border:1px solid rgba(183,138,90,.3);
  background:#0d0d0d;color:white
}
.payment-note{
  margin-top:18px;padding:15px;border-radius:15px;
  background:rgba(183,138,90,.08);border:1px solid rgba(183,138,90,.24);
  color:#aaa299;font-size:12px;line-height:1.65
}
@media(max-width:760px){
  .payment-grid{grid-template-columns:1fr}
}
