:root {
    --green: #166534;
    --green-2: #22c55e;
    --blue: #0f6fff;
    --yellow: #facc15;
    --orange: #f97316;
    --red: #dc2626;
    --purple: #7c3aed;
    --black: #0f172a;
    --gray: #64748b;
    --line: #e2e8f0;
    --soft: #f8fafc;
    --white: #ffffff;
    --radius: 8px;
    --shadow: 0 18px 45px rgba(15, 23, 42, .12);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--black);
    background: var(--soft);
    font-size: 16px;
    line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.page { min-height: 100vh; padding-bottom: 82px; }
.container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.wide { width: min(1360px, calc(100% - 28px)); margin: 0 auto; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: rgba(255, 255, 255, .92);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(16px);
}
.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 74px;
}
.brand-link { display: flex; align-items: center; gap: 12px; font-weight: 900; letter-spacing: 0; }
.brand-link img { width: 44px; height: 44px; object-fit: contain; border-radius: 8px; }
.brand-copy small { display: block; color: var(--green); font-weight: 700; line-height: 1.1; }
.brand-copy span { display: block; font-size: 1.02rem; line-height: 1.1; }
.nav-links { display: flex; align-items: center; gap: 8px; }
.nav-links a, .nav-links button {
    min-height: 42px;
    padding: 10px 14px;
    border: 0;
    border-radius: var(--radius);
    background: transparent;
    color: var(--black);
    font-weight: 800;
}
.nav-links a:hover, .nav-links button:hover { background: #ecfdf5; color: var(--green); }
.hamburger {
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--white);
}
.hamburger span { display: block; width: 20px; height: 2px; background: var(--black); margin: 5px auto; }

.mobile-bottom {
    position: fixed;
    z-index: 50;
    bottom: 0;
    left: 0;
    right: 0;
    display: none;
    background: rgba(255, 255, 255, .96);
    border-top: 1px solid var(--line);
    backdrop-filter: blur(18px);
}
.mobile-bottom a, .mobile-bottom button {
    flex: 1;
    min-height: 66px;
    border: 0;
    background: transparent;
    display: grid;
    place-items: center;
    gap: 2px;
    color: var(--gray);
    font-size: .76rem;
    font-weight: 800;
}
.mobile-bottom .icon { width: 22px; height: 22px; }

