/* = =================================================================
   FINAL CSS for Kubrusly Basso Land Site (v_FINAL - Cleaned)
   =================================================================== */

/* --- 1. Global & Fonts --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Poppins:wght@600;700&display=swap');

/* --- 2. LAYOUT OVERRIDE --- */
/* This rule removes the max-width from the main content wrapper on our custom pages. */
body.post-type-archive-land .elementor-container,
body.single-land .elementor-container,
body.tax-city .elementor-container,
body.tax-county .elementor-container {
    max-width: 100% !important;
}

/* ===================================================================
   UNIFIED HEADER for ALL Land Pages
   =================================================================== */
.archive-header.unified {
    background-color: #181818;
    color: #fff;
    padding: 0;
}
.single-lot-unified-header {
    background-color: #fff;
    border-bottom: 1px solid #e9e9e9;
}
.archive-header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px 40px;
}
.single-lot-unified-header .archive-header-top {
    border-bottom: none;
}
.header-logo .logo-img { height: 35px; width: auto; display: block; }
.button-cta-header {
    display: inline-block; background-color: #FFC107; color: #111;
    padding: 10px 22px; border-radius: 5px; text-decoration: none;
    font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 0.9rem;
    transition: all 0.2s ease;
}
.button-cta-header:hover { background-color: #fff; color: #111; }
.single-lot-unified-header .button-cta-header { color: #111; }
.single-lot-unified-header .button-cta-header:hover { background-color: #f0f0f0; }

/* ===================================================================
   SINGLE LOT Page Styles
   =================================================================== */
.lot-page-v2 { font-family: 'Inter', sans-serif; }
.lot-page-v2 h1, .lot-page-v2 h2, .lot-page-v2 h3, .lot-page-v2 .cta-button {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
}
.hero-map-section {
    position: relative; width: 100%; height: 75vh;
    background-color: #e0e0e0;
}
.hero-map-container, .hero-map-container iframe { width: 100%; height: 100%; }
.hero-map-overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to top, rgba(0,0,0,0.6), transparent 50%);
    display: flex; align-items: flex-end; justify-content: center;
    padding: 60px; pointer-events: none;
}
.hero-map-content { text-align: center; color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,0.5); }
.lot-hero-title { font-size: 3.5rem; line-height: 1.1; margin-bottom: 0.25em; }
.lot-hero-price {
    font-size: 2rem; font-weight: 600; background-color: #ffc107;
    color: #111; padding: 5px 20px; border-radius: 5px;
    display: inline-block; text-shadow: none;
}
.data-section { padding: 80px 40px; background-color: #f0f2f5; }
.data-container { max-width: 1100px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 60px; }
.data-details-column { flex: 1.5; min-width: 300px; }
.data-cta-column { flex: 1; min-width: 300px; }
.data-section-title { font-size: 2.5rem; margin-top: 0; margin-bottom: 1em; border-bottom: 3px solid #ffc107; padding-bottom: 0.5em; }
.details-list { list-style: none; padding: 0; font-size: 1.1rem; }
.details-list li { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid #ddd; }
.details-list li strong { font-weight: 700; color: #111; }
.cta-box { background-color: #fff; padding: 40px; border-radius: 8px; text-align: center; box-shadow: 0 10px 30px rgba(0,0,0,0.08); }
.cta-status, .status-available, .status-sold, .status-pending { display: inline-block; padding: 8px 15px; border-radius: 20px; font-weight: 700; font-size: 0.8rem; text-transform: uppercase; margin-bottom: 20px; }
.cta-title { font-size: 1.8rem; margin-top: 0; margin-bottom: 0.5em; color: #111; }
.cta-text { margin-bottom: 1.5em; color: #555; }
.cta-button { display: block; background-color: #ffc107; color: #111; padding: 18px; text-decoration: none; border-radius: 8px; font-size: 1.2rem; transition: all 0.2s ease-in-out; }
.cta-button:hover { background-color: #111; color: #fff; transform: translateY(-3px); }
.contact-form-section { padding: 80px 40px; }
.contact-form-container { max-width: 800px; margin: 0 auto; }

/* ===================================================================
   LOT ARCHIVE Page Styles
   =================================================================== */
.archive-header-inner { max-width: 800px; margin: 0 auto; padding: 50px 40px; text-align: center; }
.archive-title { font-size: 3rem; margin: 0 0 10px 0; color: #fff; }
.archive-subtitle { font-size: 1.2rem; color: #ccc; margin: 0; }
.lot-filters { background-color: #ffffff; padding: 30px 40px; border-bottom: 1px solid #e9e9e9; margin-bottom: 60px; }
.lot-filters-container { max-width: 1400px; margin: 0 auto; }
.lot-filter-form { display: flex; flex-wrap: wrap; gap: 25px; align-items: flex-end; }
.filter-group { display: flex; flex-direction: column; }
.filter-group label { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 0.8rem; color: #555; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; }
.lot-filter-form select {
    padding: 14px 18px; font-size: 1rem; border: 2px solid #ddd; border-radius: 8px; background-color: #f7f7f7;
    min-width: 250px; appearance: none;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23666666%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat; background-position: right 18px top 50%; background-size: .65em auto; transition: all 0.2s ease;
}
.lot-filter-form select:focus { border-color: #FFC107; background-color: #fff; outline: none; box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.3); }
.filter-actions { margin-left: auto; display: flex; gap: 15px; }
.filter-button { padding: 14px 30px; font-size: 1rem; font-weight: 700; font-family: 'Poppins', sans-serif; border-radius: 8px; cursor: pointer; text-decoration: none; display: inline-block; border: 2px solid transparent; transition: all 0.2s ease; }
.filter-button:hover { transform: translateY(-2px); }
button.filter-button { background-color: #FFC107; color: #111; }
button.filter-button:hover { background-color: #ffca2c; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
a.filter-button.reset { background-color: transparent; color: #555; border-color: #ddd; }
a.filter-button.reset:hover { background-color: #f0f2f5; border-color: #ccc; }
.lot-grid-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 30px; max-width: 1400px; margin: 0 auto; padding: 0 40px 60px; }
.lot-card { display: block; background-color: #fff; border-radius: 8px; overflow: hidden; text-decoration: none; color: #333; box-shadow: 0 4px 15px rgba(0,0,0,0.05); transition: all 0.3s ease; }
.lot-card:hover { transform: translateY(-8px); box-shadow: 0 12px 25px rgba(0,0,0,0.1); }
.lot-card-image-wrapper { position: relative; height: 250px; background-color: #f0f2f5; }
.lot-card-image { width: 100%; height: 100%; object-fit: cover; }
.lot-card-image-placeholder { display: flex; align-items: center; justify-content: center; height: 100%; color: #aaa; }
.lot-card-price { position: absolute; top: 15px; right: 15px; background-color: rgba(17, 17, 17, 0.8); color: #fff; font-family: 'Poppins', sans-serif; font-weight: 600; padding: 8px 15px; border-radius: 5px; font-size: 1.1rem; }
.lot-card-content { padding: 20px 25px 25px; }
.lot-card-title { font-size: 1.3rem; margin: 0 0 15px 0; color: #111; }
.lot-card-details { display: flex; justify-content: space-between; align-items: center; font-size: 0.9rem; }
.lot-card-detail-item { font-weight: 700; }
.lot-status-badge, .status-available, .status-sold, .status-pending { padding: 5px 10px; border-radius: 15px; font-size: 0.8rem; text-transform: uppercase; }
.no-lots-found { max-width: 1400px; margin: 0 auto; padding: 40px; text-align: center; font-size: 1.2em; }

/* ===================================================================
   MOBILE OPTIMIZATIONS for ALL Pages
   =================================================================== */
@media (max-width: 768px) {
    .archive-header-top { padding-left: 20px; padding-right: 20px; }
    .archive-header-inner { padding: 40px 20px; }
    .archive-title { font-size: 2.2rem; }
    .header-logo .logo-img { height: 30px; }
    .hero-map-section { height: 60vh; }
    .lot-hero-title { font-size: 2.5rem; }
    .lot-hero-price { font-size: 1.5rem; }
    .hero-map-overlay { padding: 40px 20px; }
    .data-section, .contact-form-section { padding: 60px 20px; }
    .lot-filters { padding: 20px; }
    .lot-grid-container { grid-template-columns: 1fr; padding: 0 20px 40px; }
}