/*
 * REALPRO_VIDLEAD_BOOKING_FORM_V3
 * Final two-column premium modal architecture.
 */

html.rp-vidlead-modal-open,
body.rp-vidlead-modal-open{
  overflow:hidden !important;
}

#rp-vidlead-booking-modal[hidden]{
  display:none !important;
}

#rp-vidlead-booking-modal{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  box-sizing:border-box;
}

#rp-vidlead-booking-modal *,
#rp-vidlead-booking-modal *::before,
#rp-vidlead-booking-modal *::after{
  box-sizing:border-box;
}

.rp-vl-backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,9,16,.80);
  backdrop-filter:blur(11px);
  -webkit-backdrop-filter:blur(11px);
}

.rp-vl-dialog{
  position:relative;
  z-index:1;
  width:min(1080px, calc(100vw - 48px));
  height:min(850px, calc(100dvh - 48px));
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72);
  border-radius:32px;
  background:#fff;
  box-shadow:0 32px 110px rgba(0,0,0,.48);
}

.rp-vl-layout{
  width:100%;
  height:100%;
  display:grid;
  grid-template-columns:42% 58%;
}

.rp-vl-brand{
  position:relative;
  min-width:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 100% 100%,rgba(160,35,50,.22),transparent 39%),
    linear-gradient(145deg,#0e1b2a 0%,#07121f 48%,#14202e 100%);
  color:#fff;
}

.rp-vl-brand-inner{
  position:relative;
  height:100%;
  display:flex;
  flex-direction:column;
  padding:48px 48px 42px;
}

.rp-vl-logo{
  display:block;
  width:min(230px,80%);
  height:auto;
  object-fit:contain;
  margin:0 0 78px;
}

.rp-vl-brand-copy{
  position:relative;
  z-index:2;
}

.rp-vl-eyebrow{
  margin:0 0 8px;
  font-size:13px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.18em;
  color:#cbd2dc;
}

.rp-vl-eyebrow::before{
  content:"";
  display:inline-block;
  width:30px;
  height:2px;
  margin:0 11px 4px 0;
  background:#db2f3e;
}

.rp-vl-brand h2{
  margin:0;
  max-width:9ch;
  color:#fff;
  font-size:clamp(46px,4vw,65px);
  line-height:.88;
  font-weight:700;
  letter-spacing:-.045em;
}

.rp-vl-intro{
  max-width:340px;
  margin:24px 0 0;
  font-size:17px;
  line-height:1.55;
  color:#d0d5dd;
}

.rp-vl-benefits{
  margin:28px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:13px;
}

.rp-vl-benefits li{
  display:flex;
  align-items:center;
  gap:11px;
  font-size:15px;
  line-height:1.3;
  color:#f1f3f6;
}

.rp-vl-benefits span{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  flex:0 0 22px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  font-size:12px;
  font-weight:800;
}

.rp-vl-decoration{
  position:absolute;
  right:-110px;
  bottom:-125px;
  width:330px;
  height:330px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
}

.rp-vl-decoration::before,
.rp-vl-decoration::after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
}

.rp-vl-decoration::before{
  inset:38px;
}

.rp-vl-decoration::after{
  inset:80px;
}

.rp-vl-form-pane{
  min-width:0;
  height:100%;
  background:#fff;
}

.rp-vl-form-scroll{
  width:100%;
  height:100%;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  background:#fff;
}

#inline-4ReGjrAutHS13ML9CNFv{
  display:block;
  width:100% !important;
  max-width:100% !important;
  min-height:1180px;
  margin:0;
  border:0 !important;
  border-radius:0 !important;
  background:#fff;
}

.rp-vl-close{
  position:absolute;
  z-index:10;
  top:20px;
  right:20px;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  appearance:none;
  border:1px solid rgba(14,24,37,.13);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#101820;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  cursor:pointer;
}

.rp-vl-close svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
}

.rp-vl-close:hover{
  background:#fff;
  transform:translateY(-1px);
}

.rp-vl-close:focus-visible{
  outline:3px solid rgba(23,72,120,.28);
  outline-offset:3px;
}

