:root {
  font-family: "DM Sans", sans-serif;
  color: #1d263b;
  background: #fff;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  --ink: #1d263b;
  --muted: #7b8498;
  --violet: #6653ed;
  --violet-dark: #5441d2;
  --soft-violet: #f0edff;
  --line: #e6e9f0;
  --soft: #f7f8fc;
  --radius: 18px;
  --shadow: 0 12px 42px rgba(22, 34, 65, .07);
  --site-header-height: 84px;
}

@media (max-width:650px),
       (orientation:landscape) and (max-height:500px) and (hover:none) and (pointer:coarse) {
  :root { --site-header-height: 64px; }
}

/* Shared Portal lists, including ordering, filters and advertiser forms. */
.portal-select { position:relative; min-width:0; width:100%; }
.portal-select-native { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:0 !important; border:0 !important; opacity:0 !important; clip-path:inset(50%); overflow:hidden; pointer-events:none; }
.portal-select-trigger { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-width:0; min-height:48px; padding:11px 14px; border:1px solid #dfe3ed; border-radius:12px; background:#fff; color:#333d51; font:inherit; font-size:13px; line-height:1.5; text-align:left; transition:border-color .15s,background .15s; }
.portal-select-trigger:hover { border-color:#a89bea; background:#fdfcff; }
.portal-select.is-open .portal-select-trigger { border-color:var(--violet); }
.portal-select-trigger:focus-visible { border-color:var(--violet); outline:2px solid rgba(102,83,237,.16); outline-offset:2px; }
.portal-select-trigger[aria-invalid="true"] { border-color:#c84f67; }
.portal-select-trigger:disabled { background:#f7f8fc; color:#7b8498; cursor:not-allowed; }
.portal-select-value { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.portal-select-trigger > svg { width:18px; height:18px; color:var(--violet); flex-shrink:0; transition:transform .15s; }
.portal-select.is-open .portal-select-trigger > svg { transform:rotate(180deg); }
.portal-select-sort { width:auto; min-width:156px; flex-shrink:0; }
.portal-select-sort .portal-select-trigger { min-height:41px; border-radius:11px; padding:9px 12px; font-size:12px; color:#6d7689; }
.portal-select-menu { position:fixed; z-index:1100; min-width:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; padding:6px; border:1px solid #ded8f4; border-radius:13px; background:#fff; color:var(--ink); box-shadow:0 12px 38px rgba(40,25,91,.18); -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#c9c0ef transparent; }
.portal-select-menu::-webkit-scrollbar { width:6px; }
.portal-select-menu::-webkit-scrollbar-thumb { background:#c9c0ef; border-radius:10px; }
.portal-select-option { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:43px; padding:10px 11px; border-radius:8px; font-size:13px; line-height:1.5; cursor:pointer; user-select:none; -webkit-user-select:none; overflow-wrap:anywhere; }
.portal-select-option > span { flex:1; min-width:0; }
.portal-select-option > svg { visibility:hidden; width:17px; height:17px; color:var(--violet); }
.portal-select-option.is-active,.portal-select-option:hover { background:#f3efff; color:#5140b6; }
.portal-select-option[aria-selected="true"] { background:#ede8ff; color:#5441c7; font-weight:700; }
.portal-select-option[aria-selected="true"] > svg { visibility:visible; }
.portal-select-option[aria-disabled="true"] { color:#9098aa; background:transparent; cursor:not-allowed; }
.portal-select-group { padding:13px 11px 7px; color:#7b728e; font-size:11px; font-weight:800; letter-spacing:.35px; text-transform:uppercase; }
.portal-select-error { display:block; margin-top:6px; color:#b63f58; font-size:12px; }
.portal-select-error[hidden] { display:none; }
@media(max-width:650px) {
 .portal-select-trigger { min-height:46px; }
 .portal-select-option { min-height:46px; }
 .portal-select-sort { display:none; }
}
* { box-sizing: border-box; }
/* Evita o retângulo de realce temporário do toque em Android/iOS.
   O indicador de foco por teclado (:focus-visible) continua disponível. */
html { scroll-behavior: smooth; -webkit-tap-highlight-color: transparent; }
:where(button, a, label, summary, input, select, textarea, [role="button"], [role="option"], [data-action], .range-grab) {
 -webkit-tap-highlight-color: transparent;
}
:where(.quantity-options label, .condition-option, .option-chip) {
 -webkit-user-select: none;
 user-select: none;
}
body { margin: 0; min-width: 320px; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
svg { width: 20px; height: 20px; flex-shrink: 0; stroke-width: 1.85; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(102,83,237,.24); outline-offset: 2px; }
input, select, textarea { outline: none; }
input::placeholder, textarea::placeholder { color: #abb2c2; }
input[type="number"]::-webkit-inner-spin-button { appearance: none; }
::selection { background: #dcd6ff; }
.app-shell { min-height: 100vh; }
.page-shell { width: min(1220px, calc(100% - 48px)); margin-inline: auto; }
.site-header { height: var(--site-header-height); border-bottom: 1px solid #f0f1f5; background: rgba(255,255,255,.97); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(18px); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-family: "Plus Jakarta Sans",sans-serif; font-size: 19px; font-weight: 800; letter-spacing: -.8px; white-space: nowrap; }
.brand-icon { width: 40px; height: 40px; display: grid; place-items: center; background: var(--violet); color: #fff; border-radius: 13px; box-shadow: 0 7px 15px rgba(102,83,237,.22); }
.brand-icon svg { width: 22px; height: 22px; stroke-width: 2.15; }
.brand em { color: var(--violet); font-style: normal; }
.desktop-nav, .header-actions { display: flex; align-items: center; gap: 30px; }
.desktop-nav button { background: none; border: 0; color: #6f778b; font-size: 14px; font-weight: 700; padding: 29px 0; position: relative; }
.desktop-nav button.active, .desktop-nav button:hover { color: var(--violet); }
.desktop-nav button.active:after { content:""; position: absolute; height: 3px; width: 26px; border-radius: 5px 5px 0 0; background: var(--violet); bottom: 0; left: calc(50% - 13px); }
.header-actions { gap: 14px; }
.icon-btn { appearance:none; display: inline-grid; place-items: center; width: 42px; height: 42px; flex-shrink:0; padding: 0; border-radius: 13px; border: 1px solid var(--line); background: #fff; color: #4e566a; }
.icon-btn:hover { background: var(--soft-violet); color: var(--violet); border-color:#ded9ff; }
.icon-btn.borderless { border-color: transparent; background: transparent; }
.icon-btn svg { width: 20px; height: 20px; }
.btn { display: inline-flex; align-items:center; justify-content:center; gap:9px; background: #fff; color: var(--ink); border: 1px solid var(--line); min-height: 46px; padding: 0 18px; border-radius: 13px; font-size: 13px; font-weight: 800; white-space: nowrap; transition: background .18s, transform .18s, border-color .18s; }
.btn:hover { transform: translateY(-1px); border-color:#cfc9fb; }
.btn svg { height: 18px; width: 18px; }
.btn.primary { background: var(--violet); border-color:var(--violet); color: #fff; }
.btn.primary:hover { background: var(--violet-dark); }
.btn.soft { color: var(--violet); background: var(--soft-violet); border-color: var(--soft-violet); }
.btn.ghost { border: 0; background: transparent; }
.btn.block { width: 100%; }
.btn.pill { border-radius:999px; }
.text-link { padding: 5px 0; color: var(--violet); background: transparent; border: 0; display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 800; }
.text-link svg { width: 16px; height: 16px; }
.mobile-only { display:none; }
.hero { background:#2c1269; color:#fff; position:relative; overflow:hidden; isolation:isolate; }
.hero:after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(42,12,105,.98) 0%,rgba(48,17,118,.96) 26%,rgba(48,17,118,.82) 44%,rgba(48,17,118,.45) 62%,rgba(48,17,118,.08) 80%,rgba(48,17,118,.02) 100%); pointer-events:none; }
.hero-inner { min-height: 438px; padding-block: 60px 58px; display: flex; align-items: center; position:relative; z-index:2; gap:45px; }
.hero-copy { width: 58%; position: relative; z-index:2; }
.eyebrow { display: inline-flex; align-items:center; gap: 8px; border-radius: 100px; background: #fff; padding: 8px 12px; color: #6955df; font-weight: 800; letter-spacing: .2px; font-size: 11px; margin-bottom: 19px; }
.eyebrow svg { width: 15px; height:15px; }
.hero h1, .page-heading h1 { font-family:"Plus Jakarta Sans", sans-serif; font-size: clamp(31px,3.65vw,51px); line-height:1.19; letter-spacing:-2px; margin: 0 0 16px; font-weight:800; }
.hero h1, .hero h1 span { color:#fff; }
.hero .eyebrow { background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.25); }
.hero .hero-copy > p { max-width: 510px; margin: 0 0 28px; color:#fff; font-size: 15px; line-height: 1.7; }
.hero-photo { position:absolute; inset:0; z-index:0; overflow:hidden; }
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center 48%; }
.hero-card { position:absolute; right:0; bottom: 43px; z-index:3; background:rgba(38,15,85,.8); color:#fff; border:1px solid rgba(255,255,255,.28); border-radius:16px; box-shadow: 0 12px 36px rgba(32,36,88,.12); padding:15px 18px; display:flex; align-items:center; gap:12px; }
.hero-card .round-symbol { width:40px; height:40px; background:rgba(255,255,255,.13); color:#fff; border-radius:14px; display:grid; place-items:center; }
.hero-card strong { font-size:13px; display:block; }
.hero-card small { color:#fff; display:block; font-size:11px; margin-top:4px; }
.hero-search { max-width: 700px; background:#fff; padding:8px; display:flex; align-items:center; box-shadow:0 14px 39px rgba(65,61,113,.09); border: 1px solid rgba(225,223,251,.75); border-radius:17px; gap: 6px; }
.hero-search:has(.search-field input:focus) { border-color:var(--violet); }
.hero-search .search-field { flex:1; min-width:0; display:flex; align-items:center; padding-inline:12px; gap:10px; }
.search-field svg { width:20px; height:20px; color:#8f97ab; }
.search-field input { min-width:0; width:100%; border:0; padding:13px 0; background:transparent; font-size:13px; color:var(--ink); }
.hero-search .search-field input:focus-visible { outline:none; }
.search-submit { padding-inline:20px; min-height:45px; }
.content { padding-block: 42px 70px; }
.section { margin-top: 38px; }
.section-header { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom: 22px; }
.section-header h2 { font-family:"Plus Jakarta Sans",sans-serif; letter-spacing:-.8px; font-size: 24px; margin:0; font-weight:800; }
.section-header p { margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
/* CTA de anúncio destacado na seção de imóveis; mantém a posição original. */
.section-header .link-control {
 color:#fff;background:var(--violet);border:1px solid var(--violet);
 border-radius:12px;min-height:43px;padding:10px 15px;
 font-size:13px;font-weight:800;line-height:1.3;
 display:inline-flex;align-items:center;justify-content:center;gap:9px;
 white-space:nowrap;box-shadow:0 6px 16px rgba(102,83,237,.17);
 transition:background-color .15s,border-color .15s;
}
.section-header .link-control:hover {background:var(--violet-dark);border-color:var(--violet-dark);}
.section-header .link-control svg {width:17px;height:17px;}
@media(max-width:650px){
 .catalog-content .section-header .link-control {min-height:40px;padding:9px 11px;gap:6px;border-radius:10px;font-size:11px;}
 .catalog-content .section-header .link-control svg {width:15px;height:15px;}
}
.transaction-group { display:flex; align-items:center; gap:6px; }
.transaction-group button { border:1px solid transparent; background:transparent; color:#7d869b; padding:12px 21px; font-size:13px; font-weight:800; border-radius:11px; }
.transaction-group button.selected { background:var(--violet); color:white; box-shadow:0 7px 19px rgba(102,83,237,.21); }
.mode-tabs { display:inline-flex; padding:4px; border-radius:14px; border:1px solid var(--line); background:#fff; margin-bottom:20px; }
.mode-tabs .transaction-group button { padding:10px 24px; }
.filter-line { display:flex; align-items:center; gap:10px; margin-bottom:22px; flex-wrap:wrap; }
.chip { display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid #e7e9f0; background:#fff; padding:10px 15px; border-radius:999px; color:#616a7d; font-weight:700; font-size:12px; min-height:41px; }
.chip svg { width:15px; height:15px; }
.chip.active { border-color:#d5ceff; background:var(--soft-violet); color:var(--violet); }
.filter-spacer { flex:1; }
.sort-select { border:1px solid var(--line); border-radius:11px; background:#fff; color:#6d7689; min-height:41px; font-size:12px; padding:0 12px; }
.property-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; }
.property-card { min-width:0; border:1px solid #edf0f5; border-radius:20px; overflow:hidden; background:#fff; transition: box-shadow .2s,transform .2s; cursor:pointer; }
.property-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.property-media { position:relative; aspect-ratio: 1.34; background:#e5e8ee; overflow:hidden; }
.property-media > img { height:100%; object-fit:cover; transition:transform .4s; }
.property-card:hover .property-media > img { transform:scale(1.04); }
.property-tag { position:absolute; top:13px; left:13px; z-index:2; color:#fff; font-size:10px; font-weight:800; padding:8px 11px; border-radius:8px; background:rgba(27,35,52,.68); backdrop-filter:blur(8px); }
.property-tag.highlight { background:var(--violet); }
.heart-btn { position:absolute; z-index:3; right:12px; top:12px; border:0; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:#fff; color:#6e7788; box-shadow:0 3px 16px rgba(0,0,0,.07); }
.heart-btn svg { width:18px; height:18px; }
.heart-btn.saved { color:#f04c78; }
.heart-btn.saved svg { fill:#f04c78; }
.photo-count { position:absolute; right:12px; bottom:12px; color:white; font-size:11px; border-radius:8px; display:flex; align-items:center; gap:5px; padding:7px 9px; background:rgba(0,0,0,.44); backdrop-filter:blur(5px); }
.photo-count svg { width:14px; height:14px; }
.property-body { padding: 18px 18px 17px; }
.property-location { display:flex; align-items:center; gap:5px; color:#8c94a5; font-weight:600; font-size:11px; }
.property-location svg { width:14px; height:14px; color:var(--violet); }
.property-title { font-size:15px; font-weight:800; line-height:1.45; letter-spacing:-.25px; margin:10px 0 9px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:42px; }
.property-features { display:flex; flex-wrap:wrap; align-items:center; gap:13px; color:#7b8497; font-size:11px; margin:16px 0; }
.property-features > span { display:inline-flex; align-items:center; gap:5px; }
.property-features svg { width:16px; height:16px; stroke-width:1.8; color:#8e96a7; }
.property-bottom { border-top:1px solid #f0f1f5; padding-top:14px; display:flex; justify-content:space-between; align-items:end; gap:8px; }
.property-bottom small { font-size:10px; color:#939aab; display:block; margin-bottom:3px; }
.property-price { font-family:"Plus Jakarta Sans",sans-serif; font-size:19px; line-height:1.3; font-weight:800; letter-spacing:-.6px; }
.property-price sup { font-family:"DM Sans",sans-serif; font-weight:600; font-size:10px; letter-spacing:0; color:#929aac; }
.property-arrow { display:grid; place-items:center; width:32px; height:32px; color:var(--violet); background:#f4f2ff; border-radius:10px; }
.property-arrow svg { width:16px; height:16px; }
.benefits { margin-top:62px; background:var(--soft); border:1px solid #f0f1f6; border-radius:25px; padding:30px; display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.benefit { display:flex; gap:13px; align-items:flex-start; }
.benefit > span { width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:#fff; color:var(--violet); flex-shrink:0; }
.benefit > span svg { width:22px; height:22px; }
.benefit strong { font-size:13px; display:block; margin:3px 0 5px; }
.benefit p { font-size:12px; line-height:1.55; color:var(--muted); margin:0; }
.promo { margin-top:60px; min-height:220px; border-radius:26px; overflow:hidden; padding:42px 52px; color:#fff; display:flex; justify-content:space-between; align-items:center; gap:25px; background:linear-gradient(120deg,#6653ed,#8873f4); position:relative; }
.promo:after,.promo:before { content:""; width:310px; height:310px; position:absolute; border:60px solid rgba(255,255,255,.07); border-radius:50%; right:13%; top:-200px; }
.promo:before { right:-210px; top:40px; }
.promo > * { z-index:1; }
.promo h2 { font-family:"Plus Jakarta Sans",sans-serif; letter-spacing:-1px; font-size:25px; line-height:1.25; margin:0 0 10px; }
.promo p { margin:0; font-size:13px; opacity:.83; line-height:1.7; max-width:540px; }
.promo .btn { border-color:#fff; }
.page-heading { padding:38px 0 26px; }
.page-heading h1 { font-size:31px; letter-spacing:-1.1px; margin:0 0 7px; }
.page-heading p { font-size:14px; color:var(--muted); margin:0; line-height:1.65; }
.empty-state { text-align:center; border:1px dashed #dce0e9; background:#fbfbfd; border-radius:20px; padding:58px 25px; max-width:660px; margin:0 auto; }
.empty-state .empty-icon { height:68px; width:68px; margin:0 auto 18px; color:var(--violet); display:grid; place-items:center; border-radius:20px; background:var(--soft-violet); }
.empty-state .empty-icon svg { height:31px; width:31px; }
.empty-state h3 { margin:0 0 10px; font-size:20px; font-family:"Plus Jakarta Sans",sans-serif; }
.empty-state p { max-width:350px; font-size:13px; line-height:1.7; color:var(--muted); margin:0 auto 23px; }
.site-footer { border-top:1px solid var(--line); padding:30px 0; color:#8c94a6; font-size:12px; }
.site-footer .page-shell { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.site-footer .brand { font-size:14px; color:var(--ink); }
.site-footer .brand-icon { width:30px; height:30px; border-radius:9px; }
.site-footer .brand-icon svg { width:17px; height:17px; }
.bottom-nav { display:none; }
.overlay { position:fixed; inset:0; z-index:60; background:rgba(24,31,49,.56); backdrop-filter:blur(3px); display:grid; place-items:center; padding:25px; animation:fade-in .15s ease; }
@keyframes fade-in { from{opacity:0;} to{opacity:1;} }
.modal { width:min(100%,680px); max-height:min(92dvh,950px); overflow-y:auto; border-radius:22px; background:#fff; box-shadow:0 25px 100px rgba(12,18,40,.24); }
.modal-header { min-height:var(--site-header-height); flex-shrink:0; padding-inline:25px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:6; background:#fff; }
.modal-header h2 { font-size:18px; margin:0; font-family:"Plus Jakarta Sans",sans-serif; letter-spacing:-.5px; }
.modal-content { padding:24px 25px 26px; }
.modal-footer { position:sticky; bottom:0; z-index:4; display:flex; gap:10px; justify-content:flex-end; padding:14px 25px; background:#fff; border-top:1px solid var(--line); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.form-field { min-width:0; display:flex; flex-direction:column; gap:8px; }
.form-field.full { grid-column:1/-1; }
.form-field label { font-size:12px; font-weight:800; color:#596276; }
.form-field input, .form-field select, .form-field textarea { width:100%; border:1px solid #dfe3ed; border-radius:12px; background:#fff; padding:0 14px; height:48px; font-size:13px; color:#333d51; transition:border-color .15s,box-shadow .15s; }
.form-field textarea { min-height:100px; height:auto; padding-block:13px; resize:vertical; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { border-color:#8a7bff; box-shadow:0 0 0 3px rgba(102,83,237,.10); outline:0; }
.form-field input[type=file] { padding:12px; height:auto; }
.form-hint { font-size:11px; color:#9098aa; line-height:1.6; }
.check-row { display:flex; align-items:center; gap:8px; font-size:12px; color:#627086; }
.check-row input { accent-color:var(--violet); width:17px; height:17px; }
.stepper { display:flex; gap:8px; margin-bottom:25px; }
.stepper > span { flex:1; height:5px; border-radius:9px; background:#e9eaf2; }
.stepper > span.active { background:var(--violet); }
.step-label { font-size:11px; font-weight:800; color:var(--violet); display:block; margin-bottom:8px; }
.form-intro { font-family:"Plus Jakarta Sans",sans-serif; font-size:21px; font-weight:800; margin:0 0 20px; letter-spacing:-.7px; }
.upload-box { border:1px dashed #bcb4ff; background:#faf9ff; border-radius:16px; padding:23px; text-align:center; cursor:pointer; position:relative; }
.upload-box > svg { display:block; margin:0 auto 12px; color:var(--violet); width:29px; height:29px; }
.upload-box strong { display:block; font-size:13px; margin-bottom:5px; }
.upload-box small { color:var(--muted); display:block; font-size:11px; }
.upload-box input { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; }
.preview-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:13px; }
.preview-tile { border-radius:11px; overflow:hidden; aspect-ratio:1; position:relative; background:#e8e8f0; }
.preview-tile img { width:100%; height:100%; object-fit:contain; }
.preview-tile button { position:absolute; right:5px; top:5px; border:0; background:#fff; display:grid; place-items:center; border-radius:50%; width:24px; height:24px; }
.preview-tile svg { width:14px; height:14px; }
.detail-modal { width:min(100%,920px); }
.detail-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:24px; padding:25px; }
.detail-image { aspect-ratio:1/1.05; overflow:hidden; border-radius:16px; position:relative; background:#f1f2f6; }
.detail-image img { object-fit:cover; height:100%; }
.detail-arrow { position:absolute; top:50%; transform:translateY(-50%); display:grid; place-items:center; border:0; background:rgba(255,255,255,.94); width:37px; height:37px; border-radius:50%; }
.detail-arrow.prev { left:10px; }
.detail-arrow.next { right:10px; }
.detail-thumbs { display:flex; gap:9px; margin-top:10px; overflow:auto; }
.detail-thumbs button { width:62px; height:56px; border-radius:9px; padding:0; overflow:hidden; flex-shrink:0; border:2px solid transparent; }
.detail-thumbs button.selected { border-color:var(--violet); }
.detail-thumbs img { height:100%; object-fit:cover; }
.detail-copy h2 { font-family:"Plus Jakarta Sans",sans-serif; font-size:22px; margin:12px 0 12px; line-height:1.33; }
.detail-location { font-size:12px; color:#8992a5; display:flex; align-items:center; gap:6px; }
.detail-location svg { width:15px; height:15px; color:var(--violet); }
.detail-price { font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; font-size:29px; color:var(--violet); margin:16px 0; letter-spacing:-.8px; }
.detail-stats { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); padding:13px 8px; gap:8px; border-radius:13px; margin:15px 0; text-align:center; }
.detail-stats .stat { display:flex; flex-direction:column; align-items:center; gap:5px; font-size:11px; color:#798397; }
.detail-stats svg { color:var(--violet); }
.detail-stats strong { font-size:14px; color:var(--ink); }
.detail-copy h3 { font-size:13px; margin:21px 0 8px; }
.detail-copy p { font-size:12px; line-height:1.8; color:#747e92; margin:0; }
.seller-card { border-top:1px solid var(--line); margin-top:20px; padding-top:17px; display:flex; align-items:center; gap:10px; }
.avatar { width:39px; height:39px; display:grid; place-items:center; background:#eeeaff; color:var(--violet); border-radius:50%; font-weight:800; font-size:13px; flex-shrink:0; }
.seller-card strong { display:block; font-size:12px; }
.seller-card small { display:block; margin-top:3px; color:var(--muted); font-size:11px; }
.detail-actions { margin-top:19px; display:flex; gap:10px; flex-wrap:wrap; }
.detail-actions .btn { flex:1; }
.account-panel { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.account-card { border:1px solid var(--line); border-radius:18px; padding:25px; }
.account-card h3 { font-family:"Plus Jakarta Sans",sans-serif; font-size:18px; margin:0 0 11px; }
.account-card p { color:var(--muted); font-size:12px; line-height:1.7; margin:0 0 18px; }
.profile-status { color:var(--violet); font-size:12px; font-weight:800; }
.mine-grid { display:grid; gap:14px; }
.mine-item { border:1px solid var(--line); padding:12px; border-radius:16px; display:flex; align-items:center; gap:15px; }
.mine-item-cover { position:relative; flex:none; width:110px; height:95px; overflow:hidden; border-radius:11px; }
.mine-item-cover img { display:block; width:100%; height:100%; object-fit:cover; }
.mine-item-cover .property-tag { top:5px; left:5px; padding:4px 6px; border-radius:5px; font-size:9px; }
.mine-item h3 { margin:0 0 8px; font-size:13px; }
.mine-item p { margin:0 0 8px; font-size:12px; color:var(--muted); }
.mine-item strong { font-size:13px; color:var(--violet); }
.mine-item-actions { margin-left:auto; display:flex; flex-direction:column; gap:8px; }
.mine-item-actions button { border-radius:9px; padding:8px 12px; font-size:11px; font-weight:800; border:1px solid var(--line); background:#fff; color:#596377; }
.mine-item-actions button.danger { color:#d24d69; }
.toast { position:fixed; z-index:120; bottom:25px; left:50%; transform:translate(-50%,22px); opacity:0; pointer-events:none; background:#20293f; color:#fff; font-size:12px; font-weight:700; padding:13px 19px; border-radius:13px; box-shadow:0 15px 35px rgba(0,0,0,.16); transition:opacity .2s,transform .2s; max-width:calc(100% - 30px); text-align:center; }
.toast.show { opacity:1; transform:translate(-50%,0); }
.demo-note { border-radius:12px; background:#f6f4ff; color:#6656bc; padding:12px 14px; font-size:11px; line-height:1.65; margin-bottom:18px; }
.results-meta { display:flex; justify-content:space-between; align-items:center; margin:-6px 0 18px; color:var(--muted); font-size:12px; gap:12px; }
.results-meta strong { color:var(--ink); }
@media(max-width:1100px) {
  .hero-copy { width:62%; }
  .hero h1 { font-size:42px; }
  .property-grid { gap:15px; }
  .property-body { padding:15px; }
  .property-features { gap:10px; }
}
@media(max-width:850px) {
  .desktop-nav { gap:18px; }
  .header-actions { gap:7px; }
  .hero-card { display:none; }
  .hero:after { background:linear-gradient(90deg,rgba(42,12,105,.97) 0%,rgba(48,17,118,.89) 45%,rgba(48,17,118,.6) 72%,rgba(48,17,118,.2) 100%); }
  .hero-copy { width:100%; }
  .hero-inner { min-height:320px; padding-block:45px; }
  .hero h1 { max-width:610px; }
  .hero-search { max-width:none; }
  .property-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .benefits { grid-template-columns:1fr; gap:20px; }
  .detail-layout { grid-template-columns:1fr; }
  .detail-image { aspect-ratio:1.45; }
}
@media(max-width:650px) {
  body { padding-bottom:calc(70px + env(safe-area-inset-bottom)); }
  .page-shell { width:calc(100% - 32px); }
  .brand { font-size:17px; gap:10px; }
  .brand-icon { width:36px; height:36px; border-radius:12px; }
  .desktop-nav, .header-actions .btn { display:none; }
  .header-actions .icon-btn { width:38px; height:38px; }
  .mobile-only { display:initial; }
  .hero-inner { padding-block:32px 28px; min-height:280px; }
  .hero:after { background:linear-gradient(90deg,rgba(42,12,105,.94),rgba(48,17,118,.82) 58%,rgba(48,17,118,.62)); }
  .hero-photo img { object-position:65% center; }
  .hero .eyebrow, .hero-search .hero-filters { display:none; }
  .hero h1 { letter-spacing:-1.2px; font-size:30px; line-height:1.2; margin-bottom:8px; }
  .hero .hero-copy > p { font-size:13px; margin-bottom:14px; line-height:1.5; }
  .hero-search { border-radius:14px; gap:0; padding:5px; }
  .hero-search .search-field { padding-inline:8px; gap:7px; }
  .hero-search .search-field input { font-size:12px; padding:12px 0; }
  .search-submit { border-radius:11px; min-height:42px; padding:0 13px; font-size:0; }
  .search-submit svg { width:20px; height:20px; }
  .content { padding-block:27px 45px; }
  .hero-search .search-field input::placeholder, .hero-search .search-field svg { color:#657084; opacity:1; }
  .catalog-content { padding-top:10px; }
  .home-content .mode-tabs { margin-bottom:12px; }
  .home-content .mode-tabs button:not(.selected) { color:#657084; }
  .catalog-content .filter-line { margin-bottom:14px; }
  .home-content .section-header { margin-bottom:6px; }
  .home-content .section-header .link-control { display:none; }
  .home-content .results-meta { color:#657084; }
  .mode-tabs { display:flex; width:100%; margin-bottom:18px; }
  .mode-tabs .transaction-group { width:100%; }
  .mode-tabs .transaction-group button { flex:1; padding:11px; }
  .filter-line { flex-wrap:nowrap; overflow:auto; scrollbar-width:none; margin-inline:-16px; padding-inline:16px; padding-bottom:3px; }
  .filter-line::-webkit-scrollbar { display:none; }
  .chip { white-space:nowrap; }
  .sort-select,.filter-spacer { display:none; }
  .section { margin-top:28px; }
  .section-header { margin-bottom:15px; align-items:center; }
  .section-header h2 { font-size:20px; letter-spacing:-.7px; }
  .section-header p { font-size:11px; margin-top:5px; }
  .section-header .link-control { font-size:11px; }
  .property-grid { grid-template-columns:1fr; gap:17px; }
  .property-card { border-radius:17px; }
  .property-media { aspect-ratio:1.50; }
  .property-body { padding:16px; }
  .property-title { min-height:initial; margin:9px 0; font-size:15px; }
  .property-features { margin:13px 0; font-size:11px; }
  .property-price { font-size:19px; }
  .benefits { margin-top:38px; padding:20px; border-radius:18px; }
  .promo { margin-top:36px; padding:28px 23px; flex-direction:column; align-items:flex-start; gap:20px; border-radius:20px; min-height:initial; }
  .promo h2 { font-size:21px; }
  .promo .btn { width:100%; }
  .page-heading { padding:26px 0 24px; }
  .page-heading h1 { font-size:25px; }
  .page-heading p { font-size:12px; }
  .site-footer { padding:22px 0; text-align:center; }
  .site-footer .page-shell { flex-direction:column; gap:12px; }
  .bottom-nav { position:fixed; display:grid; bottom:0; left:0; right:0; grid-template-columns:repeat(5,minmax(0,1fr)); height:calc(69px + env(safe-area-inset-bottom)); padding:6px 4px env(safe-area-inset-bottom); border-top:1px solid #eceef5; background:rgba(255,255,255,.97); backdrop-filter:blur(18px); box-shadow:0 -9px 30px rgba(21,32,60,.03); z-index:30; }
  .bottom-nav button { border:0; background:transparent; color:#657084; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; font-size:9px; font-weight:800; padding:4px 0; }
  .bottom-nav svg { width:21px; height:21px; }
  .bottom-nav button.active { color:var(--violet); }
  .bottom-nav button.publish-tab svg { color:white; background:var(--violet); border-radius:12px; width:40px; height:38px; padding:9px; margin-top:-13px; box-shadow:0 6px 16px rgba(102,83,237,.29); }
  .bottom-nav button.publish-tab { color:var(--violet); }
  .overlay { padding:0; align-items:end; }
  .modal { border-radius:22px 22px 0 0; width:100%; max-height:93dvh; padding-bottom:env(safe-area-inset-bottom); }
  .modal-header { padding-inline:16px; }
  .modal-header h2 { font-size:16px; }
  .modal-content { padding:19px 16px; }
  .modal-footer { padding:12px 16px; }
  .form-grid { gap:13px; }
  .form-field input,.form-field select { height:46px; }
  .detail-modal { max-height:96dvh; }
  .detail-layout { padding:14px 16px 24px; gap:17px; }
  .detail-image { aspect-ratio:1.32; }
  .detail-copy h2 { font-size:20px; }
  .detail-price { font-size:25px; }
  .detail-actions { gap:8px; }
  .detail-actions .btn { padding-inline:11px; }
  .account-panel { grid-template-columns:1fr; gap:15px; }
  .account-card { padding:18px; }
  .mine-item { flex-wrap:wrap; }
  .mine-item-cover { width:85px; height:85px; }
  .mine-item-actions { width:100%; margin:0; flex-direction:row; }
  .mine-item-actions button { flex:1; }
  .toast { bottom:calc(78px + env(safe-area-inset-bottom)); }
}
@media(max-width:370px) {
  .hero h1 { font-size:29px; }
  .form-grid { grid-template-columns:1fr; }
  .property-features { gap:8px; }
  .property-body { padding:13px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* Catálogo de filtros e características, alinhado ao site Imobiliária */
.wide-modal { width:min(100%,900px); }
.filter-intro {font-size:13px;line-height:1.65;color:#7b8498;margin:0 0 24px;}
.filter-section-title,.publish-section-title {
 font-family:"Plus Jakarta Sans",sans-serif;font-size:15px;letter-spacing:-.3px;
 margin:28px 0 18px;padding-bottom:12px;border-bottom:1px solid #eaecf3;color:#263047;
}
.filter-section-title:first-child,.publish-section-title:first-child {margin-top:0;}
.option-group {border:0;padding:0;margin:24px 0 0;min-width:0;}
/* Mantem o espacamento entre a condicao do imovel e o titulo do anuncio. */
#listingForm > .option-group + .form-grid {margin-top:16px;}
@media(max-width:650px){#listingForm > .option-group + .form-grid {margin-top:13px;}}
.option-group legend {padding:0;margin:0 0 12px;font-weight:800;font-size:13px;color:#3c455b;line-height:1.4;}
.option-help {font-size:11px;color:#8e96a8;line-height:1.65;margin:0 0 12px;}
.muted-count {font-weight:600;color:#8e96a8;font-size:11px;}
.type-category {margin:14px 0 21px;}
.type-category > strong {font-size:11px;font-weight:800;color:#8990a1;display:block;margin:0 0 11px;}
.check-chip-list {display:flex;flex-wrap:wrap;gap:9px;}
.option-chip {position:relative;display:inline-flex;cursor:pointer;max-width:100%;}
.option-chip input, .condition-option input, .quantity-options label input {position:absolute;opacity:0;width:1px;height:1px;overflow:hidden;}
.option-chip span {
 display:inline-flex;align-items:center;justify-content:center;min-height:41px;padding:10px 13px;
 border:1px solid #e1e4ed;border-radius:11px;background:#fff;color:#657086;
 font-size:12px;line-height:1.35;font-weight:700;text-align:center;transition:.15s ease;
}
.option-chip:hover span {border-color:#c6bcff;background:#faf9ff;}
.option-chip input:checked + span {border-color:#9585ff;background:#f0edff;color:#5f49d9;}
.option-chip input:focus-visible + span, .condition-option input:focus-visible + span, .quantity-options input:focus-visible + span {
 outline:3px solid rgba(102,83,237,.25);outline-offset:2px;
}
.condition-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.condition-option {position:relative;cursor:pointer;min-width:0;}
.condition-option span {min-height:65px;display:flex;flex-direction:column;gap:5px;padding:12px 14px;background:#fff;border:1px solid #e1e4ed;border-radius:12px;}
.condition-option span strong {font-size:12px;color:#4d576e;}
.condition-option span small {font-size:10px;color:#939cab;line-height:1.45;}
.condition-option input:checked + span {border-color:#9585ff;background:#f6f3ff;}
.condition-option input:checked + span strong {color:#644fdf;}
.budget-sets {display:grid;grid-template-columns:minmax(0,1fr);gap:18px;}
.budget-block[hidden],.option-group[hidden]{display:none!important;}
.budget-block {background:#fafbfe;border:1px solid #eceef5;border-radius:16px;padding:17px;min-width:0;}
.budget-block > strong {font-size:12px;display:block;margin-bottom:14px;color:#485267;}
.budget-block .form-grid {gap:10px;}
.budget-block .form-field label {font-size:11px;}
.budget-block .form-field input {background:white;}
.checkbox-line {position:relative;display:flex;align-items:flex-start;gap:9px;margin-top:15px;cursor:pointer;font-size:12px;font-weight:800;color:#4e576d;}
.checkbox-line input {margin:2px 0 0;accent-color:var(--violet);width:17px;height:17px;flex-shrink:0;}
.checkbox-line small {font-size:10px;font-weight:500;line-height:1.5;display:block;color:#939bad;margin-top:5px;}
.count-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.count-grid .option-group {margin:0;}
.quantity-options {display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.quantity-options label {flex:1;position:relative;cursor:pointer;min-width:41px;}
.quantity-options label span {min-height:42px;display:flex;align-items:center;justify-content:center;border:1px solid #e1e4ed;border-radius:10px;color:#7e8798;background:#fff;font-size:12px;font-weight:800;padding:7px 10px;}
.quantity-options input:checked + span {color:#fff;background:var(--violet);border-color:var(--violet);}
.quantity-options label:hover span {border-color:#b7acff;}
.detail-amenities {display:flex;flex-wrap:wrap;gap:7px;margin:11px 0 19px;}
.detail-amenities span {display:inline-flex;align-items:center;gap:5px;border:1px solid #e6e2fa;background:#faf9ff;border-radius:10px;padding:8px;color:#6657b9;font-size:11px;font-weight:700;}
.detail-amenities svg {width:14px;height:14px;}
@media(max-width:850px){
 .budget-sets {grid-template-columns:1fr;}
 .count-grid {grid-template-columns:1fr;gap:21px;}
 .condition-options {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:650px){
 .wide-modal {border-radius:21px 21px 0 0;max-height:96dvh;}
 .filter-intro {font-size:12px;margin-bottom:19px;}
 .filter-section-title,.publish-section-title {font-size:14px;margin-top:23px;}
 .option-group {margin-top:21px;}
 .option-chip span {min-height:41px;font-size:11px;padding:10px 12px;}
 .condition-options {grid-template-columns:1fr;gap:8px;}
 .condition-option span {min-height:55px;gap:4px;}
 .budget-block {padding:13px;}
 .count-grid {grid-template-columns:1fr;gap:21px;}
 .quantity-options {flex-wrap:nowrap;}
 .quantity-options label {min-width:0;}
 .quantity-options label span {padding:8px 6px;font-size:11px;}
 .type-category {margin-bottom:20px;}
 .wide-modal .modal-content {padding-block:18px 26px;}
 .wide-modal .modal-footer {display:grid;grid-template-columns:1fr 1fr;gap:10px;}
 .wide-modal .modal-footer .btn {min-width:0;padding-inline:9px;font-size:12px;}
}


/* Controle duplo de preço: somente arrastar, sem campos numéricos */
.dual-range {isolation:isolate;min-width:0;margin-top:18px;}
.range-values {display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.range-values > div {display:flex;flex-direction:column;gap:5px;min-width:0;}
.range-values > div:last-child {align-items:flex-end;text-align:right;}
.range-values small {font-size:11px;font-weight:700;color:#858da0;}
.range-values strong {font-size:clamp(14px,3vw,19px);font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;letter-spacing:-.45px;color:#5c49d8;font-variant-numeric:tabular-nums;}
.range-control {position:relative;height:46px;margin:14px 11px 0;}
.range-track {
 position:absolute;top:19px;left:0;right:0;height:7px;border-radius:99px;
 background:linear-gradient(to right,
 #e3e5ee 0%,#e3e5ee var(--range-from),
 #6955ed var(--range-from),#6955ed var(--range-to),
 #e3e5ee var(--range-to),#e3e5ee 100%);
}
.range-thumb {
 position:absolute;inset:0;width:100%;height:46px;margin:0;padding:0;
 appearance:none;-webkit-appearance:none;background:none;border:0;
 pointer-events:none;touch-action:none;cursor:pointer;
}
.range-thumb::-webkit-slider-runnable-track {height:7px;background:transparent;border:0;}
.range-thumb::-moz-range-track {height:7px;background:transparent;border:0;}
.range-thumb::-webkit-slider-thumb {
 -webkit-appearance:none;appearance:none;pointer-events:auto;cursor:grab;
 width:25px;height:25px;margin-top:-9px;border:5px solid #fff;border-radius:50%;
 background:#6955ed;box-shadow:0 0 0 1px #6955ed,0 2px 10px rgba(64,50,146,.2);
}
.range-thumb::-moz-range-thumb {
 pointer-events:auto;cursor:grab;width:16px;height:16px;
 border:5px solid white;border-radius:50%;background:#6955ed;
 box-shadow:0 0 0 1px #6955ed,0 2px 10px rgba(64,50,146,.2);
}
.range-thumb:active::-webkit-slider-thumb {cursor:grabbing;box-shadow:0 0 0 5px rgba(105,85,237,.14);}
.range-thumb:active::-moz-range-thumb {cursor:grabbing;box-shadow:0 0 0 5px rgba(105,85,237,.14);}
.range-thumb:focus-visible {outline:none;}
.range-thumb:focus-visible::-webkit-slider-thumb {box-shadow:0 0 0 5px rgba(105,85,237,.25);}
.range-thumb:focus-visible::-moz-range-thumb {box-shadow:0 0 0 5px rgba(105,85,237,.25);}
.range-min {z-index:2;}
.range-max {z-index:3;}
.dual-range.range-min-on-top .range-min {z-index:4;}
 /* Os inputs continuam acessíveis por teclado, mas o arraste por toque/mouse
    é capturado pelos puxadores visuais com redução efetiva de velocidade. */
 .range-thumb::-webkit-slider-thumb {opacity:0;pointer-events:none;}
 .range-thumb::-moz-range-thumb {opacity:0;pointer-events:none;}
 .range-grab {
  position:absolute;top:22.5px;transform:translate(-50%,-50%);
  width:29px;height:29px;border:5px solid white;border-radius:50%;
  background:#6955ed;box-shadow:0 0 0 1px #6955ed,0 2px 10px rgba(64,50,146,.2);
  touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;
 }
 .range-grab:active {cursor:grabbing;box-shadow:0 0 0 5px rgba(105,85,237,.14);}
 .range-grab-min {left:var(--range-from);z-index:6;}
 .range-grab-max {left:var(--range-to);z-index:7;}
 .dual-range.range-min-on-top .range-grab-min {z-index:8;}
 .range-thumb.range-min:focus-visible~.range-grab-min,
 .range-thumb.range-max:focus-visible~.range-grab-max {box-shadow:0 0 0 5px rgba(105,85,237,.25);}
 @media(max-width:650px){.range-grab{width:32px;height:32px;}}

/* Os puxadores compartilham a mesma linha. Em caso de sobreposição,
   a camada mais alta é escolhida pelo último controle arrastado. */
.range-ends {display:flex;justify-content:space-between;gap:10px;color:#9aa1b0;font-size:10px;font-weight:600;padding:0 1px;}
@media(max-width:650px){
 .dual-range {margin-top:15px;}
 .range-control {margin-top:12px;}
 .range-values strong {font-size:15px;}
 .range-thumb::-webkit-slider-thumb {width:28px;height:28px;margin-top:-10.5px;}
 .range-thumb::-moz-range-thumb {width:18px;height:18px;}
}


/* Visualização Lista | Mapa na busca de imóveis */
.results-toolbar {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 0 20px;}
.results-toolbar .results-meta {display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;}
.search-view-switch {display:inline-flex;align-items:center;gap:3px;padding:4px;border:1px solid var(--line);background:#f7f8fc;border-radius:13px;}
.search-view-switch button {display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:10px;background:transparent;color:#7b8497;min-height:38px;min-width:87px;font-size:12px;font-weight:800;padding:8px 15px;}
.search-view-switch button svg {width:17px;height:17px;}
.search-view-switch button.selected {background:#fff;color:var(--violet);box-shadow:0 2px 9px rgba(30,39,75,.10);}
.search-view-switch button:focus-visible {outline:2px solid var(--violet);outline-offset:2px;}
.results-map-layout {height:min(65vh,640px);min-height:450px;position:relative;border:1px solid #e8eaf0;border-radius:20px;overflow:hidden;background:#eaf0ef;}
.results-map-canvas {width:100%;height:100%;z-index:1;}
.map-caption {display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:11px;color:#8792a4;font-size:11px;line-height:1.6;}
.map-caption svg {width:15px;height:15px;color:var(--violet);}
.property-map-pin {border:0;background:transparent;}
.property-map-pin span {display:grid;place-items:center;width:fit-content;min-width:92px;max-width:125px;min-height:35px;margin:auto;padding:0 10px;border-radius:100px;background:var(--violet);color:white;border:2px solid #fff;box-shadow:0 4px 16px rgba(25,29,63,.24);font-size:11px;font-weight:800;white-space:nowrap;letter-spacing:-.15px;position:relative;}
.property-map-pin span:after {content:"";position:absolute;left:calc(50% - 5px);bottom:-5px;width:9px;height:9px;transform:rotate(45deg);background:var(--violet);border-right:1px solid white;border-bottom:1px solid white;}
.property-map-pin.leaflet-marker-icon:hover span {background:#4b36cb;}
.map-preview {position:absolute;left:18px;bottom:18px;width:min(390px,calc(100% - 36px));border-radius:17px;background:#fff;box-shadow:0 12px 50px rgba(25,32,61,.24);z-index:510;overflow:hidden;}
.map-preview[hidden],.location-picker-header button[hidden] {display:none!important;}
.map-preview-content {display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;align-items:stretch;padding:10px 39px 10px 10px;position:relative;}
.map-preview-content img {height:118px;width:105px;object-fit:cover;border-radius:11px;background:#eef0f4;}
.map-preview-info {min-width:0;display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:flex-start;}
.map-preview-info small {font-size:10px;color:#8a93a6;}
.map-preview-info strong {font-size:12px;line-height:1.4;font-weight:800;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.map-preview-info b {font-family:"Plus Jakarta Sans",sans-serif;font-size:15px;letter-spacing:-.4px;color:var(--violet);}
.map-preview-link {display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:var(--violet);font-size:11px;font-weight:800;}
.map-preview-link svg {width:14px;height:14px;}
.map-preview-close {position:absolute;top:9px;right:9px;width:26px;height:26px;display:grid;place-items:center;background:#f5f5fa;color:#737e93;border:0;border-radius:50%;}
.map-preview-close svg {height:14px;width:14px;}
.map-load-error,.map-no-results {position:absolute;z-index:450;inset:auto 15px 45%;text-align:center;padding:15px;border-radius:12px;background:rgba(255,255,255,.95);box-shadow:0 8px 24px rgba(20,25,45,.12);font-size:12px;font-weight:700;color:#616b7e;}
.location-picker-block {border:1px solid #e6e9f0;background:#fafbfe;border-radius:17px;padding:17px;margin:20px 0 26px;}
.location-picker-header {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px;}
.location-picker-header strong {display:block;font-size:12px;font-weight:800;margin-bottom:5px;color:#4b556a;}
.location-picker-header small {display:block;font-size:11px;line-height:1.6;color:#8993a4;font-weight:500;}
.location-picker-header .text-link {flex-shrink:0;font-size:11px;}
.location-picker-frame {position:relative;isolation:isolate;}
.location-picker-map {height:265px;position:relative;background:#eaf0ef;border:1px solid #e1e5eb;border-radius:12px;overflow:hidden;z-index:1;}
.location-picker-toggle {flex-shrink:0;max-width:50%;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:12px;font-weight:700;cursor:pointer;}
.location-picker-frame.is-touch {padding:8px;border:1px solid #d8dce5;border-radius:14px;background:#fff;}
.location-picker-frame.is-touch .location-picker-map {height:min(250px,42vh);height:min(250px,42dvh);touch-action:pan-y;}
.location-picker-frame.is-touch.is-interactive .location-picker-map {touch-action:none;}
.location-picker-frame.is-touch:not(.is-interactive) .leaflet-control-zoom {visibility:hidden;}
.location-picker-frame.is-touch:not(.is-interactive) .can-place-pin {cursor:auto;}
.location-picker-frame.is-touch:not(.is-interactive) .location-picker-active-hint,
.location-picker-frame.is-interactive .location-picker-inactive-hint {display:none;}
.location-picker-map.can-place-pin {cursor:crosshair;}
.location-picker-hint {position:absolute;z-index:2;top:10px;right:10px;max-width:calc(100% - 65px);padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);box-shadow:0 2px 8px #1d263b26;font-size:12px;font-weight:700;pointer-events:none;}
.location-picker-block .option-help {margin:12px 0 0;}
.leaflet-container {font-family:"DM Sans",sans-serif!important;}
.leaflet-control-attribution {font-size:9px!important;}
@media(max-width:650px){
 .results-toolbar {flex-direction:column;align-items:stretch;gap:12px;margin-bottom:14px;}
 .results-toolbar .results-meta {justify-content:space-between;}
 .search-view-switch {display:grid;grid-template-columns:1fr 1fr;align-self:stretch;}
 .search-view-switch button {min-height:38px;}
 .results-map-layout {height: min(62dvh,610px);min-height:420px;border-radius:15px;}
 .map-preview {left:10px;bottom:10px;width:calc(100% - 20px);border-radius:14px;}
 .map-preview-content {grid-template-columns:90px minmax(0,1fr);gap:10px;padding:9px 35px 9px 9px;}
 .map-preview-content img {height:104px;width:90px;}
 .map-preview-info strong {font-size:11px;}
 .map-preview-info b {font-size:14px;}
 .map-caption {font-size:10px;}
 .location-picker-block {padding:12px;border-radius:14px;}
 .location-picker-map {height:250px;}
 .location-picker-header {align-items:flex-start;gap:8px;}
}

/* A regra geral img { width:100% } não deve redimensionar os tiles do Leaflet. */
.leaflet-container img.leaflet-tile {width:256px !important;height:256px !important;max-width:none !important;}
.leaflet-container img.leaflet-marker-icon,.leaflet-container img.leaflet-marker-shadow {width:auto;max-width:none !important;}

/* Área do anunciante: contas, profissionais e destaques */
.auth-shell {width:min(100% - 32px,520px);min-height:calc(100dvh - 160px);padding-block:clamp(28px,6vw,70px);display:grid;align-content:start;}
.auth-panel {padding:clamp(22px,5vw,40px);background:#fff;border:1px solid #e8e4f5;border-radius:22px;box-shadow:0 12px 36px rgba(42,31,95,.08);}
.auth-mark {display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--soft-violet);color:var(--violet-dark);}
.auth-mark svg {width:22px;height:22px;}
.auth-panel h1 {font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(24px,4vw,32px);letter-spacing:-.8px;margin:16px 0 7px;}
.auth-panel h1:focus {outline:none;}
.auth-subtitle {font-size:14px;color:#5e677b;margin:0 0 24px;line-height:1.6;}
.password-field {position:relative;}
.password-field input {padding-inline-end:50px;}
.password-toggle {position:absolute;inset-inline-end:2px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:#596276;}
.password-toggle:hover {color:var(--violet-dark);}
.password-toggle:focus-visible {outline:2px solid var(--violet-dark);outline-offset:-4px;}
.password-toggle svg {width:20px;height:20px;}
.auth-recover {text-align:right;}
.auth-footer {text-align:center;border-top:1px solid #eeebf7;margin-top:24px;padding-top:19px;color:#5e677b;font-size:14px;}
.auth-demo-link {margin:14px 0 0;text-align:center;}
.auth-link {display:inline-flex;align-items:center;min-height:32px;color:var(--violet-dark);font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:3px;}
.auth-link:focus-visible {outline:2px solid var(--violet-dark);outline-offset:3px;border-radius:3px;}
.auth-status {margin:0;color:#3c5366;font-size:14px;line-height:1.5;}
.auth-status:empty {display:none;}
.auth-status.is-error {color:#a32641;}
.account-type-picker {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:0 0 22px;}
.account-type-choice {border:1px solid #e3e6ee;padding:16px 14px;border-radius:14px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;text-align:left;}
.account-type-choice svg {width:22px;height:22px;color:var(--violet);}
.account-type-choice strong {font-size:12px;color:#354057;}
.account-type-choice small {font-size:11px;line-height:1.55;color:#8b95a6;}
.account-type-choice.selected {background:#f7f5ff;border-color:#9385fa;box-shadow:0 0 0 2px rgba(102,83,237,.08);}
.account-type-choice:hover {border-color:#b3a9f6;}
.auth-panel .form-grid {row-gap:13px;}
.dashboard-shell {max-width:1100px;}
.dashboard-top {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;}
.dashboard-eyebrow {display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:800;letter-spacing:.8px;color:var(--violet);margin-bottom:11px;}
.dashboard-eyebrow svg {width:16px;height:16px;}
.dashboard-top h1 {font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(27px,3vw,36px);letter-spacing:-1.3px;margin:0 0 9px;}
.dashboard-top p {font-size:13px;color:var(--muted);line-height:1.65;margin:0;}
.profile-banner {padding:22px 24px;border:1px solid #e8e8f2;border-radius:19px;display:flex;align-items:center;gap:17px;background:linear-gradient(110deg,#faf9ff,#fff);margin-bottom:20px;}
.profile-avatar {display:grid;place-items:center;border-radius:17px;width:57px;height:57px;background:var(--soft-violet);color:var(--violet);font-size:22px;font-weight:800;flex-shrink:0;}
.profile-banner > div {min-width:0;flex:1;}
.profile-banner strong {display:block;font-size:15px;margin-bottom:5px;}
.profile-banner small {font-size:11px;color:var(--muted);line-height:1.6;display:block;}
.creci-state {display:inline-flex;align-items:center;gap:5px;margin-top:9px;font-size:10px;font-weight:800;}
.creci-state svg {width:14px;height:14px;}
.creci-state.unverified {color:#a37526;}
.creci-state.verified {color:#208257;}
.dashboard-kpis {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:720px;margin-bottom:20px;}
.dashboard-kpis>div {border:1px solid #e9ebf2;background:#fff;border-radius:13px;padding:14px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px 9px;min-width:0;}
.dashboard-kpis span {display:grid;place-items:center;border-radius:9px;background:#f4f2ff;width:28px;height:28px;color:var(--violet);}
.dashboard-kpis span svg {width:16px;height:16px;}
.dashboard-kpis strong {font-size:24px;font-family:"Plus Jakarta Sans",sans-serif;line-height:1.1;letter-spacing:-.6px;overflow-wrap:anywhere;}
.dashboard-kpis small {grid-column:1/-1;font-size:11px;line-height:1.4;color:var(--muted);font-weight:700;}
.dashboard-sections {display:grid;grid-template-columns:1.35fr 1fr;gap:18px;}
.dashboard-panel {border:1px solid #e9ebf2;border-radius:18px;padding:22px;background:#fff;min-width:0;}
.dashboard-panel-title {display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px;}
.dashboard-panel-title h2 {font-family:"Plus Jakarta Sans",sans-serif;font-size:17px;letter-spacing:-.5px;margin:0;}
.dashboard-panel-title>svg {color:var(--violet);}
.dashboard-panel.accent {background:linear-gradient(130deg,#f7f5ff,#fafaff);}
.dashboard-panel.accent p {font-size:12px;line-height:1.75;color:#777e92;margin:0 0 22px;}
.dashboard-panel.accent .dashboard-disclaimer {margin:10px 0 0;font-size:10px;text-align:center;}
.dashboard-mini-list {display:grid;}
.dashboard-mini-list > button {
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  padding:12px 0;
  border:0;
  border-top:1px solid var(--line);
  background:transparent;
  color:inherit;
  text-align:left;
}
.dashboard-mini-list > button:hover {background:#faf9ff;}
.dashboard-mini-list img {height:56px;width:70px;object-fit:cover;border-radius:9px;flex-shrink:0;}
.dashboard-mini-list span {min-width:0;flex:1;display:grid;gap:4px;}
.dashboard-mini-list strong {font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dashboard-mini-list small {font-size:10px;color:var(--muted);}
.dashboard-mini-list > button > svg {width:17px;flex:none;margin-inline:7px;color:var(--violet);}
.dashboard-intro {min-height:170px;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;color:var(--muted);gap:12px;}
.dashboard-intro svg {color:var(--violet);width:30px;height:30px;}
.dashboard-intro p {font-size:12px;margin:0;}
.plan-request-panel {margin-top:18px;}
.request-row {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px solid #eff1f6;padding:12px 0;font-size:12px;font-weight:700;}
.request-row small {color:var(--muted);font-size:10px;font-weight:600;}
.account-actions {display:grid;gap:10px;}
.my-listings-head {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 19px;color:#737c8e;font-size:12px;font-weight:700;}
.my-listings-head .dashboard-kpis {flex:1;min-width:0;width:100%;margin:0;}
.my-status {display:flex;gap:7px;flex-wrap:wrap;margin-top:8px;}
.my-status span {font-size:10px;font-weight:800;padding:4px 8px;border-radius:8px;}
.my-status .live {background:#e8f7f0;color:#21865b;}
.my-status .paused {background:#f3f4f7;color:#738096;}
.my-status .highlight-status {background:#f0edff;color:#6b54da;}
.listing-verification-seal {display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:5px;color:var(--violet);flex-shrink:0;vertical-align:-3px;}
.listing-verification-seal svg {display:block;width:100%;height:100%;}
.mine-item-actions {flex-wrap:wrap;min-width:126px;}
.mine-item-actions button {display:flex;align-items:center;gap:6px;justify-content:center;}
.mine-item-actions button svg {width:14px;height:14px;}
.plan-shell {padding-bottom:70px;}
.center-heading {text-align:center;max-width:750px;margin:0 auto 18px;}
.center-heading .eyebrow {font-size:10px;background:#f0edff;color:var(--violet);}
.center-heading h1 {font-size:clamp(28px,3.4vw,39px);line-height:1.2;}
.center-heading p {font-size:13px;}
.commercial-notice {display:flex;align-items:flex-start;gap:9px;padding:15px 17px;border-radius:13px;background:#f7f7fc;color:#68738b;border:1px solid #e9eaf2;font-size:12px;line-height:1.65;margin:0 0 22px;}
.commercial-notice svg {color:var(--violet);flex-shrink:0;}
.plan-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.plan-card {border:1px solid #e7e9f1;border-radius:20px;padding:23px 18px;display:flex;flex-direction:column;min-width:0;background:#fff;}
.plan-card.recommended {border-color:#8e7df9;box-shadow:0 8px 35px rgba(102,83,237,.10);}
.plan-kicker {font-size:10px;font-weight:800;color:var(--violet);margin-bottom:16px;}
.plan-card h2 {font-family:"Plus Jakarta Sans",sans-serif;font-size:19px;line-height:1.35;letter-spacing:-.5px;margin:0 0 10px;}
.plan-card>p {font-size:12px;line-height:1.6;color:#818a9c;min-height:78px;margin:0;}
.plan-cost {font-size:16px;letter-spacing:-.25px;font-weight:800;margin:17px 0;padding-bottom:17px;border-bottom:1px solid #edf0f4;}
.plan-features {display:grid;gap:13px;margin:0 0 24px;}
.plan-features span {display:flex;align-items:flex-start;gap:7px;font-size:11px;line-height:1.5;color:#616c7f;}
.plan-features svg {color:var(--violet);width:16px;height:16px;flex-shrink:0;}
.plan-card>.btn {margin-top:auto;}
.plan-request-box {max-width:630px;margin:26px auto 0;padding:24px;border-radius:18px;border:1px solid #dcd6ff;background:#faf9ff;}
.plan-request-box h2 {font-size:18px;font-family:"Plus Jakarta Sans",sans-serif;margin:0 0 8px;}
.plan-request-box p {font-size:12px;line-height:1.6;color:#7a8294;margin:0 0 18px;}
@media(max-width:1100px){.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.plan-card>p{min-height:50px;}}
@media(max-width:850px){.dashboard-sections{grid-template-columns:1fr;}}
@media(max-width:650px){
 .auth-shell {min-height:0;}
 .account-type-picker{gap:9px;}
 .account-type-choice {padding:13px 11px;border-radius:12px;}
 .account-type-choice strong {font-size:11px;}
 .account-type-choice small {font-size:10px;}
 .dashboard-top {align-items:flex-start;flex-direction:column;margin-bottom:17px;gap:14px;}
 .dashboard-top .btn {width:100%;}
 .dashboard-top h1 {font-size:27px;}
 .profile-banner {padding:14px;flex-wrap:wrap;gap:12px;}
 .profile-avatar{width:45px;height:45px;font-size:18px;border-radius:13px;}
 .profile-banner strong {font-size:13px;}
 .profile-banner .btn {width:100%;}
 .dashboard-kpis{gap:7px;margin-bottom:14px;}
 .dashboard-kpis>div {padding:10px 8px;border-radius:11px;grid-template-columns:24px minmax(0,1fr);gap:5px 6px;}
 .dashboard-kpis span {height:24px;width:24px;border-radius:7px;}
 .dashboard-kpis span svg {height:15px;width:15px;}
 .dashboard-kpis strong {font-size:21px;}
 .dashboard-kpis small {font-size:10px;min-height:2.8em;}
 .dashboard-panel {padding:16px;}
 .dashboard-panel-title h2 {font-size:15px;}
 .dashboard-sections {gap:12px;}
 .my-listings-head {align-items:flex-start;flex-direction:column;}
 .my-listings-head .btn {width:100%;}
 .mine-item-actions {min-width:0;}
 .mine-item-actions button {min-width:calc(50% - 5px);}
 .plan-grid {grid-template-columns:1fr;gap:12px;}
 .plan-card{padding:20px;border-radius:15px;}
 .plan-card>p{min-height:0;}
 .plan-cost{margin-top:12px;}
 .plan-request-box {padding:17px;}
 .request-row {flex-direction:column;align-items:flex-start;}
}
@media(max-width:420px){
 .dashboard-kpis>div {grid-template-columns:18px minmax(0,1fr);column-gap:4px;}
 .dashboard-kpis span {width:18px;height:18px;}
 .dashboard-kpis strong {font-size:16px;white-space:nowrap;}
}


/* Perfil público de anunciantes e corretores */
.seller-public-shell { max-width:1100px; padding-top:26px; }
.seller-public-hero { overflow:hidden; border:1px solid #e8e2f4; background:#fff; border-radius:24px; margin-bottom:38px; box-shadow:0 12px 34px rgba(45,34,90,.08); }
.seller-public-cover {
  position:relative;
  isolation:isolate;
  height:clamp(165px,24vw,248px);
  overflow:hidden;
  background:radial-gradient(ellipse at 75% 25%,#7752d8,transparent 64%),linear-gradient(110deg,#282148,#48329a 58%,#6546c1);
}
.seller-public-cover img { height:100%; object-fit:cover; }
.seller-cover-art { position:absolute; inset:auto -4% -5% auto; width:min(66%,620px); height:112%; color:#fff; opacity:.28; stroke:currentColor; stroke-width:1.5; }
.seller-cover-label { position:absolute; top:18px; left:26px; display:inline-flex; align-items:center; gap:7px; padding:7px 10px; border:1px solid #ffffff52; border-radius:9px; color:#fff; background:#251b4bd9; font-size:11px; font-weight:800; }
.seller-cover-label svg { width:15px; height:15px; }
.seller-public-content { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:14px 24px; padding:0 28px 25px; }
.seller-public-identity { grid-column:1/-1; justify-self:start; position:relative; margin-top:-60px; }
.seller-avatar { position:relative; display:grid; place-items:center; flex-shrink:0; overflow:hidden; border-radius:50%; color:var(--violet); background:#ebe7ff; font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; }
.seller-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; }
.seller-avatar img.loaded { opacity:1; }
.seller-public-avatar { width:120px; height:120px; border:5px solid #fff; font-size:42px; box-shadow:0 5px 17px rgba(44,31,90,.14); }
.seller-verified-badge { position:absolute; right:-2px; bottom:2px; display:grid; place-items:center; width:31px; height:31px; border:0; background:transparent; color:var(--violet); filter:drop-shadow(0 1px 2px rgba(39,26,86,.25)); }
.seller-verified-badge svg { display:block; width:100%; height:100%; }
.seller-public-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.seller-public-content .seller-public-actions { margin:0; justify-content:flex-end; }
.seller-public-listings { display:grid; gap:5px; margin-bottom:17px; }
.seller-public-listings>span { display:block; color:#5945b0; font-size:10px; font-weight:800; letter-spacing:.1em; }
.seller-public-listings h2 { margin:0; font-family:"Plus Jakarta Sans",sans-serif; font-size:clamp(22px,3vw,29px); letter-spacing:-.035em; }
.seller-public-facts { grid-column:1/-1; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(155px,100%),1fr)); gap:9px; margin:6px 0 0; padding:13px; border:1px solid #ebe4fa; border-radius:16px; background:#f8f5ff; }
.seller-public-facts>div { min-width:0; padding:9px 11px; border-radius:11px; background:#fff; }
.seller-public-facts dt { display:flex; align-items:center; gap:6px; font-size:11px; color:#657088; }
.seller-public-facts dt svg { width:14px; height:14px; color:var(--violet); }
.seller-public-facts dd { margin:5px 0 0; color:#2e3952; font-size:13px; font-weight:800; overflow-wrap:anywhere; }
.seller-thumbnail-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(218px,100%),1fr)); gap:14px; }
.seller-thumbnail { display:flex; flex-direction:column; min-width:0; padding:0; overflow:hidden; border:1px solid #e8e4f1; border-radius:16px; background:#fff; text-align:left; color:#2e3952; box-shadow:0 5px 16px rgba(44,31,90,.05); }
.seller-thumbnail:hover { border-color:#b5a4f4; background:#fbf9ff; }
.seller-thumbnail-image { position:relative; display:grid; place-items:center; width:100%; aspect-ratio:4/3; overflow:hidden; background:#f0ebff; color:var(--violet); }
.seller-thumbnail-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.seller-thumbnail-purpose { position:absolute; top:8px; left:8px; padding:4px 8px; border-radius:7px; background:#2c2158; color:#fff; font-size:10px; font-weight:800; }
.seller-thumbnail-image .property-tag { top:8px; left:8px; padding:4px 8px; border-radius:7px; }
.seller-thumbnail-text { display:flex; flex:1; flex-direction:column; gap:5px; width:100%; padding:11px; }
.seller-thumbnail-text strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; line-height:1.35; }
.seller-thumbnail-text>small { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:#657088; font-size:11px; }
.seller-thumbnail-footer { display:flex; align-items:center; justify-content:space-between; gap:5px; margin-top:auto; padding-top:5px; }
.seller-thumbnail-price { min-width:0; color:#5746a9; font-size:14px; font-weight:800; overflow-wrap:anywhere; }
.seller-thumbnail-price small { margin-left:3px; font-size:10px; }
.seller-thumbnail-arrow { display:grid; flex-shrink:0; place-items:center; width:24px; height:24px; border-radius:50%; background:#f0ebff; color:#5945b0; }
.seller-thumbnail-arrow svg { width:13px; height:13px; }

.seller-inline-editor{margin-bottom:30px;scroll-margin-top:108px;}
.seller-inline-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;}
.seller-inline-title h2{margin:0;font-size:22px;}
.seller-inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;}
.seller-inline-grid .seller-profile-editor{margin:0;}
@media(max-width:720px){
 .seller-inline-grid{grid-template-columns:1fr;gap:20px;}
 .seller-inline-editor{scroll-margin-top:80px;}
}

/* Edição direta das imagens no cabeçalho do perfil do anunciante */
.seller-inline-grid{display:block;max-width:680px;}
.seller-cover-label{z-index:3;pointer-events:none;}
.seller-cover-edit-trigger{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:linear-gradient(0deg,rgba(18,13,48,.20),transparent 58%);color:#fff;text-align:right;transition:background .2s;}
.seller-cover-edit-trigger:hover{background:linear-gradient(0deg,rgba(18,13,48,.38),rgba(18,13,48,.06) 65%);}
.seller-cover-edit-label{position:absolute;right:18px;bottom:15px;display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border:1px solid rgba(255,255,255,.55);border-radius:11px;background:rgba(29,24,57,.7);color:#fff;font-size:12px;font-weight:800;backdrop-filter:blur(12px);box-shadow:0 6px 20px rgba(15,11,37,.12);}
.seller-cover-edit-label svg{width:17px;height:17px;}
.seller-cover-remove{position:absolute;z-index:4;top:16px;right:17px;width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:11px;background:rgba(23,17,49,.63);color:#fff;backdrop-filter:blur(10px);}
.seller-cover-remove svg{width:17px;height:17px;}
.seller-cover-remove:hover{background:rgba(23,17,49,.86);}
.seller-avatar-edit-trigger{display:block;position:relative;width:120px;height:120px;border:0;border-radius:50%;background:transparent;padding:0;cursor:pointer;}
.seller-avatar-edit-trigger .seller-public-avatar{width:100%;height:100%;transition:filter .18s;}
.seller-avatar-edit-trigger:hover .seller-public-avatar{filter:brightness(.92);}
.seller-avatar-edit-badge{position:absolute;right:-4px;bottom:4px;display:grid;place-items:center;width:37px;height:37px;border:3px solid #fff;border-radius:50%;background:var(--violet);color:#fff;box-shadow:0 5px 14px rgba(36,28,85,.2);}
.seller-avatar-edit-badge svg{width:17px;height:17px;stroke-width:2;}
.seller-avatar-remove{position:absolute;right:-4px;top:1px;z-index:2;display:grid;place-items:center;width:29px;height:29px;padding:0;border:2px solid #fff;border-radius:50%;background:#fff;color:#51506f;box-shadow:0 2px 10px rgba(27,24,65,.17);}
.seller-avatar-remove svg{width:14px;height:14px;}
.seller-avatar-remove:hover{color:#a22842;background:#fff4f6;}
.seller-identity-editable .seller-verified-badge{left:-4px;right:auto;bottom:3px;z-index:2;}
.seller-hero-file-input{position:absolute;width:1px;height:1px;padding:0;border:0;opacity:0;overflow:hidden;clip-path:inset(50%);pointer-events:none;}
.seller-cover-edit-trigger.is-saving,.seller-avatar-edit-trigger.is-saving{cursor:progress;opacity:.72;}
.seller-cover-edit-trigger:focus-visible,.seller-avatar-edit-trigger:focus-visible,.seller-cover-remove:focus-visible,.seller-avatar-remove:focus-visible{outline:3px solid #bdb0ff;outline-offset:2px;}
@media(max-width:650px){
 .seller-avatar-edit-trigger{width:104px;height:104px;}
 .seller-avatar-edit-badge{width:34px;height:34px;right:-2px;bottom:2px;}
 .seller-cover-edit-label{bottom:13px;right:12px;padding:9px 11px;font-size:11px;}
 .seller-cover-remove{top:12px;right:12px;width:33px;height:33px;}
 .seller-avatar-remove{right:-1px;}
}


/* O recorte da capa acontece sobre a própria capa, sem abrir modal. */
.seller-cover-inline-crop{
 position:absolute;inset:0;z-index:8;overflow:hidden;
 background:#2d2752;cursor:grab;touch-action:none;
 -webkit-user-select:none;user-select:none;overscroll-behavior:contain;
}
.seller-cover-inline-crop.is-dragging{cursor:grabbing;}
.seller-public-cover .seller-cover-inline-image{
 position:absolute;display:block;width:auto;height:auto;
 max-width:none;max-height:none;object-fit:fill;pointer-events:none;
 user-select:none;-webkit-user-select:none;
}
.seller-cover-inline-hint{
 position:absolute;z-index:2;top:10px;left:10px;right:10px;
 display:flex;align-items:center;justify-content:center;gap:7px;
 width:max-content;max-width:calc(100% - 20px);margin:auto;
 padding:7px 10px;border:1px solid rgba(255,255,255,.36);border-radius:9px;
 color:#fff;background:rgba(22,18,45,.76);backdrop-filter:blur(6px);
 font-size:11px;font-weight:800;line-height:1.35;pointer-events:none;
}
.seller-cover-inline-hint svg{height:14px;width:14px;}
.seller-cover-inline-toolbar{
 position:absolute;z-index:3;bottom:10px;left:10px;right:10px;
 display:flex;align-items:center;justify-content:space-between;
 gap:8px;pointer-events:none;
}
.seller-cover-inline-zoom,.seller-cover-inline-actions{
 display:flex;align-items:center;gap:6px;pointer-events:auto;
}
.seller-cover-inline-zoom{
 padding:5px 6px;border-radius:10px;
 background:rgba(25,21,50,.81);color:#fff;backdrop-filter:blur(6px);
}
.seller-cover-inline-zoom span{font-size:11px;font-weight:700;}
.seller-cover-inline-zoom button{
 display:grid;place-items:center;width:28px;height:27px;padding:0;
 border:1px solid rgba(255,255,255,.2);border-radius:7px;
 background:rgba(255,255,255,.15);color:#fff;font-size:20px;line-height:1;
}
.seller-cover-inline-actions button{
 min-height:38px;padding:0 12px;border:1px solid rgba(255,255,255,.45);
 border-radius:10px;background:rgba(26,23,47,.84);
 color:white;font-size:12px;font-weight:800;backdrop-filter:blur(8px);
}
.seller-cover-inline-actions .seller-cover-inline-save{
 display:flex;align-items:center;justify-content:center;gap:6px;
 background:var(--violet);border-color:var(--violet);
 box-shadow:0 4px 12px rgba(33,23,74,.23);
}
.seller-cover-inline-save svg{width:15px;height:15px;}
.seller-cover-inline-crop button:disabled{opacity:.55;}
.seller-cover-inline-crop:focus-visible,.seller-cover-inline-crop button:focus-visible{
 outline:3px solid #c3b9ff;outline-offset:-3px;
}
@media(max-width:430px){
 .seller-cover-inline-hint{top:7px;padding:5px 7px;font-size:10px;}
 .seller-cover-inline-toolbar{left:6px;right:6px;bottom:7px;gap:5px;}
 .seller-cover-inline-zoom{gap:3px;padding:4px;}
 .seller-cover-inline-zoom span{font-size:10px;}
 .seller-cover-inline-zoom button{width:23px;height:26px;font-size:18px;}
 .seller-cover-inline-actions{gap:5px;}
 .seller-cover-inline-actions button{padding:0 8px;min-height:36px;font-size:10.5px;}
 .seller-cover-inline-save svg{width:13px;height:13px;}
}

/* Ajuste interativo de foto circular e capa com arraste vertical */
body.seller-crop-open{overflow:hidden;}
.seller-crop-overlay{
 position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;
 padding:max(16px,env(safe-area-inset-top)) max(13px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(13px,env(safe-area-inset-left));
 background:rgba(19,22,40,.68);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.seller-crop-dialog{
 width:min(100%,610px);max-height:min(760px,calc(100dvh - 32px));overflow-y:auto;
 background:#fff;border:1px solid #e4dff4;border-radius:23px;
 padding:clamp(16px,4vw,27px);box-shadow:0 25px 85px rgba(17,18,44,.27);
 outline:none;overscroll-behavior:contain;
}
.seller-crop-heading{display:flex;align-items:start;justify-content:space-between;gap:15px;}
.seller-crop-heading small{display:block;color:var(--violet);font-weight:800;font-size:10px;letter-spacing:.9px;}
.seller-crop-heading h2{margin:7px 0 0;font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(19px,4vw,25px);letter-spacing:-.7px;line-height:1.24;}
.seller-crop-close{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border:1px solid #e6e3ef;background:#f7f6fa;color:#41485d;border-radius:11px;}
.seller-crop-close svg{width:19px;height:19px;}
.seller-crop-description{font-size:13px;line-height:1.65;color:#697189;margin:12px 0 20px;}
.seller-crop-workspace{
 display:grid;place-items:center;min-height:180px;padding:14px;border:1px solid #e7e2f5;
 border-radius:18px;background:repeating-linear-gradient(45deg,#f6f5fb,#f6f5fb 12px,#efedf8 12px,#efedf8 24px);
}
.seller-crop-workspace.is-avatar{min-height:268px;}
.seller-crop-viewport{
 position:relative;isolation:isolate;overflow:hidden;user-select:none;-webkit-user-select:none;
 touch-action:none;cursor:grab;background:#dedbe9;box-shadow:0 8px 24px rgba(26,19,56,.13);
}
.seller-crop-viewport.is-avatar{width:min(260px,74vw);aspect-ratio:1;border:5px solid #fff;border-radius:50%;}
.seller-crop-viewport.is-cover{width:100%;aspect-ratio:3 / 1;border:1px solid rgba(255,255,255,.9);border-radius:13px;}
.seller-crop-viewport.is-dragging{cursor:grabbing;}
.seller-crop-image{
 position:absolute!important;display:block;max-width:none!important;max-height:none!important;
 width:auto;height:auto;object-fit:fill;user-select:none;-webkit-user-select:none;pointer-events:none;
}
.seller-crop-zoom{display:flex;align-items:center;gap:13px;margin:19px 2px 20px;}
.seller-crop-zoom label{flex-shrink:0;font-size:12px;font-weight:800;color:#3a4155;}
.seller-crop-zoom input{flex:1;min-width:0;accent-color:var(--violet);height:25px;cursor:pointer;}
.seller-crop-zoom-value{flex-shrink:0;min-width:41px;text-align:right;font-size:12px;color:#687088;font-weight:700;font-variant-numeric:tabular-nums;}
.seller-crop-buttons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:10px;}
.seller-crop-buttons .btn{min-width:0;min-height:48px;}
.seller-crop-viewport:focus-visible,.seller-crop-close:focus-visible,.seller-crop-buttons button:focus-visible{outline:3px solid rgba(102,83,237,.4);outline-offset:3px;}
.seller-avatar-edit-trigger,.seller-avatar-edit-trigger .seller-public-avatar{overflow:visible;}
.seller-avatar-edit-trigger .seller-public-avatar{overflow:hidden;border-radius:50%;}
@media(max-width:430px){
 .seller-crop-dialog{border-radius:18px;padding:16px;}
 .seller-crop-workspace{padding:10px;min-height:140px;}
 .seller-crop-workspace.is-avatar{min-height:244px;}
 .seller-crop-viewport.is-avatar{width:min(228px,68vw);}
 .seller-crop-description{font-size:12px;}
 .seller-crop-buttons .btn{padding:0 8px;font-size:12px;}
}

/* Zoom manual exclusivo do desktop: móvel/tablet usam pinça na própria imagem. */
.seller-crop-zoom,.seller-cover-inline-zoom{display:none!important;}
.seller-cover-inline-toolbar{justify-content:flex-end;}
@media (min-width:1025px) and (pointer:fine) and (any-pointer:fine){
 .seller-crop-zoom,.seller-cover-inline-zoom{display:flex!important;}
 .seller-cover-inline-toolbar{justify-content:space-between;}
}
@media (max-width:1024px), (pointer:coarse), (any-pointer:coarse){
 .seller-crop-zoom,.seller-cover-inline-zoom{display:none!important;}
 .seller-cover-inline-toolbar{justify-content:flex-end;}
 .seller-crop-buttons{margin-top:20px;}
 .seller-crop-viewport,.seller-cover-inline-crop{touch-action:none;}
}

.seller-public-heading{min-width:0;overflow-wrap:anywhere;}
.seller-public-heading>small{display:inline-block;padding:5px 8px;border-radius:6px;background:#f1ebff;color:#5945b0;font-size:10px;font-weight:800;letter-spacing:.65px;}
.seller-public-heading h1{font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(24px,3.6vw,40px);letter-spacing:-.04em;line-height:1.12;margin:8px 0 5px;}
.seller-public-heading>p{margin:0;font-size:12px;color:var(--muted);}
.seller-card>.btn{margin-left:auto;min-height:35px;padding:0 12px;font-size:11px;flex-shrink:0;}
@media(max-width:650px){
.seller-public-shell{padding-top:16px;}
.seller-thumbnail-grid,.seller-public-facts{grid-template-columns:repeat(2,minmax(0,1fr));}
.seller-public-hero{margin-bottom:29px;}
.seller-cover-label{top:12px;left:14px;}
.seller-cover-art{right:-15%;width:90%;}
.seller-public-facts{padding:8px;}
.seller-public-facts>div{padding:8px;}
.seller-thumbnail-grid{gap:10px;}
.seller-thumbnail-text{padding:8px;}
.seller-public-content{grid-template-columns:minmax(0,1fr);padding:0 16px 18px;gap:9px;}
.seller-public-identity{margin-top:-52px;}
.seller-public-avatar{height:104px;width:104px;font-size:36px;}
.seller-public-content .seller-public-actions{margin-top:2px;justify-content:flex-start;}
.seller-public-heading h1{font-size:27px;line-height:1.13;}
.seller-card{flex-wrap:wrap;}
.seller-card>.btn{margin-left:auto;}
}


/* Acesso demonstrativo sem contas fictícias no servidor */
.demo-entry {background:linear-gradient(115deg,#f6f3ff,#fcfbff);border:1px solid #ded9ff;border-radius:17px;padding:18px;margin-bottom:23px;}
.demo-entry-buttons {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:10px;}
.demo-entry-buttons button {border:1px solid #ccc4ff;background:#fff;color:#5c49d8;min-height:48px;padding:10px 11px;border-radius:11px;display:flex;align-items:center;gap:7px;justify-content:center;font-size:11px;font-weight:800;line-height:1.35;text-align:center;}
.demo-entry-buttons button:hover {background:#ece8ff;}
.demo-entry-buttons svg {height:17px;width:17px;flex-shrink:0;}
.demo-entry-buttons button svg:last-child {width:13px;height:13px;}
.demo-entry>small {display:block;font-size:10px;line-height:1.5;color:#9299a9;}
/* Painel do anunciante e menu de navegação próprio */
.account-workspace {display:grid;grid-template-columns:235px minmax(0,1fr);align-items:start;gap:25px;max-width:1400px;padding-block:24px 45px;}
.account-workspace > main {width:100%;min-width:0;max-width:100%;margin:0;padding:0;}
.advertiser-nav {position:sticky;top:107px;border:1px solid #e9eaf2;border-radius:19px;background:#fff;padding:13px;box-shadow:0 8px 33px rgba(24,32,70,.04);min-width:0;}
.advertiser-nav-head {padding:12px 10px 19px;border-bottom:1px solid #eceef5;display:flex;flex-direction:column;gap:6px;}
.advertiser-nav-head small {color:#8a80bb;font-size:9px;font-weight:800;letter-spacing:.65px;}
.advertiser-nav-head strong {color:#333d52;font-size:13px;overflow-wrap:anywhere;}
.advertiser-nav-head span {font-size:11px;color:#8b93a6;}
.advertiser-nav nav {padding-block:13px;display:grid;gap:4px;}
.advertiser-nav nav button,.advertiser-nav-logout,.demo-exit {border:0;background:transparent;border-radius:11px;min-height:43px;padding:10px 12px;color:#687289;display:flex;align-items:center;text-align:left;gap:11px;font-size:12px;font-weight:700;width:100%;}
.advertiser-nav nav button svg,.advertiser-nav-logout svg,.demo-exit svg {width:18px;height:18px;flex-shrink:0;}
.advertiser-nav nav button.active {color:var(--violet);background:#f0edff;}
.advertiser-nav nav button:hover:not(.active) {background:#f8f8fc;}
.advertiser-nav-logout,.demo-exit {color:#8f5869;border-top:1px solid #eef0f5;border-radius:0;justify-content:flex-start;}
.advertiser-nav-demo {border-top:1px solid #eff0f5;padding-top:12px;}
.demo-switch {display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 17px;}
.demo-switch>span {font-size:11px;color:#798299;font-weight:800;}
.demo-switch button {display:inline-flex;align-items:center;gap:6px;background:#fff;color:#737a91;border:1px solid #e3e6ef;border-radius:10px;padding:8px 11px;min-height:36px;font-size:11px;font-weight:800;}
.demo-switch button svg {height:15px;width:15px;}
.demo-switch button.selected {color:var(--violet);border-color:#a698fa;background:#f5f2ff;}
.advertiser-nav-demo .demo-switch {display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 0 13px;}
.advertiser-nav-demo .demo-switch>span {grid-column:1/-1;font-size:10px;}
.advertiser-nav-demo .demo-switch button {padding:8px 7px;justify-content:center;}
.demo-access-notice {background:#f5f2ff;border:1px solid #e1daff;border-radius:13px;padding:12px 14px;margin-bottom:19px;display:flex;align-items:center;gap:10px;color:#6555a5;font-size:11px;line-height:1.5;}
.demo-access-notice > svg {width:19px;height:19px;flex-shrink:0;}
.demo-access-notice span {flex:1;}
.demo-access-notice button {border:0;color:var(--violet);background:transparent;white-space:nowrap;padding:5px;font-size:11px;font-weight:800;}
.account-workspace .dashboard-top h1 {font-size:clamp(25px,2.7vw,34px);}
.account-workspace .dashboard-sections {grid-template-columns:minmax(0,1fr);}
.account-workspace .plan-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.account-workspace .account-panel {grid-template-columns:1fr 1fr;}
@media(min-width:1350px){
 .account-workspace .dashboard-sections {grid-template-columns:1.2fr 1fr;}
}
@media(max-width:900px){
 .account-workspace {grid-template-columns:195px minmax(0,1fr);gap:13px;}
 .advertiser-nav {padding:9px;}
 .advertiser-nav nav button {font-size:11px;padding:9px;}
 .account-workspace .account-panel {grid-template-columns:1fr;}
 .account-workspace .plan-grid {grid-template-columns:1fr;}
}
@media(max-width:650px){
 .account-workspace {display:block;width:100%;padding:0 0 22px;}
 .account-workspace>main {width:calc(100% - 32px);margin:0 auto;padding:19px 0 25px;}
 .advertiser-nav {position:relative;top:0;display:block;border:0;border-bottom:1px solid #e9eaf2;border-radius:0;box-shadow:none;padding:10px 10px 9px;margin:0;background:#fff;}
 .advertiser-nav-head {display:none;}
 .advertiser-nav nav {padding:0;display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;}
 .advertiser-nav nav::-webkit-scrollbar {display:none;}
 .advertiser-nav nav button {flex-shrink:0;width:auto;white-space:nowrap;padding:8px 11px;font-size:10px;min-height:39px;gap:6px;}
 .advertiser-nav nav button svg {height:15px;width:15px;}
 .advertiser-nav-demo {padding-top:8px;margin-top:8px;}
 .advertiser-nav-demo .demo-switch {display:flex;margin:0;gap:6px;}
 .advertiser-nav-demo .demo-switch>span {display:none;}
 .advertiser-nav-demo .demo-switch button {padding:7px 10px;min-height:32px;font-size:10px;}
 .demo-exit,.advertiser-nav-logout {display:none;}
 .demo-entry {padding:14px 12px;margin-bottom:18px;}
 .demo-entry-buttons {grid-template-columns:1fr;}
 .demo-entry-buttons button {min-height:43px;}
 .demo-access-notice {align-items:flex-start;flex-wrap:wrap;font-size:10px;padding:10px;}
 .demo-access-notice button {margin-left:27px;padding:2px 0;}
 .account-workspace .account-panel {grid-template-columns:1fr;}
 .account-workspace .plan-grid {grid-template-columns:1fr;}
 .account-workspace .dashboard-kpis {grid-template-columns:repeat(3,minmax(0,1fr));}
}


/* Planos comerciais: apresentação de demonstração, sem checkout ativo */
.pricing-overview {padding-bottom:70px;}
.pricing-overview .center-heading {max-width:740px;margin-bottom:20px;}
.pricing-overview .center-heading h1 {max-width:700px;margin-inline:auto;}
.pricing-overview .commercial-notice {max-width:860px;margin:0 auto 38px;align-items:flex-start;}
.pricing-overview .commercial-notice strong {color:#47426b;}
.price-section {margin:0 auto 48px;max-width:1160px;}
.price-section-head {margin-bottom:18px;}
.price-section-head > span {display:block;color:var(--violet);font-size:10px;font-weight:800;letter-spacing:.11em;margin-bottom:8px;}
.price-section-head h2 {font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(21px,2.6vw,27px);line-height:1.25;letter-spacing:-.75px;margin:0 0 7px;color:#263047;}
.price-section-head p {font-size:12px;line-height:1.7;color:#768098;margin:0;max-width:700px;}
.price-plan-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;}
.price-plan {display:flex;flex-direction:column;background:#fff;border:1px solid #e6e8f2;border-radius:20px;padding:23px 24px;min-width:0;box-shadow:0 6px 25px rgba(20,27,66,.025);}
.price-plan.featured {border:2px solid #8473e7;padding:22px 23px;box-shadow:0 12px 32px rgba(102,83,237,.085);}
.price-plan-top {display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:14px;min-height:22px;}
.price-plan-tag {font-size:10px;font-weight:800;color:#6855c9;letter-spacing:.05em;}
.price-plan-popular {display:inline-flex;gap:5px;align-items:center;color:#5f50b9;background:#f1eeff;font-size:10px;font-weight:700;border-radius:50px;padding:5px 9px;}
.price-plan-popular svg {height:12px;width:12px;}
.price-plan h3 {font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:20px;line-height:1.3;color:#252e47;margin:0 0 6px;letter-spacing:-.55px;}
.price-plan-subtitle {font-size:12px;line-height:1.6;color:#7b8497;margin:0;min-height:20px;}
.price-plan-price {display:flex;align-items:baseline;gap:7px;margin:19px 0 15px;}
.price-plan-price strong {font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(26px,3vw,32px);line-height:1.2;color:#252b41;letter-spacing:-1px;white-space:nowrap;}
.price-plan-price small {font-size:12px;color:#7a8498;}
.price-plan-rule {height:1px;background:#e9eaf0;margin-bottom:17px;}
.price-plan-features {display:grid;gap:11px;margin:0 0 25px;}
.price-plan-features > div {display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.5;color:#576479;}
.price-plan-features svg {color:#6452cf;height:16px;width:16px;flex-shrink:0;margin-top:1px;}
.price-plan-features .verified-feature {font-weight:800;color:#3d568c;}
.price-plan-features .verified-feature svg {color:#2775cc;}
.price-plan > .btn {margin-top:auto;min-height:43px;display:flex;gap:8px;align-items:center;justify-content:center;}
.price-plan > .btn svg {height:16px;width:16px;}
.price-plan-card-note {font-size:10px;line-height:1.6;color:#858da0;margin:12px 0 0;}
.price-verification-note {display:flex;align-items:flex-start;gap:11px;background:#f5f8ff;border:1px solid #e2eaff;border-radius:13px;padding:14px 16px;margin-top:15px;color:#516483;}
.price-verification-note svg {width:20px;height:20px;color:#2879cd;flex-shrink:0;}
.price-verification-note p {font-size:11px;line-height:1.65;margin:0;}
.price-hour-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;}
.price-hour-card {border:1px solid #e7e8f2;background:#fff;border-radius:17px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;min-width:0;}
.price-hour-card > span {display:flex;align-items:center;gap:7px;color:#6958cd;font-size:10px;font-weight:800;letter-spacing:.03em;}
.price-hour-card > span svg {width:15px;height:15px;}
.price-hour-card h3 {font-family:"Plus Jakarta Sans",sans-serif;font-size:19px;font-weight:800;margin:19px 0 6px;color:#2f3652;}
.price-hour-card > strong {font-family:"Plus Jakarta Sans",sans-serif;font-size:25px;font-weight:800;letter-spacing:-.8px;color:#2d314a;}
.price-hour-card > small {font-size:11px;color:#80889b;margin:5px 0 0;}
.price-explanation {font-size:11px;line-height:1.75;color:#7b8598;margin:13px 0 0;}
.price-extras {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.price-extra {border:1px solid #e5e7f0;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;}
.price-extra span {font-size:12px;color:#58647a;}
.price-extra strong {font-size:13px;color:#2c3350;white-space:nowrap;}
.price-extra > span {flex:1;text-align:left;}
.price-extra > svg {width:16px;height:16px;flex:none;color:var(--violet-dark);}
.price-extra:hover,.price-extra[aria-pressed="true"] {background:#f5f1ff;border-color:#bdb1f9;}
.plan-extra-checkout {margin-top:16px;padding:16px;border:1px solid #dcd6ff;border-radius:12px;background:#faf9ff;scroll-margin-top:110px;}
.plan-extra-checkout h3 {margin:0 0 8px;font-size:16px;}
.plan-extra-checkout p {margin:0 0 10px;font-size:13px;color:#58647a;}
.plan-extra-checkout p:last-child {margin-bottom:0;}
.price-plan-warning {display:flex;align-items:center;gap:9px;color:#6f617d;background:#f6f4fa;border-radius:10px;font-size:12px;padding:13px;line-height:1.55;}
.price-plan-warning svg {width:18px;height:18px;flex-shrink:0;}
.price-terms {max-width:1160px;background:#f7f7fb;border:1px solid #e9eaf2;border-radius:19px;padding:22px 24px;margin:0 auto 25px;}
.price-terms h2 {font-family:"Plus Jakarta Sans",sans-serif;font-size:19px;letter-spacing:-.5px;margin:0 0 18px;color:#293047;}
.price-terms-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;}
.price-terms-grid > div {min-width:0;}
.price-terms-grid svg {display:block;color:#7464d3;width:20px;height:20px;margin-bottom:7px;}
.price-terms-grid strong {font-size:12px;display:block;color:#354057;margin-bottom:4px;}
.price-terms-grid p {font-size:11px;color:#7b8396;line-height:1.7;margin:0;}
@media(max-width:950px){
 .price-plan-grid {gap:12px;}
 .price-plan {padding:19px 17px;}
 .price-plan.featured {padding:18px 16px;}
}
@media(max-width:650px){
 .pricing-overview {padding-bottom:35px;}
 .pricing-overview .commercial-notice {margin-bottom:26px;}
 .price-section {margin-bottom:34px;}
 .price-section-head {margin-bottom:13px;}
 .price-section-head h2 {font-size:21px;}
 .price-plan-grid,.price-hour-grid,.price-extras,.price-terms-grid {grid-template-columns:minmax(0,1fr);}
 .price-plan {padding:19px 18px;}
 .price-plan.featured {padding:18px 17px;}
 .price-plan-subtitle {min-height:0;}
 .price-plan-price {margin:15px 0;}
 .price-plan-features {gap:10px;margin-bottom:21px;}
 .price-hour-card {padding:17px;}
 .price-hour-card h3 {margin:13px 0 5px;}
 .price-extra {padding:13px 14px;}
 .price-terms {padding:18px 16px;}
 .price-terms-grid {gap:18px;}
}


/* Página individual de cada imóvel. Não usa janela/modal para informações. */
.listing-page{max-width:1260px;padding-top:25px;padding-bottom:80px;min-height:65vh;}
.listing-page-top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;}
.listing-breadcrumbs{display:flex;align-items:center;gap:10px;min-width:0;color:#838b9d;font-size:12px;font-weight:600;}
.listing-breadcrumbs button{border:0;background:transparent;color:#737d91;font:inherit;padding:4px 0;white-space:nowrap;}
.listing-breadcrumbs button:hover{color:var(--violet);}
.listing-breadcrumbs>svg{width:13px;height:13px;flex-shrink:0;color:#a4abba;}
.listing-breadcrumbs>span{min-width:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}
.listing-page-back{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7f1;background:#fff;color:#59647a;border-radius:10px;padding:9px 12px;white-space:nowrap;font-size:11px;font-weight:800;}
.listing-page-back:hover{border-color:#a99af0;color:var(--violet);}
.listing-page-back svg{width:16px;height:16px;}
.listing-title-section{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;}
.listing-title-section>div:first-child{min-width:0;}
.listing-type-tag{display:inline-flex;align-items:center;max-width:100%;border:1px solid #e9e3fc;background:#f5f1ff;border-radius:8px;color:#5948af;font-size:10px;font-weight:800;margin-bottom:10px;overflow:hidden;}
.listing-type-tag>span,.listing-type-tag>strong{padding:6px 9px;}
.listing-type-tag>strong{background:#e9e1ff;border-right:1px solid #e2d8fb;color:#4e3ca8;}
.listing-title-section h1{font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(22px,3vw,32px);line-height:1.24;letter-spacing:-.9px;color:#263047;margin:0 0 10px;max-width:790px;}
.listing-address{display:flex;align-items:center;gap:6px;color:#788298;font-size:12px;line-height:1.5;margin:0;}
.listing-address svg{width:15px;height:15px;color:var(--violet);flex-shrink:0;}
.listing-title-actions{display:flex;align-items:center;gap:9px;flex-shrink:0;}
.listing-icon-button{border:1px solid #e4e8f0;background:#fff;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 13px;min-height:40px;font-size:12px;font-weight:800;color:#5d687d;}
.listing-icon-button:hover{border-color:#b8abf4;color:var(--violet);}
.listing-icon-button[aria-pressed="true"]{color:#ea4778;}
.listing-icon-button svg{width:17px;height:17px;}
.listing-photo-section{margin-bottom:30px;}
.listing-photo-grid{display:grid;grid-template-columns:minmax(0,1.74fr) minmax(0,.86fr);gap:10px;height:clamp(340px,41vw,505px);}
.listing-primary-photo{position:relative;min-width:0;min-height:0;border-radius:18px 0 0 18px;overflow:hidden;background:#e9ecf3;}
.listing-photo-grid.single-photo{grid-template-columns:minmax(0,1fr);}
.listing-photo-grid.single-photo .listing-primary-photo{border-radius:18px;}
.listing-photo-main{display:block;width:100%;height:100%;border:0;background:#e7e9f0;padding:0;cursor:zoom-in;}
.listing-photo-main img{display:block;height:100%;width:100%;object-fit:contain;object-position:center;background:#e8eaf0;}
.listing-photo-nav{position:absolute;top:50%;transform:translateY(-50%);width:39px;height:39px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:#29344d;box-shadow:0 2px 14px rgba(0,0,0,.12);z-index:2;}
.listing-photo-nav:hover{background:white;color:var(--violet);}
.listing-photo-nav svg{width:19px;height:19px;}
.listing-photo-nav.previous{left:14px;}
.listing-photo-nav.next{right:14px;}
.listing-primary-photo .property-tag {pointer-events:none;}
.listing-photo-counter{position:absolute;right:13px;bottom:13px;display:inline-flex;align-items:center;gap:7px;border-radius:8px;padding:8px 10px;background:rgba(27,32,47,.70);color:#fff;font-size:11px;font-weight:700;pointer-events:none;}
.listing-photo-counter svg{width:15px;height:15px;}
.listing-photo-side{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:10px;position:relative;min-height:0;min-width:0;}
.listing-gallery-tile{width:100%;height:100%;min-height:0;padding:0;border:0;background:#e8ebf1;overflow:hidden;cursor:zoom-in;}
.listing-gallery-tile.secondary{border-radius:0 18px 0 0;}
.listing-gallery-tile.tertiary{border-radius:0 0 18px 0;}
.listing-gallery-tile:only-child{grid-row:1 / -1;border-radius:0 18px 18px 0;}
.listing-gallery-tile img{height:100%;width:100%;display:block;object-fit:contain;}
.listing-gallery-tile:hover img{filter:brightness(.94);}
.listing-all-photos{position:absolute;right:12px;bottom:12px;display:inline-flex;gap:7px;align-items:center;background:#fff;color:#334058;border:0;border-radius:9px;padding:11px 13px;font-size:11px;font-weight:800;z-index:2;box-shadow:0 3px 14px rgba(0,0,0,.10);}
.listing-all-photos svg{height:15px;width:15px;}
.listing-photo-thumbs{display:flex;gap:8px;margin-top:11px;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin;}
.listing-photo-thumbs button{width:84px;height:62px;flex-shrink:0;padding:0;border:2px solid transparent;background:#f1f2f6;border-radius:9px;overflow:hidden;}
.listing-photo-thumbs button.selected{border-color:var(--violet);}
.listing-photo-thumbs img{width:100%;height:100%;object-fit:contain;display:block;}
.listing-related{margin-top:60px;}
.listing-related .section-header h2{font-size:clamp(28px,3.1vw,42px);}
@media(max-width:740px){
 .listing-related .section-header h2{font-size:31px;}
}
@media(max-width:480px){
 .listing-related .section-header h2{font-size:30px;}
}
.listing-related-label{display:block;margin-bottom:6px;color:var(--violet);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.listing-page-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.82fr);align-items:start;gap:27px;}
.listing-primary-column{display:grid;min-width:0;}
.listing-information-card{padding:21px 0;min-width:0;}
.listing-information-card+.listing-information-card{border-top:1px solid #e8eaf2;}
.listing-information-card:first-child{padding-top:4px;}
.listing-information-card h2{font-family:"Plus Jakarta Sans",sans-serif;color:#2a344d;font-size:18px;letter-spacing:-.4px;margin:0 0 17px;}
.listing-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.listing-facts>div{display:flex;flex-direction:column;gap:7px;min-width:0;}
.listing-facts svg{width:24px;height:24px;color:var(--violet);margin-bottom:4px;}
.listing-facts strong{font-size:15px;color:#303952;font-weight:600;}
.listing-facts span{font-size:11px;color:#647086;}
.listing-condition{color:#647086;font-size:12px;margin:17px 0 0;}
.listing-condition strong{color:#303952;font-weight:600;}
.listing-description{color:#667289;font-size:13px;line-height:1.9;white-space:pre-line;margin:0;overflow-wrap:anywhere;}
.listing-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 19px;}
.listing-feature-list span{display:flex;align-items:start;gap:8px;color:#5e6b81;font-size:12px;line-height:1.5;overflow-wrap:anywhere;}
.listing-feature-list svg{width:16px;height:16px;color:#6956ca;flex-shrink:0;}
.listing-costs{margin-top:14px;}
.listing-costs>div{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px;color:#6c778c;}
.listing-costs strong{color:#303a52;white-space:nowrap;}
.listing-costs .listing-cost-total{margin-top:12px;border:0;background:var(--soft-violet);border-radius:8px;padding:12px;font-weight:700;color:var(--violet-dark);}
.listing-cost-total strong{color:inherit;}
.listing-cost-annual{margin-top:12px;padding:12px;border-radius:8px;background:#f7f3e9;}
.listing-cost-annual>div{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--ink);}
.listing-cost-annual strong{white-space:nowrap;}
.listing-cost-annual p{font-size:11px;line-height:1.5;color:#675b45;margin:5px 0 0;}
.listing-location-line{display:flex;gap:7px;align-items:center;color:#526078;font-size:13px;font-weight:600;margin:0 0 10px;}
.listing-location-line svg{width:18px;height:18px;color:var(--violet);flex-shrink:0;}
.listing-location-map{height:clamp(220px,32vw,330px);margin:12px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f5f6fb;isolation:isolate;}
.listing-location-meta{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 14px;}
.listing-location-link{color:var(--violet-dark);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:2px;}
.listing-location-help{font-size:11px;color:#929aab;line-height:1.7;margin:0;}
.listing-side-column{min-width:0;}
.listing-contact-card{position:sticky;top:103px;border:1px solid #e4e7ef;box-shadow:0 8px 30px rgba(29,36,75,.05);border-radius:19px;background:white;padding:23px;min-width:0;}
.listing-contact-caption{color:#798498;font-size:12px;font-weight:600;}
.listing-contact-price{font-family:"Plus Jakarta Sans",sans-serif;color:var(--violet);font-size:clamp(25px,3vw,32px);font-weight:800;letter-spacing:-.85px;margin:5px 0 9px;white-space:nowrap;}
.listing-contact-price small{font-size:12px;color:#8c96a8;font-family:"DM Sans",sans-serif;letter-spacing:0;}
.listing-contact-form{margin-top:19px;padding-top:17px;border-top:1px solid #edeef3;}
.listing-contact-form h2{font-size:17px;margin:0 0 5px;color:#2a344d;}
.listing-contact-form p{color:#647086;font-size:12px;line-height:1.65;margin:0 0 14px;}
.listing-contact-form fieldset{min-width:0;display:grid;gap:12px;margin:0;padding:0;border:0;}
.listing-contact-form fieldset:disabled :is(input,textarea){background:#f7f8fb;color:#647086;opacity:1;}
.listing-contact-form fieldset:disabled button{opacity:.55;cursor:not-allowed;}
.listing-contact-form [role="status"]:not(:empty){display:block;margin-top:8px;}
.listing-contact-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;font-size:12px;}
.listing-contact-button svg{width:19px;height:19px;}
.listing-contact-divider{height:1px;background:#edeef3;margin:21px 0 18px;}
.listing-advertiser-label{display:block;margin-bottom:8px;color:#626c82;font-size:11px;font-weight:800;}
.listing-advertiser-row{display:flex;gap:11px;align-items:center;padding:10px;border:1px solid #eae6fa;border-radius:13px;background:#fbf9ff;}
a.listing-advertiser-row:hover{border-color:#c7bafa;background:#f5f0ff;}
.listing-advertiser-avatar{height:47px;width:47px;font-size:20px;}
.listing-advertiser-row>div{min-width:0;flex:1;display:grid;gap:3px;}
.listing-advertiser-row strong{color:#2e3952;font-size:14px;overflow-wrap:anywhere;}
.listing-advertiser-row strong .listing-verification-seal{width:17px;height:17px;vertical-align:-3px;}
a.listing-advertiser-row strong{color:#5746a9;}
.listing-advertiser-row small{color:#657088;font-size:11px;}
.listing-advertiser-row>svg{width:17px;height:17px;flex-shrink:0;color:var(--violet);}
.listing-profile-label{color:#5746a9;font-size:11px;font-weight:800;}
.listing-published-date{display:flex;align-items:flex-start;gap:6px;margin:7px 0 0;color:#667289;font-size:11px;line-height:1.5;}
.listing-published-date p{margin:0;}
.listing-published-date p+p{margin-top:4px;}
.listing-date-example{font-size:11px;}
.listing-published-date svg{width:15px;height:15px;flex-shrink:0;color:var(--violet);}
.listing-demo-label{display:flex;gap:8px;align-items:center;font-size:11px;color:#8b93a4;line-height:1.7;margin:0;}
.listing-demo-label svg{height:16px;width:16px;flex-shrink:0;}
.listing-empty{text-align:center;max-width:560px;margin:80px auto;padding:45px 20px;}
.listing-empty>svg{height:40px;width:40px;color:#8876dd;}
.listing-empty h1{font-family:"Plus Jakarta Sans",sans-serif;font-size:24px;color:#303951;margin:15px 0;}
.listing-empty p{color:#7e889a;font-size:13px;margin:0 0 25px;line-height:1.6;}
/* Fotografia ampliada: somente fotos ficam em overlay, não o anúncio. */
.listing-lightbox{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:12px;background:#0a0e1a;}
.listing-lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#e9ebf2;font-size:12px;max-width:1500px;width:100%;margin:0 auto;}
.listing-lightbox-close{border:1px solid rgba(255,255,255,.25);border-radius:50%;height:39px;width:39px;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.09);}
.listing-lightbox-close svg{width:20px;height:20px;}
.listing-lightbox-view{container-type:size;display:grid;place-items:center;min-width:0;min-height:0;}
.listing-lightbox-frame{position:relative;min-width:0;}
.listing-lightbox-image{display:block;width:auto;height:100cqh;max-width:100cqw;object-fit:contain;touch-action:pan-y pinch-zoom;}
.listing-lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;background:rgba(10,14,26,.72);border:1px solid rgba(255,255,255,.55);border-radius:50%;color:#fff;}
.listing-lightbox-arrow.previous{left:8px;}
.listing-lightbox-arrow.next{right:8px;}
.listing-lightbox-arrow svg{width:23px;height:23px;}
.listing-lightbox-thumbnails{display:flex;align-items:center;justify-content:center;gap:9px;overflow:auto;max-height:83px;padding:7px 0;}
.listing-lightbox-thumbnails button{height:57px;width:74px;flex:0 0 74px;overflow:hidden;padding:0;border:2px solid transparent;background:transparent;border-radius:8px;opacity:.68;}
.listing-lightbox-thumbnails button.selected{border-color:#fff;opacity:1;}
.listing-lightbox-thumbnails img{width:100%;height:100%;object-fit:contain;}
@media(orientation:landscape) and (max-height:500px){
 .listing-lightbox{grid-template-rows:minmax(0,1fr);padding:max(4px, env(safe-area-inset-top)) max(4px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));}
 .listing-lightbox .listing-lightbox-top{position:absolute;top:max(6px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));z-index:1;width:auto;max-width:none;pointer-events:none;}
 .listing-lightbox-counter{padding:5px 8px;border-radius:8px;background:rgba(10,14,26,.72);}
 .listing-lightbox-close{pointer-events:auto;background:rgba(10,14,26,.72);}
 .listing-lightbox-thumbnails{display:none;}
}
@media(max-width:1050px){
 .listing-page-columns{grid-template-columns:minmax(0,1.5fr) minmax(250px,.9fr);gap:16px;}
 .listing-contact-card{padding:19px;}
 .listing-photo-grid{height:clamp(330px,44vw,480px);}
}
@media(max-width:760px){
 .listing-title-section{align-items:flex-start;flex-direction:column;gap:13px;}
 .listing-photo-grid{grid-template-columns:minmax(0,1fr);height:clamp(280px,58vw,420px);}
 .listing-primary-photo{border-radius:16px;}
 .listing-photo-side{display:none;}
 .listing-page-columns{grid-template-columns:minmax(0,1fr);}
 .listing-contact-card{position:static;}
}
@media(max-width:650px){
 .listing-page{padding-top:17px;padding-bottom:36px;}
 .listing-page-top{margin-bottom:17px;}
 .listing-breadcrumbs{font-size:10px;gap:7px;}
 .listing-page-back{font-size:10px;padding:7px 8px;}
 .listing-title-section{margin-bottom:17px;}
 .listing-title-section h1{font-size:24px;letter-spacing:-.65px;}
 .listing-address{font-size:11px;}
 .listing-title-actions{width:100%;}
 .listing-icon-button{padding:9px 12px;font-size:11px;}
 .listing-photo-grid{height:clamp(260px,65vw,370px);}
 .listing-photo-nav{height:36px;width:36px;}
 .listing-photo-nav.previous{left:9px;}
 .listing-photo-nav.next{right:9px;}
 .listing-photo-thumbs button{width:66px;height:52px;}
 .listing-photo-section{margin-bottom:20px;}
 .listing-page-columns{gap:15px;}
 .listing-information-card{padding-block:17px;}
 .listing-information-card h2{font-size:16px;}
 .listing-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;}
 .listing-facts strong{font-size:14px;}
 .listing-feature-list{gap:10px 8px;}
 .listing-feature-list span{font-size:11px;}
 .listing-contact-card{padding:19px;}
 .listing-contact-price{font-size:28px;}
 .listing-lightbox{padding:max(8px, env(safe-area-inset-top)) max(4px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));}
 .listing-lightbox-arrow.previous{left:4px;}
 .listing-lightbox-arrow.next{right:4px;}
 .listing-lightbox-arrow svg{width:20px;height:20px;}
 .listing-lightbox-thumbnails{justify-content:flex-start;}
 .listing-lightbox-thumbnails button{width:54px;flex-basis:54px;height:44px;}
}


/* Separação de planos por tipo de anunciante */
.price-audience-tabs {display:flex;align-items:stretch;justify-content:center;gap:9px;margin:0 auto 23px;max-width:530px;padding:5px;border-radius:14px;background:#f3f1fb;border:1px solid #ebe7fa;}
.price-audience-tabs button {display:flex;align-items:center;justify-content:center;gap:9px;flex:1;min-width:0;min-height:45px;padding:10px 14px;border:1px solid transparent;background:transparent;border-radius:10px;color:#6c7488;font-weight:800;font-size:12px;}
.price-audience-tabs button svg {width:18px;height:18px;flex-shrink:0;}
.price-audience-tabs button.selected {background:#fff;color:#5d4fc1;border-color:#e0d9fb;box-shadow:0 2px 8px rgba(31,25,81,.05);}
.price-audience-tabs button:hover:not(.selected){color:#493ca1;background:#eae5f8;}
.price-current-profile {display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 18px;margin:0 auto 23px;max-width:max-content;background:#f3f1ff;color:#6456aa;border:1px solid #e7dfff;border-radius:12px;font-size:12px;}
.price-current-profile svg {width:18px;height:18px;}
.price-particular-card{max-width:570px;}
.price-particular-card .price-plan-features{margin-bottom:16px;}
@media(max-width:650px){
 .price-audience-tabs {width:100%;gap:5px;padding:4px;margin-bottom:18px;}
 .price-audience-tabs button {gap:6px;min-height:43px;font-size:11px;padding:8px;}
 .price-audience-tabs button svg {height:15px;width:15px;}
 .price-current-profile {font-size:11px;padding:10px 12px;}
}


/* Distinção comercial entre destaques avulsos e cotas da assinatura */
.price-subscription-note,.price-avulso-note{
 display:flex;align-items:flex-start;gap:10px;border-radius:12px;
 padding:14px 16px;margin-top:14px;font-size:12px;line-height:1.7;
}
.price-subscription-note{background:#f7f4ff;border:1px solid #e6dffc;color:#5f5687;}
.price-avulso-note{background:#f6f9ff;border:1px solid #e0e9fa;color:#536888;margin:0 0 15px;}
.price-subscription-note svg,.price-avulso-note svg{width:18px;height:18px;flex-shrink:0;margin-top:1px;color:#7561c8;}
.price-avulso-note svg{color:#3d78c4;}
.price-subscription-note p,.price-avulso-note span{margin:0;min-width:0;}
.price-subscription-note strong,.price-avulso-note strong{font-weight:800;}
@media(max-width:650px){
 .price-subscription-note,.price-avulso-note{font-size:11px;padding:12px;}
}


/* Navegação do anunciante: drawer único para celular, tablet, iPad e desktop */
.header-brand-group{display:flex;align-items:center;gap:12px;min-width:0;}
.site-header.has-advertiser-menu .desktop-nav{display:none;}
.site-header.has-advertiser-menu .header-inner{gap:12px;}
.advertiser-menu-toggle{border:1px solid #e1dcf5;color:var(--violet);background:#f8f6ff;}
.advertiser-menu-toggle svg{height:21px;width:21px;}
.account-workspace{display:block;max-width:1400px;min-width:0;padding-block:24px 45px;}
.account-workspace>main{width:100%;max-width:100%;min-width:0;margin:0;padding:0;}
.account-workspace .advertiser-nav-backdrop{position:fixed;inset:0;display:block;width:100%;height:100%;border:0;border-radius:0;background:rgba(23,28,52,.45);z-index:70;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;}
.account-workspace.menu-open .advertiser-nav-backdrop{opacity:1;visibility:visible;pointer-events:auto;}
.account-workspace .advertiser-nav{position:fixed;top:0;bottom:0;left:0;z-index:71;display:flex;flex-direction:column;width:min(315px,calc(100vw - 48px));min-width:0;max-height:100dvh;margin:0;padding:15px;background:#fff;border:0;border-right:1px solid #eaebf3;border-radius:0 18px 18px 0;box-shadow:14px 0 45px rgba(21,28,64,.13);overflow-y:auto;overscroll-behavior:contain;transform:translateX(-105%);visibility:hidden;transition:transform .24s ease,visibility .24s ease;}
.account-workspace .advertiser-nav.is-open{transform:translateX(0);visibility:visible;}
.account-workspace .advertiser-nav-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 3px 11px 10px;border-bottom:1px solid #eff0f5;}
.account-workspace .advertiser-nav-bar strong{font-family:"Plus Jakarta Sans",sans-serif;font-size:14px;color:#303a51;}
.account-workspace .advertiser-nav-close{height:38px;width:38px;display:grid;place-items:center;border:0;border-radius:11px;background:#f3f2fa;color:#5c5575;cursor:pointer;}
.account-workspace .advertiser-nav-close svg{height:19px;width:19px;}
.account-workspace .advertiser-nav-head{display:flex;padding:16px 10px 18px;}
.account-workspace .advertiser-nav nav{display:grid;gap:4px;padding-block:13px;overflow:visible;}
.account-workspace .advertiser-nav nav button{display:flex;align-items:center;justify-content:flex-start;flex-shrink:initial;width:100%;min-height:44px;padding:10px 12px;font-size:12px;white-space:normal;gap:11px;}
.account-workspace .advertiser-nav nav button svg{width:18px;height:18px;}
.account-workspace .advertiser-nav-demo{padding-top:13px;margin-top:auto;}
.account-workspace .advertiser-nav-demo .demo-switch{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:13px;}
.account-workspace .advertiser-nav-demo .demo-switch>span{display:block;grid-column:1/-1;}
.account-workspace .advertiser-nav-demo .demo-switch button{min-height:36px;font-size:11px;}
.account-workspace .demo-exit,.account-workspace .advertiser-nav-logout{display:flex;min-height:43px;}
@media(max-width:900px){
 .account-workspace{display:block;}
 .account-workspace .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:650px){
 .site-header.has-advertiser-menu .header-brand-group{gap:8px;}
 .site-header.has-advertiser-menu .header-inner{gap:6px;}
 .site-header.has-advertiser-menu .advertiser-menu-toggle{width:38px;height:38px;border-radius:10px;}
 .site-header.has-advertiser-menu .brand{font-size:16px;gap:7px;}
 .site-header.has-advertiser-menu .brand-icon{width:32px;height:32px;}
 .site-header.has-advertiser-menu .brand-icon svg{width:18px;height:18px;}
 .account-workspace{display:block;width:100%;padding:18px 16px 28px;}
 .account-workspace>main{width:100%;margin:0;padding:0;}
 .account-workspace .advertiser-nav{position:fixed;top:0;bottom:0;left:0;padding:13px;border-radius:0 16px 16px 0;}
 .account-workspace .advertiser-nav-head{display:flex;}
 .account-workspace .advertiser-nav nav{display:grid;gap:4px;overflow:visible;}
 .account-workspace .advertiser-nav nav button{width:100%;padding:10px 12px;min-height:44px;font-size:12px;}
 .account-workspace .advertiser-nav-demo{margin-top:auto;padding-top:13px;}
 .account-workspace .advertiser-nav-demo .demo-switch{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
 .account-workspace .advertiser-nav-demo .demo-switch>span{display:block;}
 .account-workspace .demo-exit,.account-workspace .advertiser-nav-logout{display:flex;}
 .account-workspace .account-panel,.account-workspace .plan-grid{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
 .account-workspace .advertiser-nav,.account-workspace .advertiser-nav-backdrop{transition:none;}
}


/* Marca centralizada no cabeçalho da área do anunciante, em todos os tamanhos */
.site-header.has-advertiser-menu .header-inner{
 position:relative;
 display:grid;
 grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
 align-items:center;
 column-gap:12px;
}
.site-header.has-advertiser-menu .header-brand-group{display:contents;}
.site-header.has-advertiser-menu .advertiser-menu-toggle{
 grid-column:1;grid-row:1;justify-self:start;
}
.site-header.has-advertiser-menu .header-brand-group>.brand{
 grid-column:2;grid-row:1;justify-self:center;
 font-size:24px;font-weight:600;letter-spacing:-.6px;gap:0;
}
.site-header.has-advertiser-menu .header-actions{
 grid-column:3;grid-row:1;justify-self:end;
}
@media(max-width:1024px){
 .site-header.has-advertiser-menu .header-brand-group>.brand{font-size:22px;}
}
@media(max-width:650px){
 .site-header.has-advertiser-menu .header-brand-group>.brand{font-size:20px;}
}

/* Cabeçalho público no celular: mesma marca central do painel.
   A navegação pública continua na barra inferior; a gaveta lateral
   permanece exclusiva da área do anunciante. O desktop não é alterado. */
@media (max-width:650px) {
 .site-header:not(.has-advertiser-menu) .header-inner {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  column-gap:6px;
 }
 .site-header:not(.has-advertiser-menu) .header-brand-group {
  grid-column:2;
  justify-self:center;
 }
 .site-header:not(.has-advertiser-menu) .header-brand-group .brand {
  font-size:20px;
  font-weight:600;
  letter-spacing:-.6px;
  gap:0;
 }
 .site-header:not(.has-advertiser-menu) .header-brand-group .brand-icon {
  display:none;
 }
 .site-header:not(.has-advertiser-menu) .header-actions {
  grid-column:3;
  justify-self:end;
 }
}


/* Menu de navegação do cabeçalho. */
.public-menu-toggle{display:none;}
.desktop-menu-toggle{
 border:1px solid #ded8f6;background:#f8f6ff;color:var(--violet);
}
.desktop-menu-toggle svg{width:23px;height:23px;}
.site-menu-backdrop{
 position:fixed;inset:0;z-index:70;width:100%;height:100%;
 padding:0;border:0;border-radius:0;background:rgba(23,28,52,.45);
 opacity:0;visibility:hidden;pointer-events:none;
 transition:opacity .2s ease,visibility .2s ease;
}
.site-menu{
 position:fixed;top:0;bottom:0;right:0;z-index:71;
 width:min(315px,calc(100vw - 48px));max-height:100dvh;
 display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;
 padding:0 15px 15px;background:#fff;border-left:1px solid #eaebf3;border-radius:18px 0 0 18px;
 box-shadow:-14px 0 45px rgba(21,28,64,.13);
 transform:translateX(105%);visibility:hidden;
 transition:transform .24s ease,visibility .24s ease;
}
.site-menu-layer.is-open .site-menu-backdrop{opacity:1;visibility:visible;pointer-events:auto;}
.site-menu-layer.is-open .site-menu{transform:translateX(0);visibility:visible;}
.site-menu-title{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 min-height:var(--site-header-height);flex-shrink:0;
 padding-inline:10px 3px;border-bottom:1px solid #eff0f5;
}
.site-menu-title strong{font-family:"Plus Jakarta Sans",sans-serif;font-size:15px;color:#303a51;}
.site-menu-close{
 width:38px;height:38px;display:grid;place-items:center;border:0;
 border-radius:11px;background:#f3f2fa;color:#5c5575;
}
.site-menu-close svg{width:19px;height:19px;}
.site-menu nav{padding-block:12px;display:grid;gap:4px;}
.site-menu-account{border-top:1px solid #eff0f5;}
.site-menu nav button,.site-menu nav a{
 display:flex;align-items:center;gap:12px;width:100%;min-height:44px;
 padding:10px 12px;border:0;border-radius:11px;background:transparent;
 color:#687289;font-size:13px;font-weight:700;text-align:left;text-decoration:none;
}
.site-menu nav svg{width:19px;height:19px;flex-shrink:0;}
.site-menu nav button.active{background:#f0edff;color:var(--violet);}
.site-menu nav :is(button,a):hover:not(.active){background:#f8f8fc;}
.site-menu nav .site-menu-logout{margin-top:5px;color:#8f5869;}
.site-menu nav .demo-switch{margin-top:6px;}
@media(prefers-reduced-motion:reduce){
 .site-menu-backdrop,.site-menu{transition:none;}
}

/* Mapa público: área aproximada com legenda central no estilo de classificados imobiliários. */
.approx-location-label{background:transparent;border:0;pointer-events:none!important;display:flex;align-items:center;justify-content:center;}
.approx-location-label span{display:inline-flex;align-items:center;justify-content:center;max-width:100%;white-space:nowrap;border-radius:100px;padding:7px 12px;min-height:30px;background:#4c408f;color:#fff;box-shadow:0 3px 11px rgba(25,30,66,.22);font-family:"DM Sans",sans-serif;font-size:11px;font-weight:800;letter-spacing:.02em;line-height:1.1;border:1px solid rgba(255,255,255,.85);}
@media(max-width:480px){.approx-location-label span{font-size:10px;padding:7px 9px;}}


/* Marcadores agrupados e origem das coordenadas em mapas de imóveis. */
.property-cluster-icon{border:0!important;background:transparent!important;display:flex!important;align-items:center;justify-content:center;}
.property-cluster-icon span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:3px solid white;background:#6753e8;color:#fff;font:800 14px "Plus Jakarta Sans",sans-serif;box-shadow:0 0 0 5px rgba(103,83,232,.16),0 5px 18px rgba(37,25,103,.25);}
.property-cluster-icon:hover span{background:#4b37c9;}
.property-map-pin.is-estimated span{background:#61718e;}
.property-map-pin.is-estimated span:after{background:#61718e;}
.property-map-pin.is-illustrative span{background:#8b91a1;}
.property-map-pin.is-illustrative span:after{background:#8b91a1;}
.map-location-legend{display:flex;align-items:center;flex-wrap:wrap;gap:7px 15px;margin-top:9px;}
.map-location-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;line-height:1.45;color:#606b80;font-weight:700;}
.map-status-dot{height:8px;width:8px;flex:0 0 8px;border-radius:50%;background:#6653ed;}
.map-location-status.is-confirmed .map-status-dot{background:#6653ed;}
.map-location-status.is-estimated .map-status-dot{background:#61718e;}
.map-location-status.is-illustrative .map-status-dot{background:#9aa1af;}
.map-preview-status{font-size:10px;}
.listing-map-status{margin:5px 0 12px;}
@media(max-width:650px){.map-location-legend{gap:7px 10px}.map-location-status{font-size:10px}.property-cluster-icon span{width:43px;height:43px;}}


/* Plan comparison and optional capacity in the same section. */
.pricing-overview .price-plan-grid-three {grid-template-columns:repeat(3,minmax(0,1fr));}
.price-additional-options {margin-top:18px;border:1px solid #e5e7f0;border-radius:13px;padding:15px 18px;background:#fff;}
.price-additional-options > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  list-style:none;
  cursor:pointer;
  font-size:13px;
  font-weight:700;
  color:#58647a;
}
.price-additional-options > summary::-webkit-details-marker {display:none;}
.price-additional-options > summary::after {
  content:"";
  flex:none;
  width:9px;
  height:9px;
  margin-inline-end:2px;
  border:solid currentColor;
  border-width:0 2px 2px 0;
  transform:translateY(-2px) rotate(45deg);
}
.price-additional-options[open] > summary::after {transform:translateY(2px) rotate(225deg);}
.price-additional-options .price-extras {margin-top:12px;}
.mine-item-info {min-width:0;flex:1;overflow-wrap:anywhere;}
.highlight-end {display:block;margin-top:6px;font-size:11px;color:#58647a;}
.price-hour-action {margin-top:14px;}
.listing-highlight-dialog {width:min(calc(100% - 24px),440px);margin:auto;padding:0;border:0;border-radius:18px;color:var(--ink);}
.listing-highlight-dialog::backdrop {background:rgba(23,18,49,.55);}
.listing-highlight-dialog .icon-btn {width:34px;height:34px;border-radius:10px;}
.listing-highlight-dialog .icon-btn svg {width:18px;height:18px;}
.listing-highlight-name {margin:0 0 16px;font-size:14px;font-weight:700;overflow-wrap:anywhere;}
.listing-highlight-options {display:grid;gap:8px;margin:0;padding:0;border:0;min-width:0;}
.listing-highlight-options legend {padding:0;margin:0 0 8px;color:var(--muted);font-size:12px;}
.listing-highlight-options label {display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:46px;padding:8px 12px;border:1px solid var(--line);border-radius:11px;font-size:14px;cursor:pointer;}
.listing-highlight-options label:has(:checked) {border-color:var(--violet);background:var(--soft-violet);}
.listing-highlight-options input {width:16px;height:16px;margin:0;accent-color:var(--violet);}
.listing-highlight-options strong {color:var(--violet-dark);white-space:nowrap;}
.listing-highlight-note {margin:12px 0 0;color:var(--muted);font-size:12px;}
@media(max-width:1000px){.pricing-overview .price-plan-grid-three {grid-template-columns:minmax(0,1fr);}}

/* Shared navigation on tablet and desktop; drawers remain mobile only. */
@media(min-width:651px){
 .advertiser-menu-toggle{display:none;}
 .site-header.has-advertiser-menu .header-inner{display:flex;gap:30px;}
 .site-header.has-advertiser-menu .header-brand-group{display:flex;gap:12px;}
 .site-header.has-advertiser-menu .header-brand-group>.brand{font-size:19px;font-weight:800;letter-spacing:-.8px;gap:12px;}
 .site-header.has-advertiser-menu .desktop-nav{display:flex;}
 .account-workspace .advertiser-nav,.account-workspace .advertiser-nav-backdrop{display:none;}
}
@media(max-width:650px){
 .site-header.has-advertiser-menu .brand-icon{display:none;}
}

@media(min-width:651px){
 .header-brand-group,.header-actions{flex-shrink:0;}
}
@media(min-width:651px) and (max-width:850px){
 .site-header .header-inner,.site-header.has-advertiser-menu .header-inner{width:calc(100% - 32px);gap:8px;}
 .site-header .header-brand-group>.brand,.site-header.has-advertiser-menu .header-brand-group>.brand{font-size:17px;gap:8px;}
 .site-header .brand-icon{width:34px;height:34px;}
 .site-header .desktop-nav{gap:8px;}
 .site-header .desktop-nav button{font-size:12px;}
 .site-header .header-actions .btn{font-size:12px;padding-inline:12px;white-space:nowrap;}
 .site-header .header-actions .icon-btn{width:34px;height:34px;}
}



/* Hero como única busca: chips de finalidade e sugestões IBGE. */
.hero{overflow:visible;}
.hero-photo{overflow:hidden;border-radius:inherit;}
.hero .hero-copy{position:relative;z-index:6;}
.hero .mode-tabs{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);margin-bottom:17px;backdrop-filter:blur(8px);}
.hero .mode-tabs .transaction-group button{color:#fff;}
.hero .mode-tabs .transaction-group button.selected{background:#fff;color:#5032ab;box-shadow:0 2px 9px rgba(0,0,0,.13);}
.hero .mode-tabs .transaction-group button:focus-visible{outline:2px solid white;outline-offset:2px;}
.hero-search-wrap{position:relative;max-width:700px;z-index:25;}
.hero-search-wrap .hero-search{max-width:none;}
.hero-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:280px;overflow:auto;overscroll-behavior:contain;border:1px solid #ded9f1;border-radius:15px;background:#fff;box-shadow:0 16px 38px rgba(17,13,52,.28);z-index:40;padding:5px;color:#29314b;}
.hero-suggestions[hidden]{display:none!important;}
.hero-suggestion{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:11px 13px;border:0;border-radius:10px;background:#fff;color:#242a40;cursor:pointer;}
.hero-suggestion:hover,.hero-suggestion:focus-visible{background:#f0edff;outline:0;}
.hero-suggestion svg{width:20px;height:20px;flex:none;color:#6951dd;}
.hero-suggestion span{display:flex;flex-direction:column;gap:2px;min-width:0;}
.hero-suggestion strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hero-suggestion small{font-size:11px;color:#757f95;}
.filter-line-simple{justify-content:space-between;gap:12px;overflow:visible;}
.filter-line-simple .chip{border-color:#d9d2f9;color:#5946cc;background:#f7f5ff;font-weight:800;}
.catalog-content .filter-line-simple .chip{box-sizing:border-box;min-height:41px;padding:10px 15px;flex-shrink:0;}

/* Painel lateral de filtros com fundo bloqueado durante o uso. */
.overlay.filters-overlay{display:flex;align-items:stretch;justify-content:flex-end;padding:0;background:rgba(21,17,44,.62);}
.filters-overlay .filters-drawer{display:flex;flex-direction:column;width:min(500px,94vw);height:100dvh;max-height:100dvh;overflow:auto;border-radius:22px 0 0 22px;overscroll-behavior:contain;box-shadow:-14px 0 60px rgba(19,12,56,.2);}
.filters-drawer #filtersForm{display:flex;flex:1;flex-direction:column;min-height:0;}
.filters-drawer .modal-header{background:#f8f6ff;border-bottom-color:#e9e4fc;padding-inline:22px;}
.filters-drawer .modal-header h2{color:#4b348e;}
.filters-drawer .modal-content{padding:20px 23px 26px;flex:1;}
.filters-drawer .modal-footer{background:#fff;padding:16px 22px;box-shadow:0 -8px 25px rgba(37,31,66,.05);}
.filters-drawer .modal-footer .btn.primary{background:#6653ed;}
@media(max-width:650px){
 .hero .mode-tabs{display:flex;max-width:100%;margin:0 0 13px;}
 .hero .mode-tabs .transaction-group{display:flex;width:100%;}
 .hero .mode-tabs .transaction-group button{flex:1;padding:10px 8px;}
 .hero-search-wrap{max-width:100%;}
 .hero-suggestions{left:-2px;right:-2px;max-height:265px;}
 .filter-line-simple{margin-inline:0;padding-inline:0;overflow:visible;flex-wrap:wrap;}
 .filters-overlay .filters-drawer{width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;padding-bottom:env(safe-area-inset-bottom);box-shadow:none;}
 .filters-drawer .modal-content{padding:18px 17px 22px;}
 .filters-drawer .modal-footer{padding:13px 17px;}
}


/* Labeled location action below the city field, with a touch-friendly target. */
.hero-location-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;margin-top:8px;padding:9px 14px;border:1px solid rgba(255,255,255,.55);border-radius:11px;background:rgba(32,17,89,.35);color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
.hero-location-button:hover{background:rgba(32,17,89,.6);border-color:#fff;}
.hero-location-button:focus-visible{outline:2px solid #fff;outline-offset:3px;}
.hero-location-button svg{width:18px;height:18px;flex:none;}
.hero-location-button[aria-busy="true"]{cursor:wait;}
.region-count-hint{font-size:11px;line-height:1.6;color:#7b728e;margin:0 0 18px;}
/* Keep the location list above the property cards while it is open. */
.hero:has(.hero-suggestions:not([hidden])){z-index:10;}



/* Mobile: identidade à esquerda, hambúrguer à direita, em páginas públicas e do anunciante. */
@media(max-width:650px){
 .site-header .header-inner,
 .site-header.has-advertiser-menu .header-inner,
 .site-header:not(.has-advertiser-menu) .header-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  align-items:center;
  column-gap:12px;
 }
 .site-header .header-brand-group,
 .site-header.has-advertiser-menu .header-brand-group,
 .site-header:not(.has-advertiser-menu) .header-brand-group{display:contents;}
 .site-header .header-brand-group>.brand,
 .site-header.has-advertiser-menu .header-brand-group>.brand,
 .site-header:not(.has-advertiser-menu) .header-brand-group>.brand{
  grid-row:1;grid-column:1;justify-self:start;
  display:inline-flex;align-items:center;gap:9px;min-width:0;
  font-size:18px;font-weight:800;letter-spacing:-.7px;
 }
 .site-header .brand-icon,
 .site-header.has-advertiser-menu .header-brand-group .brand-icon,
 .site-header:not(.has-advertiser-menu) .header-brand-group .brand-icon{
  display:grid;place-items:center;flex-shrink:0;
  width:34px;height:34px;border-radius:10px;
 }
 .site-header .brand-icon svg,
 .site-header.has-advertiser-menu .brand-icon svg{width:19px;height:19px;}
 .site-header .public-menu-toggle,
 .site-header.has-advertiser-menu .advertiser-menu-toggle{
  display:inline-grid;grid-row:1;grid-column:2;justify-self:end;
  width:44px;height:44px;border-radius:12px;
  border:1px solid #ded8f6;background:#f8f6ff;color:var(--violet);
 }
 .site-header .public-menu-toggle svg,
 .site-header.has-advertiser-menu .advertiser-menu-toggle svg{width:23px;height:23px;}
 .site-header .header-actions,
 .site-header.has-advertiser-menu .header-actions,
 .site-header:not(.has-advertiser-menu) .header-actions{display:none;}
 /* O painel acompanha o controle de menu, abrindo pelo lado direito. */
 .public-mobile-menu,
 .account-workspace .advertiser-nav{
  left:auto;right:0;
  border-radius:18px 0 0 18px;
  border-left:1px solid #eaebf3;border-right:0;
  box-shadow:-14px 0 45px rgba(21,28,64,.13);
  transform:translateX(105%);
 }
 .public-mobile-navigation.is-open .public-mobile-menu,
 .account-workspace .advertiser-nav.is-open{transform:translateX(0);}
}
@media(max-width:370px){
 .site-header .header-brand-group>.brand,
 .site-header.has-advertiser-menu .header-brand-group>.brand,
 .site-header:not(.has-advertiser-menu) .header-brand-group>.brand{font-size:16px;gap:7px;}
}

/* Keep tablet search compact in portrait, matching its original landscape size. */
@media (min-width:651px) and (max-width:1100px), (min-width:651px) and (max-width:1366px) and (hover:none) and (pointer:coarse){
 .hero-search-wrap{width:100%;max-width:600px;}
}


/* Narrow the tablet search further only in portrait orientation. */
@media (min-width:651px) and (max-width:1366px) and (orientation:portrait){
 .hero-search-wrap{max-width:480px;}
}

/* Correção de especificidade: regra antiga prendia o menu público à coluna 1,
   sobrepondo o logotipo. Forçar ambos os menus à coluna direita em telas móveis. */
@media(max-width:650px){
 .site-header:not(.has-advertiser-menu) .public-menu-toggle,
 .site-header.has-advertiser-menu .header-brand-group>.advertiser-menu-toggle{
  display:inline-grid;
  grid-column:2;
  grid-row:1;
  justify-self:end;
  align-self:center;
  position:relative;
  z-index:2;
  opacity:1;
  visibility:visible;
 }
 .site-header:not(.has-advertiser-menu) .header-brand-group>.brand,
 .site-header.has-advertiser-menu .header-brand-group>.brand{
  grid-column:1;
  grid-row:1;
  justify-self:start;
  max-width:100%;
 }
 .site-header:not(.has-advertiser-menu) .public-menu-toggle svg,
 .site-header.has-advertiser-menu .advertiser-menu-toggle svg{
  display:block;
  width:23px;
  height:23px;
  stroke:currentColor;
 }
}

/* Home: alternar grade e lista ao lado dos filtros. */
.home-view-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #e1ddf1;border-radius:12px;background:#f8f7fc;flex-shrink:0;}
.home-view-switch button{display:grid;place-items:center;width:36px;height:35px;padding:0;border:0;border-radius:9px;background:transparent;color:#737c90;cursor:pointer;transition:background .15s,color .15s;}
.home-view-switch button svg{width:19px;height:19px;}
.home-view-switch button.selected{background:#fff;color:var(--violet);box-shadow:0 1px 7px rgba(36,28,89,.14);}
.home-view-switch button:hover:not(.selected){color:var(--violet);background:#eeebfb;}
.home-view-switch button:focus-visible{outline:2px solid var(--violet);outline-offset:2px;}
.home-content .property-grid.is-list-layout{grid-template-columns:minmax(0,1fr);gap:16px;}
.home-content .property-grid.is-list-layout .property-card{display:grid;grid-template-columns:minmax(220px,32%) minmax(0,1fr);min-height:225px;}
.home-content .property-grid.is-list-layout .property-media{height:100%;min-height:225px;aspect-ratio:auto;}
.home-content .property-grid.is-list-layout .property-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.home-content .property-grid.is-list-layout .property-body{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:18px 24px;}
.home-content .property-grid.is-list-layout .property-title{min-height:0;margin:9px 0;}
.home-content .property-grid.is-list-layout .property-features{margin:10px 0 15px;}
.home-content .property-grid.is-list-layout .property-bottom{margin-top:auto;}
@media(max-width:650px){
 .home-content .filter-line-simple{flex-wrap:nowrap;gap:8px;}
 .home-view-switch{margin-left:0;}
 .home-content .property-grid.is-list-layout{gap:12px;}
 .home-content .property-grid.is-list-layout .property-card{grid-template-columns:minmax(0,40%) minmax(0,1fr);min-height:174px;border-radius:15px;}
 .home-content .property-grid.is-list-layout .property-media{min-height:0;height:100%;}
 .home-content .property-grid.is-list-layout .property-body{padding:11px;justify-content:flex-start;}
 .home-content .property-grid.is-list-layout .property-location{font-size:10px;}
 .home-content .property-grid.is-list-layout .property-title{font-size:13px;line-height:1.3;margin:6px 0;}
 .home-content .property-grid.is-list-layout .property-features{gap:5px 9px;margin:6px 0 9px;font-size:10px;}
 .home-content .property-grid.is-list-layout .property-features svg{width:13px;height:13px;}
 .home-content .property-grid.is-list-layout .property-bottom{padding-top:8px;align-items:center;}
 .home-content .property-grid.is-list-layout .property-bottom .property-price{font-size:15px;letter-spacing:-.4px;}
 .home-content .property-grid.is-list-layout .property-arrow{display:none;}
 .home-content .property-grid.is-list-layout .property-tag{top:8px;left:8px;padding:5px 7px;font-size:9px;}
 .home-content .property-grid.is-list-layout .heart-btn{top:7px;right:7px;}
}
@media(max-width:370px){
 .home-content .property-grid.is-list-layout .property-card{grid-template-columns:minmax(0,37%) minmax(0,1fr);}
 .home-content .property-grid.is-list-layout .property-body{padding:9px;}
 .home-content .property-grid.is-list-layout .property-bottom .property-price{font-size:14px;}
}

/* Mantém a altura da vitrine durante uma busca sem anúncios locais,
   evitando saltos enquanto a página é carregada. */
.results-page-placeholder{min-height:clamp(340px,56dvh,600px);}

/* Paginação numérica da vitrine, sem botão Carregar mais. */
.results-pagination{
 display:flex;justify-content:center;align-items:center;flex-wrap:wrap;
 gap:7px;margin:28px 0 0;padding:6px 0;
}
.results-pagination button{
 display:inline-flex;align-items:center;justify-content:center;
 min-width:41px;min-height:41px;padding:7px 10px;
 border:1px solid #e1e2ee;border-radius:11px;background:#fff;
 color:#606a80;font-size:13px;font-weight:800;line-height:1.3;
 transition:background .15s,border-color .15s,color .15s;
}
.results-pagination button svg{height:17px;width:17px;}
.results-pagination button:hover:not(:disabled):not(.current){background:#f5f2ff;border-color:#b6a9f5;color:var(--violet);}
.results-pagination button.current{background:var(--violet);border-color:var(--violet);color:white;cursor:default;}
.results-pagination button:disabled{opacity:.38;cursor:not-allowed;}
.results-pagination .results-page-gap{font-size:13px;min-width:18px;text-align:center;color:#86899b;}
.results-loading{margin:15px 0;padding:14px 16px;border:1px solid #edeaf5;border-radius:11px;background:#faf9fe;color:#6d7589;font-size:12px;line-height:1.5;}
@media(max-width:650px){
 .results-pagination{gap:5px;margin-top:22px;}
 .results-pagination button{min-width:37px;min-height:39px;border-radius:9px;font-size:12px;padding:6px 8px;}
 .results-pagination .results-page-gap{min-width:12px;}
}

.advertiser-admin-link {display:flex;align-items:center;gap:9px;margin:12px 0;padding:10px 12px;color:var(--violet-dark);font-weight:700;font-size:.9rem;}
.advertiser-admin-link svg {width:18px;height:18px;}
body:has(.deletion-dialog[open]) {overflow:hidden;}
.deletion-dialog {width:min(calc(100% - 32px),520px);padding:0;border:0;border-radius:22px;color:#1d263b;max-height:calc(100dvh - 32px);}
.deletion-dialog::backdrop {background:rgba(23,18,49,.55);}
.deletion-dialog .modal-header {background:#f8f6ff;}
.deletion-property {display:flex;align-items:center;gap:12px;margin-bottom:20px;}
.deletion-property img {width:62px;height:52px;object-fit:cover;border-radius:9px;}
.deletion-dialog fieldset {display:grid;gap:6px;min-width:0;margin:0 0 14px;padding:0;border:0;}
.deletion-dialog [hidden] {display:none;}
.deletion-dialog legend {padding:0 0 8px;font-weight:700;}
.deletion-dialog small {color:#596478;font-size:.75rem;font-weight:500;}
.deletion-dialog fieldset label {display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e4e1ed;border-radius:9px;font-size:.875rem;cursor:pointer;}
.deletion-dialog input[type=radio] {accent-color:#6653ed;width:16px;height:16px;flex:none;}
.deletion-note {display:grid;gap:6px;font-size:.875rem;}
.deletion-note textarea {padding:8px;border:1px solid #c9c3db;border-radius:8px;width:100%;font:inherit;resize:vertical;}
.deletion-error {color:#a61b3f;margin:12px 0 0;}
.btn.deletion-confirm {color:#fff;background:#a61b3f;border-color:#a61b3f;}
.btn.deletion-confirm:disabled {opacity:.65;}
@media (max-width:480px) {
 .deletion-dialog .modal-footer {display:grid;grid-template-columns:1fr 1.5fr;gap:8px;}
 .deletion-dialog .modal-footer .btn {font-size:.8rem;padding-inline:8px;}
}

/* Página de pagamento: prévia segura sem integração financeira ativa. */
.payment-shell{max-width:850px;min-height:60vh;padding-top:48px;padding-bottom:85px;}
.payment-shell .center-heading{margin-bottom:28px;}
.payment-order{background:#fff;border:1px solid #e5e1f2;border-radius:20px;box-shadow:0 12px 34px rgba(47,34,101,.06);padding:26px;}
.payment-order-head{display:flex;gap:12px;align-items:center;justify-content:space-between;color:#5e677d;font-size:13px;font-weight:700;margin-bottom:23px;}
.payment-order-head small{border-radius:999px;background:#f1edff;color:var(--violet-dark);font-weight:800;padding:7px 11px;}
.payment-order h2{font-size:23px;line-height:1.3;margin:0 0 8px;}
.payment-order p{font-size:14px;color:#687285;margin:0 0 24px;}
.payment-total{border-top:1px solid #e7e5ed;padding-top:21px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-weight:700;}
.payment-total strong{font-size:23px;color:var(--violet-dark);}
.payment-disabled-note{margin:22px 0;max-width:none;}
.payment-actions{display:flex;justify-content:flex-start;}
@media(max-width:650px){.payment-shell{padding-top:28px;padding-bottom:65px;}.payment-order{padding:19px;border-radius:16px;}.payment-order h2,.payment-total strong{font-size:19px;}.payment-order-head{align-items:flex-start;}.payment-actions .btn{width:100%;}}

/* Tablet e desktop: fundo translúcido do seletor, sem o desfoque que o fazia parecer sólido. */
@media (min-width:651px){
 .hero .mode-tabs{background:rgba(255,255,255,.14);-webkit-backdrop-filter:none;backdrop-filter:none;}
}


/* Aviso de cota do plano: modal com identidade visual do Portal Imóveis.
   Exibe todas as opções; nunca escolhe automaticamente o destaque removido. */
.demo-highlight-limit-dialog {
 width:min(calc(100% - 32px),550px);
 max-height:calc(100dvh - 32px);
 padding:0;
 border:1px solid rgba(102,83,237,.13);
 border-radius:24px;
 color:var(--ink);
 background:#fff;
 box-shadow:0 26px 90px rgba(25,20,68,.30);
 overflow-y:auto;
}
.demo-highlight-limit-dialog::backdrop {background:rgba(27,20,57,.62);backdrop-filter:blur(4px);}
.demo-highlight-limit-dialog {overscroll-behavior:contain;}
.demo-highlight-limit-topbar {
 position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;
 min-height:24px;margin-bottom:3px;
}
.demo-highlight-limit-x {
 border:0;background:#f6f5fc;color:#555178;border-radius:50%;
 width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;cursor:pointer;
}
.demo-highlight-limit-x:hover {background:var(--soft-violet);color:var(--violet-dark);}
.demo-highlight-limit-x svg {width:16px;height:16px;}
.demo-highlight-limit-body {padding:13px 21px 16px;}
.demo-highlight-limit-kicker {
 display:block;font-size:10px;letter-spacing:1.15px;font-weight:800;color:var(--violet);
}
.demo-highlight-limit-body h2 {
 font:800 clamp(19px,2.6vw,24px)/1.25 "Plus Jakarta Sans",sans-serif;
 letter-spacing:-.65px;margin:0 0 7px;color:var(--ink);
}
.demo-highlight-limit-body>p {
 font-size:12px;line-height:1.45;color:#656b80;margin:0 0 11px;
}
.demo-highlight-limit-body>p strong {color:var(--violet-dark);font-weight:800;}
.demo-highlight-limit-list-label {
 font-size:11px;font-weight:800;color:#343851;margin-bottom:6px;
}
.demo-highlight-limit-list {display:grid;gap:6px;}
.demo-highlight-limit-item {
 display:flex;align-items:center;gap:9px;padding:8px 10px;
 border:1px solid #e9e6fa;background:#fcfbff;border-radius:13px;
}
.demo-highlight-limit-item>img,.demo-highlight-limit-photo {
 width:48px;height:44px;object-fit:cover;border-radius:9px;flex-shrink:0;
}
.demo-highlight-limit-photo {display:grid;place-items:center;background:var(--soft-violet);color:var(--violet);}
.demo-highlight-limit-photo svg {width:23px;height:23px;}
.demo-highlight-limit-item-info {flex:1;min-width:0;display:grid;gap:4px;}
.demo-highlight-limit-item-info strong {
 font-size:12px;line-height:1.35;font-weight:750;overflow-wrap:anywhere;
}
.demo-highlight-limit-item-info span {color:var(--violet);font-size:10px;font-weight:800;}
.demo-highlight-limit-remove {
 border:1px solid #d6cffc;border-radius:9px;background:#fff;color:var(--violet-dark);
 font-size:11px;font-weight:800;padding:10px;cursor:pointer;flex-shrink:0;
 transition:background .2s,color .2s,border-color .2s;
}
.demo-highlight-limit-remove:hover {background:var(--soft-violet);border-color:var(--violet);}
.demo-highlight-limit-dialog :is(button):focus-visible {outline:3px solid #9b89ff;outline-offset:2px;}
.demo-highlight-limit-body>p.demo-highlight-limit-hint {
 font-size:11px;margin:9px 0 0;color:#777e91;
}
@media(max-width:540px){
 .demo-highlight-limit-dialog {width:calc(100% - 8px);max-height:calc(100dvh - 12px);border-radius:19px;overscroll-behavior:contain;}
 .demo-highlight-limit-body {padding:17px 16px 20px;}
 .demo-highlight-limit-topbar {min-height:32px;margin-bottom:5px;}
 .demo-highlight-limit-kicker {font-size:11px;}
 .demo-highlight-limit-x {width:34px;height:34px;}
 .demo-highlight-limit-body h2 {font-size:21px;line-height:1.22;margin-bottom:9px;}
 .demo-highlight-limit-body>p {font-size:13px;line-height:1.48;margin-bottom:13px;}
 .demo-highlight-limit-list-label {font-size:12px;margin-bottom:8px;}
 .demo-highlight-limit-list {gap:9px;}
 .demo-highlight-limit-item {flex-wrap:nowrap;gap:9px;padding:11px 10px;}
 .demo-highlight-limit-item>img,.demo-highlight-limit-photo {width:51px;height:49px;border-radius:9px;}
 .demo-highlight-limit-item-info {flex:1;min-width:0;gap:3px;}
 .demo-highlight-limit-item-info strong {font-size:12px;line-height:1.36;}
 .demo-highlight-limit-item-info span {font-size:10px;}
 .demo-highlight-limit-remove {width:auto;max-width:112px;margin:0;padding:9px 9px;font-size:11px;line-height:1.35;white-space:normal;}
 .demo-highlight-limit-body>p.demo-highlight-limit-hint {font-size:11px;line-height:1.48;margin-top:12px;margin-bottom:0;}
}

/* Ajuste responsivo: modal ampliado em tablets e desktop.
   O layout compacto de até 540px permanece inalterado. */
@media (min-width:541px) {
 .demo-highlight-limit-dialog {width:min(calc(100% - 48px),650px);}
 .demo-highlight-limit-body {padding:21px 29px 25px;}
 .demo-highlight-limit-topbar {min-height:34px;margin-bottom:7px;}
 .demo-highlight-limit-x {width:36px;height:36px;}
 .demo-highlight-limit-x svg {width:18px;height:18px;}
 .demo-highlight-limit-kicker {font-size:11px;}
 .demo-highlight-limit-body h2 {font-size:23px;line-height:1.28;margin-bottom:10px;}
 .demo-highlight-limit-body>p {font-size:14px;line-height:1.55;margin-bottom:16px;}
 .demo-highlight-limit-list-label {font-size:12px;margin-bottom:9px;}
 .demo-highlight-limit-list {gap:10px;}
 .demo-highlight-limit-item {padding:12px 14px;gap:13px;border-radius:14px;}
 .demo-highlight-limit-item>img,.demo-highlight-limit-photo {width:64px;height:59px;border-radius:10px;}
 .demo-highlight-limit-item-info strong {font-size:13px;line-height:1.4;}
 .demo-highlight-limit-item-info span {font-size:11px;}
 .demo-highlight-limit-remove {font-size:12px;padding:11px 13px;}
 .demo-highlight-limit-body>p.demo-highlight-limit-hint {font-size:12px;margin-top:15px;margin-bottom:0;}
}
@media (min-width:1024px) {
 .demo-highlight-limit-dialog {width:min(calc(100% - 64px),700px);}
}
