
/* Mude Aqui — Home Edition
 * Redesign visual em branch de prévia, sobreposto ao CSS do MVP.
 * Não altera autenticação, regras de acesso ou ações de anúncios.
 */
:root{
  --navy:#292726;
  --navy2:#403a36;
  --mint:#fff1ee;
  --mintdark:#B8353E;
  --cream:#FAF8F6;
  --paper:#fff;
  --soft:#FFF3F2;
  --line:#E9E6E2;
  --text:#292726;
  --sub:#756f6b;
  --orange:#F16B6B;
  --danger:#B8353E;
  --accent:#F16B6B;
  --accent-dark:#B8353E;
  --shadow:0 12px 32px rgba(45,38,35,.07);
}
html{scroll-padding-top:84px}
body{font-family:'Manrope',system-ui,-apple-system,sans-serif;background:#fff;color:var(--text)}
h1,h2,h3,h4{font-family:'Manrope',system-ui,sans-serif;letter-spacing:-.035em}
h1{font-weight:750}
h2{font-weight:750}
:focus-visible{outline:3px solid #E65D65;outline-offset:3px}
.container{width:min(1160px,calc(100% - 48px))}
.topbar{height:76px;background:#fff;border-bottom:1px solid #EFECE9;box-shadow:none}
.logo{font:800 22px/1.1 'Manrope',sans-serif;letter-spacing:-.065em;color:var(--accent-dark);gap:8px}
.logo-mark{width:31px;height:31px;border-radius:9px;background:#FFF3F2;color:var(--accent-dark);display:grid;place-items:center;font-size:21px;font-weight:500;letter-spacing:0}
.logo-wordmark{white-space:nowrap}
.logo-wordmark strong{font-weight:800}
.nav-actions{gap:10px}
.nav-link{color:#5C5652;font-weight:650;font-size:13px}
.nav-link:hover{color:var(--accent-dark)}
.btn{font-family:'Manrope',sans-serif;font-weight:750;border-radius:10px;background:var(--accent-dark);color:white;padding:12px 18px;box-shadow:none;transition:background .2s,transform .2s}
.btn:hover{background:#982c35}
.btn:focus-visible{outline-offset:3px}
.btn.mint{background:#FFF1EF;color:var(--accent-dark)}
.btn.mint:hover{background:#FFE4E0}
.btn.ghost{background:#fff;color:#423b38;border-color:#E5DED9}
.btn.ghost:hover{background:#FAF8F6}
.btn.light{background:#FAF8F6;color:var(--accent-dark)}
.btn.light:hover{background:#FFF1EE}
.btn.red{background:#FFF1EF;color:#A3323B;border-color:#F4CFCD}
.btn.red:hover{background:#FFE2E0}
.btn.sm{border-radius:9px}
.chip{background:#FFF3F2;color:var(--accent-dark);font-size:11px;font-weight:750}
.chip.slate{background:#F5F0E8;color:#856646}
.chip.red{background:#FFE4E2;color:#AA3840}
.label{letter-spacing:.13em;color:var(--accent-dark)}
/* Home: hero editorial com fotografia, sem blocos decorativos genéricos. */
.hero.home-hero{padding:55px 0 74px;background:var(--cream);color:#292726;overflow:visible}
.hero.home-hero:before{display:none}
.home-hero .hero-inner{position:relative;max-width:none;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.96fr);align-items:center;gap:clamp(22px,5vw,80px)}
.home-hero .eyebrow{font-size:11px;border:0;padding:0;color:var(--accent-dark);font-weight:800;margin-bottom:18px;letter-spacing:.13em;border-radius:0}
.home-hero .eyebrow:before{display:none}
.home-hero h1{font-size:clamp(37px,4.3vw,60px);line-height:1.12;letter-spacing:-.05em;margin:0 0 18px;max-width:590px}
.home-hero h1 span{color:var(--accent-dark)}
.home-hero p{color:#766e69;max-width:465px;font-size:15px;line-height:1.75;margin:0 0 24px}
.hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.hero-subtle-link{font-size:13px;color:#5E5550;font-weight:800}
.hero-subtle-link:hover{color:var(--accent-dark)}
.hero-visual{position:relative;margin:0;aspect-ratio:1.47;border-radius:15px;overflow:hidden;background:#E9DFD6}
.hero-visual img{width:100%;height:100%;object-fit:cover;display:block}
.hero-visual figcaption{position:absolute;bottom:15px;left:15px;right:15px;padding:13px 15px;border-radius:10px;background:rgba(255,255,255,.94);backdrop-filter:blur(5px);display:flex;flex-direction:column;gap:3px;color:#33302d;font-size:12px}
.hero-visual figcaption span{font-size:11px;color:#77716b}
.home-search-container{position:relative;z-index:2;margin-top:-28px}
.search-panel{max-width:none;display:grid;grid-template-columns:1.5fr 1fr 1fr auto;align-items:center;gap:0;padding:8px 9px;background:white;border-radius:15px;border:1px solid #EBE6E1;box-shadow:0 12px 36px rgba(50,42,35,.08)}
.search-field{display:flex;flex-direction:column;gap:2px;padding:8px 16px;border-right:1px solid #EAE6E2;min-width:0}
.search-field:nth-child(3){border:0}
.search-field span{font-size:11px;font-weight:800;color:#302e2a}
.search-panel .search-field input,.search-panel .search-field select{padding:5px 0;border:0!important;background:transparent;color:#756d68;font-size:12px;font-weight:550;min-width:0;width:100%;box-shadow:none!important;border-radius:0;outline-offset:4px}
.search-panel .btn{min-height:50px;padding:13px 24px;border-radius:10px}
.home-listings{padding-top:34px;background:#fff}
.category-list{display:flex;gap:24px;overflow-x:auto;white-space:nowrap;border-bottom:1px solid #F0EDEA;margin-bottom:35px;scrollbar-width:thin}
.category-button{border:0;border-bottom:2px solid transparent;background:transparent;color:#79736e;padding:13px 1px 15px;font-weight:650;font-size:13px;white-space:nowrap;flex-shrink:0}
.category-button:hover{color:var(--accent-dark)}
.category-button.active{color:var(--accent-dark);border-bottom-color:var(--accent-dark);font-weight:800}
.section-head{margin-bottom:25px}
.section-head h2{font-size:clamp(23px,2.5vw,33px);letter-spacing:-.045em;margin-bottom:7px}
.section-head p{font-size:13px;color:#807873}
.stats{font-size:12px;color:#89817c}
.filters{margin-bottom:26px;gap:9px;align-items:center}
.filters input,.filters select{border:1px solid #E9E4DF;background:#fff;border-radius:9px;padding:11px 12px;font-size:12px;color:#47413c}
.filters input:focus,.filters select:focus{outline:2px solid #F8C5C5}
.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:19px;row-gap:30px}
.listing-card{border:0;border-radius:0;background:transparent;box-shadow:none;display:block;transition:none}
.listing-card:hover{transform:none;box-shadow:none}
.card-img{aspect-ratio:1.26;height:auto;border-radius:12px;background:#EAE4DE;overflow:hidden}
.card-img img{transition:transform .25s}
.listing-card:hover .card-img img{transform:scale(1.025)}
.card-img .placeholder{background:#EFEAE5;color:#A79A91;font-size:52px}
.card-img .chip{position:absolute;top:10px;left:10px;background:#fff;color:#51433F;box-shadow:0 2px 12px #00000010;font-size:10px}
.card-body{padding:12px 1px 0;gap:0}
.card-title{font-size:14px;font-weight:750;line-height:1.4;letter-spacing:-.02em;margin:0 0 5px}
.card-title-link:hover{text-decoration:underline;text-underline-offset:3px}
.card-sub{font-size:12px;margin-bottom:10px;color:#88817C}
.card-tags{gap:6px;margin:0 0 8px}
.mini-tag{background:#F8F5F2;color:#776F69;font-size:10px;font-weight:650;padding:6px 8px;border-radius:6px}
.card-price{font:800 17px 'Manrope',sans-serif;color:#2F2A27;letter-spacing:-.04em}
.card-price small{font:500 11px 'Manrope',sans-serif;color:#807872}
.card-foot{padding-top:10px}
.card-detail-link{font-size:11px;color:var(--accent-dark);font-weight:750}
.card-detail-link:hover{text-decoration:underline;text-underline-offset:3px}
.empty-state{border:1px dashed #DED3CD;background:#fff;border-radius:12px}
.surface-section{background:#fff;padding-top:12px}
.announce-band{background:#F8F3EF;border-radius:15px;padding:34px 40px}
.announce-band .label{color:var(--accent-dark)!important}
.announce-band h2{font-size:27px}
.announce-band p{color:#79706A;font-size:13px}
.footer{background:#332F2C;color:#F7F5F2;padding:40px 0;margin-top:45px}
.footer .logo{color:#fff}
.footer .logo-mark{background:#544441;color:#FFC6C6}
.footer p{color:#CEC6C0;line-height:1.7}
.footer .legal-links{gap:22px}
.footer .legal-links a{color:#E9DFD8}
/* Detalhes: fotos grandes e informação em blocos editoriais. */
.detail-page{padding-bottom:20px}
.breadcrumb{padding:25px 0 18px;font-size:12px;color:#89817b}
.breadcrumb a{color:#68605B;font-weight:700}
.detail-heading{margin-bottom:21px}
.detail-heading .chip{margin-bottom:12px}
.detail-heading h1{margin:9px 0 8px;font-size:clamp(26px,3vw,40px);letter-spacing:-.045em;line-height:1.2;font-weight:750}
.detail-heading .sub{color:#837B75;font-size:13px}
.detail-gallery{display:block;border-radius:14px;overflow:hidden;background:#F3EEEA}
.detail-gallery.has-thumbs{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:7px}
.detail-gallery .gallery-main{width:100%;height:390px;aspect-ratio:auto;border-radius:0;object-fit:cover;background:#ECE5DE;display:grid;place-items:center;font-size:62px;color:#97867D}
.detail-gallery .gallery-thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:7px;height:390px;margin:0}
/* Balance the photo grid when an advertisement has fewer than five images. */
.detail-gallery[data-thumbs="1"] .gallery-thumbs{grid-template-columns:1fr;grid-template-rows:1fr}
.detail-gallery[data-thumbs="2"] .gallery-thumbs{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr))}
.detail-gallery[data-thumbs="3"] .gallery-thumbs button:first-child{grid-row:1/3}
.detail-gallery .gallery-thumbs button{display:block;width:100%;min-width:0;min-height:0;overflow:hidden;border:0;border-radius:0;background:#EEE9E5;padding:0;cursor:pointer}
.detail-gallery .gallery-thumbs img{display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:0;cursor:pointer}
.detail-gallery .gallery-thumbs button.selected{outline:4px solid var(--accent);outline-offset:-4px}
.gallery-extra{display:flex;gap:10px;align-items:center;font-size:11px;margin:12px 0 0;color:#77706B}
.gallery-extra button{font-size:11px;border:1px solid var(--line);background:white;color:var(--accent-dark);padding:8px 10px;border-radius:8px}
.detail-layout{grid-template-columns:minmax(0,1fr) 345px;gap:42px;margin-top:32px}
.detail-intro{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:22px}
.detail-intro h2{font-size:21px;margin:0 0 8px}
.detail-intro p{font-size:13px;color:var(--sub);margin:0}
.detail-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}
.detail-panel{padding:0 0 23px;margin:0 0 25px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.detail-panel h3{font-size:18px;margin-bottom:12px}
.detail-panel p{font-size:13px;line-height:1.9;color:#69625D}
.detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}
.detail-facts div{padding:8px 0;background:transparent;border-radius:0}
.detail-facts div b{font-size:13px;color:#403A36}
.detail-facts div span{font-size:11px;color:#89817c}
.detail-map-link{display:inline-block;font-size:13px;font-weight:750;color:var(--accent-dark);margin-top:15px}
.detail-map-link:hover{text-decoration:underline}
.contact-panel{border:1px solid #E8E3DF;border-radius:14px;box-shadow:0 12px 32px rgba(37,30,29,.06);padding:24px;top:95px}
.contact-panel .label{color:#89817C;font-size:10px}
.contact-price{font:800 30px 'Manrope',sans-serif;color:#282423;letter-spacing:-.05em;margin-top:7px}
.contact-price small{font-size:12px;color:#817975}
.contact-panel h3{font-size:15px;margin-bottom:5px}
.contact-panel .divider{margin:18px 0}
.contact-panel .btn{font-size:13px}
.contact-safety{line-height:1.7;margin-top:18px!important}
.detail-report{text-decoration:underline;text-underline-offset:3px}
/* Painel: informações úteis, sem dashboards decorativos. */
.page-title{padding:43px 0 22px}
.page-title h1{font-size:clamp(26px,3vw,38px);letter-spacing:-.045em;margin:5px 0 8px}
.page-title p{font-size:13px;color:#807973}
.dashboard-heading{background:#FAF8F6;padding:38px 0 26px}
.dashboard-heading h1{font-size:clamp(27px,3vw,42px)}
.dashboard-layout{grid-template-columns:222px minmax(0,1fr);gap:22px;padding-top:24px}
.sidebar,.panel{border:1px solid #EEE9E4;box-shadow:none;border-radius:12px;background:#fff}
.sidebar{padding:14px;top:95px}
.side-item{border-radius:8px;color:#68615C;font-size:13px;font-weight:650}
.side-item.active,.side-item:hover{background:#FFF0EF;color:#A7343D}
.metric-grid{gap:13px;margin-bottom:20px}
.metric{border:1px solid #ECE7E2;border-radius:11px;padding:20px;display:flex;flex-direction:column;gap:7px}
.metric span{font-size:11px;order:0;color:#8C857F}
.metric b{font:800 29px 'Manrope',sans-serif;color:#282423;order:1;letter-spacing:-.05em}
.metric small{font-size:10px;color:#958E88;order:2}
.dashboard-listings{padding:23px}
.dashboard-listings h3{font-size:18px}
.manage-item{border-color:#F0ECE8;padding:17px 0;gap:14px}
.manage-thumb{height:76px;width:95px;border-radius:9px;background:#F3EDE8}
.manage-placeholder{display:grid;place-items:center;font-size:28px;color:#A59A91}
.manage-content h4{font-size:13px;font-weight:750;letter-spacing:-.02em;margin-bottom:7px}
.manage-title-link:hover{color:var(--accent-dark)}
.manage-content .small{font-size:11px}
.manage-right{display:flex;flex-direction:column;align-items:flex-end;gap:9px}
.manage-status .chip{font-size:10px}
.manage-status .chip:not(.slate):not(.red){background:#ECF5EE;color:#34654B}
.manage-actions{gap:6px;justify-content:flex-end}
.manage-actions .btn{padding:7px 10px;font-size:11px;font-weight:700}
.dashboard-hint{background:#F8F4F0;padding:15px 18px;border-radius:10px;color:#756D67;font-size:11px;margin-top:16px;line-height:1.7}
/* Formulários e documentos legais preservados e atualizados visualmente. */
.field label{color:#514B47;font-weight:750}
.field input,.field select,.field textarea{border:1px solid #E5DED8;border-radius:10px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#E65D65;box-shadow:0 0 0 3px #FFF0EF}
.check-row input{accent-color:var(--accent-dark)}
.auth-shell{border-color:#EEE7E2;box-shadow:0 14px 40px rgba(60,43,37,.05);border-radius:16px}
.auth-help a{color:var(--accent-dark)}
.upload-hint{background:#FFF9F7;border-color:#E8C8C4}
.note{background:#FFF4F0;color:#7D4D46}
.note.warning{background:#FFF5E6;color:#89632A}
.note.error{background:#FFEBE8;color:#A3333E}
.notice{background:#332D2B}
.notice.success{background:#28614E}
.notice.error{background:#A3333E}
.loader{border-color:#FFE6E3;border-top-color:var(--accent-dark)}
@media(max-width:940px){
  .home-hero .hero-inner{gap:28px}
  .home-hero h1{font-size:clamp(33px,4vw,49px)}
  .detail-layout{grid-template-columns:minmax(0,1fr) 315px;gap:22px}
  .dashboard-layout{grid-template-columns:1fr}
  .sidebar{position:static;display:flex;flex-wrap:wrap}
}
@media(max-width:700px){
  .topbar{height:67px}
  .nav-actions .nav-link{display:none}
  .header-cta{display:none}
  .logo{font-size:19px}
  .logo-mark{width:28px;height:28px}
  .home-hero .hero-inner{grid-template-columns:1fr}
  .hero.home-hero{padding:40px 0 51px}
  .home-hero h1{font-size:clamp(33px,7vw,47px)}
  .home-hero p{font-size:14px}
  .hero-visual{aspect-ratio:1.9}
  .search-panel{grid-template-columns:1fr 1fr;gap:5px}
  .search-field{border:0;border-bottom:1px solid var(--line);padding:10px}
  .search-field:first-child{grid-column:1/-1}
  .search-panel .btn{grid-column:1/-1;min-height:45px}
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 13px}
  .card-img{height:auto;aspect-ratio:1.06}
  .card-title{font-size:13px}
  .card-sub{font-size:11px}
  .category-list{gap:17px}
  .detail-gallery .gallery-main{height:290px}
  .detail-gallery .gallery-thumbs{height:290px}
  .detail-layout{grid-template-columns:1fr}
  .contact-panel{position:static;grid-row:1}
  .announce-band{padding:25px}
  .announce-band h2{font-size:24px}
}
@media(max-width:480px){
  .container{width:min(100% - 30px,1160px)}
  .hero.home-hero{padding:33px 0 45px}
  .home-hero .eyebrow{font-size:10px}
  .home-hero h1{font-size:34px}
  .hero-actions{gap:14px}
  .hero-visual{aspect-ratio:1.7}
  .hero-visual figcaption{bottom:9px;left:9px;right:9px;padding:9px 10px}
  .home-search-container{margin-top:-15px}
  .home-listings{padding-top:25px}
  .filters{gap:8px}
  .filters input,.filters select{min-width:0;width:calc(50% - 4px);flex:1 1 calc(50% - 4px)}
  .filters .btn{flex:1 1 100%;width:100%}
  .card-price{font-size:15px}
  .card-price small{font-size:10px}
  .card-tags{margin-bottom:6px}
  .card-detail-link{font-size:10px}
  .detail-gallery.has-thumbs{grid-template-columns:1fr;gap:5px}
  .detail-gallery .gallery-main{height:235px}
  .detail-gallery .gallery-thumbs{height:82px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr;gap:5px}
  .detail-gallery[data-thumbs="1"] .gallery-thumbs,
  .detail-gallery[data-thumbs="2"] .gallery-thumbs,
  .detail-gallery[data-thumbs="3"] .gallery-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr}
  .detail-gallery[data-thumbs="3"] .gallery-thumbs button:first-child{grid-row:auto}
  .detail-heading h1{font-size:26px}
  .detail-layout{margin-top:23px}
  .contact-panel{padding:20px}
  .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .metric{padding:13px 9px}
  .metric span{font-size:9px}
  .metric b{font-size:25px}
  .metric small{font-size:9px}
  .dashboard-heading .between{align-items:flex-start;gap:11px}
  .dashboard-heading .btn{padding:10px;font-size:11px}
  .dashboard-listings{padding:16px}
  .manage-item{align-items:flex-start;flex-wrap:wrap}
  .manage-thumb{height:64px;width:77px}
  .manage-right{width:100%;flex-direction:row;justify-content:space-between;align-items:center}
  .manage-actions .btn{padding:7px 8px}
  .sidebar{gap:3px}
  .side-item{font-size:11px;padding:10px}
  .footer .logo{font-size:19px}
}
@media(prefers-reduced-motion:reduce){
  .listing-card,.card-img img,.btn{transition:none!important}
  .listing-card:hover .card-img img{transform:none}
}

/* Ícone da marca compartilhado pelo favicon, cabeçalho e rodapé. */
.logo-mark,.footer .logo-mark{width:34px;height:34px;padding:0;background:transparent;border-radius:10px;display:grid;place-items:center;overflow:hidden;flex-shrink:0}
.logo-icon{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:700px){.logo-mark,.footer .logo-mark{width:30px;height:30px}}