@media(max-width:900px){

  #rp-vidlead-booking-modal{
    padding:12px;
  }

  .rp-vl-dialog{
    width:calc(100vw - 24px);
    height:calc(100dvh - 24px);
    border-radius:24px;
  }

  .rp-vl-layout{
    grid-template-columns:35% 65%;
  }

  .rp-vl-brand-inner{
    padding:38px 28px 32px;
  }

  .rp-vl-logo{
    width:min(190px,90%);
    margin-bottom:60px;
  }

  .rp-vl-brand h2{
    font-size:clamp(38px,5vw,50px);
  }

  .rp-vl-intro{
    font-size:15px;
  }

  .rp-vl-benefits li{
    font-size:13px;
  }
}

@media(max-width:640px){

  #rp-vidlead-booking-modal{
    padding:0;
  }

  .rp-vl-dialog{
    width:100%;
    height:100dvh;
    border:0;
    border-radius:0;
  }

  .rp-vl-layout{
    display:flex;
    flex-direction:column;
  }

  .rp-vl-brand{
    flex:0 0 auto;
  }

  .rp-vl-brand-inner{
    min-height:170px;
    padding:22px 64px 20px 20px;
  }

  .rp-vl-logo{
    width:155px;
    margin:0 0 17px;
  }

  .rp-vl-eyebrow{
    font-size:10px;
    margin-bottom:5px;
  }

  .rp-vl-brand h2{
    max-width:none;
    font-size:34px;
    line-height:.94;
  }

  .rp-vl-intro,
  .rp-vl-benefits,
  .rp-vl-decoration{
    display:none;
  }

  .rp-vl-form-pane{
    flex:1 1 auto;
    min-height:0;
  }

  .rp-vl-close{
    top:16px;
    right:16px;
    width:42px;
    height:42px;
  }

  #inline-4ReGjrAutHS13ML9CNFv{
    min-height:1250px;
  }
}

/* REALPRO_VIDLEAD_DESKTOP_WIDTH_V4
 * Give native VIDLEAD form enough iframe width to retain its
 * saved two-column desktop layout.
 */

@media (min-width: 1201px){

  #rp-vidlead-booking-modal{
    padding:16px !important;
  }

  .rp-vl-dialog{
    width:min(1480px, calc(100vw - 32px)) !important;
    height:min(900px, calc(100dvh - 32px)) !important;
    max-width:none !important;
  }

  .rp-vl-layout{
    grid-template-columns:34% 66% !important;
  }

  .rp-vl-brand-inner{
    padding:48px 52px 42px !important;
  }

  .rp-vl-logo{
    margin-bottom:72px !important;
  }

  .rp-vl-form-pane{
    min-width:0 !important;
    width:100% !important;
  }

  .rp-vl-form-scroll{
    width:100% !important;
  }

  #inline-4ReGjrAutHS13ML9CNFv{
    width:100% !important;
    max-width:none !important;
    min-height:1050px !important;
  }
}

@media (min-width: 901px) and (max-width: 1200px){

  #rp-vidlead-booking-modal{
    padding:12px !important;
  }

  .rp-vl-dialog{
    width:calc(100vw - 24px) !important;
    height:calc(100dvh - 24px) !important;
    max-width:none !important;
  }

  .rp-vl-layout{
    grid-template-columns:30% 70% !important;
  }

  .rp-vl-brand-inner{
    padding:34px 26px 30px !important;
  }

  .rp-vl-brand h2{
    font-size:40px !important;
  }
}

/* REALPRO_VIDLEAD_INSTANT_OPEN_V1
 * Keep the fully laid-out modal/iframe rendered off-screen during preload.
 * Visibility:hidden preserves layout dimensions unlike display:none.
 */
#rp-vidlead-booking-modal.rp-vl-prewarm{
  visibility:hidden !important;
  pointer-events:none !important;
  opacity:0 !important;
}

/* ==========================================================
   REALPRO_MOBILE_BOOKING_FOCUS_V5
   Mobile UX:
   - compact brand header
   - on-dark REALPRO logo
   - form receives first-screen priority
   - institutional desktop presentation hidden on mobile only
   ========================================================== */

