/* =============================================================
   TEMA: CONTEMPORÂNEO — header fixo com blur, hero dividido,
   busca em cartao sobreposto e cards limpos.
   ============================================================= */

.site-header {
    position: sticky; top: 0; z-index: 600;
    background: color-mix(in srgb, var(--c-bg) 82%, transparent);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid color-mix(in srgb, var(--c-text) 8%, transparent);
}
.site-nav a { font-size: .95rem; }
.site-nav .nav-cta { color: #fff; border-bottom: 0; }

/* Hero full-bleed: foto de fundo ocupando a section, texto sobre ela */
.hero {
    position: relative; padding: 0; min-height: 78vh;
    display: flex; align-items: center; overflow: hidden;
    color: #fff;
}
.hero-bg { position: absolute; inset: 0; margin: 0; }
.hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.hero-bg::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(to right, color-mix(in srgb, var(--c-secondary) 78%, transparent) 0%, color-mix(in srgb, var(--c-secondary) 35%, transparent) 55%, transparent 100%);
}
.hero-inner { position: relative; z-index: 2; display: block; width: 100%; padding: 6rem 0; }
.hero-text { max-width: 620px; margin-left: max(4%, calc((100% - 1180px) / 2)); padding-left: 1.2rem; }
.hero-kicker {
    text-transform: uppercase; letter-spacing: .16em; font-size: .78rem;
    font-weight: 700; color: #fff; margin-bottom: 1.2rem; opacity: .9;
}
.hero h1 { letter-spacing: -.02em; color: #fff; font-size: clamp(2.1rem, 4.6vw, 3.3rem); line-height: 1.1; margin-bottom: 1.1rem; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.hero-subtitle { font-size: 1.15rem; max-width: 46ch; color: rgba(255,255,255,.94); margin-bottom: 1.9rem; line-height: 1.55; }
.hero .btn-primary { box-shadow: 0 8px 24px color-mix(in srgb, var(--c-primary) 45%, transparent); }
@media (max-width: 1240px) { .hero-text { margin-left: 4%; } }
@media (max-width: 860px) { .hero { min-height: 60vh; } .hero-inner { padding: 4rem 0; } .hero-text { margin-left: 0; padding-left: 0; } }

/* Busca destacada: sobe sobre o hero escuro */
.section-search { margin-top: -2.5rem; padding-top: 0; position: relative; z-index: 5; }
.section-search .search-form {
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .18);
    border: 1px solid color-mix(in srgb, var(--c-text) 8%, transparent);
    border-radius: 16px;
    padding: 1.4rem;
}

/* Cards limpos e elevados */
.property-card {
    border: 0; border-radius: 16px;
    box-shadow: 0 10px 30px color-mix(in srgb, var(--c-secondary) 10%, transparent);
    transition: transform .18s ease, box-shadow .18s ease;
}
.property-card:hover { transform: translateY(-4px); box-shadow: 0 18px 44px color-mix(in srgb, var(--c-secondary) 16%, transparent); }
.property-card-media { aspect-ratio: 16/11; }
.property-card-price { font-size: 1.35rem; }

.section-featured, .section-latest { background: color-mix(in srgb, var(--c-text) 3%, transparent); padding-top: 2.5rem; padding-bottom: 3rem; }
.section-types, .section-blog-teaser { background: var(--c-bg); }

.type-card { border-radius: 14px; box-shadow: 0 6px 18px color-mix(in srgb, var(--c-secondary) 8%, transparent); border: 0; }

.post-card { border: 0; border-radius: 16px; box-shadow: 0 10px 26px color-mix(in srgb, var(--c-secondary) 9%, transparent); }

.cta-box { background: linear-gradient(135deg, var(--c-primary), color-mix(in srgb, var(--c-primary) 60%, var(--c-secondary))); color: #fff; }
.cta-box .btn-primary { background: #fff; color: var(--c-primary); }
.cta-box .btn-whatsapp { background: #16a34a; color: #fff; }

.site-footer { background: color-mix(in srgb, var(--c-text) 4%, transparent); border-top: 0; }
