/* EcoUrban 1.22.13 | Modal exclusivo de visita premium */
.visit-modal.visit-premium{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:clamp(10px,2vw,28px);overscroll-behavior:contain}
.visit-modal.visit-premium[hidden]{display:none!important}
.visit-premium .visit-modal-backdrop{background:rgba(2,8,16,.84);backdrop-filter:blur(9px) saturate(.72)}
.visit-premium .visit-premium-dialog{position:relative;display:grid;grid-template-columns:minmax(250px,31%) minmax(0,1fr);width:min(1080px,100%);max-width:1080px;min-width:0;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);min-height:0;margin:0;padding:0!important;overflow:hidden;border:1px solid rgba(238,194,98,.8)!important;border-radius:27px!important;background:linear-gradient(135deg,#0a1c2c,#05121f)!important;color:#fff9ee;box-shadow:0 35px 100px rgba(0,0,0,.68),0 0 35px rgba(232,185,85,.12),inset 0 0 0 1px rgba(255,255,255,.03);animation:visitPremiumEnter .3s ease-out both}
.visit-premium .visit-premium-close{position:absolute;z-index:25;top:17px;right:17px;display:grid;place-items:center;width:43px;height:43px;padding:0;margin:0;border:1px solid rgba(234,194,108,.62);border-radius:50%;background:rgba(4,15,26,.95);color:#fff9ed;cursor:pointer;transition:background .2s,transform .2s}
.visit-premium .visit-premium-close svg{width:19px;height:19px;display:block}
.visit-premium .visit-premium-close:hover,.visit-premium .visit-premium-close:focus-visible{background:#192b40;transform:rotate(90deg);outline:2px solid rgba(234,194,108,.25)}
.visit-premium .visit-property-panel{min-width:0;padding:clamp(18px,2.3vw,27px);display:flex;flex-direction:column;gap:17px;overflow-y:auto;background:radial-gradient(circle at 18% 0%,rgba(121,150,184,.12),transparent 44%),linear-gradient(155deg,#142638,#0b1c2b);border-right:1px solid rgba(247,230,187,.10)}
.visit-premium .visit-property-media{position:relative;flex:none;overflow:hidden;min-height:165px;height:clamp(182px,33vh,300px);border-radius:16px;border:1px solid rgba(241,219,164,.23);background:linear-gradient(125deg,#18374c,#102337);box-shadow:0 14px 28px rgba(0,0,0,.28)}
.visit-premium .visit-property-media img{display:block;width:100%;height:100%;object-fit:cover}
.visit-premium .visit-property-media::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,8,17,.7));pointer-events:none}
.visit-premium .visit-media-caption{position:absolute;z-index:1;bottom:12px;left:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(239,208,138,.3);background:rgba(5,18,28,.82);font-size:.7rem;color:#fff;letter-spacing:.04em}
.visit-premium .visit-property-fallback{height:100%;display:grid;place-content:center;justify-items:center;gap:12px;color:#e8c475}
.visit-premium .visit-property-fallback svg{width:65px;height:65px}
.visit-premium .visit-property-fallback span{font-size:1.15rem;font-weight:750}
.visit-premium .visit-property-summary{min-width:0}
.visit-premium .visit-property-location{display:flex;align-items:center;gap:7px;margin:0 0 5px;color:#b9cada;font-size:.79rem}
.visit-premium .visit-property-location svg{flex:none;width:16px;height:16px;color:#f4c164}
.visit-premium .visit-property-summary h3{font-family:Georgia,'Times New Roman',serif;font-weight:600;font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.1;color:#fff9ed;letter-spacing:-.04em;margin:4px 0 5px}
.visit-premium .visit-property-name{margin:0;color:#d1dce6;font-size:.87rem;line-height:1.46;overflow-wrap:anywhere}
.visit-premium .visit-property-facts{display:grid;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(236,202,132,.26)}
.visit-premium .visit-fact{display:flex;align-items:center;gap:12px;min-width:0}
.visit-premium .visit-fact svg{flex:none;width:23px;height:23px;color:#edb757}
.visit-premium .visit-fact span{display:grid;gap:2px;min-width:0}
.visit-premium .visit-fact small{font-size:.73rem;color:#aab9c7}
.visit-premium .visit-fact strong{font-size:.9rem;color:#fff9f0}
.visit-premium .visit-form-panel{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:clamp(20px,2.8vw,35px) clamp(21px,3.2vw,42px) 24px;background:radial-gradient(circle at 100% 0%,rgba(26,61,88,.15),transparent 48%),rgba(4,17,29,.94);scrollbar-width:thin;scrollbar-color:rgba(227,184,79,.52) transparent}
.visit-premium .visit-form-heading{padding-right:41px}
.visit-premium .visit-premium-kicker{display:flex;align-items:center;gap:12px;margin:0 0 12px;color:#f1c570;letter-spacing:.2em;text-transform:uppercase;font-size:.7rem;font-weight:850}
.visit-premium .visit-premium-kicker span{height:1px;width:39px;background:#ecbd6b}
.visit-premium .visit-form-heading h2{margin:0 0 9px;color:#fff9f1;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.9rem,3.1vw,2.65rem);font-weight:600;line-height:1.12;letter-spacing:-.035em;overflow-wrap:anywhere}
.visit-premium .visit-form-heading h2 em{color:#edc56e;font-style:normal}
.visit-premium .visit-form-heading > p:last-child{margin:0;color:#b6c7d8;font-size:.86rem;line-height:1.55;max-width:50ch}
.visit-premium .visit-form-premium{display:grid;gap:11px;margin:16px 0 0}
.visit-premium .visit-premium-field{display:grid;gap:6px;min-width:0;font-size:.82rem}
.visit-premium .visit-premium-field > span:first-child{display:block;color:#fbf6ed;font-size:.8rem;font-weight:700}
.visit-premium .visit-premium-field > span:first-child small{color:#8da3b6;font-size:.69rem;font-weight:500}
.visit-premium .visit-premium-input{position:relative;display:flex;align-items:center;gap:9px;min-width:0;min-height:45px;border:1px solid rgba(165,189,211,.43);border-radius:11px;background:linear-gradient(180deg,#071b2a,#061625);transition:border-color .2s,box-shadow .2s}
.visit-premium .visit-premium-input:focus-within{border-color:#edbe68;box-shadow:0 0 0 3px rgba(229,182,91,.11)}
.visit-premium .visit-premium-input > svg{flex:0 0 19px;width:19px;height:19px;margin-left:12px;color:#f0bb56}
.visit-premium .visit-premium-input input,.visit-premium .visit-premium-input textarea,.visit-premium .visit-premium-input select{display:block;flex:1;min-width:0;width:100%;min-height:43px;margin:0;padding:9px 12px 9px 0;border:0!important;border-radius:10px;outline:0!important;background:transparent!important;box-shadow:none!important;color:#fdf9f1!important;font:inherit;font-size:.84rem;line-height:1.4;color-scheme:dark}
.visit-premium .visit-premium-input input::placeholder,.visit-premium .visit-premium-input textarea::placeholder{color:#8599aa;opacity:1}
.visit-premium .visit-premium-input option{background:#0c2232;color:#fff}
.visit-premium .visit-premium-daterow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-width:0}
.visit-premium .visit-premium-select{position:relative}
.visit-premium .visit-premium-input select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:25px}
.visit-premium .visit-premium-select::after{content:"";position:absolute;top:43%;right:14px;width:8px;height:8px;border:solid #efbd68;border-width:0 2px 2px 0;transform:rotate(45deg);pointer-events:none}
.visit-premium .visit-date-shell{position:relative;min-width:0}
.visit-premium .visit-native-date{width:100%;min-height:45px;background:#071b2a;color:#fff;border:1px solid rgba(165,189,211,.43);border-radius:11px;padding:6px 10px;font:inherit;font-size:.8rem;color-scheme:dark}
.visit-premium .visit-date-enhanced .visit-native-date{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;padding:0;margin:0;border:0}
.visit-premium .visit-date-trigger{display:flex;align-items:center;gap:8px;width:100%;height:45px;padding:8px 10px;border-radius:11px;border:1px solid rgba(165,189,211,.43);background:linear-gradient(180deg,#071b2a,#061625);color:#8499ab;text-align:left;cursor:pointer;font-size:.8rem}
.visit-premium .visit-date-trigger svg{width:17px;height:17px;flex:none;color:#efbb56}
.visit-premium .visit-date-trigger .date-display{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.visit-premium .visit-date-trigger.has-value{color:#fff9ed}
.visit-premium .visit-date-trigger:hover,.visit-premium .visit-date-trigger:focus-visible{border-color:#edbe68;outline:0;box-shadow:0 0 0 3px rgba(229,182,91,.11)}
.visit-premium .visit-calendar[hidden]{display:none!important}
.visit-premium .visit-calendar{display:grid;gap:9px;margin:8px 0 4px;padding:12px;border:1px solid rgba(237,192,101,.42);border-radius:15px;background:linear-gradient(155deg,#15293a,#071827);box-shadow:0 14px 24px rgba(0,0,0,.29)}
.visit-premium .visit-calendar-head{display:flex;justify-content:space-between;align-items:center;gap:7px}
.visit-premium .visit-calendar-head strong{color:#fff9ed;text-transform:capitalize;font-size:.79rem}
.visit-premium .visit-calendar-nav{display:grid;place-items:center;min-width:30px;height:30px;border:1px solid rgba(237,192,101,.28);border-radius:7px;background:rgba(239,195,103,.05);color:#f9d583;cursor:pointer}
.visit-premium .visit-calendar-nav:hover,.visit-premium .visit-calendar-nav:focus-visible{background:rgba(239,195,103,.18);outline:1px solid #edbe68}
.visit-premium .visit-calendar-week,.visit-premium .visit-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.visit-premium .visit-calendar-week span{text-align:center;font-size:.65rem;color:#a3bfd1;font-weight:700}
.visit-premium .visit-calendar-days button,.visit-premium .visit-calendar-days span{display:grid;place-items:center;min-width:0;height:30px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:#e1eaf1;font-size:.76rem}
.visit-premium .visit-calendar-days button{cursor:pointer}
.visit-premium .visit-calendar-days button:hover,.visit-premium .visit-calendar-days button:focus-visible{background:rgba(241,197,108,.17);outline:none;border-color:rgba(241,197,108,.40)}
.visit-premium .visit-calendar-days button.is-selected{background:linear-gradient(#f1d37f,#d8a950);font-weight:800;color:#051827}
.visit-premium .visit-calendar-days button.is-today:not(.is-selected){border-color:rgba(241,197,108,.60)}
.visit-premium .visit-calendar-days button:disabled{opacity:.23;cursor:default}
.visit-premium .visit-calendar-footer{display:flex;justify-content:space-between;gap:8px}
.visit-premium .visit-calendar-footer button{padding:7px 10px;border:1px solid rgba(244,208,134,.32);border-radius:8px;background:#11283a;color:#f7d78c;font-size:.72rem;cursor:pointer}
.visit-premium .visit-message-input{align-items:flex-start}
.visit-premium .visit-message-input > svg{margin-top:10px}
.visit-premium .visit-message-input textarea{min-height:60px;max-height:120px;resize:vertical}
.visit-premium .visit-premium-consent{display:flex!important;align-items:flex-start;gap:10px;cursor:pointer}
.visit-premium .visit-premium-consent input{display:block;flex:0 0 16px;width:16px!important;height:16px;appearance:auto!important;margin:0;padding:0;accent-color:#e8b65a;cursor:pointer}
.visit-premium .visit-premium-consent span{color:#bccbda!important;font-size:.72rem!important;line-height:1.5!important}
.visit-premium .visit-premium-submit{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:49px;margin:4px 0 0;padding:9px 42px 9px 14px;border:1px solid rgba(255,237,166,.72);border-radius:12px;background:linear-gradient(180deg,#ffe391,#d6a43e)!important;color:#081827!important;box-shadow:0 9px 22px rgba(209,155,58,.24);font-family:Georgia,'Times New Roman',serif;font-size:1.09rem;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s}
.visit-premium .visit-premium-submit svg{flex:none;width:20px;height:20px}
.visit-premium .visit-premium-submit .visit-submit-arrow{position:absolute;right:17px;font:1.4rem system-ui}
.visit-premium .visit-premium-submit:hover,.visit-premium .visit-premium-submit:focus-visible{transform:translateY(-1px);box-shadow:0 12px 27px rgba(209,155,58,.34);outline:2px solid rgba(255,230,152,.27)}
.visit-premium .honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@keyframes visitPremiumEnter{from{opacity:0;transform:translateY(8px) scale(.987)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:900px){.visit-premium .visit-premium-dialog{grid-template-columns:minmax(208px,31%) minmax(0,1fr)}.visit-premium .visit-property-panel{padding:20px 18px}.visit-premium .visit-form-panel{padding:24px 22px 19px}.visit-premium .visit-property-media{height:clamp(165px,28vh,250px)}}
@media(max-width:700px){
  .visit-modal.visit-premium{padding:10px}
  .visit-premium .visit-premium-dialog{display:block;width:100%;max-height:calc(100dvh - 20px);overflow-y:auto;border-radius:22px!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(231,184,79,.45) transparent}
  .visit-premium .visit-property-panel{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:12px;padding:14px 53px 14px 14px;overflow:visible;border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}
  .visit-premium .visit-property-media{min-height:0;width:82px;height:86px;border-radius:12px}
  .visit-premium .visit-media-caption{display:none}
  .visit-premium .visit-property-summary h3{font-size:1.4rem;margin:1px 0}
  .visit-premium .visit-property-location{gap:4px;font-size:.7rem;margin-bottom:1px}
  .visit-premium .visit-property-location svg{width:13px;height:13px}
  .visit-premium .visit-property-name{font-size:.73rem;line-height:1.3;max-height:2.6em;overflow:hidden}
  .visit-premium .visit-property-facts{display:none}
  .visit-premium .visit-premium-close{top:12px;right:12px;width:36px;height:36px}
  .visit-premium .visit-form-panel{padding:20px 18px 22px;overflow:visible}
  .visit-premium .visit-form-heading{padding:0}
  .visit-premium .visit-form-heading h2{font-size:clamp(1.7rem,7vw,2.2rem)}
  .visit-premium .visit-form-heading > p:last-child{font-size:.81rem}
  .visit-premium .visit-premium-submit{position:relative;bottom:auto}
}
@media(max-width:360px){.visit-premium .visit-premium-daterow{grid-template-columns:1fr}.visit-premium .visit-property-panel{grid-template-columns:65px minmax(0,1fr)}.visit-premium .visit-property-media{width:65px;height:77px}}
@media(prefers-reduced-motion:reduce){.visit-premium .visit-premium-dialog{animation:none}.visit-premium *,.visit-premium *::before,.visit-premium *::after{transition:none!important}}

/* Refinamentos finais de alinhamento do calendário e ação */
.visit-premium .visit-premium-daterow{align-items:start}
.visit-premium .visit-premium-submit{font-size:16px!important}
.visit-premium .visit-calendar{width:100%;max-width:100%}


/* v1.22.12: date and period float on top of the modal, never add form height. */
.visit-modal.visit-premium .visit-calendar.visit-floating-popover {
  position:fixed!important;
  z-index:95;
  margin:0!important;
  width:336px;
  max-width:calc(100vw - 22px)!important;
  max-height:calc(100dvh - 22px);
  overflow-y:auto;
  overflow-x:hidden;
  padding:13px;
  border-radius:16px;
  background:linear-gradient(145deg,#142a3d,#061827 86%);
  border:1px solid rgba(237,192,101,.65);
  box-shadow:0 24px 60px rgba(0,0,0,.65),0 0 0 1px rgba(245,212,129,.04) inset;
  scrollbar-color:rgba(231,184,79,.5) transparent;
  scrollbar-width:thin;
}
.visit-modal.visit-premium .visit-floating-popover[hidden] {display:none!important;}
.visit-premium .visit-calendar-nav {width:32px;height:32px;}
.visit-premium .visit-calendar-days button,.visit-premium .visit-calendar-days span {height:32px;}
.visit-premium .visit-calendar-days button {transition:background .15s,border-color .15s;}
.visit-premium .visit-date-trigger[aria-expanded="true"] {border-color:#efc573;box-shadow:0 0 0 3px rgba(234,187,92,.14);color:#fff9eb;}
.visit-premium .visit-period-enhanced {position:relative;}
.visit-premium .visit-period-enhanced::after {display:none!important;}
.visit-premium .visit-period-enhanced > select {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.visit-premium .visit-period-trigger {
  flex:1 1 auto;
  min-width:0;
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0;
  padding:8px 12px 8px 0;
  background:transparent;
  border:0;
  border-radius:11px;
  text-align:left;
  font-size:.84rem;
  line-height:1.4;
  color:#fff9ed;
  cursor:pointer;
  outline:0;
}
.visit-premium .visit-period-trigger .visit-period-display {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.visit-premium .visit-period-trigger .visit-period-chevron {
  flex:0 0 9px;
  height:9px;
  width:9px;
  border-right:2px solid #eec36d;
  border-bottom:2px solid #eec36d;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .17s;
}
.visit-premium .visit-period-trigger[aria-expanded="true"] .visit-period-chevron {transform:translateY(2px) rotate(225deg);}
.visit-premium .visit-period-enhanced:focus-within {border-color:#edbe68;box-shadow:0 0 0 3px rgba(229,182,91,.11);}
.visit-modal.visit-premium .visit-period-menu {
  position:fixed!important;
  z-index:96;
  display:grid;
  gap:5px;
  margin:0;
  padding:8px;
  width:260px;
  max-width:calc(100vw - 22px);
  overflow-y:auto;
  max-height:calc(100dvh - 22px);
  border:1px solid rgba(237,192,101,.56);
  border-radius:15px;
  background:linear-gradient(145deg,#142a3d,#071726);
  box-shadow:0 23px 55px rgba(0,0,0,.64),0 1px 0 rgba(255,255,255,.04) inset;
  scrollbar-width:thin;
}
.visit-modal.visit-premium .visit-period-menu[hidden] {display:none!important;}
.visit-modal.visit-premium .visit-period-option {
  display:flex;
  align-items:center;
  gap:9px;
  min-height:38px;
  width:100%;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#deebf4;
  font-size:.82rem;
  text-align:left;
  cursor:pointer;
}
.visit-modal.visit-premium .visit-period-option::before {
  content:'';
  display:block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(231,197,128,.24);
  flex:0 0 6px;
}
.visit-modal.visit-premium .visit-period-option:hover,
.visit-modal.visit-premium .visit-period-option:focus-visible {
  border-color:rgba(233,195,112,.32);
  outline:0;
  background:rgba(231,188,99,.13);
}
.visit-modal.visit-premium .visit-period-option[aria-selected="true"] {
  color:#ffe2a0;
  border-color:rgba(231,188,99,.38);
  background:linear-gradient(100deg,rgba(232,183,83,.17),rgba(232,183,83,.06));
}
.visit-modal.visit-premium .visit-period-option[aria-selected="true"]::before {background:#f2c96e;box-shadow:0 0 0 3px rgba(239,194,104,.12);}
@media (max-width:700px) {
  .visit-modal.visit-premium .visit-calendar.visit-floating-popover {padding:10px;gap:7px;}
  .visit-premium .visit-calendar-days button,.visit-premium .visit-calendar-days span {height:30px;}
}


/* v1.22.13 - O botao de conclusao fica sempre visivel: so os campos rolam. */
.visit-modal.visit-premium .visit-premium-dialog {
  height:min(720px, calc(100dvh - 28px));
  max-height:calc(100dvh - 28px);
  min-height:0;
  overflow:hidden;
}
.visit-modal.visit-premium .visit-property-panel {min-height:0;}
.visit-modal.visit-premium .visit-form-panel {
  display:flex;
  flex-direction:column;
  min-height:0;
  height:100%;
  overflow:hidden;
  padding:0!important;
}
.visit-modal.visit-premium .visit-form-premium {
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  min-height:0;
  height:100%;
  width:100%;
  overflow:hidden;
  margin:0!important;
  gap:0!important;
}
.visit-modal.visit-premium .visit-form-scroll {
  display:grid;
  align-content:start;
  gap:11px;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  padding:clamp(19px,2.8vw,34px) clamp(20px,3vw,42px) 22px;
  scrollbar-width:thin;
  scrollbar-color:rgba(227,184,79,.58) transparent;
}
.visit-modal.visit-premium .visit-form-heading {margin:0 0 5px;}
.visit-modal.visit-premium .visit-form-actionbar {
  position:relative;
  z-index:4;
  min-width:0;
  padding:12px clamp(20px,3vw,42px) 15px;
  border-top:1px solid rgba(239,194,100,.27);
  background:linear-gradient(180deg,#0b1e2d,#061420);
  box-shadow:0 -9px 20px rgba(2,11,20,.50);
}
.visit-modal.visit-premium .visit-form-actionbar .visit-premium-submit {
  display:flex;
  position:relative!important;
  bottom:auto!important;
  margin:0!important;
  width:100%;
  min-height:49px;
}
/* Falhas de validacao nativa levam o usuario ao campo dentro da area rolavel. */
.visit-modal.visit-premium .visit-form-scroll :is(input,textarea,select,button):focus {scroll-margin-block:20px;}
@media (max-width:700px) {
  .visit-modal.visit-premium {padding:8px;}
  .visit-modal.visit-premium .visit-premium-dialog {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    height:calc(100dvh - 16px);
    max-height:calc(100dvh - 16px);
    overflow:hidden!important;
  }
  .visit-modal.visit-premium .visit-property-panel {
    overflow:hidden!important;
    min-height:0;
    padding:12px 52px 12px 12px;
  }
  .visit-modal.visit-premium .visit-form-panel {overflow:hidden!important;padding:0!important;}
  .visit-modal.visit-premium .visit-form-scroll {padding:18px 17px 15px;gap:10px;}
  .visit-modal.visit-premium .visit-form-actionbar {padding:10px 17px 13px;}
  .visit-modal.visit-premium .visit-form-actionbar .visit-premium-submit {min-height:49px;}
}
@media (max-height:560px) and (min-width:701px) {
  .visit-modal.visit-premium .visit-form-scroll {padding-top:13px;padding-bottom:13px;}
  .visit-modal.visit-premium .visit-form-actionbar {padding-top:8px;padding-bottom:8px;}
}

/* Autorização legal acessível junto à ação, mesmo sem rolar os campos. */
.visit-modal.visit-premium .visit-form-actionbar .visit-premium-consent {
  margin:0 0 10px;
  padding:0;
  align-items:flex-start;
}
.visit-modal.visit-premium .visit-form-actionbar .visit-premium-consent span {line-height:1.35!important;font-size:.73rem!important;}
@media (max-width:700px) {
  .visit-modal.visit-premium .visit-form-actionbar .visit-premium-consent {margin-bottom:9px;}
  .visit-modal.visit-premium .visit-form-actionbar .visit-premium-consent span {font-size:.72rem!important;}
}


/* EcoUrban v1.22.14 - agendamento menor, confortável e sem esconder ações. */
@media (min-width:701px) {
  .visit-modal.visit-premium .visit-premium-dialog {
    width:min(944px, calc(100vw - 36px)) !important;
    max-width:944px !important;
    grid-template-columns:minmax(236px,28%) minmax(0,1fr) !important;
    height:min(535px, calc(100dvh - 42px)) !important;
    max-height:calc(100dvh - 42px) !important;
    border-radius:22px !important;
  }
  .visit-modal.visit-premium .visit-property-panel {
    gap:10px;
    padding:18px;
    overflow:auto;
  }
  .visit-modal.visit-premium .visit-property-media {
    height:clamp(125px,21vh,170px);
    min-height:120px;
    border-radius:13px;
  }
  .visit-modal.visit-premium .visit-property-location {font-size:.74rem;}
  .visit-modal.visit-premium .visit-property-summary h3 {
    font-size:clamp(1.55rem,2vw,1.85rem);
    margin:3px 0 2px;
  }
  .visit-modal.visit-premium .visit-property-name {font-size:.78rem;line-height:1.38;}
  .visit-modal.visit-premium .visit-property-facts {gap:8px;margin-top:11px;padding-top:11px;}
  .visit-modal.visit-premium .visit-fact {gap:9px;}
  .visit-modal.visit-premium .visit-fact svg {width:19px;height:19px;}
  .visit-modal.visit-premium .visit-fact small {font-size:.68rem;}
  .visit-modal.visit-premium .visit-fact strong {font-size:.83rem;}
  .visit-modal.visit-premium .visit-form-scroll {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px 13px;
    padding:17px 24px 13px;
    align-content:start;
  }
  .visit-modal.visit-premium .visit-form-scroll > .visit-form-heading,
  .visit-modal.visit-premium .visit-form-scroll > .visit-name-field,
  .visit-modal.visit-premium .visit-form-scroll > .visit-premium-daterow,
  .visit-modal.visit-premium .visit-form-scroll > .visit-message-field {
    grid-column:1/-1;
  }
  .visit-modal.visit-premium .visit-form-heading {padding-right:39px;margin-bottom:2px;}
  .visit-modal.visit-premium .visit-premium-kicker {font-size:.63rem;margin:0 0 5px;letter-spacing:.18em;}
  .visit-modal.visit-premium .visit-form-heading h2 {
    margin-bottom:4px;
    font-size:clamp(1.55rem,2.4vw,2.05rem);
    line-height:1.08;
  }
  .visit-modal.visit-premium .visit-form-heading > p:last-child {
    font-size:.76rem;line-height:1.42;max-width:63ch;
  }
  .visit-modal.visit-premium .visit-premium-field {gap:4px;}
  .visit-modal.visit-premium .visit-premium-field > span:first-child {font-size:.74rem;}
  .visit-modal.visit-premium .visit-premium-input {min-height:40px;border-radius:10px;}
  .visit-modal.visit-premium .visit-premium-input input,
  .visit-modal.visit-premium .visit-premium-input select {min-height:38px;padding:7px 9px 7px 0;font-size:.8rem;}
  .visit-modal.visit-premium .visit-premium-input > svg {width:17px;height:17px;flex-basis:17px;margin-left:10px;}
  .visit-modal.visit-premium .visit-premium-daterow {gap:13px;}
  .visit-modal.visit-premium .visit-date-trigger {height:40px;font-size:.78rem;border-radius:10px;}
  .visit-modal.visit-premium .visit-period-trigger {min-height:38px;font-size:.78rem;}
  .visit-modal.visit-premium .visit-message-input textarea {min-height:50px;max-height:90px;padding-top:8px;font-size:.79rem;}
  .visit-modal.visit-premium .visit-message-input > svg {margin-top:9px;}
  .visit-modal.visit-premium .visit-form-actionbar {padding:9px 24px 12px;}
  .visit-modal.visit-premium .visit-form-actionbar .visit-premium-consent {margin-bottom:7px;gap:8px;}
  .visit-modal.visit-premium .visit-form-actionbar .visit-premium-consent span {font-size:.69rem!important;line-height:1.3!important;}
  .visit-modal.visit-premium .visit-form-actionbar .visit-premium-submit {min-height:44px;font-size:.92rem!important;border-radius:10px;}
  .visit-modal.visit-premium .visit-form-actionbar .visit-premium-submit svg {width:17px;height:17px;}
  .visit-modal.visit-premium .visit-premium-close {top:13px;right:14px;width:35px;height:35px;}
}
/* On phones the left preview stays compact and the primary action stays visible. */
@media (max-width:700px) {
  .visit-modal.visit-premium .visit-premium-dialog {
    width:min(440px,100%);
    height:min(660px,calc(100dvh - 20px));
    max-height:calc(100dvh - 20px);
    border-radius:18px!important;
  }
  .visit-modal.visit-premium .visit-property-panel {
    grid-template-columns:70px minmax(0,1fr);
    gap:10px;
    padding:10px 44px 10px 12px;
  }
  .visit-modal.visit-premium .visit-property-media {width:70px;height:72px;min-height:0;border-radius:11px;}
  .visit-modal.visit-premium .visit-property-summary h3 {font-size:1.25rem;line-height:1.12;margin:1px 0;}
  .visit-modal.visit-premium .visit-property-location {font-size:.68rem;}
  .visit-modal.visit-premium .visit-property-name {font-size:.72rem;line-height:1.3;}
  .visit-modal.visit-premium .visit-form-scroll {grid-template-columns:minmax(0,1fr);gap:9px;padding:13px 15px 10px;}
  .visit-modal.visit-premium .visit-form-scroll > * {grid-column:1/-1;}
  .visit-modal.visit-premium .visit-premium-kicker {font-size:.63rem;margin-bottom:5px;}
  .visit-modal.visit-premium .visit-form-heading {margin:0 0 1px;}
  .visit-modal.visit-premium .visit-form-heading h2 {font-size:clamp(1.55rem,6.2vw,1.85rem);margin:0 0 5px;}
  .visit-modal.visit-premium .visit-form-heading > p:last-child {font-size:.75rem;line-height:1.4;}
  .visit-modal.visit-premium .visit-premium-field {gap:4px;}
  .visit-modal.visit-premium .visit-premium-input {min-height:43px;}
  .visit-modal.visit-premium .visit-premium-input input {min-height:41px;font-size:.81rem;}
  .visit-modal.visit-premium .visit-premium-daterow {gap:9px;}
  .visit-modal.visit-premium .visit-message-input textarea {min-height:50px;}
  .visit-modal.visit-premium .visit-form-actionbar {padding:9px 15px 11px;}
  .visit-modal.visit-premium .visit-form-actionbar .visit-premium-consent {margin-bottom:7px;}
  .visit-modal.visit-premium .visit-form-actionbar .visit-premium-submit {min-height:45px;font-size:.93rem!important;}
  .visit-modal.visit-premium .visit-premium-close {top:11px;right:11px;width:33px;height:33px;}
}
@media (max-width:360px) {
  .visit-modal.visit-premium .visit-property-panel {grid-template-columns:61px minmax(0,1fr);gap:8px;padding-right:42px;}
  .visit-modal.visit-premium .visit-property-media {width:61px;height:66px;}
  .visit-modal.visit-premium .visit-form-scroll {padding:11px 12px 9px;}
  .visit-modal.visit-premium .visit-form-actionbar {padding:8px 12px 10px;}
}