@media (max-width: 640px){

  #rp-vidlead-booking-modal{
    padding:0 !important;
    align-items:stretch !important;
    justify-content:stretch !important;
    overflow:hidden !important;
  }

  .rp-vl-dialog{
    width:100vw !important;
    max-width:none !important;

    height:100dvh !important;
    max-height:100dvh !important;

    margin:0 !important;
    border-radius:0 !important;

    overflow:hidden !important;
  }

  .rp-vl-layout{
    display:grid !important;

    grid-template-columns:1fr !important;
    grid-template-rows:92px minmax(0,1fr) !important;

    width:100% !important;
    height:100% !important;

    overflow:hidden !important;
  }


  /* ========================================
     COMPACT REALPRO MOBILE BRAND BAR
     ======================================== */

  .rp-vl-brand{
    position:relative !important;

    width:100% !important;
    height:92px !important;
    min-height:92px !important;

    overflow:hidden !important;
  }

  .rp-vl-brand-inner{
    width:100% !important;
    height:92px !important;
    min-height:0 !important;

    padding:18px 76px 18px 24px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    overflow:hidden !important;
  }

  /*
   * On mobile the institutional campaign copy must not
   * compete with the booking action.
   */
  .rp-vl-brand-inner > *:not(.rp-vl-logo){
    display:none !important;
  }

  .rp-vl-logo{
    display:block !important;

    width:auto !important;
    max-width:225px !important;
    height:auto !important;
    max-height:50px !important;

    margin:0 !important;

    object-fit:contain !important;
    object-position:left center !important;
  }


  /* ========================================
     CLOSE CONTROL
     ======================================== */

  .rp-vl-close{
    position:absolute !important;

    top:18px !important;
    right:18px !important;

    width:54px !important;
    height:54px !important;

    z-index:50 !important;

    margin:0 !important;
  }


  /* ========================================
     FORM FIRST
     ======================================== */

  .rp-vl-form-pane{
    width:100% !important;
    height:100% !important;

    min-width:0 !important;
    min-height:0 !important;

    overflow:hidden !important;

    background:#fff !important;
  }

  .rp-vl-form-scroll{
    width:100% !important;
    height:100% !important;

    max-height:none !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;

    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;

    scrollbar-gutter:stable !important;
  }

  #inline-4ReGjrAutHS13ML9CNFv{
    display:block !important;

    width:100% !important;
    max-width:none !important;

    min-height:1450px !important;

    margin:0 !important;
    border:0 !important;
  }
}


/*
 * Narrow phones.
 */
@media (max-width: 390px){

  .rp-vl-layout{
    grid-template-rows:82px minmax(0,1fr) !important;
  }

  .rp-vl-brand,
  .rp-vl-brand-inner{
    height:82px !important;
    min-height:82px !important;
  }

  .rp-vl-brand-inner{
    padding:15px 68px 15px 18px !important;
  }

  .rp-vl-logo{
    max-width:195px !important;
    max-height:44px !important;
  }

  .rp-vl-close{
    top:14px !important;
    right:14px !important;

    width:50px !important;
    height:50px !important;
  }
}

/* ==========================================================
   REALPRO_MOBILE_BOOKING_HEADER_V6
   Premium mobile header refinement.
   Desktop/tablet untouched.
   ========================================================== */