.icon { width: 18px; height: 18px; display: inline-block; vertical-align: -3px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.btn {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid transparent;
    border-radius: var(--radius);
    padding: 11px 16px;
    font-weight: 900;
    color: var(--white);
    background: var(--green);
    box-shadow: 0 10px 22px rgba(22, 101, 52, .18);
}
.btn:hover { filter: brightness(.98); transform: translateY(-1px); }
.btn.secondary { background: var(--blue); box-shadow: 0 10px 22px rgba(15, 111, 255, .18); }
.btn.orange { background: var(--orange); box-shadow: 0 10px 22px rgba(249, 115, 22, .18); }
.btn.yellow { background: var(--yellow); color: #3f2a00; box-shadow: 0 10px 22px rgba(250, 204, 21, .22); }
.btn.purple { background: var(--purple); box-shadow: 0 10px 22px rgba(124, 58, 237, .18); }
.btn.danger { background: var(--red); box-shadow: 0 10px 22px rgba(220, 38, 38, .18); }
.btn.dark { background: var(--black); }
.btn.ghost {
    color: var(--black);
    background: var(--white);
    border-color: var(--line);
    box-shadow: none;
}
.btn.small { min-height: 38px; padding: 8px 11px; font-size: .88rem; }
.btn.block { width: 100%; }

.hero-feed {
    background: linear-gradient(135deg, #052e16 0%, #166534 46%, #0f6fff 100%);
    color: var(--white);
    padding: 34px 0 28px;
}
.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: stretch; }
.hero-title { margin: 0; font-size: clamp(2rem, 4vw, 4.3rem); line-height: 1.02; letter-spacing: 0; max-width: 860px; }
.hero-copy { margin: 14px 0 0; max-width: 740px; color: rgba(255, 255, 255, .88); font-size: 1.08rem; }
.hero-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 24px; max-width: 680px; }
.metric { border: 1px solid rgba(255,255,255,.22); border-radius: var(--radius); padding: 14px; background: rgba(255,255,255,.08); }
.metric strong { display: block; font-size: 1.5rem; }
.hero-panel { background: rgba(255,255,255,.11); border: 1px solid rgba(255,255,255,.22); border-radius: var(--radius); padding: 16px; }
.hero-panel img { border-radius: var(--radius); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }

.filter-band { margin-top: -20px; position: relative; z-index: 2; }
.filters {
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 14px;
    box-shadow: var(--shadow);
}
.filter-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.field { display: grid; gap: 7px; }
.field label { font-size: .82rem; font-weight: 900; color: #334155; }
.field input, .field select, .field textarea {
    width: 100%;
    min-height: 46px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 10px 12px;
    background: var(--white);
    color: var(--black);
}
.field textarea { min-height: 110px; resize: vertical; }
.checks { display: flex; flex-wrap: wrap; gap: 8px; }
.check-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    font-weight: 800;
    font-size: .88rem;
}

.section { padding: 28px 0; }
.section-title { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.section-title h2, .section-title h1 { margin: 0; font-size: clamp(1.5rem, 2.6vw, 2.2rem); letter-spacing: 0; }
.section-title p { margin: 5px 0 0; color: var(--gray); }

.farm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.farm-card {
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(15, 23, 42, .06);
}
.farm-media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #dcfce7; }
.farm-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.farm-card:hover .farm-media img { transform: scale(1.035); }
.farm-badges { position: absolute; inset: 10px 10px auto 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.badge { display: inline-flex; align-items: center; gap: 5px; border-radius: var(--radius); padding: 5px 8px; font-size: .75rem; font-weight: 900; background: #e2e8f0; color: #334155; }
.badge-ok { background: #dcfce7; color: #166534; }
.badge-warn { background: #fef3c7; color: #92400e; }
.badge-danger { background: #fee2e2; color: #991b1b; }
.badge-dark { background: #111827; color: #fff; }
.badge-premium { background: #ede9fe; color: var(--purple); }
.badge-blue { background: #dbeafe; color: #1d4ed8; }
.farm-body { padding: 14px; display: grid; gap: 11px; }
.farm-body h3 { margin: 0; font-size: 1.15rem; line-height: 1.18; letter-spacing: 0; }
.farm-meta { display: flex; flex-wrap: wrap; gap: 8px; color: var(--gray); font-weight: 800; font-size: .9rem; }
.farm-price { font-size: 1.28rem; font-weight: 950; color: var(--green); }
.farm-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.farm-actions .span { grid-column: 1 / -1; }

.featured-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 360px); gap: 14px; overflow-x: auto; padding-bottom: 8px; }
.empty-state {
    background: var(--white);
    border: 1px dashed #cbd5e1;
    border-radius: var(--radius);
    padding: 28px;
    text-align: center;
    color: var(--gray);
}

.single-hero { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr); gap: 20px; align-items: start; }
.gallery-main { border-radius: var(--radius); overflow: hidden; background: #dcfce7; border: 1px solid var(--line); }
.gallery-main img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.gallery-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 8px; }
.gallery-thumbs img { aspect-ratio: 1.25; object-fit: cover; border-radius: var(--radius); border: 2px solid transparent; cursor: pointer; }
.info-panel, .card, .form-card {
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: 0 12px 28px rgba(15,23,42,.06);
}
.info-panel { padding: 18px; position: sticky; top: 94px; }
.price-big { font-size: clamp(1.8rem, 3vw, 2.5rem); color: var(--green); font-weight: 950; margin: 8px 0; }
.quick-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 16px 0; }
.quick-stats div { border: 1px solid var(--line); border-radius: var(--radius); padding: 10px; background: #f8fafc; }
.quick-stats span { display: block; color: var(--gray); font-size: .78rem; font-weight: 900; }
.quick-stats strong { display: block; font-size: .98rem; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; }
.feature-grid, .stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.mini-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 13px; background: var(--white); }
.mini-card strong { display: block; }
.mini-card span { color: var(--gray); font-size: .9rem; }
.score { height: 10px; border-radius: 99px; background: #e2e8f0; overflow: hidden; }
.score i { display: block; height: 100%; background: linear-gradient(90deg, var(--green), var(--yellow), var(--purple)); }

.panel-shell { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 18px; padding: 22px 0; }
.panel-sidebar {
    position: sticky;
    top: 94px;
    align-self: start;
    background: #0f172a;
    color: #fff;
    border-radius: var(--radius);
    padding: 14px;
}
.panel-sidebar a { display: flex; align-items: center; gap: 10px; min-height: 44px; border-radius: var(--radius); padding: 10px; color: rgba(255,255,255,.82); font-weight: 850; }
.panel-sidebar a:hover, .panel-sidebar a.active { background: rgba(255,255,255,.1); color: #fff; }
.panel-main { min-width: 0; display: grid; gap: 16px; }
.stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stat { padding: 16px; border-left: 5px solid var(--green); }
.stat.blue { border-left-color: var(--blue); }
.stat.orange { border-left-color: var(--orange); }
.stat.purple { border-left-color: var(--purple); }
.stat.red { border-left-color: var(--red); }
.stat span { color: var(--gray); font-weight: 900; font-size: .85rem; }
.stat strong { display: block; font-size: 2rem; line-height: 1.05; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 760px; }
th, td { padding: 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { font-size: .78rem; text-transform: uppercase; color: var(--gray); letter-spacing: .04em; }
.thumb { width: 78px; height: 58px; object-fit: cover; border-radius: var(--radius); background: #dcfce7; }
.actions-row { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }

.form-card { padding: 18px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.form-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.field.full { grid-column: 1 / -1; }
.step-title { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; }
.step-title b { display: grid; place-items: center; width: 32px; height: 32px; background: var(--green); color: #fff; border-radius: var(--radius); }
.upload-preview { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
.upload-preview img { width: 108px; height: 82px; object-fit: cover; border-radius: var(--radius); border: 1px solid var(--line); }
.photo-editor { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.photo-editor figure { margin: 0; border: 1px solid var(--line); border-radius: var(--radius); padding: 8px; background: #fff; }
.photo-editor img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--radius); }

.auth-wrap, .install-wrap, .error-wrap {
    min-height: calc(100vh - 74px);
    display: grid;
    place-items: center;
    padding: 28px 0;
}
.auth-card, .install-card, .error-card {
    width: min(940px, calc(100% - 28px));
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
}
.auth-card { display: grid; grid-template-columns: .9fr 1.1fr; }
.auth-aside {
    padding: 28px;
    color: #fff;
    background: linear-gradient(145deg, var(--green), #052e16 54%, var(--blue));
}
.auth-form { padding: 28px; }
.alert { border-radius: var(--radius); padding: 12px 14px; margin: 14px 0; font-weight: 800; }
.alert.success { background: #dcfce7; color: #166534; }
.alert.error { background: #fee2e2; color: #991b1b; }
.errors { background: #fff1f2; border: 1px solid #fecdd3; color: #9f1239; border-radius: var(--radius); padding: 12px; margin: 12px 0; }
.errors ul { margin: 0; padding-left: 18px; }

.modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 80;
    padding: 18px;
    background: rgba(15, 23, 42, .62);
}
.modal.open { display: flex; }
.modal-dialog { width: min(560px, 100%); max-height: calc(100vh - 36px); overflow: auto; background: #fff; border-radius: var(--radius); padding: 18px; }
.modal-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 12px; }
.modal-close { width: 38px; height: 38px; border: 1px solid var(--line); background: #fff; border-radius: var(--radius); font-weight: 900; }

.pagination { display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; margin-top: 20px; }
.pagination nav { width: 100%; }
.pagination svg { width: 18px; height: 18px; }

.footer { background: #0f172a; color: rgba(255,255,255,.82); padding: 28px 0 90px; margin-top: 30px; }
.footer-grid { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; }
.footer a { color: #fff; font-weight: 900; }

@media (max-width: 1060px) {
    .filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .farm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hero-grid, .single-hero, .content-grid { grid-template-columns: 1fr; }
    .info-panel { position: static; }
    .feature-grid, .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .page { padding-bottom: 84px; }
    .container, .wide { width: min(100% - 22px, 1180px); }
    .hamburger { display: block; }
    .nav-links {
        position: fixed;
        top: 74px;
        left: 11px;
        right: 11px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        padding: 10px;
        box-shadow: var(--shadow);
    }
    .nav-links.open { display: flex; }
    .mobile-bottom { display: flex; }
    .hero-feed { padding: 24px 0 30px; }
    .hero-panel { display: none; }
    .hero-metrics { grid-template-columns: 1fr; }
    .filter-grid, .farm-grid, .form-grid, .form-grid.three, .auth-card, .panel-shell, .footer-grid { grid-template-columns: 1fr; }
    .farm-actions { grid-template-columns: 1fr; }
    .panel-sidebar { position: static; }
    .gallery-thumbs { grid-template-columns: repeat(3, 1fr); }
    .quick-stats { grid-template-columns: 1fr; }
    .section-title { align-items: start; flex-direction: column; }
    .auth-form, .auth-aside { padding: 20px; }
}

@media print {
    .site-header, .mobile-bottom, .footer, .no-print { display: none !important; }
    body { background: #fff; }
    .page { padding-bottom: 0; }
    .container { width: 100%; }
    .card, .info-panel, .form-card { box-shadow: none; }
}

/* Refinamento premium da home, busca e ações - Pinho Fazendas */
:root { --radius: 14px; --radius-lg: 24px; }
.icon { flex: 0 0 auto; }
.btn, .nav-links a, .nav-links button, .footer a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.btn {
    letter-spacing: -.01em;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, border-color .18s ease;
}
.btn .icon { width: 19px; height: 19px; }
.btn.ghost:hover { border-color: rgba(22, 101, 52, .28); color: var(--green); box-shadow: 0 10px 24px rgba(15, 23, 42, .07); }
.hero-premium {
    position: relative;
    overflow: hidden;
    padding: 48px 0 58px;
    background:
        radial-gradient(circle at 14% 16%, rgba(250, 204, 21, .24) 0, rgba(250, 204, 21, 0) 27%),
        radial-gradient(circle at 86% 20%, rgba(124, 58, 237, .20) 0, rgba(124, 58, 237, 0) 24%),
        linear-gradient(135deg, #052e16 0%, #115e35 44%, #0f6fff 100%);
}
.hero-premium::after {
    content: "";
    position: absolute;
    width: 680px;
    height: 680px;
    right: -260px;
    bottom: -430px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    pointer-events: none;
}
.hero-premium .hero-grid {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
    gap: clamp(22px, 5vw, 52px);
    align-items: center;
}
.hero-copy-wrap { max-width: 860px; }
.hero-kicker,
.filter-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.hero-kicker {
    padding: 8px 12px;
    color: #fff7cc;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.24);
    backdrop-filter: blur(12px);
}
.hero-premium .hero-title {
    margin-top: 16px;
    max-width: 820px;
    letter-spacing: -.055em;
    text-shadow: 0 16px 34px rgba(0,0,0,.14);
}
.hero-premium .hero-copy { max-width: 760px; font-size: clamp(1rem, 1.35vw, 1.18rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.hero-ghost { color: #fff; background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.26); backdrop-filter: blur(14px); }
.hero-ghost:hover { color: #fff; border-color: rgba(255,255,255,.5); box-shadow: 0 16px 30px rgba(0,0,0,.12); }
.hero-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.hero-chips span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 11px;
    border-radius: 999px;
    color: rgba(255,255,255,.9);
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.18);
    font-weight: 850;
}
.hero-chips .icon { width: 17px; height: 17px; }
.hero-showcase {
    position: relative;
    padding: 18px;
    border-radius: var(--radius-lg);
    background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.08));
    box-shadow: 0 30px 80px rgba(0,0,0,.18);
}
.hero-showcase img { border-radius: 18px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.4); }
.hero-floating-card {
    position: absolute;
    left: -20px;
    bottom: 28px;
    width: min(260px, 80%);
    padding: 14px 16px;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 18px;
    background: rgba(15, 23, 42, .72);
    backdrop-filter: blur(16px);
    box-shadow: 0 22px 45px rgba(0,0,0,.18);
}
.hero-floating-card strong { display: block; color: #fff; font-size: .98rem; }
.hero-floating-card span { display: block; color: rgba(255,255,255,.78); font-size: .86rem; margin-top: 3px; }
.filters-premium {
    position: relative;
    padding: 18px;
    border: 1px solid rgba(22, 101, 52, .14);
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98)),
        radial-gradient(circle at 0 0, rgba(34,197,94,.12), transparent 34%);
    box-shadow: 0 24px 70px rgba(15,23,42,.12);
}
.filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}
.filter-head strong { display: block; margin-top: 4px; font-size: clamp(1.05rem, 2vw, 1.35rem); letter-spacing: -.03em; }
.filter-kicker { color: var(--green); }
.filters-premium .filter-grid { grid-template-columns: 1.35fr repeat(5, minmax(130px, 1fr)); }
.filters-premium .field-wide { grid-column: span 2; }
.filters-premium .field label { color: #0f172a; }
.filters-premium .field input,
.filters-premium .field select {
    min-height: 50px;
    border-radius: 14px;
    background: #fff;
    border-color: #dbe5ef;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.filters-premium .field input:focus,
.filters-premium .field select:focus,
.field textarea:focus {
    outline: none;
    border-color: rgba(22, 101, 52, .55);
    box-shadow: 0 0 0 4px rgba(34,197,94,.12);
}
.filter-checks { align-items: center; margin-top: 14px; }
.filter-checks .check-pill {
    min-height: 42px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15,23,42,.04);
}
.check-pill .icon { width: 16px; height: 16px; color: var(--green); }
.section-title h2, .section-title h1 { letter-spacing: -.04em; }
.farm-card-premium {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .08);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.farm-card-premium:hover {
    transform: translateY(-3px);
    border-color: rgba(22, 101, 52, .22);
    box-shadow: 0 28px 65px rgba(15, 23, 42, .14);
}
.farm-card-premium .farm-media { aspect-ratio: 16 / 11; background: linear-gradient(135deg, #dcfce7, #dbeafe); }
.farm-card-premium .farm-badges { inset: 12px 12px auto 12px; }
.farm-card-premium .badge { backdrop-filter: blur(12px); background: rgba(255,255,255,.9); border: 1px solid rgba(255,255,255,.64); }
.farm-card-premium .badge-premium { color: #6d28d9; }
.farm-card-premium .badge-blue { color: #1d4ed8; }
.farm-card-premium .badge .icon { width: 14px; height: 14px; }
.farm-card-premium .farm-body { padding: 16px; gap: 13px; }
.farm-card-premium h3 { font-size: 1.18rem; letter-spacing: -.025em; }
.farm-card-premium .farm-meta { gap: 9px; }
.farm-card-premium .farm-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: .84rem;
    color: #475569;
}
.farm-card-premium .farm-meta .icon { width: 14px; height: 14px; color: var(--green); }
.farm-summary {
    margin: 0;
    color: #475569;
    min-height: 3.1em;
    line-height: 1.55;
}
.farm-price-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    padding: 13px;
    border-radius: 16px;
    background: linear-gradient(135deg, #ecfdf5, #eff6ff);
    border: 1px solid #dbeafe;
}
.farm-price-row span { color: #64748b; font-size: .78rem; font-weight: 950; text-transform: uppercase; letter-spacing: .06em; }
.farm-price-row strong { color: var(--green); font-size: clamp(1.1rem, 2vw, 1.38rem); line-height: 1.05; text-align: right; }
.farm-actions-primary { grid-template-columns: 1fr 1.18fr auto; align-items: stretch; }
.farm-actions-primary form { margin: 0; }
.farm-actions-primary .favorite-btn { min-width: 54px; padding-inline: 12px; }
.farm-actions-primary .favorite-btn .icon { color: var(--red); }
.modal-dialog { border-radius: 22px; box-shadow: 0 30px 90px rgba(0,0,0,.24); }
.modal-close { display: inline-flex; align-items: center; justify-content: center; }
.modal-close .icon { width: 18px; height: 18px; }
@media (max-width: 1180px) {
    .filters-premium .filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .filters-premium .field-wide { grid-column: span 1; }
}
@media (max-width: 760px) {
    .hero-premium { padding: 30px 0 46px; }
    .hero-premium .hero-grid { grid-template-columns: 1fr; }
    .hero-premium .hero-title { font-size: clamp(2rem, 11vw, 3.25rem); }
    .hero-actions .btn { width: 100%; }
    .hero-chips span { flex: 1 1 auto; }
    .filter-head { align-items: stretch; flex-direction: column; }
    .filter-head .btn { width: 100%; }
    .filters-premium .filter-grid { grid-template-columns: 1fr; }
    .filters-premium .field-wide { grid-column: span 1; }
    .filter-checks .btn { width: 100%; }
    .farm-card-premium .farm-media { aspect-ratio: 16 / 10; }
    .farm-actions-primary { grid-template-columns: 1fr; }
    .farm-actions-primary .favorite-btn { width: 100%; }
    .farm-price-row { align-items: start; flex-direction: column; }
    .farm-price-row strong { text-align: left; }
}

/* Single da propriedade app-like - Pinho Fazendas */
.single-app-page {
    padding: 18px 0 8px;
    background: #f4f8f5;
}
.single-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0 0 14px;
}
.single-back,
.single-chip,
.single-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 950;
}
.single-back {
    min-height: 42px;
    padding: 9px 13px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    color: #166534;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .06);
}
.single-status-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.single-chip {
    min-height: 38px;
    padding: 8px 11px;
    border-radius: 999px;
    color: #0f172a;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    font-size: .82rem;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .05);
}
.single-chip .icon { width: 16px; height: 16px; color: var(--green); }
.chip-premium { color: #5b21b6; background: #faf5ff; border-color: #e9d5ff; }
.chip-premium .icon { color: #7c3aed; }
.single-app-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
    gap: 18px;
    align-items: start;
}
.single-gallery-card,
.single-summary-card,
.single-card {
    background: rgba(255,255,255,.98);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 26px;
    box-shadow: 0 18px 55px rgba(15, 23, 42, .08);
}
.single-gallery-card { padding: 10px; overflow: hidden; }
.single-gallery-main {
    position: relative;
    border-radius: 22px;
    border: 0;
    background: #e7f5ea;
}
.single-gallery-main img { aspect-ratio: 16 / 9.5; }
.single-photo-count {
    position: absolute;
    left: 14px;
    bottom: 14px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 8px 11px;
    border-radius: 999px;
    color: #fff;
    background: rgba(15,23,42,.72);
    backdrop-filter: blur(14px);
    font-weight: 900;
    font-size: .85rem;
}
.single-photo-count .icon { width: 16px; height: 16px; }
.single-gallery-thumbs {
    grid-template-columns: repeat(6, 1fr);
    gap: 9px;
    margin-top: 10px;
}
.single-gallery-thumbs img {
    border-radius: 16px;
    border-color: #e2e8f0;
    opacity: .86;
    transition: opacity .18s ease, transform .18s ease, border-color .18s ease;
}
.single-gallery-thumbs img:hover { opacity: 1; transform: translateY(-1px); border-color: rgba(22, 101, 52, .34); }
.single-summary-card {
    position: sticky;
    top: 92px;
    padding: 18px;
    display: grid;
    gap: 15px;
}
.single-title-block h1 {
    margin: 9px 0 8px;
    font-size: clamp(1.7rem, 3vw, 2.65rem);
    line-height: 1.02;
    letter-spacing: -.055em;
    color: #0f172a;
}
.single-title-block p,
.single-card-head p,
.single-muted { color: #64748b; margin: 0; }
.single-kicker {
    width: fit-content;
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 999px;
    color: #166534;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    font-size: .78rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.single-price-box {
    padding: 15px;
    border-radius: 20px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}
.single-price-box span {
    display: block;
    color: #64748b;
    font-size: .78rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .07em;
}
.single-price-box strong,
.single-side-price {
    display: block;
    margin-top: 4px;
    color: var(--green);
    font-size: clamp(1.75rem, 3vw, 2.55rem);
    line-height: 1;
    letter-spacing: -.045em;
    font-weight: 950;
}
.single-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.single-stat-card {
    min-width: 0;
    padding: 13px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #e2e8f0;
}
.single-stat-card .icon,
.single-potential-list .icon { color: var(--green); width: 21px; height: 21px; }
.single-stat-card span {
    display: block;
    margin-top: 6px;
    color: #64748b;
    font-size: .75rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.single-stat-card strong {
    display: block;
    margin-top: 2px;
    color: #0f172a;
    line-height: 1.18;
    word-break: break-word;
}
.single-score-card {
    display: grid;
    gap: 9px;
    padding: 13px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}
.single-score-card > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.single-score-card span { color: #64748b; font-weight: 900; }
.single-score-card strong { color: #0f172a; }
.single-score.score i { background: var(--green); }
.single-actions-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}
.single-actions-grid form { margin: 0; }
.single-actions-grid .btn:nth-child(5) { grid-column: 1 / -1; }
.single-content-section { padding-top: 20px; }
.single-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: 18px;
    align-items: start;
}
.single-main-stack,
.single-side-stack { display: grid; gap: 16px; min-width: 0; }
.single-sticky-card { position: sticky; top: 92px; }
.single-card { padding: 20px; }
.single-card-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
}
.single-card-head.compact { margin-bottom: 12px; }
.single-card-head h2 {
    margin: 0;
    font-size: clamp(1.18rem, 2vw, 1.55rem);
    letter-spacing: -.035em;
    color: #0f172a;
}
.single-icon-badge {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 16px;
    color: var(--green);
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    flex: 0 0 auto;
}
.single-icon-badge .icon { width: 21px; height: 21px; }
.single-copy {
    display: grid;
    gap: 10px;
    color: #334155;
    font-size: 1.02rem;
}
.single-copy p { margin: 0; }
.single-copy strong { color: #0f172a; }
.single-note-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}
.single-note-card {
    padding: 15px;
    border-radius: 20px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}
.single-note-card .icon { color: var(--green); }
.single-note-card h3 { margin: 8px 0 5px; font-size: 1rem; }
.single-note-card p { margin: 0; color: #475569; }
.single-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.single-feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid #e2e8f0;
    background: #fff;
}
.single-feature-icon {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 14px;
    flex: 0 0 auto;
    background: #f1f5f9;
    color: #64748b;
}
.single-feature-icon .icon { width: 19px; height: 19px; }
.single-feature-item strong { display: block; color: #0f172a; line-height: 1.15; }
.single-feature-item small { display: block; margin-top: 3px; color: #64748b; font-weight: 800; }
.single-feature-item.is-on {
    background: #f0fdf4;
    border-color: #bbf7d0;
}
.single-feature-item.is-on .single-feature-icon {
    color: var(--green);
    background: #dcfce7;
}
.single-feature-item.is-on small { color: #166534; }
.single-highlight-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.single-highlight-card {
    display: flex;
    gap: 11px;
    padding: 14px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid #e2e8f0;
}
.single-highlight-card > span {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    color: #166534;
    background: #dcfce7;
    flex: 0 0 auto;
}
.single-highlight-card .icon { width: 17px; height: 17px; }
.single-highlight-card strong { display: block; color: #0f172a; }
.single-highlight-card p { margin: 4px 0 0; color: #64748b; }
.single-side-price { margin: 8px 0 14px; }
.single-side-stack .btn + .btn,
.single-media-actions .btn + .btn { margin-top: 8px; }
.single-potential-list { display: grid; gap: 10px; }
.single-potential-list > div {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 2px 10px;
    align-items: center;
    padding: 12px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}
.single-potential-list span { color: #64748b; font-size: .78rem; font-weight: 950; text-transform: uppercase; letter-spacing: .06em; }
.single-potential-list strong { grid-column: 2; color: #0f172a; }
.single-mobile-cta { display: none; }
@media (max-width: 1180px) {
    .single-app-hero,
    .single-detail-grid { grid-template-columns: 1fr; }
    .single-summary-card,
    .single-sticky-card { position: static; }
    .single-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .single-app-page { padding-top: 12px; }
    .single-topbar { align-items: stretch; flex-direction: column; }
    .single-status-chips { width: 100%; }
    .single-status-chips .single-chip { flex: 1 1 auto; justify-content: center; }
    .single-gallery-card,
    .single-summary-card,
    .single-card { border-radius: 22px; }
    .single-gallery-main { border-radius: 18px; }
    .single-gallery-main img { aspect-ratio: 16 / 11; }
    .single-gallery-thumbs { grid-template-columns: repeat(4, 1fr); }
    .single-summary-card { padding: 14px; }
    .single-stat-grid,
    .single-actions-grid,
    .single-note-grid,
    .single-highlight-grid,
    .single-feature-grid { grid-template-columns: 1fr; }
    .single-card { padding: 16px; }
    .single-card-head { gap: 10px; }
    .single-mobile-cta {
        position: fixed;
        z-index: 55;
        left: 10px;
        right: 10px;
        bottom: 76px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        padding: 8px;
        border-radius: 20px;
        background: rgba(255,255,255,.94);
        border: 1px solid rgba(15, 23, 42, .10);
        box-shadow: 0 18px 48px rgba(15, 23, 42, .18);
        backdrop-filter: blur(16px);
    }
    .single-mobile-cta .btn { min-height: 44px; padding-inline: 10px; }
}

/* Página pública de fazendas - app-like */
.farms-page-hero {
    padding: 42px 0 34px;
    background:
        radial-gradient(circle at 12% 0%, rgba(34,197,94,.14), transparent 32%),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border-bottom: 1px solid var(--line);
}
.farms-page-hero-inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}
.farms-page-copy { max-width: 760px; }
.section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--green);
    font-weight: 950;
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.section-kicker .icon { width: 16px; height: 16px; }
.farms-page-copy h1 {
    margin: 10px 0 10px;
    max-width: 860px;
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: .98;
    letter-spacing: -.07em;
}
.farms-page-copy p {
    margin: 0;
    max-width: 660px;
    color: var(--gray);
    font-size: 1.06rem;
}
.farms-page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}
.farms-page-hero + .filter-band {
    margin-top: 0;
    padding-top: 18px;
}
.farms-list-section { padding-top: 22px; }
.farms-list-title { align-items: flex-end; }
.farm-list-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
.farm-list-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(280px, 39%) 1fr;
    min-height: 280px;
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, .96);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.farm-list-card:hover {
    transform: translateY(-2px);
    border-color: rgba(22,101,52,.28);
    box-shadow: 0 24px 58px rgba(15, 23, 42, .12);
}
.farm-list-photo {
    position: relative;
    min-height: 280px;
    overflow: hidden;
    background: #dcfce7;
}
.farm-list-photo img {
    width: 100%;
    height: 100%;
    min-height: 280px;
    object-fit: cover;
    transition: transform .24s ease;
}
.farm-list-card:hover .farm-list-photo img { transform: scale(1.035); }
.farm-list-photo-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15,23,42,.08), rgba(15,23,42,.36));
    pointer-events: none;
}
.farm-list-badges {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    z-index: 2;
}
.farm-list-badges span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.92);
    color: #0f172a;
    font-weight: 950;
    font-size: .78rem;
    box-shadow: 0 10px 22px rgba(15,23,42,.15);
}
.farm-list-badges .icon { width: 14px; height: 14px; color: var(--green); }
.farm-list-content {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 20px;
}
.farm-list-topline,
.farm-list-main,
.farm-list-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}
.farm-list-type {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 7px 11px;
    border-radius: 999px;
    background: #ecfdf5;
    color: var(--green);
    font-weight: 950;
    font-size: .82rem;
}
.farm-list-type .icon { width: 15px; height: 15px; }
.farm-favorite-icon {
    width: 42px;
    height: 42px;
    display: inline-grid;
    place-items: center;
    border-radius: 14px;
    border: 1px solid #fee2e2;
    background: #fff7f7;
    color: var(--red);
    box-shadow: 0 10px 20px rgba(220,38,38,.08);
}
.farm-favorite-icon:hover { transform: translateY(-1px); }
.farm-list-main { align-items: flex-start; }
.farm-list-main h3 {
    margin: 0 0 8px;
    font-size: clamp(1.25rem, 2.4vw, 2.05rem);
    line-height: 1.05;
    letter-spacing: -.045em;
}
.farm-list-main h3 a:hover { color: var(--green); }
.farm-list-location {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: var(--gray);
    font-weight: 850;
}
.farm-list-location .icon { width: 16px; height: 16px; color: var(--green); }
.farm-list-price {
    min-width: 190px;
    padding: 12px 14px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid var(--line);
    text-align: right;
}
.farm-list-price span {
    display: block;
    color: var(--gray);
    font-size: .78rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.farm-list-price strong {
    display: block;
    margin-top: 4px;
    color: var(--green);
    font-size: clamp(1.12rem, 2vw, 1.55rem);
    line-height: 1.05;
    letter-spacing: -.045em;
}
.farm-list-description {
    margin: 0;
    color: #334155;
    font-size: 1rem;
    line-height: 1.6;
}
.farm-list-specs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
}
.farm-list-specs span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid var(--line);
    color: #0f172a;
    font-size: .84rem;
    font-weight: 900;
}
.farm-list-specs .icon { width: 15px; height: 15px; color: var(--green); }
.farm-list-actions {
    justify-content: flex-start;
    margin-top: 4px;
    flex-wrap: wrap;
}
.farm-list-actions .btn { min-width: 170px; }
.empty-state-premium {
    text-align: center;
    padding: 42px 24px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(15,23,42,.08);
}
.empty-icon {
    width: 54px;
    height: 54px;
    display: inline-grid;
    place-items: center;
    margin: 0 auto 12px;
    border-radius: 18px;
    background: #ecfdf5;
    color: var(--green);
}
.empty-icon .icon { width: 26px; height: 26px; }

@media (max-width: 980px) {
    .farms-page-hero-inner { align-items: flex-start; flex-direction: column; }
    .farms-page-actions { justify-content: flex-start; }
    .farm-list-card { grid-template-columns: 1fr; }
    .farm-list-photo,
    .farm-list-photo img { min-height: 250px; }
    .farm-list-main { flex-direction: column; }
    .farm-list-price { width: 100%; text-align: left; }
}
@media (max-width: 620px) {
    .farms-page-hero { padding: 28px 0 24px; }
    .farms-page-copy h1 { letter-spacing: -.055em; }
    .farms-page-actions,
    .farms-page-actions .btn,
    .farm-list-actions,
    .farm-list-actions .btn { width: 100%; }
    .farm-list-card { border-radius: 16px; }
    .farm-list-content { padding: 15px; }
    .farm-list-photo,
    .farm-list-photo img { min-height: 210px; }
    .farm-list-topline { align-items: flex-start; }
    .farm-list-main h3 { font-size: 1.35rem; }
    .farm-list-specs span { flex: 1 1 auto; }
}

/* Card vertical premium inspirado no mockup aprovado - Pinho Fazendas */
.property-app-card {
    position: relative;
    display: flex;
    flex-direction: column;
    border: 1px solid #d8e2dc;
    border-radius: 28px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .10);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.property-app-card:hover {
    transform: translateY(-3px);
    border-color: rgba(22, 101, 52, .28);
    box-shadow: 0 26px 70px rgba(15, 23, 42, .14);
}
.property-app-card .farm-media,
.property-app-card .farm-body,
.property-app-card .farm-badges,
.property-app-card .farm-title-row,
.property-app-card .farm-meta,
.property-app-card .farm-summary,
.property-app-card .farm-price-row,
.property-app-card .farm-actions-primary { all: unset; }
.property-card-media {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1.38 / 1;
    min-height: 255px;
    overflow: hidden;
    background: #e8f2e8;
}
.property-card-media::after {
    content: '';
    position: absolute;
    inset: auto 0 0;
    height: 38%;
    pointer-events: none;
    background: linear-gradient(to top, rgba(15,23,42,.34), rgba(15,23,42,0));
}
.property-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .28s ease;
}
.property-app-card:hover .property-card-media img { transform: scale(1.035); }
.property-card-badges {
    position: absolute;
    z-index: 2;
    inset: 16px 16px auto 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.property-card-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(255, 255, 255, .78);
    color: #166534;
    font-size: .78rem;
    font-weight: 950;
    line-height: 1;
    box-shadow: 0 12px 24px rgba(15, 23, 42, .10);
    backdrop-filter: blur(10px);
}
.property-card-badge .icon { width: 15px; height: 15px; }
.property-card-badge-featured { color: #92400e; }
.property-card-body {
    display: grid;
    gap: 12px;
    padding: 22px 22px 20px;
    background: #fff;
}
.property-card-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #166534;
    font-weight: 900;
    font-size: .98rem;
}
.property-card-brand-mark {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #fff;
    background: #166534;
    box-shadow: 0 10px 22px rgba(22, 101, 52, .22);
}
.property-card-brand-mark .icon { width: 19px; height: 19px; }
.property-card-title {
    margin: 2px 0 0;
    color: #111827;
    font-size: clamp(1.42rem, 2.3vw, 1.9rem);
    line-height: 1.08;
    letter-spacing: -.045em;
    font-weight: 950;
}
.property-card-title a { color: inherit; }
.property-card-title a:hover { color: #166534; }
.property-card-price {
    color: #166534;
    font-size: clamp(1.75rem, 3.1vw, 2.65rem);
    line-height: 1;
    letter-spacing: -.05em;
    font-weight: 950;
}
.property-card-description {
    margin: 0;
    color: #475569;
    font-size: .98rem;
    line-height: 1.55;
    min-height: 4.6em;
}
.property-card-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    color: #334155;
    font-size: .9rem;
    font-weight: 850;
}
.property-card-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 13px;
    border-right: 1px solid #dbe2ea;
}
.property-card-meta span:first-child { padding-left: 0; }
.property-card-meta span:last-child { border-right: 0; padding-right: 0; }
.property-card-meta .icon {
    width: 18px;
    height: 18px;
    color: #166534;
    flex: 0 0 auto;
}
.property-card-divider {
    height: 1px;
    margin-top: 2px;
    background: #dbe2ea;
}
.property-card-actions {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr) 54px;
    gap: 10px;
    align-items: stretch;
}
.property-card-btn,
.property-card-favorite {
    min-height: 52px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid transparent;
    font-size: .96rem;
    font-weight: 950;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.property-card-btn .icon,
.property-card-favorite .icon { width: 20px; height: 20px; }
.property-card-btn-primary {
    color: #fff;
    background: #166534;
    box-shadow: 0 14px 26px rgba(22, 101, 52, .22);
}
.property-card-btn-secondary,
.property-card-favorite {
    color: #166534;
    background: #fff;
    border-color: #d1d9e2;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .04);
}
.property-card-btn:hover,
.property-card-favorite:hover {
    transform: translateY(-1px);
    box-shadow: 0 15px 28px rgba(15, 23, 42, .12);
}
.property-card-btn-primary:hover { color: #fff; background: #14532d; }
.property-card-btn-secondary:hover,
.property-card-favorite:hover { border-color: rgba(22, 101, 52, .42); background: #f8fff9; }
.property-card-favorite-form { margin: 0; display: block; }
.property-card-favorite {
    width: 54px;
    padding: 0;
}
.property-card-favorite .icon { color: #166534; }
.featured-strip .property-app-card { min-width: 0; }
@media (max-width: 980px) {
    .property-card-media { min-height: 235px; }
    .property-card-actions { grid-template-columns: 1fr; }
    .property-card-favorite { width: 100%; }
}
@media (max-width: 560px) {
    .property-app-card { border-radius: 22px; }
    .property-card-media { min-height: 220px; aspect-ratio: 4 / 3; }
    .property-card-body { padding: 18px 16px 16px; }
    .property-card-meta { display: grid; gap: 8px; }
    .property-card-meta span {
        padding: 0;
        border-right: 0;
    }
    .property-card-description { min-height: auto; }
}

/* Painel usuário/admin app-like - Pinho Fazendas */
.panel-shell-app {
    grid-template-columns: 248px minmax(0, 1fr);
    gap: 18px;
    padding-top: 18px;
}
.panel-sidebar-app {
    top: 90px;
    padding: 12px;
    border-radius: 24px;
    background: #0f172a;
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 22px 55px rgba(15, 23, 42, .18);
}
.panel-user-card {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 10px;
    margin-bottom: 8px;
    border-radius: 18px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.08);
}
.panel-user-avatar,
.user-avatar {
    display: grid;
    place-items: center;
    font-weight: 950;
    color: #fff;
    background: #166534;
    box-shadow: 0 10px 25px rgba(22,101,52,.24);
}
.panel-user-avatar { width: 42px; height: 42px; border-radius: 16px; }
.panel-user-card strong,
.panel-user-card span { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.panel-user-card strong { color: #fff; font-size: .94rem; }
.panel-user-card span { color: rgba(255,255,255,.64); font-size: .78rem; font-weight: 850; }
.panel-nav-list { display: grid; gap: 4px; }
.panel-nav-list a {
    position: relative;
    min-height: 42px;
    border-radius: 16px;
    padding: 10px 11px;
    color: rgba(255,255,255,.76);
    transition: background .18s ease, color .18s ease, transform .18s ease;
}
.panel-nav-list a:hover { transform: translateX(2px); }
.panel-nav-list a.active {
    color: #fff;
    background: rgba(34,197,94,.18);
    box-shadow: inset 3px 0 0 #22c55e;
}
.panel-nav-list .icon { width: 19px; height: 19px; }
.panel-nav-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 10px 4px 5px;
    color: rgba(255,255,255,.48);
    font-size: .7rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .1em;
}
.panel-nav-divider::after { content: ""; height: 1px; flex: 1; background: rgba(255,255,255,.12); }
.panel-main-app { gap: 18px; }
.panel-hero-card,
.app-panel-card {
    background: rgba(255,255,255,.98);
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 24px;
    box-shadow: 0 16px 45px rgba(15,23,42,.07);
}
.panel-hero-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: clamp(18px, 3vw, 26px);
    overflow: hidden;
    position: relative;
}
.panel-hero-card::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: -130px;
    bottom: -170px;
    border-radius: 999px;
    background: rgba(34,197,94,.10);
    pointer-events: none;
}
.panel-hero-card > * { position: relative; z-index: 1; }
.panel-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 999px;
    color: #166534;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    font-size: .77rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.panel-kicker .icon { width: 16px; height: 16px; }
.panel-hero-card h1 {
    margin: 12px 0 5px;
    font-size: clamp(1.55rem, 3vw, 2.4rem);
    line-height: 1.04;
    letter-spacing: -.055em;
}
.panel-hero-card p { margin: 0; color: #64748b; max-width: 680px; }
.panel-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: flex-end; }
.panel-stat-grid.app-stat-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap: 12px;
}
.app-stat-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 104px;
    padding: 16px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 12px 32px rgba(15,23,42,.06);
}
.app-stat-card small { display: block; color: #64748b; font-weight: 950; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; }
.app-stat-card strong { display: block; font-size: clamp(1.55rem, 3vw, 2.05rem); line-height: 1; margin-top: 5px; color: #0f172a; }
.app-stat-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 16px;
    color: #166534;
    background: #ecfdf5;
}
.app-stat-icon .icon { width: 22px; height: 22px; }
.app-stat-card.tone-blue .app-stat-icon { color: #1d4ed8; background: #eff6ff; }
.app-stat-card.tone-orange .app-stat-icon { color: #c2410c; background: #fff7ed; }
.app-stat-card.tone-purple .app-stat-icon { color: #7c3aed; background: #f5f3ff; }
.app-stat-card.tone-dark .app-stat-icon { color: #0f172a; background: #f1f5f9; }
.panel-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    gap: 16px;
    align-items: start;
}
.app-panel-card { padding: 18px; overflow: hidden; }
.app-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}
.app-card-head h2 { margin: 0; font-size: clamp(1.15rem, 2vw, 1.38rem); letter-spacing: -.04em; }
.app-card-head p { margin: 4px 0 0; color: #64748b; }
.app-bars { display: grid; gap: 12px; }
.app-bar-row { display: grid; grid-template-columns: 72px 1fr 34px; gap: 10px; align-items: center; }
.app-bar-row span, .app-bar-row strong { font-weight: 900; color: #334155; }
.app-bar-row strong { text-align: right; }
.app-bar {
    height: 11px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}
.app-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #166534;
}
.state-chip-grid { display: grid; gap: 10px; }
.state-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}
.state-chip > span,
.compact-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 14px;
    color: #166534;
    background: #ecfdf5;
    flex: 0 0 auto;
}
.state-chip strong,
.state-chip small { display: block; }
.state-chip small { color: #64748b; font-weight: 850; }
.compact-list { display: grid; gap: 10px; }
.compact-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: center;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #fff;
}
.compact-item strong,
.compact-item span { display: block; min-width: 0; }
.compact-item strong { color: #0f172a; line-height: 1.2; }
.compact-item div:nth-child(2) span { color: #64748b; font-size: .88rem; margin-top: 2px; }
.compact-item .badge { white-space: nowrap; }
.empty-state.compact { padding: 18px; border-radius: 18px; }
.quick-panel { padding-bottom: 20px; }
.quick-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px;
}
.quick-action {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #0f172a;
    font-weight: 950;
}
.quick-action:hover { border-color: rgba(22,101,52,.32); background: #ecfdf5; color: #166534; }
.quick-action .icon { width: 20px; height: 20px; color: #166534; }
.users-hero-card { align-items: stretch; }
.user-summary-pills {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
    min-width: min(360px, 100%);
}
.user-summary-pills span {
    display: grid;
    gap: 2px;
    min-width: 104px;
    padding: 12px 14px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #64748b;
    font-size: .82rem;
    font-weight: 900;
}
.user-summary-pills strong { color: #166534; font-size: 1.35rem; line-height: 1; }
.users-panel-card { padding: 18px; }
.users-list { display: grid; gap: 12px; }
.user-management-card {
    display: grid;
    grid-template-columns: minmax(220px, 1.1fr) minmax(220px, .9fr) minmax(360px, 1.25fr);
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15,23,42,.045);
}
.user-main-info {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}
.user-avatar { width: 52px; height: 52px; border-radius: 18px; font-size: 1.15rem; }
.user-main-info h3 { margin: 0 0 4px; font-size: 1.03rem; line-height: 1.2; letter-spacing: -.02em; }
.user-main-info p {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 3px 0;
    color: #64748b;
    font-size: .88rem;
    word-break: break-word;
}
.user-main-info p .icon { width: 15px; height: 15px; color: #166534; }
.user-tags { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.user-tags .badge .icon { width: 14px; height: 14px; }
.user-created { color: #64748b; font-size: .82rem; font-weight: 850; }
.user-control-form {
    display: grid;
    grid-template-columns: minmax(130px, 1fr) auto auto auto;
    gap: 8px;
    align-items: end;
}
.compact-field { gap: 4px; }
.compact-field label { font-size: .74rem; }
.compact-field select { min-height: 40px; }
.switch-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 10px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #334155;
    font-weight: 900;
    font-size: .84rem;
    white-space: nowrap;
}
.switch-pill input { width: 16px; height: 16px; accent-color: #166534; }
.switch-pill span { display: inline-flex; align-items: center; gap: 6px; }
.switch-pill .icon { width: 15px; height: 15px; color: #166534; }
@media (max-width: 1240px) {
    .panel-stat-grid.app-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .user-management-card { grid-template-columns: 1fr; align-items: stretch; }
    .user-control-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .user-control-form .btn { width: 100%; }
}
@media (max-width: 980px) {
    .panel-dashboard-grid { grid-template-columns: 1fr; }
    .panel-shell-app { grid-template-columns: 1fr; }
    .panel-sidebar-app {
        position: static;
        display: grid;
        gap: 10px;
        background: #fff;
        color: #0f172a;
        border-color: #e2e8f0;
        box-shadow: 0 12px 32px rgba(15,23,42,.06);
    }
    .panel-user-card { background: #f8fafc; border-color: #e2e8f0; }
    .panel-user-card strong { color: #0f172a; }
    .panel-user-card span { color: #64748b; }
    .panel-nav-list {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: thin;
    }
    .panel-nav-list a {
        flex: 0 0 auto;
        color: #334155;
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        white-space: nowrap;
    }
    .panel-nav-list a.active { color: #166534; background: #ecfdf5; box-shadow: inset 0 -3px 0 #22c55e; }
    .panel-nav-divider { display: none; }
    .panel-hero-card { flex-direction: column; align-items: stretch; }
    .panel-hero-actions { justify-content: stretch; }
    .panel-hero-actions .btn { flex: 1 1 180px; }
}
@media (max-width: 760px) {
    .panel-shell-app { width: min(100% - 20px, 1180px); padding-top: 12px; }
    .panel-sidebar-app { border-radius: 20px; padding: 10px; }
    .panel-user-card { grid-template-columns: 38px minmax(0, 1fr); }
    .panel-user-avatar { width: 38px; height: 38px; border-radius: 14px; }
    .panel-nav-list a { min-height: 40px; padding: 9px 10px; font-size: .88rem; }
    .panel-hero-card, .app-panel-card { border-radius: 20px; padding: 15px; }
    .panel-stat-grid.app-stat-grid { grid-template-columns: 1fr 1fr; }
    .app-stat-card { min-height: 92px; padding: 13px; }
    .app-stat-icon { width: 40px; height: 40px; border-radius: 14px; }
    .app-card-head { flex-direction: column; align-items: stretch; }
    .app-card-head .btn { width: 100%; }
    .app-bar-row { grid-template-columns: 58px 1fr 28px; font-size: .9rem; }
    .compact-item { grid-template-columns: 38px minmax(0, 1fr); }
    .compact-item .badge,
    .compact-item .btn { grid-column: 1 / -1; width: 100%; justify-content: center; }
    .user-summary-pills { justify-content: stretch; min-width: 0; }
    .user-summary-pills span { flex: 1 1 96px; min-width: 0; }
    .user-control-form { grid-template-columns: 1fr; }
    .user-management-card { padding: 12px; border-radius: 18px; }
    .user-main-info { grid-template-columns: 46px minmax(0, 1fr); }
    .user-avatar { width: 46px; height: 46px; border-radius: 16px; }
}
@media (max-width: 460px) {
    .panel-stat-grid.app-stat-grid { grid-template-columns: 1fr; }
    .panel-hero-actions .btn { width: 100%; }
}

/* Rodapé institucional app-like - Pinho Fazendas */
.site-footer {
    position: relative;
    margin-top: 44px;
    padding: 38px 0 96px;
    background: #07130d;
    color: rgba(255,255,255,.82);
    border-top: 1px solid rgba(255,255,255,.08);
}
.footer-app {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(190px, .65fr) minmax(260px, .8fr);
    gap: 20px;
    align-items: stretch;
}
.footer-brand-block,
.footer-links-block,
.footer-contact-card {
    border: 1px solid rgba(255,255,255,.10);
    background: #0b1f14;
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 18px 42px rgba(0,0,0,.18);
}
.footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    text-decoration: none;
}
.footer-logo-mark {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid rgba(255,255,255,.14);
    overflow: hidden;
}
.footer-logo-mark img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 6px;
}
.footer-brand strong {
    display: block;
    color: #fff;
    font-size: 1.28rem;
    line-height: 1.1;
    letter-spacing: -.03em;
}
.footer-brand small {
    display: block;
    color: #86efac;
    font-weight: 900;
    margin-top: 3px;
}
.footer-brand-block p,
.footer-contact-card p {
    margin: 14px 0 0;
    color: rgba(255,255,255,.72);
    line-height: 1.65;
}
.footer-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}
.footer-trust-row span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(134,239,172,.20);
    background: rgba(22,101,52,.24);
    color: #dcfce7;
    font-size: .86rem;
    font-weight: 900;
}
.footer-trust-row .icon { width: 16px; height: 16px; }
.footer-links-block h3,
.footer-contact-card h3 {
    margin: 0 0 12px;
    color: #fff;
    font-size: .96rem;
    letter-spacing: -.01em;
}
.footer-links-block {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.footer-links-block a {
    min-height: 38px;
    justify-content: flex-start;
    padding: 8px 10px;
    border-radius: 14px;
    color: rgba(255,255,255,.82);
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.07);
    text-decoration: none;
    font-size: .93rem;
    transition: background .18s ease, color .18s ease, transform .18s ease, border-color .18s ease;
}
.footer-links-block a:hover {
    background: rgba(34,197,94,.14);
    border-color: rgba(134,239,172,.24);
    color: #fff;
    transform: translateY(-1px);
}
.footer-links-block .icon { width: 17px; height: 17px; color: #86efac; }
.footer-contact-card {
    position: relative;
    overflow: hidden;
}
.footer-contact-icon {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ecfdf5;
    color: #166534;
    margin-bottom: 12px;
}
.footer-contact-icon .icon { width: 22px; height: 22px; }
.footer-whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    margin-top: 16px;
    padding: 10px 14px;
    border-radius: 15px;
    background: #16a34a;
    color: #fff !important;
    text-decoration: none;
    font-weight: 950;
    box-shadow: 0 14px 26px rgba(22,163,74,.20);
}
.footer-whatsapp .icon { width: 18px; height: 18px; }
.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,.10);
    color: rgba(255,255,255,.66);
    font-size: .9rem;
    font-weight: 800;
}
.footer-bottom-note { color: rgba(255,255,255,.52); }
@media (max-width: 980px) {
    .footer-app { grid-template-columns: 1fr 1fr; }
    .footer-brand-block { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
    .site-footer { padding: 26px 0 104px; margin-top: 28px; }
    .footer-app { grid-template-columns: 1fr; gap: 12px; }
    .footer-brand-block,
    .footer-links-block,
    .footer-contact-card { border-radius: 20px; padding: 16px; }
    .footer-brand strong { font-size: 1.12rem; }
    .footer-trust-row span { flex: 1 1 180px; justify-content: center; }
    .footer-bottom { flex-direction: column; align-items: flex-start; font-size: .84rem; }
}

/* Suavização geral de containers + novos ambientes de anúncio */
body {
    background: #f7faf6;
}
.container,
.wide {
    width: min(100% - clamp(18px, 4vw, 56px), 1320px);
}
.section {
    padding: clamp(24px, 4vw, 48px) 0;
}
.section-light {
    background: transparent;
}
.site-header {
    box-shadow: 0 8px 28px rgba(15,23,42,.035);
}
.hero-premium {
    background: #0b3d26;
    padding: clamp(34px, 5vw, 62px) 0 clamp(34px, 5vw, 58px);
}
.hero-premium::after { opacity: .35; }
.hero-showcase,
.filters-premium,
.card,
.form-card,
.info-panel,
.single-card,
.single-summary-card,
.single-gallery-card,
.app-panel-card,
.panel-hero-card,
.footer-brand-block,
.footer-links-block,
.footer-contact-card {
    border-color: rgba(15,23,42,.075);
    box-shadow: 0 12px 34px rgba(15,23,42,.055);
}
.filters-premium,
.card,
.form-card,
.info-panel,
.single-card,
.single-summary-card,
.single-gallery-card,
.app-panel-card,
.panel-hero-card {
    background: rgba(255,255,255,.92);
}
.filters-soft {
    padding: clamp(14px, 2vw, 18px);
    border-radius: 24px;
    box-shadow: 0 14px 35px rgba(15,23,42,.06);
}
.filter-band {
    margin-top: -18px;
}
.filter-head {
    border-bottom-color: rgba(15,23,42,.07);
}
.form-card {
    border-radius: 22px;
}
.panel-main > .form-card,
.panel-main .form-card {
    box-shadow: 0 10px 26px rgba(15,23,42,.045);
}
.farm-list-card,
.property-app-card,
.user-management-card,
.app-stat-card,
.compact-item,
.state-chip,
.quick-action {
    box-shadow: 0 10px 26px rgba(15,23,42,.045);
    border-color: rgba(15,23,42,.075);
}
.catalog-segments-section {
    margin-top: -8px;
    padding-bottom: clamp(16px, 3vw, 28px);
}
.soft-section-title {
    margin-bottom: 12px;
}
.catalog-segments {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.catalog-segment-card,
.listing-type-card,
.segment-filter-chip {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.catalog-segment-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 116px;
    padding: 16px;
    border: 1px solid rgba(15,23,42,.075);
    border-radius: 24px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 12px 32px rgba(15,23,42,.05);
}
.catalog-segment-card:hover {
    transform: translateY(-2px);
    border-color: rgba(22,101,52,.24);
    box-shadow: 0 18px 42px rgba(15,23,42,.08);
}
.catalog-segment-card > span,
.listing-type-card > span {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 18px;
    color: #166534;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
}
.catalog-segment-card .icon,
.listing-type-card .icon { width: 23px; height: 23px; }
.catalog-segment-card strong,
.catalog-segment-card small {
    grid-column: 2;
    display: block;
}
.catalog-segment-card strong {
    color: #0f172a;
    font-size: 1.08rem;
    letter-spacing: -.025em;
}
.catalog-segment-card small {
    color: #64748b;
    font-weight: 750;
    line-height: 1.45;
}
.segment-filter-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 12px 0 14px;
}
.segment-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #334155;
    font-size: .88rem;
    font-weight: 950;
}
.segment-filter-chip .icon { width: 17px; height: 17px; }
.segment-filter-chip:hover,
.segment-filter-chip.active {
    background: #ecfdf5;
    color: #166534;
    border-color: #bbf7d0;
}
.listing-type-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.listing-type-card {
    min-height: 104px;
    padding: 12px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    text-align: left;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    background: #fff;
    color: #0f172a;
}
.listing-type-card strong,
.listing-type-card small { display: block; grid-column: 2; }
.listing-type-card strong { line-height: 1.1; font-size: .98rem; }
.listing-type-card small { color: #64748b; font-weight: 780; line-height: 1.35; font-size: .82rem; }
.listing-type-card:hover,
.listing-type-card.active {
    background: #f8fff9;
    border-color: rgba(22,101,52,.32);
    box-shadow: 0 12px 28px rgba(15,23,42,.065);
}
.listing-type-card.active > span {
    color: #fff;
    background: #166534;
    border-color: #166534;
}
.listing-context-panel {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 14px;
    padding: 13px 14px;
    border: 1px solid #bbf7d0;
    border-radius: 20px;
    background: #f0fdf4;
}
.listing-context-panel > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 16px;
    background: #166534;
    color: #fff;
}
.listing-context-panel .icon { width: 21px; height: 21px; }
.listing-context-panel strong { display: block; color: #0f172a; }
.listing-context-panel p { margin: 3px 0 0; color: #475569; font-weight: 700; }
[data-segment="maquinarios"] .listing-context-panel {
    background: #f8fafc;
    border-color: #cbd5e1;
}
[data-segment="maquinarios"] .listing-context-panel > span,
[data-segment="maquinarios"] .step-title b {
    background: #334155;
}
[data-segment="florestas"] .listing-context-panel {
    background: #f0fdf4;
    border-color: #86efac;
}
[data-segment="florestas"] .listing-context-panel > span,
[data-segment="florestas"] .step-title b {
    background: #15803d;
}
.badge .icon { width: 14px; height: 14px; }
@media (max-width: 980px) {
    .catalog-segments,
    .listing-type-cards { grid-template-columns: 1fr; }
    .filter-band { margin-top: -12px; }
}
@media (max-width: 760px) {
    .container,
    .wide { width: min(100% - 18px, 1180px); }
    .hero-premium { padding-top: 28px; }
    .filters-soft,
    .form-card,
    .catalog-segment-card,
    .listing-type-card { border-radius: 18px; }
    .catalog-segment-card,
    .listing-type-card {
        min-height: auto;
        grid-template-columns: 42px minmax(0, 1fr);
    }
    .catalog-segment-card > span,
    .listing-type-card > span { width: 42px; height: 42px; border-radius: 15px; }
    .segment-filter-row { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
    .segment-filter-chip { flex: 0 0 auto; }
}

/* Patch: filtros simples + cadastro funcional para Fazendas, Maquinários e Florestas */
.hero-segment-shortcuts a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
    font-weight: 900;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.24);
    box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
.hero-segment-shortcuts a:hover { transform: translateY(-1px); background: rgba(255,255,255,.2); }
.hero-segment-shortcuts a .icon { width: 17px; height: 17px; }

.filter-band-compact { margin-top: -18px; }
.filters-compact {
    padding: 16px;
    border-radius: 22px;
    box-shadow: 0 16px 42px rgba(15, 23, 42, .08);
}
.filter-head-compact {
    gap: 12px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #e2e8f0;
}
.filter-head-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.segment-filter-row-clean {
    padding: 0 0 10px;
    margin: 0 0 10px;
    gap: 8px;
    border-bottom: 1px solid #edf2f7;
}
.filter-quick-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1.65fr) minmax(130px, .8fr) minmax(150px, 1fr) minmax(140px, .8fr);
    gap: 10px;
    align-items: end;
}
.filter-search-field input { min-height: 48px; }
.advanced-filters {
    margin-top: 10px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 0;
    overflow: hidden;
}
.advanced-filters summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    color: #0f172a;
    font-weight: 950;
}
.advanced-filters summary::-webkit-details-marker { display: none; }
.advanced-filters summary .icon { width: 17px; height: 17px; color: var(--green); }
.advanced-filter-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    padding: 0 12px 12px;
}
.filter-checks-compact {
    margin: 0;
    padding: 0 12px 12px;
    gap: 8px;
}
.filter-checks-compact .check-pill { padding: 9px 11px; min-height: 40px; }

.listing-form-hero { margin-bottom: 16px; }
.listing-form-shell { gap: 16px; }
.form-card-soft {
    border-radius: 22px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .06);
    background: #fff;
}
.step-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.form-mini-hint {
    color: #64748b;
    font-size: .86rem;
    font-weight: 800;
}
.listing-type-cards-compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}
.listing-type-cards-compact .listing-type-card {
    min-height: 92px;
    padding: 13px;
    box-shadow: none;
    background: #f8fafc;
}
.listing-type-cards-compact .listing-type-card.active {
    background: #ecfdf5;
    border-color: rgba(22, 101, 52, .34);
    box-shadow: inset 0 0 0 1px rgba(22, 101, 52, .08), 0 12px 28px rgba(22, 101, 52, .08);
}
.form-grid-compact { gap: 10px; }
.form-grid-compact textarea { min-height: 112px; }
.check-pill-standalone {
    min-height: 48px;
    align-self: end;
    justify-content: center;
}
.feature-checks {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.feature-checks .check-pill {
    min-height: 42px;
    justify-content: flex-start;
    background: #f8fafc;
}
[data-segment="maquinarios"] .listing-context-panel,
[data-segment="maquinarios"] .listing-type-card.active {
    background: #eff6ff;
    border-color: rgba(37, 99, 235, .28);
}
[data-segment="florestas"] .listing-context-panel,
[data-segment="florestas"] .listing-type-card.active {
    background: #ecfdf5;
    border-color: rgba(22, 163, 74, .28);
}
.form-submit-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}
.form-submit-card p { margin: 4px 0 0; color: #64748b; font-weight: 750; }

@media (max-width: 980px) {
    .filter-quick-grid { grid-template-columns: 1fr 1fr; }
    .advanced-filter-grid { grid-template-columns: 1fr 1fr !important; }
    .listing-type-cards-compact { grid-template-columns: 1fr; }
    .feature-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .filters-compact { padding: 12px; border-radius: 18px; }
    .filter-head-actions, .filter-head-actions .btn { width: 100%; }
    .filter-quick-grid, .advanced-filter-grid, .feature-checks { grid-template-columns: 1fr !important; }
    .segment-filter-row-clean { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 8px; }
    .segment-filter-row-clean .segment-filter-chip { flex: 0 0 auto; }
    .step-title-row, .form-submit-card { flex-direction: column; align-items: stretch; }
    .form-submit-card .actions-row .btn { width: 100%; }
}

/* Patch: filtros clicáveis por segmento + login/cadastro limpos sem gradiente */
.icon-svgrepo {
    stroke-width: 2.15;
    vector-effect: non-scaling-stroke;
}
.brand-link.logo-only {
    min-width: 0;
    gap: 0;
}
.brand-link.logo-only img {
    width: clamp(112px, 13vw, 178px);
    height: 56px;
    object-fit: contain;
    border-radius: 0;
}
.site-header .brand-link.has-custom-logo {
    padding: 4px 0;
}
@media (max-width: 760px) {
    .brand-link.logo-only img { width: 128px; height: 50px; }
}

.segment-filter-row-clean {
    border-bottom: 0;
    padding: 0;
    margin: 0 0 10px;
}
.segment-filter-chip {
    appearance: none;
    cursor: pointer;
}
.segment-filter-chip[data-filter-segment-chip] {
    min-height: 42px;
    padding: 9px 14px;
    border-radius: 16px;
    background: #fff;
    border-color: rgba(15, 23, 42, .08);
    color: #334155;
    box-shadow: 0 8px 18px rgba(15,23,42,.035);
}
.segment-filter-chip[data-filter-segment-chip]:hover,
.segment-filter-chip[data-filter-segment-chip].active {
    background: #f0fdf4;
    border-color: rgba(22,101,52,.30);
    color: #166534;
    box-shadow: 0 10px 24px rgba(22,101,52,.075);
}
.filters-compact {
    padding: clamp(12px, 1.6vw, 16px);
    border-radius: 20px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .055);
}
.filter-head-compact {
    align-items: center;
    border-bottom: 0;
    padding-bottom: 4px;
    margin-bottom: 8px;
}
.filter-head-compact strong {
    font-size: clamp(1rem, 2vw, 1.25rem);
    letter-spacing: -.03em;
}
.filter-kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #166534;
    font-size: .78rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .045em;
}
.filter-quick-grid {
    grid-template-columns: minmax(220px, 1.7fr) minmax(132px, .8fr) minmax(150px, 1fr) minmax(132px, .75fr);
    gap: 9px;
}
.advanced-filters {
    background: #fff;
    border-color: rgba(15,23,42,.08);
    border-radius: 16px;
}
.advanced-filters summary {
    min-height: 42px;
    padding: 10px 12px;
}

.auth-wrap-premium {
    min-height: calc(100vh - 74px);
    padding: clamp(20px, 4vw, 44px) 0;
    background:
        radial-gradient(circle at 12% 8%, rgba(22,101,52,.08), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(15,111,255,.06), transparent 26%),
        #f8fafc;
}
.auth-card-premium {
    width: min(1080px, calc(100% - 28px));
    display: grid;
    grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
    border-radius: 28px;
    border: 1px solid rgba(15,23,42,.08);
    background: #fff;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .10);
}
.auth-card-register { width: min(1180px, calc(100% - 28px)); }
.auth-aside-premium {
    padding: clamp(22px, 3vw, 34px);
    color: #0f172a;
    background: #f0fdf4;
    border-right: 1px solid rgba(22,101,52,.10);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
}
.auth-brand {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 10px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(22,101,52,.12);
    box-shadow: 0 10px 26px rgba(15,23,42,.06);
}
.auth-brand img {
    width: 74px;
    height: 74px;
    object-fit: contain;
    border-radius: 12px;
}
.auth-kicker {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 7px 11px;
    border-radius: 999px;
    background: #fff;
    color: #166534;
    border: 1px solid #bbf7d0;
    font-size: .78rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.auth-kicker .icon { width: 16px; height: 16px; }
.auth-aside-premium h1 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(2rem, 4vw, 3.15rem);
    line-height: 1.02;
    letter-spacing: -.06em;
}
.auth-aside-premium p {
    margin: 0;
    max-width: 430px;
    color: #475569;
    font-weight: 750;
    line-height: 1.65;
}
.auth-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}
.auth-benefits span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 8px 11px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(22,101,52,.12);
    color: #166534;
    font-size: .84rem;
    font-weight: 900;
}
.auth-benefits .icon { width: 16px; height: 16px; }
.auth-form-premium {
    padding: clamp(22px, 3vw, 36px);
    background: #fff;
}
.auth-form-head {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 20px;
}
.auth-form-head > span {
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    background: #166534;
    color: #fff;
    box-shadow: 0 14px 28px rgba(22,101,52,.18);
}
.auth-form-head .icon { width: 22px; height: 22px; }
.auth-form-head h2 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(1.55rem, 3vw, 2.1rem);
    letter-spacing: -.045em;
}
.auth-form-head p {
    margin: 2px 0 0;
    color: #64748b;
    font-weight: 750;
}
.input-icon-field { position: relative; }
.input-icon-field > span {
    position: absolute;
    left: 13px;
    bottom: 14px;
    color: #166534;
    pointer-events: none;
}
.input-icon-field > span .icon { width: 18px; height: 18px; }
.input-icon-field input,
.input-icon-field textarea,
.input-icon-field select {
    padding-left: 42px;
}
.auth-options-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 12px 0 16px;
}
.auth-options-row a,
.auth-bottom-link a {
    color: #166534;
    font-weight: 950;
}
.auth-submit {
    min-height: 52px;
    border-radius: 16px;
}
.auth-bottom-link {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #e2e8f0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px;
    color: #64748b;
    font-weight: 800;
}
.auth-bottom-link a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.auth-form-grid { gap: 11px; }
.auth-form-grid .field label { font-size: .82rem; }
@media (max-width: 860px) {
    .auth-card-premium { grid-template-columns: 1fr; border-radius: 22px; }
    .auth-aside-premium { border-right: 0; border-bottom: 1px solid rgba(22,101,52,.10); }
    .auth-brand img { width: 62px; height: 62px; }
}
@media (max-width: 640px) {
    .auth-card-premium { width: min(100% - 18px, 1180px); }
    .auth-aside-premium, .auth-form-premium { padding: 18px; }
    .auth-benefits span { flex: 1 1 145px; justify-content: center; }
    .auth-options-row { align-items: stretch; }
    .auth-options-row .check-pill { width: 100%; }
}

/* Refinamento single + índices + sobre nós */
.single-clean-page {
    background: #f6f8fb;
    padding: 22px 0 56px;
}
.single-clean-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}
.single-clean-badges {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.single-clean-badges span,
.about-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(22,101,52,.14);
    background: #fff;
    color: #166534;
    font-weight: 950;
    font-size: .78rem;
}
.single-clean-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .72fr);
    gap: 18px;
    align-items: stretch;
}
.single-clean-gallery,
.single-clean-summary,
.single-clean-card,
.market-index-group,
.market-note-card,
.about-card,
.legal-card {
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 16px 44px rgba(15, 23, 42, .07);
    border-radius: 24px;
}
.single-clean-gallery { overflow: hidden; }
.single-clean-main-photo {
    position: relative;
    aspect-ratio: 16 / 9;
    background: #e2e8f0;
}
.single-clean-main-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.photo-pill {
    position: absolute;
    left: 16px;
    bottom: 16px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 12px;
    border-radius: 999px;
    color: #0f172a;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(255,255,255,.7);
    backdrop-filter: blur(10px);
    font-weight: 950;
    font-size: .82rem;
}
.single-clean-thumbs {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 12px;
}
.single-clean-thumbs button {
    width: 88px;
    height: 68px;
    border: 0;
    padding: 0;
    border-radius: 14px;
    overflow: hidden;
    background: #e2e8f0;
    cursor: pointer;
    flex: 0 0 auto;
}
.single-clean-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.single-clean-summary {
    padding: clamp(18px, 2.4vw, 28px);
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.single-clean-summary h1 {
    margin: 0;
    font-size: clamp(1.85rem, 3vw, 3rem);
    line-height: 1.04;
    color: #0f172a;
    letter-spacing: -.05em;
}
.single-clean-summary p { margin: 0; color: #475569; line-height: 1.6; font-weight: 700; }
.single-clean-price {
    padding: 14px;
    border-radius: 18px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}
.single-clean-price small { display: block; color: #64748b; font-weight: 900; margin-bottom: 4px; }
.single-clean-price strong,
.single-side-price {
    display: block;
    color: #166534;
    font-size: clamp(1.55rem, 2.4vw, 2.35rem);
    letter-spacing: -.04em;
}
.single-clean-mini-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}
.single-clean-mini-grid div {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 9px 11px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.07);
    font-weight: 850;
    color: #334155;
}
.single-clean-mini-grid .icon { color: #166534; }
.single-clean-actions { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: auto; }
.single-clean-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: 18px;
    margin-top: 18px;
}
.single-clean-content,
.single-clean-side { display: flex; flex-direction: column; gap: 18px; }
.single-clean-card { padding: clamp(16px, 2.2vw, 24px); }
.single-clean-card-head {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 14px;
}
.single-clean-card-head > span {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ecfdf5;
    color: #166534;
    border: 1px solid #bbf7d0;
    flex: 0 0 auto;
}
.single-clean-card-head.compact > span { width: 38px; height: 38px; }
.single-clean-card-head h2 { margin: 0; color: #0f172a; font-size: 1.14rem; }
.single-clean-card-head p { margin: 4px 0 0; color: #64748b; font-weight: 700; line-height: 1.45; }
.single-clean-text { color: #334155; font-weight: 650; line-height: 1.75; }
.single-clean-data-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.single-clean-data-grid div,
.single-clean-feature-grid div,
.market-note-grid div {
    padding: 13px;
    border-radius: 16px;
    border: 1px solid rgba(15,23,42,.07);
    background: #f8fafc;
}
.single-clean-data-grid .icon,
.single-clean-feature-grid .icon,
.market-note-grid .icon { color: #166534; }
.single-clean-data-grid span,
.single-clean-feature-grid small { display: block; color: #64748b; font-weight: 800; font-size: .78rem; margin-top: 8px; }
.single-clean-data-grid strong,
.single-clean-feature-grid strong { display: block; margin-top: 3px; color: #0f172a; font-size: .96rem; line-height: 1.25; }
.single-clean-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.single-clean-feature-grid div.is-on { background: #f0fdf4; border-color: #bbf7d0; }
.single-clean-notes {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}
.single-clean-notes article {
    padding: 14px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.07);
}
.single-clean-notes h3 { margin: 0 0 6px; color: #0f172a; }
.single-clean-notes p { margin: 0; color: #475569; font-weight: 650; line-height: 1.55; }
.sticky-offer-card { position: sticky; top: 92px; }
.single-muted { color: #64748b; font-weight: 700; line-height: 1.55; }
.single-similar-section { background: #f6f8fb; }

.market-hero-card { align-items: center; }
.market-index-shell { display: flex; flex-direction: column; gap: 16px; }
.market-index-group { padding: clamp(16px, 2vw, 24px); }
.market-group-head {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: 12px;
    align-items: center;
    margin-bottom: 16px;
}
.market-group-head > span {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    color: #166534;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
}
.market-group-head h2 { margin: 0; color: #0f172a; }
.market-group-head p { margin: 4px 0 0; color: #64748b; font-weight: 700; }
.market-group-head small { font-weight: 950; color: #166534; }
.market-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.market-index-card {
    padding: 15px;
    border-radius: 20px;
    background: #f8fafc;
    border: 1px solid rgba(15,23,42,.07);
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.market-index-top { display: flex; align-items: center; gap: 10px; }
.market-index-top > span {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: #fff;
    color: #166534;
    border: 1px solid rgba(22,101,52,.12);
}
.market-index-top strong { display: block; color: #0f172a; }
.market-index-top small { color: #64748b; font-weight: 800; }
.market-index-value strong { display: block; color: #166534; font-size: 1.7rem; letter-spacing: -.04em; }
.market-index-value span { color: #64748b; font-weight: 800; }
.market-index-meta { min-height: 42px; color: #64748b; font-weight: 700; font-size: .86rem; }
.market-variation { display: inline-flex; align-items: center; gap: 5px; margin-right: 6px; padding: 4px 7px; border-radius: 999px; background: #ecfdf5; color: #166534; font-weight: 950; }
.market-variation.down { background: #fef2f2; color: #b91c1c; }
.market-note-card { margin-top: 16px; }
.market-note-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.market-note-grid div { display: flex; flex-direction: column; gap: 6px; }
.market-note-grid span { color: #64748b; font-weight: 700; line-height: 1.45; }

.user-create-card { margin-bottom: 18px; }
.user-create-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.user-create-toggles { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; justify-content: flex-end; }
.user-create-toggles .btn { margin-left: auto; }

.about-page { background: #f6f8fb; padding: 34px 0 62px; }
.about-hero {
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 28px;
    padding: clamp(22px, 4vw, 46px);
    box-shadow: 0 18px 50px rgba(15,23,42,.08);
    margin-bottom: 18px;
}
.about-hero h1 { margin: 12px 0 10px; color: #0f172a; font-size: clamp(2.2rem, 5vw, 4.5rem); line-height: .98; letter-spacing: -.07em; }
.about-hero p { max-width: 820px; color: #475569; font-weight: 750; font-size: 1.08rem; line-height: 1.65; }
.about-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.about-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 14px; margin-bottom: 18px; }
.about-card { padding: clamp(16px, 2.2vw, 24px); }
.about-card.large { grid-row: span 2; }
.about-card > span,
.legal-head > span {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: #ecfdf5;
    color: #166534;
    border: 1px solid #bbf7d0;
    margin-bottom: 12px;
}
.about-card h2,
.legal-card h2 { margin: 0 0 8px; color: #0f172a; }
.about-card p,
.legal-card li { color: #475569; line-height: 1.65; font-weight: 700; }
.legal-stack { display: grid; gap: 14px; }
.legal-card { padding: clamp(16px, 2.2vw, 24px); }
.legal-head { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 10px; }
.legal-head > span { margin-bottom: 0; flex: 0 0 auto; }
.legal-head p { margin: 0; color: #64748b; font-weight: 700; }
.legal-card ul { margin: 0; padding-left: 22px; }
.legal-card li + li { margin-top: 8px; }
.footer-bottom-note a { color: inherit; font-weight: 900; text-decoration: none; }

@media (max-width: 980px) {
    .single-clean-hero,
    .single-clean-layout { grid-template-columns: 1fr; }
    .single-clean-data-grid,
    .market-card-grid,
    .market-note-grid { grid-template-columns: 1fr 1fr; }
    .single-clean-feature-grid { grid-template-columns: 1fr 1fr; }
    .sticky-offer-card { position: static; }
    .user-create-form { grid-template-columns: 1fr 1fr; }
    .about-grid { grid-template-columns: 1fr; }
    .about-card.large { grid-row: auto; }
}
@media (max-width: 640px) {
    .single-clean-page { padding-top: 14px; }
    .single-clean-topbar { align-items: flex-start; flex-direction: column; }
    .single-clean-hero { gap: 12px; }
    .single-clean-gallery,
    .single-clean-summary,
    .single-clean-card,
    .market-index-group,
    .about-hero,
    .about-card,
    .legal-card { border-radius: 20px; }
    .single-clean-main-photo { aspect-ratio: 4 / 3; }
    .single-clean-data-grid,
    .single-clean-feature-grid,
    .market-card-grid,
    .market-note-grid,
    .user-create-form { grid-template-columns: 1fr; }
    .market-group-head { grid-template-columns: 42px 1fr; }
    .market-group-head small { grid-column: 1 / -1; }
    .user-create-toggles { justify-content: stretch; }
    .user-create-toggles .btn { width: 100%; margin-left: 0; }
}


/* Ajustes premium compactos - favoritos, usuário e hero configurável */
.hero-premium .hero-kicker { display: none; }
.hero-showcase img { object-fit: cover; }
.settings-image-preview { margin-top: .75rem; max-width: 260px; border: 1px solid var(--border); border-radius: 16px; overflow: hidden; background: #f8fafc; }
.settings-image-preview img { display: block; width: 100%; height: 150px; object-fit: cover; }
.favorites-grid { align-items: stretch; }
.user-danger-actions { display: flex; gap: .55rem; flex-wrap: wrap; justify-content: flex-end; border-top: 1px solid rgba(15, 23, 42, .08); padding-top: .85rem; margin-top: .85rem; }
.btn.danger-soft, .danger-soft { color: #991b1b; border-color: rgba(153, 27, 27, .22); background: #fff7f7; }
.btn.danger-soft:hover { background: #fee2e2; }
.favorites-hero-card { background: #ffffff; border: 1px solid rgba(15, 23, 42, .08); }
.single-clean-side .single-clean-card:first-child { margin-top: 0; }
@media (max-width: 720px) {
    .user-danger-actions { justify-content: stretch; }
    .user-danger-actions form, .user-danger-actions .btn { width: 100%; }
}

/* Configurações premium: SMTP, PDFs e e-mails */
.settings-premium-card { border-color: rgba(15, 23, 42, .08); box-shadow: 0 18px 44px rgba(15, 23, 42, .06); }
.settings-card-head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; }
.settings-card-head > span { width: 46px; height: 46px; border-radius: 16px; display: grid; place-items: center; color: #166534; background: #ecfdf5; border: 1px solid #bbf7d0; flex: 0 0 auto; }
.settings-card-head h2 { margin: 0 0 4px; color: #0f172a; letter-spacing: -.03em; }
.settings-card-head p { margin: 0; color: #64748b; font-weight: 750; line-height: 1.45; }
.smtp-status-card { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px; margin-bottom: 16px; border-radius: 18px; background: #f8fafc; border: 1px solid rgba(15, 23, 42, .08); }
.smtp-status-card strong { display: flex; align-items: center; gap: 8px; color: #0f172a; }
.smtp-status-card span { display: block; margin-top: 3px; color: #64748b; font-size: .9rem; font-weight: 750; }
.toggle-line { display: inline-flex; align-items: center; gap: 8px; color: #0f172a; font-weight: 900; cursor: pointer; user-select: none; }
.toggle-line input { width: 18px; height: 18px; accent-color: #166534; }
.toggle-line.compact { white-space: nowrap; padding: 10px 12px; border-radius: 999px; background: #fff; border: 1px solid rgba(22, 101, 52, .18); }
.settings-helper-note { display: flex; align-items: center; gap: 9px; margin-top: 14px; color: #475569; font-weight: 800; padding: 12px 14px; border-radius: 16px; background: #fff7ed; border: 1px solid #fed7aa; }
.settings-helper-note .icon { color: #c2410c; }
.pdf-ready-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pdf-ready-grid div { padding: 14px; border-radius: 18px; background: #f8fafc; border: 1px solid rgba(15, 23, 42, .08); }
.pdf-ready-grid strong { display: flex; align-items: center; gap: 8px; color: #0f172a; margin-bottom: 6px; }
.pdf-ready-grid span { color: #64748b; line-height: 1.45; font-weight: 750; }
.settings-save-bar { display: flex; justify-content: flex-end; }
.smtp-test-form { margin-top: 18px; }
.compact-action-grid { grid-template-columns: minmax(220px, 1fr) auto; align-items: end; }
.field.action { display: flex; flex-direction: column; justify-content: flex-end; }
.single-clean-actions .btn.ghost .icon, .single-mobile-cta .btn.ghost .icon { color: currentColor; }
@media (max-width: 820px) {
    .smtp-status-card { align-items: stretch; flex-direction: column; }
    .pdf-ready-grid, .compact-action-grid { grid-template-columns: 1fr; }
    .settings-save-bar .btn, .smtp-test-form .btn { width: 100%; }
}

/* Patch: manutenção de cache e preço por hectare */
.quick-action-form { margin: 0; display: contents; }
.quick-action-form button.quick-action { width: 100%; cursor: pointer; font-family: inherit; text-align: left; }
.cache-clean-form { margin-top: 18px; }
.cache-clean-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    border-radius: 20px;
    border: 1px solid rgba(22, 101, 52, .12);
    background: #f8fafc;
}
.cache-clean-box strong { display: block; color: #0f172a; font-size: 1rem; margin-bottom: 3px; }
.cache-clean-box span { display: block; color: #64748b; line-height: 1.45; font-weight: 750; }
.single-clean-price-per-hectare {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding: 9px 12px;
    border-radius: 999px;
    background: #ecfdf5;
    color: #166534;
    border: 1px solid #bbf7d0;
    font-weight: 950;
}
.single-clean-price-per-hectare .icon { width: 18px; height: 18px; }
@media (max-width: 720px) {
    .cache-clean-box { align-items: stretch; flex-direction: column; }
    .cache-clean-box .btn { width: 100%; }
}

/* HOTFIX MOBILE: elimina artefato visual tipo "TV fora de sinal" ao rolar no Chrome/Android.
   Causa comum: combinação de backdrop-filter, sombras grandes, SVG em img e elementos sticky/fixed. */
@media (max-width: 820px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
        background: #f7faf6 !important;
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
    }

    body,
    .page,
    main,
    .site-footer,
    .hero-premium,
    .hero-feed,
    .hero-showcase,
    .hero-panel,
    .property-app-card,
    .farm-card,
    .farm-list-card,
    .single-clean-card,
    .single-gallery-card,
    .single-summary-card,
    .footer-brand-block,
    .footer-links-block,
    .footer-contact-card {
        isolation: isolate;
        contain: paint;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        -webkit-transform: none !important;
        transform: none !important;
        will-change: auto !important;
        filter: none !important;
        -webkit-filter: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .site-header,
    .mobile-bottom,
    .property-card-badge,
    .hero-floating-card,
    .filter-kicker,
    .hero-ghost,
    .nav-links,
    .modal,
    .modal-card {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        filter: none !important;
        -webkit-filter: none !important;
    }

    .hero-premium::before,
    .hero-premium::after,
    .hero-showcase::before,
    .hero-showcase::after,
    .site-footer::before,
    .site-footer::after,
    .footer-brand-block::before,
    .footer-brand-block::after,
    .footer-links-block::before,
    .footer-links-block::after,
    .footer-contact-card::before,
    .footer-contact-card::after,
    .property-card-media::before {
        display: none !important;
        content: none !important;
    }

    .site-header {
        background: #ffffff !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, .08) !important;
    }

    .mobile-bottom {
        background: #ffffff !important;
        border-top: 1px solid rgba(15,23,42,.08) !important;
        box-shadow: 0 -8px 22px rgba(15,23,42,.08) !important;
    }

    .hero-showcase,
    .hero-panel,
    .property-card-media,
    .farm-media,
    .farm-list-photo,
    .single-gallery-main {
        background: #eaf7ef !important;
        overflow: hidden !important;
        transform: none !important;
    }

    .hero-showcase img,
    .hero-panel img,
    .property-card-media img,
    .farm-media img,
    .farm-list-photo img,
    .single-gallery-main img,
    .single-gallery-thumbs img,
    .footer-logo-mark img,
    .brand-link img {
        display: block !important;
        max-width: 100% !important;
        height: auto;
        image-rendering: auto !important;
        object-fit: cover;
        background-color: #eaf7ef !important;
        filter: none !important;
        -webkit-filter: none !important;
        transform: none !important;
        -webkit-transform: none !important;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        will-change: auto !important;
    }

    .footer-logo-mark img,
    .brand-link img {
        object-fit: contain !important;
        background-color: transparent !important;
    }

    .property-app-card:hover,
    .farm-card:hover,
    .farm-list-card:hover,
    .btn:hover,
    .footer-links-block a:hover,
    .property-card-btn:hover,
    .property-card-favorite:hover,
    .segment-filter-chip:hover {
        transform: none !important;
        -webkit-transform: none !important;
    }

    .property-app-card:hover .property-card-media img,
    .farm-card:hover .farm-media img,
    .farm-list-card:hover .farm-list-photo img,
    .single-gallery-thumbs img:hover {
        transform: none !important;
        -webkit-transform: none !important;
    }

    .single-sticky-card,
    .sticky-offer-card,
    .info-panel {
        position: relative !important;
        top: auto !important;
    }

    .site-footer {
        background: #07130d !important;
        margin-top: 24px !important;
        padding: 24px 0 104px !important;
        overflow: hidden !important;
    }

    .footer-app {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        align-items: stretch !important;
    }

    .footer-brand-block,
    .footer-links-block,
    .footer-contact-card {
        width: 100% !important;
        min-height: auto !important;
        background: #092015 !important;
        border: 1px solid rgba(134, 239, 172, .12) !important;
        border-radius: 20px !important;
        box-shadow: none !important;
        overflow: hidden !important;
        color: rgba(255,255,255,.86) !important;
    }

    .footer-links-block {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    .footer-links-block a {
        display: inline-flex !important;
        width: 100% !important;
        background: #0d2a1b !important;
        border-color: rgba(134,239,172,.12) !important;
        color: #f8fafc !important;
    }

    .footer-bottom {
        background: #07130d !important;
        border-top-color: rgba(134,239,172,.12) !important;
        padding-bottom: 4px !important;
    }

    .container,
    .wide {
        width: min(100% - 24px, 1320px) !important;
    }
}

@media (max-width: 520px) {
    .property-card-media,
    .farm-media,
    .farm-list-photo {
        min-height: 210px !important;
    }

    .hero-showcase,
    .hero-panel {
        min-height: 250px !important;
    }

    .hero-floating-card {
        background: #0f172a !important;
        color: #ffffff !important;
        box-shadow: none !important;
    }
}


/* HOTFIX DEFINITIVO MOBILE ANDROID: remove rasterização instável no rodapé/menu.
   Alguns Chrome/Android quebram a pintura quando há cards escuros com sombra/borda,
   SVG inline, contain: paint, backdrop-filter e bottom nav fixed na mesma rolagem. */
@media (max-width: 820px) {
    html,
    body {
        overflow-x: hidden !important;
        background: #f7faf6 !important;
    }

    body,
    .page,
    main,
    .site-footer,
    .site-footer *,
    .nav-links,
    .nav-links *,
    .mobile-bottom,
    .mobile-bottom * {
        contain: none !important;
        isolation: auto !important;
        mix-blend-mode: normal !important;
        background-blend-mode: normal !important;
        filter: none !important;
        -webkit-filter: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        text-shadow: none !important;
        transform: none !important;
        -webkit-transform: none !important;
        perspective: none !important;
        will-change: auto !important;
        animation: none !important;
    }

    .site-footer::before,
    .site-footer::after,
    .footer-brand-block::before,
    .footer-brand-block::after,
    .footer-links-block::before,
    .footer-links-block::after,
    .footer-contact-card::before,
    .footer-contact-card::after,
    .nav-links::before,
    .nav-links::after,
    .mobile-bottom::before,
    .mobile-bottom::after {
        display: none !important;
        content: none !important;
        background: none !important;
    }

    .site-footer {
        display: block !important;
        background: #07130d !important;
        color: rgba(255,255,255,.86) !important;
        margin-top: 24px !important;
        padding: 24px 0 96px !important;
        border-top: 1px solid rgba(134,239,172,.16) !important;
        box-shadow: none !important;
        overflow: visible !important;
        backface-visibility: visible !important;
        -webkit-backface-visibility: visible !important;
    }

    .site-footer .container,
    .footer-app.container,
    .footer-bottom.container {
        width: min(100% - 32px, 1180px) !important;
        max-width: 1180px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .footer-app {
        display: block !important;
        grid-template-columns: none !important;
        gap: 0 !important;
        background: transparent !important;
    }

    .footer-brand-block,
    .footer-links-block,
    .footer-contact-card {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 18px 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .footer-brand-block,
    .footer-links-block {
        border-bottom: 1px solid rgba(134,239,172,.14) !important;
    }

    .footer-brand {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        color: #ffffff !important;
    }

    .footer-logo-mark {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        border: 0 !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }

    .footer-logo-mark img {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: contain !important;
        padding: 6px !important;
        background: #ffffff !important;
    }

    .footer-brand strong {
        color: #ffffff !important;
        font-size: 1.05rem !important;
        line-height: 1.15 !important;
    }

    .footer-brand small {
        color: #86efac !important;
        font-size: .82rem !important;
    }

    .footer-brand-block p,
    .footer-contact-card p {
        margin-top: 12px !important;
        color: rgba(255,255,255,.70) !important;
        line-height: 1.55 !important;
    }

    .footer-trust-row {
        display: none !important;
    }

    .footer-links-block h3,
    .footer-contact-card h3 {
        color: #ffffff !important;
        margin: 0 0 10px !important;
        font-size: 1rem !important;
    }

    .footer-links-block a {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 9px !important;
        width: 100% !important;
        min-height: 44px !important;
        padding: 10px 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(134,239,172,.10) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: rgba(255,255,255,.86) !important;
        text-decoration: none !important;
    }

    .footer-links-block a:last-child {
        border-bottom: 0 !important;
    }

    .footer-links-block .icon,
    .footer-contact-icon .icon,
    .footer-whatsapp .icon,
    .mobile-bottom .icon,
    .nav-links .icon {
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        color: currentColor !important;
        stroke: currentColor !important;
    }

    .footer-contact-icon {
        width: 42px !important;
        height: 42px !important;
        border-radius: 14px !important;
        background: #dcfce7 !important;
        color: #166534 !important;
        margin-bottom: 10px !important;
        box-shadow: none !important;
    }

    .footer-whatsapp {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        min-height: 42px !important;
        margin-top: 12px !important;
        padding: 10px 14px !important;
        border-radius: 12px !important;
        background: #16a34a !important;
        color: #ffffff !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .footer-bottom {
        display: block !important;
        margin-top: 0 !important;
        padding-top: 14px !important;
        border-top: 1px solid rgba(134,239,172,.14) !important;
        background: transparent !important;
        color: rgba(255,255,255,.66) !important;
        font-size: .82rem !important;
        line-height: 1.55 !important;
    }

    .footer-bottom span,
    .footer-bottom-note {
        display: block !important;
        margin-top: 6px !important;
    }

    .footer-bottom-note a {
        color: rgba(255,255,255,.82) !important;
    }

    .nav-links {
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 16px !important;
        box-shadow: 0 18px 34px rgba(15,23,42,.14) !important;
        overflow: visible !important;
        z-index: 80 !important;
    }

    .nav-links a,
    .nav-links button {
        background: #ffffff !important;
        color: #0f172a !important;
        border-radius: 12px !important;
        border: 1px solid #e2e8f0 !important;
        box-shadow: none !important;
    }

    .nav-links a.btn {
        background: #166534 !important;
        color: #ffffff !important;
        border-color: #166534 !important;
    }

    .mobile-bottom {
        background: #ffffff !important;
        border-top: 1px solid #e2e8f0 !important;
        box-shadow: 0 -8px 18px rgba(15,23,42,.08) !important;
        overflow: visible !important;
    }

    .mobile-bottom a,
    .mobile-bottom button {
        background: #ffffff !important;
        color: #64748b !important;
        box-shadow: none !important;
    }
}

/* HOTFIX SINGLE MOBILE: estabiliza os cards técnicos no Chrome/Android.
   Remove composição pesada e força lista simples para evitar artefatos/linhas duplicadas ao rolar. */
@media (max-width: 820px) {
    .single-clean-page,
    .single-clean-page *,
    .single-clean-page *::before,
    .single-clean-page *::after {
        contain: none !important;
        isolation: auto !important;
        mix-blend-mode: normal !important;
        background-blend-mode: normal !important;
        filter: none !important;
        -webkit-filter: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        text-shadow: none !important;
        transform: none !important;
        -webkit-transform: none !important;
        perspective: none !important;
        backface-visibility: visible !important;
        -webkit-backface-visibility: visible !important;
        will-change: auto !important;
        animation: none !important;
    }

    .single-clean-page {
        background: #f7faf6 !important;
        overflow: visible !important;
    }

    .single-clean-gallery,
    .single-clean-summary,
    .single-clean-card {
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 18px !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .single-clean-hero,
    .single-clean-layout,
    .single-clean-content,
    .single-clean-side {
        display: block !important;
        gap: 0 !important;
    }

    .single-clean-gallery,
    .single-clean-summary,
    .single-clean-content > .single-clean-card,
    .single-clean-side > .single-clean-card {
        margin-bottom: 12px !important;
    }

    .single-clean-summary,
    .single-clean-card {
        padding: 16px !important;
    }

    .single-clean-card-head {
        display: flex !important;
        align-items: flex-start !important;
        gap: 10px !important;
        margin-bottom: 12px !important;
        min-height: 0 !important;
    }

    .single-clean-card-head > span {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        border-radius: 12px !important;
        background: #ecfdf5 !important;
        color: #166534 !important;
        box-shadow: none !important;
    }

    .single-clean-card-head h2 {
        font-size: 1rem !important;
        line-height: 1.2 !important;
    }

    .single-clean-card-head p {
        font-size: .82rem !important;
        line-height: 1.35 !important;
    }

    .single-clean-data-grid,
    .single-clean-feature-grid,
    .single-clean-notes,
    .market-note-grid {
        display: block !important;
        grid-template-columns: none !important;
        gap: 0 !important;
    }

    .single-clean-data-grid > div,
    .single-clean-feature-grid > div {
        display: grid !important;
        grid-template-columns: 28px minmax(0, 1fr) !important;
        grid-template-areas:
            "icon label"
            "icon value" !important;
        align-items: center !important;
        column-gap: 10px !important;
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 0 8px !important;
        padding: 11px 12px !important;
        border-radius: 14px !important;
        border: 1px solid #e2e8f0 !important;
        background: #f8fafc !important;
        box-shadow: none !important;
        overflow: visible !important;
        position: relative !important;
    }

    .single-clean-feature-grid > div.is-on {
        background: #f0fdf4 !important;
        border-color: #bbf7d0 !important;
    }

    .single-clean-data-grid > div .icon,
    .single-clean-feature-grid > div .icon {
        grid-area: icon !important;
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        color: #166534 !important;
        position: static !important;
        display: block !important;
        align-self: center !important;
    }

    .single-clean-data-grid > div span,
    .single-clean-feature-grid > div small {
        grid-area: label !important;
        display: block !important;
        margin: 0 !important;
        color: #64748b !important;
        font-size: .74rem !important;
        line-height: 1.2 !important;
        font-weight: 850 !important;
        white-space: normal !important;
    }

    .single-clean-data-grid > div strong,
    .single-clean-feature-grid > div strong {
        grid-area: value !important;
        display: block !important;
        margin: 2px 0 0 !important;
        color: #0f172a !important;
        font-size: .92rem !important;
        line-height: 1.25 !important;
        font-weight: 950 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .single-clean-notes article {
        margin-bottom: 10px !important;
        border: 1px solid #e2e8f0 !important;
        background: #f8fafc !important;
        border-radius: 14px !important;
        box-shadow: none !important;
    }

    .single-clean-text,
    .single-clean-notes p,
    .single-muted {
        font-size: .94rem !important;
        line-height: 1.58 !important;
    }

    .single-mobile-cta {
        background: #ffffff !important;
        border-top: 1px solid #e2e8f0 !important;
        box-shadow: 0 -8px 18px rgba(15,23,42,.08) !important;
        overflow: visible !important;
        contain: none !important;
    }

    .single-mobile-cta .btn {
        transform: none !important;
        box-shadow: none !important;
    }
}

/* HOTFIX GLOBAL MOBILE SAFE RENDER V4
   Correção global para artefatos visuais no Chrome/Android ao rolar telas.
   Mantém o visual premium, mas remove no mobile os recursos que geram rasterização quebrada:
   gradientes empilhados, blur, sombras pesadas, transforms, contain/paint e SVGs decorativos em grids densos. */
@media (max-width: 900px), (pointer: coarse) and (max-width: 1100px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        background: #f7faf6 !important;
        color-scheme: light !important;
        -webkit-font-smoothing: antialiased !important;
        text-rendering: geometricPrecision !important;
    }

    *,
    *::before,
    *::after {
        background-blend-mode: normal !important;
        mix-blend-mode: normal !important;
        filter: none !important;
        -webkit-filter: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        transform: none !important;
        -webkit-transform: none !important;
        perspective: none !important;
        backface-visibility: visible !important;
        -webkit-backface-visibility: visible !important;
        will-change: auto !important;
        animation: none !important;
        text-shadow: none !important;
        contain: none !important;
        isolation: auto !important;
        clip-path: none !important;
        -webkit-clip-path: none !important;
        mask-image: none !important;
        -webkit-mask-image: none !important;
    }

    /* Remove pseudo-elementos decorativos no mobile. Eles eram os maiores geradores de “chuvisco”. */
    .hero-premium::before,
    .hero-premium::after,
    .hero-feed::before,
    .hero-feed::after,
    .hero-showcase::before,
    .hero-showcase::after,
    .property-app-card::before,
    .property-app-card::after,
    .farm-card::before,
    .farm-card::after,
    .farm-list-card::before,
    .farm-list-card::after,
    .single-clean-page::before,
    .single-clean-page::after,
    .single-clean-card::before,
    .single-clean-card::after,
    .single-clean-summary::before,
    .single-clean-summary::after,
    .single-clean-mini-grid div::before,
    .single-clean-mini-grid div::after,
    .single-clean-data-grid > div::before,
    .single-clean-data-grid > div::after,
    .single-clean-feature-grid > div::before,
    .single-clean-feature-grid > div::after,
    .site-footer::before,
    .site-footer::after,
    .footer-app::before,
    .footer-app::after,
    .footer-brand-block::before,
    .footer-brand-block::after,
    .footer-links-block::before,
    .footer-links-block::after,
    .footer-contact-card::before,
    .footer-contact-card::after,
    .nav-links::before,
    .nav-links::after,
    .mobile-bottom::before,
    .mobile-bottom::after {
        display: none !important;
        content: none !important;
        background: none !important;
        background-image: none !important;
    }

    /* Mobile seguro: superfícies sólidas, sem gradiente e sem sombra pesada. */
    .page,
    main,
    .single-clean-page,
    .single-similar-section,
    .about-page,
    .farms-page,
    .panel-page {
        background: #f7faf6 !important;
        background-image: none !important;
    }

    .container,
    .wide {
        width: min(100% - 24px, 1180px) !important;
        max-width: 1180px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .hero-premium,
    .hero-feed,
    .filters,
    .filters-premium,
    .filters-compact,
    .property-app-card,
    .farm-card,
    .farm-list-card,
    .single-clean-gallery,
    .single-clean-summary,
    .single-clean-card,
    .single-clean-price,
    .single-clean-mini-grid div,
    .single-clean-data-grid > div,
    .single-clean-feature-grid > div,
    .single-clean-notes article,
    .about-card,
    .legal-card,
    .market-index-group,
    .market-index-card,
    .panel-card,
    .app-stat-card,
    .footer-brand-block,
    .footer-links-block,
    .footer-contact-card {
        background-image: none !important;
        box-shadow: none !important;
        overflow: hidden !important;
        -webkit-transform: none !important;
        transform: none !important;
    }

    /* Single: resumo lateral e cards técnicos viram lista app-like estável. */
    .single-clean-hero,
    .single-clean-layout,
    .single-clean-content,
    .single-clean-side {
        display: block !important;
        grid-template-columns: none !important;
        gap: 0 !important;
    }

    .single-clean-gallery,
    .single-clean-summary,
    .single-clean-card {
        border: 1px solid #e2e8f0 !important;
        border-radius: 18px !important;
        background: #ffffff !important;
        margin-bottom: 12px !important;
    }

    .single-clean-summary,
    .single-clean-card {
        padding: 16px !important;
    }

    .single-clean-price {
        border: 1px solid #bbf7d0 !important;
        border-radius: 16px !important;
        background: #f0fdf4 !important;
        padding: 13px !important;
    }

    .single-clean-price strong,
    .single-side-price {
        font-size: clamp(1.55rem, 8vw, 2rem) !important;
        line-height: 1.05 !important;
        overflow-wrap: anywhere !important;
    }

    .single-clean-price-per-hectare {
        display: block !important;
        margin-top: 7px !important;
        color: #166534 !important;
        font-weight: 950 !important;
    }

    .single-clean-mini-grid,
    .single-clean-data-grid,
    .single-clean-feature-grid,
    .single-clean-notes,
    .market-note-grid {
        display: block !important;
        grid-template-columns: none !important;
        gap: 0 !important;
    }

    .single-clean-mini-grid div,
    .single-clean-data-grid > div,
    .single-clean-feature-grid > div {
        display: block !important;
        width: 100% !important;
        min-height: auto !important;
        height: auto !important;
        margin: 0 0 8px !important;
        padding: 12px 13px !important;
        border-radius: 15px !important;
        border: 1px solid #e2e8f0 !important;
        background: #ffffff !important;
        background-image: none !important;
        color: #0f172a !important;
    }

    .single-clean-feature-grid > div.is-on {
        background: #f0fdf4 !important;
        border-color: #bbf7d0 !important;
    }

    .single-clean-mini-grid div span,
    .single-clean-data-grid > div span,
    .single-clean-data-grid > div strong,
    .single-clean-feature-grid > div small,
    .single-clean-feature-grid > div strong {
        display: block !important;
        margin: 0 !important;
        color: #334155 !important;
        line-height: 1.35 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .single-clean-mini-grid div span,
    .single-clean-data-grid > div strong,
    .single-clean-feature-grid > div strong {
        font-size: .96rem !important;
        font-weight: 950 !important;
    }

    .single-clean-data-grid > div span,
    .single-clean-feature-grid > div small {
        color: #64748b !important;
        font-size: .74rem !important;
        font-weight: 850 !important;
        margin-bottom: 3px !important;
    }

    /* Esconde apenas os SVGs decorativos dentro dos blocos que estavam quebrando a pintura no Android. */
    .single-clean-mini-grid .icon,
    .single-clean-price-per-hectare .icon,
    .single-clean-data-grid > div > .icon,
    .single-clean-feature-grid > div > .icon,
    .market-note-grid > div > .icon {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        margin: 0 !important;
        opacity: 0 !important;
    }

    .single-clean-actions,
    .single-mobile-cta {
        box-shadow: none !important;
        background: #ffffff !important;
        background-image: none !important;
    }

    .single-mobile-cta {
        border-top: 1px solid #e2e8f0 !important;
        padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
    }

    /* Imagens reais continuam aparecendo, mas sem efeitos de camada. */
    img,
    picture,
    video,
    canvas {
        filter: none !important;
        -webkit-filter: none !important;
        transform: none !important;
        -webkit-transform: none !important;
        backface-visibility: visible !important;
        -webkit-backface-visibility: visible !important;
        image-rendering: auto !important;
    }

    .single-clean-main-photo,
    .property-card-media,
    .farm-media,
    .farm-list-photo,
    .hero-showcase,
    .hero-panel {
        background: #eaf7ef !important;
        background-image: none !important;
        border-radius: 18px !important;
        overflow: hidden !important;
    }

    .single-clean-main-photo img,
    .property-card-media img,
    .farm-media img,
    .farm-list-photo img,
    .hero-showcase img,
    .hero-panel img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

    .sticky-offer-card,
    .single-sticky-card,
    .info-panel {
        position: static !important;
        top: auto !important;
    }

    .site-header,
    .nav-links,
    .mobile-bottom {
        background: #ffffff !important;
        background-image: none !important;
        box-shadow: none !important;
        border-color: #e2e8f0 !important;
    }

    .site-footer {
        background: #07130d !important;
        background-image: none !important;
        box-shadow: none !important;
        border-top: 1px solid rgba(134,239,172,.14) !important;
        padding-bottom: 96px !important;
        overflow: hidden !important;
    }

    .site-footer,
    .site-footer * {
        background-blend-mode: normal !important;
        mix-blend-mode: normal !important;
    }

    .footer-brand-block,
    .footer-links-block,
    .footer-contact-card,
    .footer-app {
        background: transparent !important;
        border-radius: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-top: 0 !important;
        border-color: rgba(134,239,172,.12) !important;
        overflow: visible !important;
    }
}

/* Perfil do usuário + redes sociais SVGRepo - Pinho Fazendas */
.icon-external-svgrepo {
    width: 1.1em;
    height: 1.1em;
    display: inline-block;
    object-fit: contain;
    vertical-align: -0.18em;
    flex: 0 0 auto;
}
.icon-whatsapp { filter: none !important; }
.panel-user-avatar { overflow: hidden; }
.panel-user-avatar.has-photo {
    background: #fff;
    color: transparent;
    box-shadow: 0 10px 26px rgba(15,23,42,.18);
}
.panel-user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.profile-title-row {
    align-items: center;
}
.profile-edit-shell {
    display: grid;
    grid-template-columns: minmax(240px, 310px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}
.profile-summary-card {
    position: sticky;
    top: 98px;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 28px;
    background: #fff;
    padding: 22px;
    box-shadow: 0 18px 42px rgba(15,23,42,.08);
    text-align: center;
}
.profile-photo-preview {
    width: 132px;
    height: 132px;
    margin: 0 auto 16px;
    border-radius: 36px;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: #ecfdf5;
    color: var(--green);
    border: 1px solid rgba(22,101,52,.12);
    font-size: 3rem;
    font-weight: 950;
}
.profile-photo-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.profile-summary-card h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.45rem;
    letter-spacing: -.03em;
}
.profile-summary-card p {
    margin: 4px 0 16px;
    color: #64748b;
    font-weight: 850;
}
.profile-summary-card small {
    display: block;
    margin-top: 12px;
    color: #64748b;
    line-height: 1.55;
}
.profile-upload-button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 16px;
    background: #166534;
    color: #fff;
    font-weight: 950;
    cursor: pointer;
    box-shadow: 0 14px 28px rgba(22,101,52,.18);
}
.profile-upload-button input { display: none; }
.profile-edit-card {
    margin: 0 0 16px;
    border-radius: 26px;
}
.profile-address-card { margin-top: 0; }
.profile-save-bar {
    grid-column: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    border-radius: 24px;
}
.profile-save-bar strong,
.profile-save-bar span {
    display: block;
}
.profile-save-bar strong {
    color: #0f172a;
    font-weight: 950;
}
.profile-save-bar span {
    color: #64748b;
    margin-top: 2px;
}
.footer-social-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-top: 16px;
}
.footer-social-row a {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.18);
    text-decoration: none;
    box-shadow: 0 12px 26px rgba(0,0,0,.16);
}
.footer-social-row .icon-external-svgrepo {
    width: 24px;
    height: 24px;
}
.footer-contact-icon .icon-external-svgrepo,
.footer-whatsapp .icon-external-svgrepo,
.btn .icon-external-svgrepo,
.btn.small .icon-external-svgrepo {
    width: 1.15em;
    height: 1.15em;
}

@media (max-width: 860px) {
    .profile-edit-shell {
        grid-template-columns: 1fr;
    }
    .profile-summary-card {
        position: static;
        display: grid;
        grid-template-columns: 92px minmax(0, 1fr);
        text-align: left;
        align-items: center;
        gap: 14px;
        border-radius: 24px;
    }
    .profile-photo-preview {
        width: 92px;
        height: 92px;
        margin: 0;
        border-radius: 28px;
        font-size: 2rem;
    }
    .profile-upload-button,
    .profile-summary-card small {
        grid-column: 1 / -1;
    }
    .profile-save-bar {
        grid-column: 1;
        flex-direction: column;
        align-items: stretch;
    }
    .profile-save-bar .btn { width: 100%; }
}

@media (max-width: 640px) {
    .footer-social-row {
        justify-content: flex-start;
        margin-top: 12px;
    }
    .footer-social-row a {
        width: 38px;
        height: 38px;
        border-radius: 14px;
        box-shadow: none;
    }
    .footer-social-row .icon-external-svgrepo {
        width: 22px;
        height: 22px;
    }
    .profile-title-row .btn { width: 100%; }
    .profile-summary-card,
    .profile-edit-card,
    .profile-save-bar { border-radius: 20px; }
}

/* Chat interno + perfil fixo - Pinho Fazendas */
.profile-edit-shell {
    align-items: start;
}
.profile-summary-card {
    position: sticky !important;
    top: 104px !important;
    align-self: start;
    z-index: 2;
}
.chat-title-row {
    align-items: center;
}
.chat-panel-grid {
    display: grid;
    grid-template-columns: minmax(270px, 360px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}
.chat-start-card,
.chat-list-card,
.chat-room-head,
.chat-compose {
    padding: 18px;
    border-radius: 24px;
}
.chat-start-form {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}
.chat-help-box {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-top: 14px;
    padding: 12px;
    border-radius: 16px;
    color: #334155;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: .92rem;
    line-height: 1.45;
}
.chat-help-box .icon { color: #166534; flex: 0 0 auto; }
.chat-conversation-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}
.chat-conversation-item {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border-radius: 20px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.chat-conversation-item:hover,
.chat-conversation-item.has-unread {
    border-color: rgba(22,101,52,.28);
    box-shadow: 0 14px 32px rgba(15,23,42,.07);
}
.chat-avatar {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    color: #fff;
    background: #166534;
    font-weight: 950;
    overflow: hidden;
    flex: 0 0 auto;
}
.chat-avatar.small {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    font-size: .8rem;
}
.chat-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.chat-conversation-copy { min-width: 0; display: grid; gap: 2px; }
.chat-conversation-copy strong,
.chat-room-contact strong {
    color: #0f172a;
    font-weight: 950;
}
.chat-conversation-copy small,
.chat-room-contact small {
    color: #64748b;
    font-weight: 850;
}
.chat-conversation-copy em {
    color: #64748b;
    font-size: .88rem;
    font-style: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.chat-conversation-meta {
    display: grid;
    justify-items: end;
    gap: 6px;
    color: #94a3b8;
    font-size: .78rem;
}
.chat-conversation-meta b {
    min-width: 24px;
    height: 24px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: .76rem;
}
.chat-room-shell {
    display: grid;
    gap: 14px;
}
.chat-room-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    position: sticky;
    top: 82px;
    z-index: 8;
}
.chat-room-contact {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    flex: 1;
}
.chat-listing-strip {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border-radius: 22px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}
.chat-listing-strip img {
    width: 74px;
    height: 58px;
    object-fit: cover;
    border-radius: 16px;
}
.chat-listing-strip strong,
.chat-listing-strip span { display: block; min-width: 0; }
.chat-listing-strip strong { color: #0f172a; font-weight: 950; }
.chat-listing-strip span { color: #64748b; font-size: .9rem; font-weight: 800; }
.chat-message-area {
    min-height: 420px;
    max-height: 62vh;
    overflow: auto;
    padding: 18px;
    border-radius: 28px;
    background: #eef7f0;
    border: 1px solid #dcefe3;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.chat-message {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}
.chat-message.is-mine {
    justify-content: flex-end;
}
.chat-bubble {
    width: fit-content;
    max-width: min(680px, 78%);
    padding: 11px 12px 8px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 10px 24px rgba(15,23,42,.06);
}
.chat-message.is-mine .chat-bubble {
    color: #fff;
    background: #166534;
    border-color: #166534;
}
.chat-bubble p {
    margin: 0;
    line-height: 1.45;
    white-space: normal;
    word-break: break-word;
}
.chat-attachment { margin-top: 8px; }
.chat-attachment img,
.chat-attachment video {
    display: block;
    width: min(100%, 360px);
    max-height: 320px;
    border-radius: 16px;
    object-fit: cover;
    background: #0f172a;
}
.chat-file-link,
.chat-location-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border-radius: 16px;
    background: rgba(255,255,255,.9);
    color: #0f172a;
    text-decoration: none;
    font-weight: 900;
}
.chat-message.is-mine .chat-file-link,
.chat-message.is-mine .chat-location-card {
    color: #0f172a;
}
.chat-location-card span { display: grid; gap: 1px; }
.chat-location-card small { color: #64748b; }
.chat-message-foot {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 6px;
    color: #64748b;
    font-size: .72rem;
    font-weight: 850;
}
.chat-message.is-mine .chat-message-foot { color: rgba(255,255,255,.74); }
.chat-read-status.is-read { color: #bfdbfe; }
.chat-reactions-line {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 7px;
}
.chat-reactions-line span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,.88);
    color: #0f172a;
    font-size: .8rem;
    font-weight: 900;
}
.chat-reaction-form {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 8px;
    opacity: .74;
}
.chat-reaction-form button {
    width: 30px;
    height: 28px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.9);
    cursor: pointer;
}
.chat-reaction-form button:hover { background: #fff; }
.chat-compose {
    display: grid;
    gap: 10px;
    position: sticky;
    bottom: 14px;
    z-index: 7;
}
.chat-compose textarea {
    width: 100%;
    min-height: 56px;
    resize: vertical;
    border: 1px solid #dbe4ef;
    border-radius: 18px;
    padding: 12px 14px;
    font: inherit;
}
.chat-compose-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.chat-upload-btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 16px;
    border: 1px solid #dbe4ef;
    color: #166534;
    background: #fff;
    font-weight: 950;
    cursor: pointer;
}
.chat-upload-btn input { display: none; }
.chat-compose-help {
    color: #64748b;
    line-height: 1.45;
}
@media (max-width: 980px) {
    .chat-panel-grid { grid-template-columns: 1fr; }
    .chat-room-head { position: static; flex-wrap: wrap; }
    .chat-message-area { max-height: none; min-height: 58vh; border-radius: 22px; }
    .chat-compose { position: static; }
    .profile-summary-card { position: sticky !important; top: 82px !important; }
}
@media (max-width: 640px) {
    .chat-title-row { align-items: stretch; }
    .chat-title-row .btn { width: 100%; }
    .chat-conversation-item { grid-template-columns: 44px minmax(0, 1fr); }
    .chat-conversation-meta { grid-column: 2; justify-items: start; display: flex; align-items: center; }
    .chat-avatar { width: 44px; height: 44px; border-radius: 15px; }
    .chat-listing-strip { grid-template-columns: 58px minmax(0, 1fr); }
    .chat-listing-strip .btn { grid-column: 1 / -1; }
    .chat-listing-strip img { width: 58px; height: 48px; }
    .chat-bubble { max-width: 86%; }
    .chat-message-area { padding: 12px; }
    .chat-compose-actions .btn,
    .chat-upload-btn { flex: 1 1 100%; width: 100%; }
    .profile-summary-card {
        position: sticky !important;
        top: 76px !important;
        z-index: 4;
    }
}
.nav-unread-badge {
    min-width: 20px;
    height: 20px;
    margin-left: auto;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-size: .7rem;
    font-weight: 950;
}
.nav-unread-badge:empty { display: none; }

/* PATCH: perfil sem sobreposição + chat interno com push, badge e atalho rápido */
.panel-chat-tools {
    display: grid;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,.10);
}
.panel-chat-fast-link,
.panel-chat-push-btn {
    width: 100%;
    min-height: 46px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.07);
    color: #fff;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 11px;
    text-decoration: none;
    font-family: inherit;
    font-weight: 900;
}
.panel-chat-push-btn { cursor: pointer; justify-content: center; }
.panel-chat-push-btn.is-active { background: rgba(22,163,74,.24); border-color: rgba(34,197,94,.38); }
.panel-chat-fast-icon {
    width: 36px;
    height: 36px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    background: #16a34a;
    color: #fff;
}
.panel-chat-fast-link strong,
.panel-chat-fast-link small { display: block; line-height: 1.15; }
.panel-chat-fast-link small { margin-top: 3px; color: rgba(255,255,255,.66); font-size: .74rem; }
.panel-chat-fast-link small.is-active { color: #bbf7d0; }
.panel-chat-fast-badge { margin-left: auto !important; }
.panel-chat-nav-link .nav-unread-badge,
.panel-chat-fast-link .nav-unread-badge {
    animation: none;
}
.panel-chat-nav-link .nav-unread-badge.is-visible,
.panel-chat-fast-link .nav-unread-badge.is-visible {
    animation: chatBadgePulse 1.4s ease-in-out infinite;
}
@keyframes chatBadgePulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.08); }
}
.chat-notification-toast {
    position: fixed;
    right: 18px;
    bottom: 22px;
    z-index: 9999;
    width: min(340px, calc(100vw - 28px));
    padding: 14px 16px;
    border-radius: 20px;
    background: #052e16;
    color: #fff;
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 20px 50px rgba(2,6,23,.28);
    text-decoration: none;
    transform: translateY(24px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
}
.chat-notification-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.chat-notification-toast strong,
.chat-notification-toast span { display: block; }
.chat-notification-toast strong { font-size: .95rem; margin-bottom: 3px; }
.chat-notification-toast span { color: rgba(255,255,255,.78); font-size: .86rem; line-height: 1.35; }
.profile-edit-shell { align-items: start; }
.profile-summary-card {
    position: sticky !important;
    top: 104px !important;
    align-self: start;
    z-index: 2;
}
@media (max-width: 980px) {
    .panel-chat-tools {
        grid-template-columns: minmax(180px, 1fr) auto;
        align-items: center;
        margin-top: 2px;
        padding-top: 10px;
        border-top-color: #e2e8f0;
    }
    .panel-chat-fast-link,
    .panel-chat-push-btn {
        color: #0f172a;
        background: #f8fafc;
        border-color: #e2e8f0;
    }
    .panel-chat-push-btn { width: auto; white-space: nowrap; }
    .panel-chat-push-btn.is-active { color: #166534; background: #ecfdf5; border-color: #bbf7d0; }
    .panel-chat-fast-link small { color: #64748b; }
    .panel-chat-fast-link small.is-active { color: #166534; }
    .profile-edit-shell {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .profile-summary-card {
        position: relative !important;
        top: auto !important;
        z-index: 1 !important;
        margin-bottom: 0;
    }
}
@media (max-width: 640px) {
    .panel-chat-tools { grid-template-columns: 1fr; }
    .panel-chat-push-btn { width: 100%; }
    .profile-summary-card {
        position: relative !important;
        top: auto !important;
        z-index: 1 !important;
        display: grid;
        grid-template-columns: 78px minmax(0, 1fr);
        align-items: center;
        text-align: left;
        gap: 12px;
        padding: 16px;
    }
    .profile-photo-preview {
        width: 78px;
        height: 78px;
        border-radius: 24px;
        font-size: 1.7rem;
    }
    .profile-summary-card h2 { font-size: 1.18rem; }
    .profile-summary-card p { margin-bottom: 0; }
    .profile-upload-button,
    .profile-summary-card small { grid-column: 1 / -1; text-align: center; }
    .chat-notification-toast {
        right: 12px;
        bottom: 86px;
        border-radius: 18px;
    }
}


/* PATCH DEFINITIVO: chat fixo, perfil sem sobreposição e push guiado */
.panel-main-app:has(.chat-room-shell) {
    min-height: calc(100dvh - 118px);
    overflow: hidden;
}
.chat-room-shell {
    height: calc(100dvh - 132px);
    min-height: 560px;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    overflow: hidden;
    gap: 12px;
}
.chat-room-head {
    position: static !important;
    top: auto !important;
    z-index: 1;
    flex: 0 0 auto;
}
.chat-listing-strip {
    min-height: 0;
}
.chat-message-area {
    min-height: 0 !important;
    height: 100%;
    max-height: none !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
.chat-compose {
    position: static !important;
    bottom: auto !important;
    z-index: 1;
    flex: 0 0 auto;
}
.chat-push-helper {
    position: fixed;
    right: 18px;
    bottom: 94px;
    z-index: 10000;
    width: min(380px, calc(100vw - 28px));
    padding: 16px;
    border-radius: 22px;
    background: #ffffff;
    color: #0f172a;
    border: 1px solid #dbe4ef;
    box-shadow: 0 22px 60px rgba(15,23,42,.22);
    display: none;
    gap: 10px;
}
.chat-push-helper.is-visible { display: grid; }
.chat-push-helper strong { font-size: 1rem; font-weight: 950; color: #0f172a; }
.chat-push-helper p { margin: 0; color: #475569; line-height: 1.42; font-size: .9rem; }
.chat-push-helper-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.chat-push-helper-actions button,
.chat-push-helper-actions a {
    min-height: 38px;
    border-radius: 14px;
    border: 1px solid #dbe4ef;
    background: #f8fafc;
    color: #0f172a;
    padding: 8px 12px;
    font-weight: 900;
    font-family: inherit;
    cursor: pointer;
    text-decoration: none;
}
.chat-push-helper-actions .primary {
    background: #166534;
    color: #fff;
    border-color: #166534;
}
.chat-floating-shortcut {
    position: fixed;
    right: 18px;
    bottom: 22px;
    z-index: 80;
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 15px;
    border-radius: 999px;
    background: #166534;
    color: #fff;
    text-decoration: none;
    font-weight: 950;
    box-shadow: 0 18px 38px rgba(22,101,52,.22);
    border: 1px solid rgba(255,255,255,.18);
}
.chat-floating-shortcut .nav-unread-badge {
    margin-left: 0;
    background: #ef4444;
    color: #fff;
}
.mobile-bottom a {
    position: relative;
}
.mobile-bottom .nav-unread-badge {
    position: absolute;
    top: 5px;
    right: 20%;
    margin: 0;
    background: #ef4444;
    color: #fff;
}
.profile-edit-shell {
    align-items: start !important;
    grid-template-columns: minmax(250px, 318px) minmax(0, 1fr);
}
.profile-summary-card {
    position: sticky !important;
    top: 92px !important;
    align-self: start !important;
    z-index: 0 !important;
    transform: none !important;
    will-change: auto !important;
}
.profile-edit-card,
.profile-address-card,
.profile-save-bar {
    position: relative;
    z-index: 1;
}
@media (max-width: 980px) {
    .panel-main-app:has(.chat-room-shell) {
        min-height: calc(100dvh - 88px);
        overflow: hidden;
    }
    .chat-room-shell {
        height: calc(100dvh - 108px);
        min-height: 0;
    }
    .chat-room-head {
        flex-wrap: wrap;
    }
    .chat-room-head .btn.secondary {
        margin-left: auto;
    }
    .chat-message-area {
        border-radius: 20px;
        padding: 12px;
    }
    .profile-edit-shell {
        grid-template-columns: 1fr !important;
    }
    .profile-summary-card {
        position: static !important;
        top: auto !important;
        z-index: 1 !important;
        width: 100%;
        transform: none !important;
    }
}
@media (max-width: 640px) {
    .chat-room-shell {
        height: calc(100dvh - 96px - env(safe-area-inset-bottom));
        gap: 8px;
    }
    .chat-room-head {
        padding: 12px;
        border-radius: 18px;
    }
    .chat-room-head > .btn.ghost {
        flex: 0 0 auto;
    }
    .chat-room-contact {
        order: 2;
        flex-basis: 100%;
    }
    .chat-room-head .btn.secondary {
        padding: 10px 12px;
        min-height: 42px;
        margin-left: auto;
    }
    .chat-compose {
        padding: 12px;
        border-radius: 18px;
    }
    .chat-compose textarea {
        min-height: 48px;
        max-height: 92px;
    }
    .chat-compose-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .chat-compose-actions .btn,
    .chat-upload-btn { width: 100%; }
    .chat-compose-actions .btn[type="submit"] { grid-column: 1 / -1; }
    .chat-compose-help { display: none; }
    .chat-floating-shortcut {
        right: 12px;
        bottom: 92px;
        min-height: 46px;
        padding: 10px 12px;
        border-radius: 18px;
    }
    .chat-push-helper {
        right: 10px;
        bottom: 88px;
        border-radius: 18px;
    }
}


/* HOTFIX FINAL: perfil estável, chat sem bloqueio de rolagem e botões sempre visíveis */
.panel-main-app:has(.chat-room-shell) {
    min-height: auto !important;
    overflow: visible !important;
}
.chat-room-shell {
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    overflow: visible !important;
}
.chat-room-head {
    position: sticky !important;
    top: 8px !important;
    z-index: 25 !important;
    background: #ffffff !important;
}
.chat-listing-strip,
.chat-message-area,
.chat-compose {
    flex: 0 0 auto !important;
}
.chat-message-area {
    min-height: 340px !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overscroll-behavior: auto !important;
    -webkit-overflow-scrolling: auto !important;
    touch-action: auto !important;
    pointer-events: auto !important;
}
.chat-compose {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 35 !important;
    display: grid !important;
    gap: 10px !important;
    overflow: visible !important;
    background: #ffffff !important;
    border: 1px solid #dbe4ef !important;
    box-shadow: 0 -10px 30px rgba(15,23,42,.08) !important;
}
.chat-compose textarea {
    display: block !important;
    width: 100% !important;
    min-height: 58px !important;
    resize: vertical !important;
}
.chat-compose-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
}
.chat-upload-btn,
.chat-compose-actions .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 48px !important;
    width: auto !important;
    flex: 0 0 auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    transform: none !important;
}
.chat-compose-actions .btn[type="submit"] {
    min-width: 128px !important;
}
.chat-compose-help {
    display: block !important;
    margin-top: 0 !important;
}

/* Perfil: remove qualquer sobreposição, sombra fantasma ou card flutuando em cima dos campos */
.profile-edit-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: start !important;
    overflow: visible !important;
}
.profile-summary-card {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 1 !important;
    width: 100% !important;
    transform: none !important;
    will-change: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) auto !important;
    gap: 14px !important;
    align-items: center !important;
    text-align: left !important;
}
.profile-summary-card::before,
.profile-summary-card::after,
.profile-edit-card::before,
.profile-edit-card::after {
    content: none !important;
    display: none !important;
}
.profile-photo-preview {
    width: 96px !important;
    height: 96px !important;
    margin: 0 !important;
    border-radius: 28px !important;
}
.profile-summary-card h2,
.profile-summary-card p,
.profile-summary-card small {
    position: relative !important;
    z-index: 2 !important;
}
.profile-summary-card h2 { align-self: end !important; }
.profile-summary-card p { align-self: start !important; margin: 2px 0 0 !important; }
.profile-upload-button {
    grid-column: 3 !important;
    grid-row: 1 / span 2 !important;
    white-space: nowrap !important;
}
.profile-summary-card small {
    grid-column: 2 / -1 !important;
    margin-top: 0 !important;
    text-align: left !important;
}
.profile-edit-card,
.profile-address-card,
.profile-save-bar {
    position: relative !important;
    z-index: 2 !important;
    margin-top: 0 !important;
}
.profile-save-bar { grid-column: auto !important; }

.chat-push-helper {
    z-index: 100000 !important;
}
.chat-push-helper.is-visible {
    display: grid !important;
}

@media (max-width: 760px) {
    .chat-room-head {
        position: relative !important;
        top: auto !important;
        z-index: 2 !important;
    }
    .chat-message-area {
        min-height: 300px !important;
        padding: 12px !important;
        border-radius: 20px !important;
    }
    .chat-compose {
        position: sticky !important;
        bottom: calc(72px + env(safe-area-inset-bottom)) !important;
        border-radius: 20px !important;
        padding: 12px !important;
    }
    .chat-compose-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }
    .chat-upload-btn,
    .chat-compose-actions .btn {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        font-size: .92rem !important;
    }
    .chat-compose-actions .btn[type="submit"] {
        grid-column: 1 / -1 !important;
    }
    .chat-compose-help {
        display: none !important;
    }
    .profile-summary-card {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        padding: 16px !important;
        border-radius: 22px !important;
        text-align: left !important;
        overflow: hidden !important;
    }
    .profile-photo-preview {
        width: 82px !important;
        height: 82px !important;
        border-radius: 24px !important;
        grid-row: 1 / span 2 !important;
    }
    .profile-summary-card h2 { font-size: 1.16rem !important; }
    .profile-upload-button,
    .profile-summary-card small {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        justify-self: stretch !important;
        text-align: center !important;
        white-space: normal !important;
    }
    .profile-upload-button { width: 100% !important; }
}
