/* Sage: calm botanical editorial website - olive green, amber accent, airy type.
   Base layout comes from estate-portal-prime (linked separately in main.blade.php). */
:root {
    --sage-ink: #1c2416;
    --sage-muted: #5c6b52;
    --sage-wash: #eef2eb;
    --sage-leaf: #dce5d6;
    --sage-line: #c5d0bc;
}

body {
    background:
        radial-gradient(ellipse 80% 50% at 100% -10%, rgba(54, 83, 20, 0.08), transparent 55%),
        radial-gradient(ellipse 60% 40% at 0% 100%, rgba(217, 119, 6, 0.06), transparent 50%),
        var(--sage-wash);
    color: var(--sage-ink);
    font-family: "DM Sans", "Segoe UI", sans-serif;
}

.ep-header {
    background: rgba(54, 83, 20, 0.96);
    backdrop-filter: blur(12px);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}
.ep-brand {
    font-family: Newsreader, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    letter-spacing: -0.02em;
}
.ep-nav a {
    font-weight: 500;
    letter-spacing: 0.01em;
}
.ep-nav-cta {
    background: var(--theme-accent, #D97706);
    color: #1c2416;
    border-radius: 8px;
    padding: 9px 18px;
}

.ep-hero {
    background:
        radial-gradient(ellipse 70% 80% at 95% 20%, rgba(217, 119, 6, 0.18), transparent 50%),
        linear-gradient(155deg, #152016 0%, var(--theme-primary, #365314) 62%, #3f5c1c 100%);
    color: #f7faf4;
    padding: 80px 24px 108px;
    position: relative;
    overflow: hidden;
}
.ep-hero-inner {
    position: relative;
    z-index: 1;
    text-align: left;
    margin: 0 0 28px;
    max-width: 100%;
}
.ep-hero h1 {
    font-family: Newsreader, Georgia, serif;
    font-weight: 500;
    font-size: clamp(22px, 3.4vw, 48px);
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: #f7faf4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.ep-hero p {
    font-size: 17px;
    max-width: 34em;
    color: rgba(247, 250, 244, 0.88);
}

.ep-hero > .ep-container:last-child {
    max-width: 1120px;
}
.ep-search-card {
    position: relative;
    z-index: 1;
    max-width: 920px;
    border-radius: 16px;
    border: 1px solid var(--sage-line);
    box-shadow: 0 24px 48px rgba(28, 36, 22, 0.18);
}
.ep-card-media {
    background: linear-gradient(135deg, #365314, #6b8f3c 55%, #d97706);
}
.ep-search-input {
    border-radius: 10px;
    border-color: var(--sage-line);
    background: #fafcf8;
}
.ep-search-tab {
    border-radius: 8px;
    background: var(--sage-leaf);
    color: var(--sage-muted);
}
.ep-search-tab.is-active {
    background: var(--theme-primary, #365314);
    color: #fff;
}
.ep-btn {
    border-radius: 10px;
    background: var(--theme-accent, #D97706);
    color: #1c2416;
    font-weight: 600;
}
.ep-btn:hover { filter: brightness(1.05); }

.ep-stats { background: var(--sage-leaf); }
.ep-stats-grid strong {
    color: var(--theme-primary, #365314);
    font-family: Newsreader, Georgia, serif;
    font-weight: 500;
}
.ep-stats-grid span { color: var(--sage-muted); }

.ep-section h2 {
    font-family: Newsreader, Georgia, serif;
    font-weight: 500;
    font-size: clamp(28px, 3.5vw, 36px);
    letter-spacing: -0.02em;
    color: var(--sage-ink);
}
.ep-section-alt { background: #e4ebdf; }
.ep-empty { color: var(--sage-muted); }

.ep-card {
    border-radius: 14px;
    border: 1px solid var(--sage-line);
    box-shadow: 0 8px 24px rgba(28, 36, 22, 0.06);
    background: #fafcf8;
}
.ep-card:hover {
    border-color: rgba(54, 83, 20, 0.35);
    box-shadow: 0 18px 40px rgba(28, 36, 22, 0.12);
    transform: translateY(-4px);
}
.ep-card-media { height: 210px; }
.ep-card-price {
    color: var(--theme-primary, #365314);
    font-family: Newsreader, Georgia, serif;
    font-weight: 600;
}
.ep-card-body h3 {
    font-family: Newsreader, Georgia, serif;
    font-weight: 500;
    letter-spacing: -0.01em;
}
.ep-card-location,
.ep-card-facts { color: var(--sage-muted); }
.ep-badge {
    background: var(--theme-accent, #D97706);
    color: #1c2416;
    border-radius: 6px;
    font-weight: 600;
}

.ep-category-tile {
    border-radius: 14px;
    border: 1px solid var(--sage-line);
    box-shadow: none;
    background: #fafcf8;
}
.ep-category-tile:hover {
    border-color: var(--theme-primary, #365314);
    background: #fff;
}
.ep-why h3 {
    color: var(--theme-primary, #365314);
    font-family: Newsreader, Georgia, serif;
    font-weight: 500;
}
.ep-why p { color: var(--sage-muted); }

.ep-page-header {
    background: var(--sage-leaf);
}
.ep-page-header h1 {
    font-family: Newsreader, Georgia, serif;
    font-weight: 500;
    color: var(--sage-ink);
}
.ep-filters,
.ep-key-facts {
    border-radius: 14px;
    border: 1px solid var(--sage-line);
    background: #fafcf8;
}
.ep-gallery-main { border-radius: 14px; }
.ep-product-price {
    font-family: Newsreader, Georgia, serif;
    color: var(--theme-primary, #365314);
}
.ep-filter-list li.is-active a { color: var(--theme-primary, #365314); }

.ep-cta {
    background:
        linear-gradient(120deg, #1c2416, var(--theme-primary, #365314));
}
.ep-cta h2 {
    font-family: Newsreader, Georgia, serif;
    font-weight: 500;
    text-align: left;
}

.ep-footer {
    background: #1c2416;
}
.ep-footer-col strong {
    font-family: Newsreader, Georgia, serif;
    font-weight: 500;
    font-size: 18px;
}
.ep-footer-tag { color: rgba(238, 242, 235, 0.7); }

.ep-whatsapp-fab {
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(34, 197, 94, 0.35);
}

@media (prefers-reduced-motion: no-preference) {
    .ep-hero-inner {
        animation: sage-rise 0.7s ease-out both;
    }
    .ep-search-card {
        animation: sage-rise 0.7s ease-out 0.12s both;
    }
    .ep-card {
        transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    }
}

@keyframes sage-rise {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}