@media (max-width: 640px){

  /* ---------- REMOVE ANY DEAD AREA ---------- */

  #rp-vidlead-booking-modal{
    padding:0 !important;
    margin:0 !important;
    background:rgba(5,12,22,.82) !important;
  }

  .rp-vl-dialog{
    position:relative !important;

    width:100vw !important;
    height:100dvh !important;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;
    border-radius:0 !important;

    overflow:hidden !important;

    background:#fff !important;
  }


  /* ---------- MOBILE STRUCTURE ---------- */

  .rp-vl-layout{
    display:grid !important;

    grid-template-columns:1fr !important;
    grid-template-rows:
      calc(76px + env(safe-area-inset-top))
      minmax(0,1fr) !important;

    width:100% !important;
    height:100% !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden !important;
  }


  /* ---------- PREMIUM BRAND BAR ---------- */

  .rp-vl-brand{
    grid-row:1 !important;

    position:relative !important;

    width:100% !important;
    height:calc(76px + env(safe-area-inset-top)) !important;
    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden !important;

    background:
      radial-gradient(
        circle at 82% 120%,
        rgba(127,28,53,.26),
        transparent 42%
      ),
      linear-gradient(
        110deg,
        #081827 0%,
        #091522 58%,
        #171322 100%
      ) !important;

    border-bottom:
      1px solid rgba(255,255,255,.07) !important;

    box-shadow:
      0 10px 30px rgba(6,14,24,.12) !important;
  }

  .rp-vl-brand-inner{
    position:relative !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    width:100% !important;
    height:100% !important;

    min-height:0 !important;

    margin:0 !important;

    padding:
      calc(12px + env(safe-area-inset-top))
      78px
      12px
      20px !important;

    box-sizing:border-box !important;
  }

  .rp-vl-brand-inner > *:not(.rp-vl-logo){
    display:none !important;
  }


  /* ---------- LOGO ---------- */

  .rp-vl-logo{
    display:block !important;

    width:auto !important;
    height:auto !important;

    max-width:190px !important;
    max-height:42px !important;

    margin:0 !important;
    padding:0 !important;

    object-fit:contain !important;
    object-position:left center !important;

    transform:none !important;

    filter:none !important;

    opacity:1 !important;
  }


  /* ---------- CLOSE BUTTON ---------- */

  .rp-vl-close{
    position:absolute !important;

    top:calc(15px + env(safe-area-inset-top)) !important;
    right:16px !important;
    left:auto !important;

    width:46px !important;
    height:46px !important;

    min-width:46px !important;
    min-height:46px !important;

    margin:0 !important;
    padding:0 !important;

    z-index:100 !important;

    display:grid !important;
    place-items:center !important;

    border-radius:999px !important;

    border:1px solid rgba(12,24,38,.12) !important;

    background:rgba(255,255,255,.96) !important;

    color:#081522 !important;

    box-shadow:
      0 8px 24px rgba(6,14,24,.14),
      0 1px 2px rgba(6,14,24,.08) !important;

    font-size:28px !important;
    font-weight:300 !important;
    line-height:1 !important;

    transform:none !important;

    transition:
      transform .18s ease,
      box-shadow .18s ease,
      background-color .18s ease !important;
  }

  .rp-vl-close svg{
    width:20px !important;
    height:20px !important;

    pointer-events:none !important;
  }

  .rp-vl-close:active{
    transform:scale(.94) !important;

    box-shadow:
      0 4px 14px rgba(6,14,24,.14) !important;
  }


  /* ---------- FORM STARTS IMMEDIATELY ---------- */

  .rp-vl-form-pane{
    grid-row:2 !important;

    position:relative !important;

    width:100% !important;
    height:100% !important;

    min-width:0 !important;
    min-height:0 !important;

    margin:0 !important;
    padding:0 !important;

    background:#fff !important;

    overflow:hidden !important;
  }

  .rp-vl-form-scroll{
    width:100% !important;
    height:100% !important;

    margin:0 !important;
    padding:0 !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;

    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-y:contain !important;

    background:#fff !important;
  }

  #inline-4ReGjrAutHS13ML9CNFv{
    display:block !important;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;

    border:0 !important;

    background:#fff !important;
  }
}


/* ---------- SMALL PHONES ---------- */

@media (max-width: 390px){

  .rp-vl-layout{
    grid-template-rows:
      calc(70px + env(safe-area-inset-top))
      minmax(0,1fr) !important;
  }

  .rp-vl-brand{
    height:calc(70px + env(safe-area-inset-top)) !important;
  }

  .rp-vl-brand-inner{
    padding:
      calc(10px + env(safe-area-inset-top))
      68px
      10px
      16px !important;
  }

  .rp-vl-logo{
    max-width:170px !important;
    max-height:38px !important;
  }

  .rp-vl-close{
    top:calc(12px + env(safe-area-inset-top)) !important;
    right:12px !important;

    width:44px !important;
    height:44px !important;

    min-width:44px !important;
    min-height:44px !important;
  }
}


/* ==========================================================
   REALPRO_MOBILE_BOOKING_CENTER_LOGO_V7
   - center logo
   - eyebrow/slogan above
   - mobile only
   ========================================================== */

