/* EcoUrban v1.22.22 – Refinamento visual do agendamento de visitas.
 * Apenas este modal é afetado; preserva funcionamento e estruturas anteriores.
 */
.visit-modal.visit-premium {
  padding:14px;
  --visit-gold:#ecc26f;
  --visit-gold-bright:#ffe5a2;
  --visit-dark:#04121f;
}
.visit-modal.visit-premium .visit-modal-backdrop {
  background:rgba(2,8,16,.82);
  backdrop-filter:blur(11px) saturate(.72);
  -webkit-backdrop-filter:blur(11px) saturate(.72);
}
.visit-modal.visit-premium .visit-premium-dialog {
  border:1px solid rgba(244,194,93,.84)!important;
  background:linear-gradient(112deg,#091b2b,#041321)!important;
  box-shadow:
    0 35px 100px rgba(0,0,0,.73),
    0 0 42px rgba(229,180,71,.16),
    inset 0 0 0 1px rgba(255,238,183,.035)!important;
}
.visit-modal.visit-premium .visit-premium-dialog::after {
  content:"";
  position:absolute;
  z-index:5;
  left:14%;right:14%;top:-2px;
  height:3px;
  background:linear-gradient(90deg,transparent,rgba(255,222,148,.88) 27%,transparent 43%,rgba(255,220,135,.75) 68%,transparent);
  filter:blur(1.2px);
  pointer-events:none;
}
.visit-modal.visit-premium .visit-premium-close {
  display:grid;place-items:center;
  border-color:rgba(255,208,108,.71);
  background:rgba(5,17,29,.94);
  box-shadow:0 6px 15px rgba(0,0,0,.25),inset 0 0 0 1px rgba(236,200,112,.03);
}
.visit-modal.visit-premium .visit-property-panel {
  position:relative;
  background:
    radial-gradient(circle at 10% 4%,rgba(63,112,153,.25),transparent 46%),
    repeating-radial-gradient(circle at 90% 96%,transparent 0 24px,rgba(228,186,100,.024) 25px 26px,transparent 27px 50px),
    linear-gradient(160deg,#14273c,#0a1b2d 55%,#061626);
  border-right:1px solid rgba(246,215,153,.13);
  scrollbar-width:thin;
  scrollbar-color:rgba(230,185,95,.55) transparent;
}
.visit-modal.visit-premium .visit-property-panel::before {
  content:"";
  position:absolute;
  inset:13px;
  border:1px solid rgba(241,190,89,.34);
  border-radius:19px;
  pointer-events:none;
}
.visit-modal.visit-premium .visit-property-media {
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(249,203,114,.74);
  box-shadow:0 15px 30px rgba(0,0,0,.31),0 0 0 3px rgba(237,189,93,.05);
}
.visit-modal.visit-premium .visit-property-media::after {
  background:linear-gradient(180deg,transparent 51%,rgba(2,11,23,.7));
}
.visit-modal.visit-premium .visit-property-media img {
  transition:transform .7s ease;
}
.visit-modal.visit-premium .visit-property-media:hover img {
  transform:scale(1.025);
}
.visit-modal.visit-premium .visit-media-caption {
  border:1px solid rgba(253,214,130,.55);
  background:rgba(4,17,30,.91);
  padding:7px 11px;
  color:#fff6e4;
  font-size:.72rem;
  font-weight:650;
  box-shadow:0 6px 19px rgba(0,0,0,.25);
}
.visit-modal.visit-premium .visit-property-location {
  color:#c3d0de;
}
.visit-modal.visit-premium .visit-property-location svg {
  color:#f2be57;
}
.visit-modal.visit-premium .visit-property-summary h3 {
  color:#f3c977;
  font-weight:650;
  text-shadow:0 3px 24px rgba(237,183,84,.12);
}
.visit-modal.visit-premium .visit-property-name {
  color:#e5e9ee;
}
.visit-modal.visit-premium .visit-property-facts {
  border:1px solid rgba(233,184,87,.64);
  border-radius:14px;
  padding:13px 15px;
  background:
    radial-gradient(circle at 97% 50%,rgba(229,179,77,.07),transparent 32%),
    linear-gradient(140deg,rgba(10,29,45,.74),rgba(4,16,28,.68));
  box-shadow:inset 0 1px 0 rgba(255,233,189,.07);
}
.visit-modal.visit-premium .visit-fact + .visit-fact {
  border-top:1px solid rgba(241,201,123,.13);
  padding-top:9px;
}
.visit-modal.visit-premium .visit-fact svg {color:#f1c463;}
.visit-modal.visit-premium .visit-fact small {color:#c8d0db;}
.visit-modal.visit-premium .visit-fact strong {color:#fff8ec;font-size:1rem;}
.visit-modal.visit-premium .visit-property-signature {
  display:grid;
  justify-items:center;
  gap:5px;
  margin: auto 0 0;
  padding-top:14px;
  color:#a8bfd0;
  text-align:center;
  line-height:1.15;
}
/* A assinatura é decorativa: quando há muitas características, priorize os dados do imóvel. */
.visit-modal.visit-premium .visit-property-panel:has(.visit-fact:nth-child(3)) .visit-property-signature {
  display:none!important;
}
.visit-modal.visit-premium .visit-property-signature::before {
  content:"";
  display:block;
  width:45px;
  height:1px;
  margin:0 auto 8px;
  background:linear-gradient(90deg,transparent,#f2cc7a,transparent);
}
.visit-modal.visit-premium .visit-property-signature strong {
  font-family:Georgia,'Times New Roman',serif;
  font-weight:650;
  font-size:.88rem;
  letter-spacing:.22em;
  color:rgba(234,201,138,.64);
  text-transform:uppercase;
}
.visit-modal.visit-premium .visit-property-signature span {
  font-size:.57rem;
  text-transform:uppercase;
  letter-spacing:.20em;
  color:rgba(175,197,211,.8);
}
.visit-modal.visit-premium .visit-form-panel {
  background:
    radial-gradient(circle at 100% 0%,rgba(33,71,98,.23),transparent 55%),
    linear-gradient(138deg,#071929,#031220 66%,#061728);
}
.visit-modal.visit-premium .visit-premium-kicker {
  color:#eac071;
}
.visit-modal.visit-premium .visit-premium-kicker span {
  background:linear-gradient(90deg,#e8b659,transparent);
  height:1px;
  width:48px;
}
.visit-modal.visit-premium .visit-form-heading h2 {
  color:#fff7ec;
  font-weight:550;
  letter-spacing:-.035em;
}
.visit-modal.visit-premium .visit-form-heading h2 em {
  background:linear-gradient(180deg,#ffe2a0,#e2a949);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}
.visit-modal.visit-premium .visit-form-heading > p:last-child {
  color:#bccddd;
}
.visit-modal.visit-premium .visit-premium-field > span:first-child {
  color:#f6f3ed;
  font-weight:700;
  letter-spacing:.005em;
}
.visit-modal.visit-premium .visit-premium-field > span:first-child small {
  color:#aeb9c8;
}
.visit-modal.visit-premium .visit-premium-input,
.visit-modal.visit-premium .visit-date-trigger {
  background:linear-gradient(180deg,#081d30,#051725);
  border:1px solid rgba(157,191,219,.48);
  border-radius:12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.visit-modal.visit-premium .visit-premium-input > svg,
.visit-modal.visit-premium .visit-date-trigger svg {
  color:#f5c96f;
}
.visit-modal.visit-premium .visit-premium-input:focus-within,
.visit-modal.visit-premium .visit-date-trigger:focus-visible,
.visit-modal.visit-premium .visit-date-trigger[aria-expanded="true"] {
  border-color:#f3c76b;
  box-shadow:0 0 0 3px rgba(232,186,92,.13),0 0 13px rgba(231,185,85,.07);
}
.visit-modal.visit-premium .visit-premium-input input::placeholder,
.visit-modal.visit-premium .visit-premium-input textarea::placeholder {
  color:#9badc1;
}
.visit-modal.visit-premium .visit-message-input textarea {resize:vertical;}
.visit-modal.visit-premium .visit-form-actionbar {
  background:linear-gradient(180deg,#071726,#04121d);
  border-top:1px solid rgba(246,204,127,.23);
  box-shadow:0 -9px 20px rgba(2,9,17,.35);
}
.visit-modal.visit-premium .visit-form-actionbar .visit-premium-consent {
  align-items:center;
}
.visit-modal.visit-premium .visit-premium-consent input {
  accent-color:#e8ba5c;
  border:1px solid #e4bd65;
}
.visit-modal.visit-premium .visit-form-actionbar .visit-premium-consent span {
  color:#d2dae3!important;
}
.visit-modal.visit-premium .visit-form-actionbar .visit-premium-submit {
  border:1px solid #ffe69f;
  border-radius:12px;
  background:linear-gradient(180deg,#ffeaad 0%,#efc66e 58%,#dba84c 100%)!important;
  box-shadow:0 10px 23px rgba(225,171,65,.3),0 0 22px rgba(235,179,62,.12),inset 0 1px 0 rgba(255,255,255,.43);
  color:#101b1d!important;
  font-weight:850;
  letter-spacing:.008em;
}
.visit-modal.visit-premium .visit-form-actionbar .visit-premium-submit:hover {
  box-shadow:0 12px 25px rgba(225,171,65,.37),0 0 26px rgba(235,179,62,.17);
}
/* The popup calendar and period list remain outside the scrolled form.
   They must keep their original fixed positions and original input values. */
.visit-modal.visit-premium .visit-calendar.visit-floating-popover,
.visit-modal.visit-premium .visit-period-menu.visit-floating-popover {
  border-color:rgba(244,200,108,.72);
  background:linear-gradient(150deg,#132b40,#071827);
  box-shadow:0 24px 56px rgba(0,0,0,.69),0 0 0 1px rgba(245,212,129,.06) inset;
}
.visit-modal.visit-premium .visit-period-option[aria-selected="true"] {
  background:linear-gradient(100deg,rgba(240,191,98,.23),rgba(240,191,98,.07));
}

@media (min-width:701px) {
  .visit-modal.visit-premium .visit-premium-dialog {
    width:min(1040px,calc(100vw - 32px))!important;
    max-width:1040px!important;
    grid-template-columns:minmax(290px,35%) minmax(0,1fr)!important;
    height:min(588px,calc(100dvh - 34px))!important;
    max-height:calc(100dvh - 34px)!important;
    border-radius:26px!important;
  }
  .visit-modal.visit-premium .visit-property-panel {
    gap:12px;
    padding:24px;
  }
  .visit-modal.visit-premium .visit-property-media {
    height:clamp(174px,27vh,210px);
    min-height:154px;
    border-radius:15px;
  }
  .visit-modal.visit-premium .visit-property-location {font-size:.80rem;margin-bottom:5px;}
  .visit-modal.visit-premium .visit-property-summary h3 {
    font-size:clamp(1.95rem,2.5vw,2.36rem);
    margin:4px 0 4px;
  }
  .visit-modal.visit-premium .visit-property-name {font-size:.88rem;line-height:1.42;}
  .visit-modal.visit-premium .visit-property-facts {margin-top:14px;gap:9px;}
  .visit-modal.visit-premium .visit-form-scroll {
    gap:10px 16px;
    padding:24px 32px 16px;
  }
  .visit-modal.visit-premium .visit-form-heading {
    padding-right:40px;
    margin-bottom:2px;
  }
  .visit-modal.visit-premium .visit-premium-kicker {font-size:.68rem;margin:0 0 8px;letter-spacing:.2em;}
  .visit-modal.visit-premium .visit-form-heading h2 {
    font-size:clamp(2rem,2.9vw,2.46rem);
    line-height:1.05;
    margin:0 0 7px;
  }
  .visit-modal.visit-premium .visit-form-heading > p:last-child {
    font-size:.81rem;
    line-height:1.48;
    max-width:58ch;
  }
  .visit-modal.visit-premium .visit-premium-field {gap:5px;}
  .visit-modal.visit-premium .visit-premium-field > span:first-child {font-size:.80rem;}
  .visit-modal.visit-premium .visit-premium-input {min-height:45px;}
  .visit-modal.visit-premium .visit-premium-input input,
  .visit-modal.visit-premium .visit-premium-input select {min-height:43px;font-size:.85rem;}
  .visit-modal.visit-premium .visit-premium-input > svg {width:18px;height:18px;flex-basis:18px;margin-left:13px;}
  .visit-modal.visit-premium .visit-date-trigger {height:45px;font-size:.84rem;}
  .visit-modal.visit-premium .visit-period-trigger {min-height:43px;font-size:.85rem;}
  .visit-modal.visit-premium .visit-message-input textarea {min-height:64px;max-height:90px;font-size:.84rem;}
  .visit-modal.visit-premium .visit-form-actionbar {padding:9px 32px 15px;}
  .visit-modal.visit-premium .visit-form-actionbar .visit-premium-consent {margin-bottom:8px;}
  .visit-modal.visit-premium .visit-form-actionbar .visit-premium-consent span {font-size:.74rem!important;line-height:1.3!important;}
  .visit-modal.visit-premium .visit-form-actionbar .visit-premium-submit {min-height:53px;font-size:1.06rem!important;}
  .visit-modal.visit-premium .visit-premium-close {top:20px;right:22px;width:42px;height:42px;}
}
@media (min-width:701px) and (max-height:680px) {
  .visit-modal.visit-premium .visit-premium-dialog {
    height:calc(100dvh - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
  }
  .visit-modal.visit-premium .visit-property-panel {padding:18px;gap:9px;}
  .visit-modal.visit-premium .visit-property-media {height:clamp(125px,22vh,170px);min-height:125px;}
  .visit-modal.visit-premium .visit-property-signature {display:none;}
  .visit-modal.visit-premium .visit-form-scroll {padding-top:16px;gap:8px 13px;}
  .visit-modal.visit-premium .visit-form-heading h2 {font-size:1.92rem;margin-bottom:4px;}
  .visit-modal.visit-premium .visit-premium-kicker {margin-bottom:5px;}
  .visit-modal.visit-premium .visit-form-heading > p:last-child {font-size:.76rem;}
  .visit-modal.visit-premium .visit-form-actionbar {padding:8px 26px 11px;}
  .visit-modal.visit-premium .visit-form-actionbar .visit-premium-submit {min-height:46px;}
}
@media (min-width:701px) and (max-width:950px) {
  .visit-modal.visit-premium .visit-premium-dialog {
    grid-template-columns:minmax(232px,31%) minmax(0,1fr)!important;
  }
  .visit-modal.visit-premium .visit-property-panel {padding:18px;}
  .visit-modal.visit-premium .visit-property-signature {display:none;}
  .visit-modal.visit-premium .visit-form-scroll {padding-inline:22px;}
  .visit-modal.visit-premium .visit-form-actionbar {padding-inline:22px;}
}
@media (max-width:700px) {
  .visit-modal.visit-premium {padding:7px;}
  .visit-modal.visit-premium .visit-premium-dialog {
    width:min(440px,100%);
    height:min(695px,calc(100dvh - 14px));
    max-height:calc(100dvh - 14px);
    border-radius:20px!important;
  }
  .visit-modal.visit-premium .visit-property-panel {
    grid-template-columns:78px minmax(0,1fr);
    gap:11px;
    padding:13px 48px 13px 14px;
    background:linear-gradient(125deg,#10273a,#081a2a);
  }
  .visit-modal.visit-premium .visit-property-panel::before,
  .visit-modal.visit-premium .visit-property-signature {display:none;}
  .visit-modal.visit-premium .visit-property-media {
    min-height:0;
    width:78px;
    height:80px;
    border-radius:11px;
  }
  .visit-modal.visit-premium .visit-property-summary h3 {font-size:1.45rem;margin:1px 0;}
  .visit-modal.visit-premium .visit-property-name {font-size:.75rem;}
  .visit-modal.visit-premium .visit-form-scroll {gap:10px;padding:16px 18px 12px;}
  .visit-modal.visit-premium .visit-premium-kicker {font-size:.66rem;margin:0 0 7px;}
  .visit-modal.visit-premium .visit-form-heading h2 {
    font-size:clamp(1.65rem,6.2vw,2.0rem);
    margin-bottom:6px;
  }
  .visit-modal.visit-premium .visit-form-heading > p:last-child {font-size:.79rem;}
  .visit-modal.visit-premium .visit-premium-field > span:first-child {font-size:.79rem;}
  .visit-modal.visit-premium .visit-premium-input input,
  .visit-modal.visit-premium .visit-premium-input textarea {font-size:16px;}
  .visit-modal.visit-premium .visit-date-trigger,
  .visit-modal.visit-premium .visit-period-trigger {font-size:16px;}
  .visit-modal.visit-premium .visit-form-actionbar {padding:11px 18px 13px;}
  .visit-modal.visit-premium .visit-form-actionbar .visit-premium-consent span {font-size:.74rem!important;}
  .visit-modal.visit-premium .visit-form-actionbar .visit-premium-submit {min-height:50px;font-size:1rem!important;}
  .visit-modal.visit-premium .visit-premium-close {top:11px;right:11px;width:35px;height:35px;}
}
@media (max-width:360px) {
  .visit-modal.visit-premium .visit-property-panel {grid-template-columns:62px minmax(0,1fr);padding:10px 43px 10px 11px;}
  .visit-modal.visit-premium .visit-property-media {width:62px;height:70px;}
  .visit-modal.visit-premium .visit-form-scroll {padding:13px 12px 10px;}
  .visit-modal.visit-premium .visit-form-actionbar {padding:9px 12px 11px;}
}
@media (prefers-reduced-motion:reduce) {
  .visit-modal.visit-premium .visit-property-media img {transition:none!important;}
}