@media (max-width: 640px){

  .rp-vl-layout{
    grid-template-rows:
      calc(108px + env(safe-area-inset-top))
      minmax(0,1fr) !important;
  }

  .rp-vl-brand{
    height:calc(108px + env(safe-area-inset-top)) !important;
  }

  .rp-vl-brand-inner{
    justify-content:center !important;
    align-items:center !important;
    flex-direction:column !important;
    gap:8px !important;

    padding:
      calc(10px + env(safe-area-inset-top))
      78px
      12px
      24px !important;
  }

  /* slogan acima do logo */
  .rp-vl-brand-inner::before{
    content:"REALPRO STUDIOS";
    display:block !important;

    margin:0 !important;
    padding:0 !important;

    color:rgba(255,255,255,.92) !important;
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.18em !important;
    line-height:1 !important;
    text-transform:uppercase !important;

    text-align:center !important;
    white-space:nowrap !important;
  }

  .rp-vl-logo{
    max-width:250px !important;
    max-height:42px !important;

    margin:0 auto !important;

    object-position:center center !important;
    align-self:center !important;
  }

  .rp-vl-close{
    top:calc(14px + env(safe-area-inset-top)) !important;
    right:14px !important;
  }
}

@media (max-width: 390px){

  .rp-vl-layout{
    grid-template-rows:
      calc(100px + env(safe-area-inset-top))
      minmax(0,1fr) !important;
  }

  .rp-vl-brand{
    height:calc(100px + env(safe-area-inset-top)) !important;
  }

  .rp-vl-brand-inner{
    gap:7px !important;
    padding:
      calc(10px + env(safe-area-inset-top))
      68px
      10px
      18px !important;
  }

  .rp-vl-brand-inner::before{
    font-size:11px !important;
    letter-spacing:.16em !important;
  }

  .rp-vl-logo{
    max-width:220px !important;
    max-height:38px !important;
  }
}


/* ==========================================================
   REALPRO_MOBILE_BRAND_STRIP_V8
   Authoritative REALPRO mobile statement treatment.
   Mobile only.
   ========================================================== */

@media (max-width:640px){

  /*
   * Let the branding row size naturally according to
   * device width / safe area, then give all remaining
   * viewport height to the native booking form.
   */
  .rp-vl-layout{
    grid-template-rows:
      auto
      minmax(0,1fr) !important;
  }


  /* ========================================
     WHITE BRAND STRIP
     ======================================== */

  .rp-vl-brand{
    position:relative !important;

    width:100% !important;

    height:auto !important;
    min-height:
      calc(78px + env(safe-area-inset-top)) !important;

    margin:0 !important;
    padding:0 !important;

    background:#ffffff !important;

    border:0 !important;
    border-top:3px solid #D32F2F !important;
    border-bottom:1px solid rgba(7,17,31,.10) !important;

    box-shadow:
      0 8px 26px rgba(7,17,31,.06) !important;

    overflow:visible !important;
  }


  .rp-vl-brand-inner{
    position:relative !important;

    width:100% !important;
    height:auto !important;

    min-height:
      calc(75px + env(safe-area-inset-top)) !important;

    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;

    gap:0 !important;

    margin:0 !important;

    padding:
      calc(12px + env(safe-area-inset-top))
      66px
      12px
      22px !important;

    box-sizing:border-box !important;

    background:#ffffff !important;
  }


  /*
   * Disable the V7 pseudo-title.
   */
  .rp-vl-brand-inner::before{
    content:none !important;
    display:none !important;
  }


  /*
   * All original desktop brand content stays in the DOM
   * but is not part of the mobile booking header.
   */
  .rp-vl-brand-inner > *{
    display:none !important;
  }


  /* ========================================
     AUTHORITATIVE HEADER STATEMENT
     ======================================== */

  .rp-vl-brand-inner >
  .rp-vl-mobile-statement{
    display:block !important;

    width:100% !important;
    max-width:330px !important;

    margin:0 auto !important;
    padding:0 !important;

    color:#0B1D33 !important;

    font-family:
      "Inter",
      "Arial",
      sans-serif !important;

    font-size:13px !important;
    font-weight:600 !important;

    line-height:1.38 !important;

    letter-spacing:.005em !important;

    text-align:center !important;

    text-wrap:balance;

    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
  }


  .rp-vl-mobile-statement strong,
  .rp-vl-mobile-statement em{
    color:#D32F2F !important;

    font-weight:800 !important;
    font-style:normal !important;
  }


  /*
   * Subtle REALPRO editorial accent.
   */
  .rp-vl-mobile-statement::before{
    content:"";

    display:inline-block !important;

    width:18px !important;
    height:2px !important;

    margin:
      0
      8px
      4px
      0 !important;

    vertical-align:middle !important;

    background:#D32F2F !important;

    border-radius:999px !important;
  }


  /* ========================================
     REMOVE MOBILE LOGO
     ======================================== */

  .rp-vl-logo{
    display:none !important;
  }


  /* ========================================
     CLOSE CONTROL
     ======================================== */

  .rp-vl-close{
    position:absolute !important;

    top:
      calc(14px + env(safe-area-inset-top)) !important;

    right:12px !important;

    width:44px !important;
    height:44px !important;

    min-width:44px !important;
    min-height:44px !important;

    margin:0 !important;
    padding:0 !important;

    z-index:100 !important;

    display:grid !important;
    place-items:center !important;

    border:
      1px solid rgba(7,17,31,.13) !important;

    border-radius:999px !important;

    background:#ffffff !important;

    color:#07111F !important;

    box-shadow:
      0 5px 16px rgba(7,17,31,.10) !important;

    font-size:26px !important;
    font-weight:300 !important;
    line-height:1 !important;
  }


  .rp-vl-close:active{
    transform:scale(.95) !important;
  }


  /* ========================================
     FORM FOLLOWS IMMEDIATELY
     ======================================== */

  .rp-vl-form-pane{
    min-height:0 !important;

    border-top:0 !important;

    background:#fff !important;
  }

}


/* ==========================================
   NARROW PHONES
   ========================================== */

@media (max-width:390px){

  .rp-vl-brand{
    min-height:
      calc(82px + env(safe-area-inset-top)) !important;
  }

  .rp-vl-brand-inner{
    min-height:
      calc(79px + env(safe-area-inset-top)) !important;

    padding:
      calc(11px + env(safe-area-inset-top))
      60px
      11px
      16px !important;
  }

  .rp-vl-brand-inner >
  .rp-vl-mobile-statement{
    max-width:285px !important;

    font-size:12.5px !important;
    line-height:1.4 !important;
  }

  .rp-vl-mobile-statement::before{
    width:15px !important;

    margin-right:6px !important;
  }

  .rp-vl-close{
    top:
      calc(13px + env(safe-area-inset-top)) !important;

    right:10px !important;

    width:42px !important;
    height:42px !important;

    min-width:42px !important;
    min-height:42px !important;
  }
}


/* ==========================================================
   REALPRO_MOBILE_HEADER_REBUILD_V9
   Rebuild mobile modal header:
   - white slogan strip
   - centered logo on dark blue band
   - preserve form functionality
   ========================================================== */

@media (max-width:640px){

  .rp-vl-brand{
    position: relative !important;
    width: 100% !important;
    min-height: 176px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
    background:
      linear-gradient(
        to bottom,
        #ffffff 0 58px,
        #041427 58px 176px
      ) !important;
    box-shadow: none !important;
  }

  .rp-vl-brand-inner{
    position: relative !important;
    width: 100% !important;
    min-height: 176px !important;
    height: auto !important;
    margin: 0 !important;
    padding:
      calc(14px + env(safe-area-inset-top))
      16px
      18px
      16px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    background: transparent !important;
  }

  /* cancela estilos anteriores do pseudo-elemento */
  .rp-vl-brand-inner::before{
    content: none !important;
    display: none !important;
  }

  /* oculta elementos antigos do bloco de branding */
  .rp-vl-brand-inner > *{
    display: none !important;
  }

  /* slogan no topo — uma linha */
  .rp-vl-brand-inner > .rp-vl-mobile-statement{
    display: block !important;
    order: 1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 54px 0 12px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: clamp(9px, 2.8vw, 14px) !important;
    line-height: 1.1 !important;
    letter-spacing: .01em !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    color: #122744 !important;
    transform: none !important;
  }

  .rp-vl-mobile-statement::before{
    content: none !important;
    display: none !important;
  }

  .rp-vl-mobile-statement strong,
  .rp-vl-mobile-statement em{
    color: #D32F2F !important;
    font-style: normal !important;
    font-weight: 900 !important;
  }

  /* logo centralizado abaixo */
  .rp-vl-brand-inner > .rp-vl-logo{
    display: flex !important;
    order: 2 !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 38px auto 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .rp-vl-brand-inner > .rp-vl-logo img,
  .rp-vl-brand-inner > .rp-vl-logo svg{
    display: block !important;
    max-width: 240px !important;
    width: min(240px, 72vw) !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  /* botão fechar */
  .rp-vl-close{
    position: absolute !important;
    top: calc(8px + env(safe-area-inset-top)) !important;
    right: 10px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    z-index: 30 !important;
    border-radius: 999px !important;
    border: 1px solid rgba(7,17,31,.14) !important;
    background: #ffffff !important;
    color: #07111F !important;
    box-shadow: 0 4px 14px rgba(7,17,31,.10) !important;
    display: grid !important;
    place-items: center !important;
    font-size: 26px !important;
    line-height: 1 !important;
  }

  .rp-vl-form-pane{
    border-top: 0 !important;
    background: #ffffff !important;
  }
}

@media (max-width:390px){

  .rp-vl-brand{
    min-height: 164px !important;
    background:
      linear-gradient(
        to bottom,
        #ffffff 0 54px,
        #041427 54px 164px
      ) !important;
  }

  .rp-vl-brand-inner{
    min-height: 164px !important;
    padding:
      calc(12px + env(safe-area-inset-top))
      12px
      16px
      12px !important;
  }

  .rp-vl-brand-inner > .rp-vl-mobile-statement{
    padding: 0 52px 0 10px !important;
    font-size: clamp(8px, 2.65vw, 12px) !important;
    letter-spacing: 0 !important;
  }

  .rp-vl-brand-inner > .rp-vl-logo{
    margin-top: 34px !important;
  }

  .rp-vl-brand-inner > .rp-vl-logo img,
  .rp-vl-brand-inner > .rp-vl-logo svg{
    width: min(220px, 70vw) !important;
    max-width: 220px !important;
  }
}


/* ==========================================================
   REALPRO_MOBILE_HEADER_REFINED_V10
   Compact dark-blue editorial header.
   - no separate logo block
   - reduced height
   - white text / red accents
   - ultra-refined mobile presentation
   ========================================================== */

@media (max-width:640px){

  .rp-vl-brand{
    position:relative !important;
    width:100% !important;
    min-height:72px !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:visible !important;

    background:
      linear-gradient(135deg,#07111F 0%,#0A1930 60%,#11182A 100%) !important;

    box-shadow:
      0 10px 30px rgba(4,16,30,.16) !important;
  }

  .rp-vl-brand-inner{
    position:relative !important;
    width:100% !important;
    min-height:72px !important;
    height:auto !important;
    margin:0 !important;
    padding:
      calc(14px + env(safe-area-inset-top))
      54px
      14px
      16px !important;
    box-sizing:border-box !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;

    background:transparent !important;
  }

  .rp-vl-brand-inner::before{
    content:none !important;
    display:none !important;
  }

  .rp-vl-brand-inner > *{
    display:none !important;
  }

  .rp-vl-brand-inner > .rp-vl-mobile-statement{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:0 !important;

    text-align:center !important;
    white-space:nowrap !important;
    overflow:hidden !important;

    font-family:"Inter",Arial,sans-serif !important;
    font-size:clamp(9px,2.75vw,13px) !important;
    line-height:1.08 !important;
    letter-spacing:.015em !important;
    font-weight:800 !important;
    text-transform:uppercase !important;

    color:#FFFFFF !important;
    text-wrap:nowrap !important;
    -webkit-font-smoothing:antialiased !important;
    text-rendering:geometricPrecision !important;
  }

  .rp-vl-mobile-statement::before{
    content:none !important;
    display:none !important;
  }

  .rp-vl-mobile-statement strong,
  .rp-vl-mobile-statement em{
    color:#E53935 !important;
    font-style:normal !important;
    font-weight:900 !important;
  }

  /* remove logo area completely */
  .rp-vl-brand-inner > .rp-vl-logo{
    display:none !important;
  }

  .rp-vl-close{
    position:absolute !important;
    top:calc(10px + env(safe-area-inset-top)) !important;
    right:10px !important;

    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;

    z-index:30 !important;

    border-radius:999px !important;
    border:1px solid rgba(255,255,255,.14) !important;
    background:rgba(255,255,255,.06) !important;
    color:#FFFFFF !important;

    backdrop-filter:blur(6px) !important;
    -webkit-backdrop-filter:blur(6px) !important;

    box-shadow:none !important;

    display:grid !important;
    place-items:center !important;

    font-size:22px !important;
    line-height:1 !important;

    transition:
      background-color .18s ease,
      border-color .18s ease,
      transform .18s ease !important;
  }

  .rp-vl-close:hover,
  .rp-vl-close:active{
    background:rgba(255,255,255,.10) !important;
    border-color:rgba(255,255,255,.22) !important;
    transform:scale(.97) !important;
  }

  .rp-vl-form-pane{
    border-top:0 !important;
    background:#ffffff !important;
  }
}

@media (max-width:390px){

  .rp-vl-brand{
    min-height:66px !important;
  }

  .rp-vl-brand-inner{
    min-height:66px !important;
    padding:
      calc(12px + env(safe-area-inset-top))
      48px
      12px
      12px !important;
  }

  .rp-vl-brand-inner > .rp-vl-mobile-statement{
    font-size:clamp(8px,2.55vw,11.5px) !important;
    letter-spacing:0 !important;
  }

  .rp-vl-close{
    top:calc(9px + env(safe-area-inset-top)) !important;
    right:8px !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    font-size:20px !important;
  }
}


/* ==========================================================
   REALPRO_MOBILE_CLOSE_MICRODETAIL_V11
   Premium close control positioned in the white top area.
   Mobile only.
   ========================================================== */

@media (max-width:640px){

  .rp-vl-dialog{
    position:relative !important;
  }

  .rp-vl-close{
    position:absolute !important;

    top:18px !important;
    right:18px !important;

    width:46px !important;
    height:46px !important;

    min-width:46px !important;
    min-height:46px !important;

    margin:0 !important;
    padding:0 !important;

    z-index:999 !important;

    display:block !important;

    border:
      1px solid rgba(7,17,31,.11) !important;

    border-radius:50% !important;

    background:
      rgba(255,255,255,.98) !important;

    color:transparent !important;

    font-size:0 !important;
    line-height:0 !important;

    box-shadow:
      0 10px 28px rgba(7,17,31,.08),
      0 2px 8px rgba(7,17,31,.05) !important;

    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;

    transform:none !important;

    transition:
      transform .18s cubic-bezier(.2,.8,.2,1),
      box-shadow .18s ease,
      border-color .18s ease,
      background-color .18s ease !important;
  }

  /*
   * Precision-drawn X.
   */
  .rp-vl-close::before,
  .rp-vl-close::after{
    content:"" !important;

    position:absolute !important;

    top:50% !important;
    left:50% !important;

    width:19px !important;
    height:1.5px !important;

    margin:0 !important;

    background:#07111F !important;

    border-radius:999px !important;

    transform-origin:center center !important;

    pointer-events:none !important;

    -webkit-font-smoothing:antialiased !important;
  }

  .rp-vl-close::before{
    transform:
      translate(-50%,-50%)
      rotate(45deg) !important;
  }

  .rp-vl-close::after{
    transform:
      translate(-50%,-50%)
      rotate(-45deg) !important;
  }

  .rp-vl-close:hover{
    border-color:rgba(7,17,31,.18) !important;

    box-shadow:
      0 12px 32px rgba(7,17,31,.11),
      0 3px 9px rgba(7,17,31,.06) !important;
  }

  .rp-vl-close:active{
    transform:scale(.94) !important;

    background:#F8FAFC !important;
  }

  .rp-vl-close:focus-visible{
    outline:
      2px solid #D32F2F !important;

    outline-offset:3px !important;
  }
}


@media (max-width:390px){

  .rp-vl-close{
    top:14px !important;
    right:14px !important;

    width:44px !important;
    height:44px !important;

    min-width:44px !important;
    min-height:44px !important;
  }

  .rp-vl-close::before,
  .rp-vl-close::after{
    width:18px !important;
  }
}

