/* ===================================================================
   SISTEMA PROFISSIONAL DE IMÓVEIS - ULTRA PREMIUM DESIGN
   =================================================================== */

/* ===== ULTRA PREMIUM PROPERTY HEADER ===== */
.ultra-premium-property-header {
    position: relative;
    background: linear-gradient(135deg, #3f7487 0%, #3bafda 100%);
    padding: 40px 0 50px;
    margin-bottom: 40px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,0.15);
}

.ultra-premium-property-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 20%, rgba(255,255,255,0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(255,255,255,0.08) 0%, transparent 50%);
    pointer-events: none;
}

.header-background-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, transparent 0%, rgba(255,255,255,0.03) 50%, transparent 100%);
    animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}

/* Status Badges */
.property-status-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 30px;
    align-items: center;
}

.status-badge {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 25px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.status-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.2);
}

.featured-badge {
    background: linear-gradient(135deg, #4fc1e9 0%, #3bafda 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(79, 193, 233, 0.4);
}

.featured-badge .badge-shine {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    animation: shine 2s ease-in-out infinite;
}

@keyframes shine {
    0% { left: -100%; }
    100% { left: 100%; }
}

.type-badge {
    background: rgba(255,255,255,0.15);
    color: white;
}

.business-badge {
    background: rgba(255,255,255,0.15);
    color: white;
}

/* ===== LAYOUT HORIZONTAL PREMIUM ===== */
.header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding: 20px 30px;
    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(15px);
    border-radius: 15px;
    border: 1px solid rgba(255,255,255,0.2);
    color: white;
    transition: all 0.3s ease;
}

.header-row:hover {
    background: rgba(255,255,255,0.15);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.2);
}

/* Linha 1: Título e Referência */
.title-row {
    background: rgba(255,255,255,0.12);
    border-left: 4px solid #ffd700;
}

.title-section {
    flex: 1;
}

.ultra-property-title {
    font-size: 2.2rem;
    font-weight: 700;
    margin: 0 0 8px 0;
    line-height: 1.2;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.title-primary {
    color: #ffffff;
}

.title-separator {
    color: rgba(255,255,255,0.6);
    margin: 0 12px;
}

.title-secondary {
    color: #ffd700;
    font-weight: 600;
}

.property-subtitle {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    color: rgba(255,255,255,0.9);
    font-weight: 500;
}

.property-subtitle i {
    color: #ffd700;
    font-size: 1.1rem;
}

.reference-section {
    text-align: right;
}

.ref-code-premium {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,215,0,0.2);
    padding: 12px 18px;
    border-radius: 25px;
    border: 1px solid rgba(255,215,0,0.3);
    backdrop-filter: blur(10px);
}

.ref-code-premium i {
    color: #ffd700;
    font-size: 1.2rem;
}

.ref-label {
    font-size: 0.85rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ref-value {
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffd700;
}

/* Linha 2: Localização */
.location-row {
    background: rgba(255,255,255,0.08);
    border-left: 4px solid #4fc1e9;
}

.location-section-horizontal {
    display: flex;
    align-items: center;
    gap: 20px;
    width: 100%;
}

.location-icon-premium {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #ffd700, #ffed4e);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
}

.location-icon-premium i {
    color: #333;
    font-size: 1.4rem;
}

.location-content-horizontal {
    flex: 1;
}

.location-primary-horizontal {
    font-size: 1.3rem;
    font-weight: 600;
    color: white;
    margin-bottom: 5px;
}

.location-secondary-horizontal {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    color: rgba(255,255,255,0.8);
}

.location-secondary-horizontal i {
    color: #4fc1e9;
}

/* Linha 3: Especificações e Preços */
.specs-price-row {
    background: rgba(255,255,255,0.1);
    border-left: 4px solid #4fc1e9;
    padding: 25px 30px;
}

.specs-section-horizontal {
    flex: 2;
}

.specs-grid-horizontal {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.spec-item-horizontal {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255,255,255,0.1);
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.2);
    min-width: 120px;
    transition: all 0.3s ease;
}

.spec-item-horizontal:hover {
    background: rgba(255,255,255,0.15);
    transform: translateY(-2px);
}

.spec-icon-horizontal {
    width: 35px;
    height: 35px;
    background: linear-gradient(135deg, #4fc1e9, #3bafda);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.spec-icon-horizontal i {
    color: white;
    font-size: 1rem;
}

.spec-content-horizontal {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.spec-value-horizontal {
    font-size: 1.2rem;
    font-weight: 700;
    color: white;
    line-height: 1;
}

.spec-unit-horizontal {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.8);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.vertical-divider {
    width: 2px;
    height: 80px;
    background: linear-gradient(180deg, transparent, rgba(255,255,255,0.3), transparent);
    margin: 0 20px;
}

.price-section-horizontal {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.price-container-horizontal {
    background: rgba(255,255,255,0.12);
    padding: 15px 20px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.2);
    text-align: center;
}

.price-container-horizontal.main-price {
    background: linear-gradient(135deg, rgba(255,215,0,0.2), rgba(255,193,7,0.15));
    border-color: rgba(255,215,0,0.3);
}

.price-label-horizontal {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    color: rgba(255,255,255,0.9);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.price-label-horizontal i {
    color: #ffd700;
}

.price-value-horizontal {
    font-size: 1.8rem;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 5px;
}

.price-value-horizontal.main {
    color: #ffd700;
    text-shadow: 0 2px 8px rgba(255,215,0,0.3);
}

.price-value-horizontal.rental {
    color: #4facfe;
}

.price-per-m2-horizontal {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 0.85rem;
    color: rgba(255,255,255,0.8);
    font-weight: 500;
}

.price-per-m2-horizontal i {
    color: #4facfe;
}

/* Linha 4: Meta Informações e Ações */
.meta-actions-row {
    background: rgba(255,255,255,0.08);
    border-left: 4px solid #48cfad;
}

.meta-section-horizontal {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    flex: 1;
}

.meta-item-horizontal {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    color: rgba(255,255,255,0.9);
}

.meta-item-horizontal i {
    color: #ffd700;
    font-size: 1rem;
}

.actions-section-horizontal {
    display: flex;
    gap: 12px;
}

.action-btn-horizontal {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    background: rgba(255,255,255,0.15);
    color: white;
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 25px;
    font-size: 0.9rem;
    font-weight: 600;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
}

.action-btn-horizontal:hover {
    background: rgba(255,255,255,0.25);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    color: white;
}

.action-btn-horizontal.favorite:hover {
    background: linear-gradient(135deg, #48cfad, #37bc9b);
    border-color: #48cfad;
}

.action-btn-horizontal.share:hover {
    background: linear-gradient(135deg, #4facfe, #00f2fe);
    border-color: #4facfe;
}

.action-btn-horizontal.print:hover {
    background: linear-gradient(135deg, #4fc1e9, #3bafda);
    border-color: #4fc1e9;
}

/* Location Premium */
.property-location-premium {
    margin-bottom: 25px;
}

.location-main {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 20px;
    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(10px);
    border-radius: 15px;
    border: 1px solid rgba(255,255,255,0.2);
}

.location-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #ffd700, #ffed4e);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
}

.location-icon i {
    color: #333;
    font-size: 1.2rem;
}

.location-content {
    flex: 1;
}

.location-primary {
    font-size: 1.2rem;
    font-weight: 600;
    color: white;
    margin-bottom: 5px;
}

.location-secondary {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    color: rgba(255,255,255,0.8);
}

.location-secondary i {
    color: #ffd700;
}

/* Quick Specs */
.property-quick-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 25px;
}

.spec-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.2);
    transition: all 0.3s ease;
}

.spec-item:hover {
    background: rgba(255,255,255,0.15);
    transform: translateY(-2px);
}

.spec-icon {
    width: 35px;
    height: 35px;
    background: linear-gradient(135deg, #4fc1e9, #3bafda);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.spec-icon i {
    color: white;
    font-size: 1rem;
}

.spec-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.spec-value {
    font-size: 1.3rem;
    font-weight: 700;
    color: white;
    line-height: 1;
}

.spec-unit {
    font-size: 0.85rem;
    color: rgba(255,255,255,0.8);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Meta Premium */
.property-meta-premium {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    align-items: center;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.9);
    font-size: 0.9rem;
}

.meta-item i {
    color: #ffd700;
    font-size: 1rem;
}

.meta-label {
    font-weight: 500;
}

.meta-value {
    font-weight: 600;
    color: white;
}

.ref-code .meta-value {
    background: rgba(255,215,0,0.2);
    padding: 4px 8px;
    border-radius: 6px;
    border: 1px solid rgba(255,215,0,0.3);
}

/* Price Premium Card */
.property-price-premium-card {
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(20px);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.15);
    border: 1px solid rgba(255,255,255,0.2);
    position: sticky;
    top: 20px;
}

.price-section-premium {
    margin-bottom: 30px;
}

.main-price-container {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 2px solid #f0f0f0;
}

.price-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

.price-icon-diamond {
    width: 45px;
    height: 45px;
    background: linear-gradient(135deg, #4fc1e9, #3bafda);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.price-icon {
    width: 35px;
    height: 35px;
    background: linear-gradient(135deg, #4facfe, #00f2fe);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.price-icon i,
.price-icon-diamond i {
    color: white;
    font-size: 1.2rem;
}

.price-type-label {
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.price-value-ultra {
    font-size: 2.2rem;
    font-weight: 800;
    color: #2c3e50;
    margin-bottom: 8px;
    line-height: 1;
    background: linear-gradient(135deg, #4fc1e9, #3bafda);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.price-value-secondary {
    font-size: 1.8rem;
    font-weight: 700;
    color: #34495e;
    margin-bottom: 8px;
    line-height: 1;
}

.price-per-sqm-premium {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    color: #7f8c8d;
    font-weight: 500;
}

.price-per-sqm-premium i {
    color: #3498db;
}

/* Additional Costs Premium */
.additional-costs-premium {
    background: #f8f9ff;
    border-radius: 12px;
    padding: 20px;
    margin-top: 20px;
    border-left: 4px solid #4fc1e9;
}

.costs-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 15px;
}

.costs-title i {
    color: #667eea;
}

.cost-item-premium {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #eee;
}

.cost-item-premium:last-child {
    border-bottom: none;
}

.cost-label {
    font-size: 0.9rem;
    color: #666;
    font-weight: 500;
}

.cost-value {
    font-size: 0.95rem;
    font-weight: 600;
    color: #333;
}

/* Actions Premium */
.property-actions-premium {
    margin-top: 30px;
}

.action-btn-premium {
    width: 100%;
    padding: 15px 20px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 1.1rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    margin-bottom: 15px;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.action-btn-premium:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
    color: white;
}

.action-btn-premium:active {
    transform: translateY(0);
}

.btn-ripple {
    position: absolute;
    border-radius: 50%;
    background: rgba(255,255,255,0.3);
    transform: scale(0);
    animation: ripple 0.6s linear;
}

@keyframes ripple {
    to {
        transform: scale(4);
        opacity: 0;
    }
}

.action-secondary-row {
    display: flex;
    gap: 10px;
}

.action-btn-secondary {
    flex: 1;
    padding: 12px 15px;
    background: white;
    color: #667eea;
    border: 2px solid #667eea;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.action-btn-secondary:hover {
    background: #667eea;
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.2);
}

/* ===== RESPONSIVIDADE HORIZONTAL ===== */
@media (max-width: 1024px) {
    .header-row {
        padding: 18px 25px;
    }
    
    .ultra-property-title {
        font-size: 2rem;
    }
    
    .specs-grid-horizontal {
        gap: 15px;
    }
    
    .spec-item-horizontal {
        min-width: 110px;
    }
    
    .vertical-divider {
        height: 70px;
        margin: 0 15px;
    }
}

@media (max-width: 768px) {
    .ultra-premium-property-header {
        padding: 25px 0 30px;
    }
    
    .header-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        padding: 20px;
    }
    
    .ultra-property-title {
        font-size: 1.8rem;
    }
    
    .title-separator {
        margin: 0 8px;
    }
    
    .title-row {
        align-items: flex-start;
    }
    
    .reference-section {
        text-align: left;
        width: 100%;
        margin-top: 10px;
    }
    
    .location-section-horizontal {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        text-align: center;
    }
    
    .location-content-horizontal {
        text-align: left;
    }
    
    .specs-price-row {
        flex-direction: column;
        gap: 20px;
    }
    
    .specs-grid-horizontal {
        justify-content: center;
        gap: 12px;
    }
    
    .vertical-divider {
        display: none;
    }
    
    .price-section-horizontal {
        width: 100%;
    }
    
    .meta-section-horizontal {
        flex-direction: column;
        gap: 15px;
    }
    
    .actions-section-horizontal {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px;
    }
    
    .action-btn-horizontal {
        flex: 1;
        min-width: 120px;
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .ultra-premium-property-header {
        padding: 20px 0 25px;
        margin-bottom: 30px;
    }
    
    .header-row {
        padding: 15px;
        margin-bottom: 15px;
    }
    
    .ultra-property-title {
        font-size: 1.5rem;
        text-align: center;
    }
    
    .title-separator {
        display: block;
        margin: 5px 0;
        text-align: center;
    }
    
    .property-subtitle {
        justify-content: center;
        text-align: center;
        font-size: 0.9rem;
    }
    
    .ref-code-premium {
        justify-content: center;
        width: 100%;
    }
    
    .location-section-horizontal {
        text-align: center;
    }
    
    .location-content-horizontal {
        text-align: center;
    }
    
    .location-primary-horizontal {
        font-size: 1.1rem;
    }
    
    .specs-grid-horizontal {
        flex-direction: column;
        align-items: center;
    }
    
    .spec-item-horizontal {
        width: 200px;
        justify-content: center;
    }
    
    .price-container-horizontal {
        text-align: center;
    }
    
    .price-value-horizontal {
        font-size: 1.5rem;
    }
    
    .meta-section-horizontal {
        text-align: center;
    }
    
    .meta-item-horizontal {
        justify-content: center;
    }
    
    .actions-section-horizontal {
        flex-direction: column;
        gap: 8px;
    }
    
    .action-btn-horizontal {
        width: 100%;
        min-width: auto;
    }
}

@media (max-width: 480px) {
    .ultra-property-title {
        font-size: 1.3rem;
    }
    
    .title-primary,
    .title-secondary {
        display: block;
        text-align: center;
    }
    
    .title-separator {
        display: none;
    }
    
    .location-icon-premium {
        width: 45px;
        height: 45px;
    }
    
    .location-icon-premium i {
        font-size: 1.2rem;
    }
    
    .spec-icon-horizontal {
        width: 30px;
        height: 30px;
    }
    
    .spec-icon-horizontal i {
        font-size: 0.9rem;
    }
    
    .spec-value-horizontal {
        font-size: 1.1rem;
    }
    
    .price-value-horizontal {
        font-size: 1.3rem;
    }
}

/* Reset profissional e base tipográfica */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    background: #fafbfc;
    color: #1e293b;
    line-height: 1.6;
    font-weight: 400;
}

/* Layout principal profissional - TELA TODA */
.real-estate-section {
    padding: 100px 40px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    position: relative;
}

.real-estate-section .container-fluid {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.real-estate-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 25% 25%, rgba(99, 102, 241, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 75% 75%, rgba(139, 92, 246, 0.05) 0%, transparent 50%);
    pointer-events: none;
}

/* Cabeçalho da seção ultra-profissional */
.section-header {
    text-align: center;
    margin-bottom: 80px;
    position: relative;
    z-index: 1;
}

.section-header .subtitle {
    font-size: 14px;
    font-weight: 600;
    color: #80C9F5;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 16px;
    position: relative;
}

.section-header .subtitle::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, #80C9F5, #66B8E8);
    border-radius: 1px;
}

.section-header h2 {
    font-size: 3.2rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 24px;
    letter-spacing: -0.025em;
    line-height: 1.1;
}

.section-header p {
    font-size: 18px;
    color: #64748b;
    max-width: 580px;
    margin: 0 auto;
    font-weight: 400;
    line-height: 1.7;
}

body{
    margin: 0;
    padding: 0;
    padding-top: 70px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    line-height: 24px;
    overflow-x: hidden;
}

.margin-top-08{
    margin-top: 0.8%;
}

h1,h2,h3,h4,h5,h6{
    font-family: 'Open Sans', sans-serif;
    font-weight: 800;
}

/* For this slider, disable the 'origin' size. */
#imovel_preco_max .noUi-origin {
    right: auto;
    width: 0;
}

/* Position the bar and color it. */
#imovel_preco_max .imovel_preco_max {
    position: absolute;
    top: 0;
    bottom: 0;
    background: #80C9F5;
    box-shadow: inset 0 0 3px rgba(51,51,51,0.45);
}

/* When the slider is moved by tap,
   transition the connect bar like the handle. */
#imovel_preco_max.noUi-state-tap .imovel_preco_max {
    -webkit-transition: left 300ms, right 300ms;
    transition: left 300ms, right 300ms;
}

::-moz-selection { 
    text-shadow: none; 
}

::-webkit-selection { 
    text-shadow: none; 
}

::selection { 
    text-shadow: none; 
}

::-webkit-scrollbar {
    width: 10px;
} 

::-webkit-scrollbar-thumb {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
} 

::-webkit-scrollbar-button {
    display: none;
} 

a{
    text-decoration: none;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

a:hover{
    text-decoration: none;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.espaco{
    margin: 5% 0;
}

select:focus,
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}


.form-control:focus{
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.btn,
.form-control{
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
}

.form-control:focus{
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

/* Melhoria geral para campos select */
select.form-control {
    color: #333 !important;
    background-color: #fff !important;
    font-size: 14px;
    font-weight: 400;
    padding: 5px;
}

select.form-control option {
    color: #333 !important;
    background-color: #fff !important;
    padding: 8px 12px;
    font-size: 14px;
}

select.form-control option:first-child {
    color: #666 !important;
    font-style: italic;
}

/* Estilos específicos para formulários de busca da página inicial */
#imovel_negocio,
#imovel_categoria,
#imovel_cidade,
#imovel_bairro {
    color: #333 !important;
    background-color: #fff !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    height: 40px !important;
    padding: 8px 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
}

#imovel_negocio option,
#imovel_categoria option,
#imovel_cidade option,
#imovel_bairro option {
    color: #333 !important;
    background-color: #fff !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
}

#imovel_negocio option:first-child,
#imovel_categoria option:first-child,
#imovel_cidade option:first-child,
#imovel_bairro option:first-child {
    color: #999 !important;
    font-style: italic !important;
}

.clear-marg{
    margin: 0 !important;
}

/* 
        ==================
        [2. NAVBAR]
        ==================
*/
.navbar-default{
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.navbar-default.navbar-static-top{
    margin-bottom: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
}

.navbar-default .navbar-brand img{
    height: 60px;
    width: auto;
    display: block;
}

.navbar-default .navbar-brand{
    position: relative;
    font-size: 26px;
    display: block;
    padding: 10px 40px 10px 15px;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

/* Barra diagonal removida */
.navbar-default .navbar-brand::after{
    content: none;
    display: none;
}

.navbar-default .navbar-brand span{
    display: block;
    padding-top: 20px;
    padding-bottom: 20px;
    font-weight: 400;
}

.navbar-default .navbar-brand span strong{
    font-weight: 600;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover{
    position: relative;
}

.navbar-default .navbar-brand:hover{
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.navbar-default .navbar-brand:hover > span{
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.navbar-default .navbar-nav > li > a{
    font-size: 16px;
    text-shadow: none;
    padding-top: 30px;
    padding-right: 20px;
    padding-bottom: 30px;
    padding-left: 20px;
}

.navbar-default .navbar-nav > .active > a::after{
    content: "";
    position: absolute;
    left: 50%;
    bottom: 15px;
    height: 8px;
    width: 8px;
    margin-left: -4px;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    -ms-border-radius: 100%;
    -o-border-radius: 100%;
    border-radius: 100%;
}

.dropdown-menu {
    border: none;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-border-radius: 1px;
    -moz-border-radius: 1px;
    -o-border-radius: 1px;
    border-radius: 1px;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -o-box-shadow: none;
    box-shadow: none;
}

.dropdown-menu > li > a{
    padding-top: 12px;
    padding-bottom: 12px;
}

.signin:focus,
.signin:active{
    outline: none;
}

.signin{
    padding: 12px 18px !important;
    margin-top: 18px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    border-radius: 4px;
}

#modal-signin .modal-footer p,
#modal-signup .modal-footer p{
    margin-bottom: 15px;
}

#modal-signin .modal-footer,
#modal-signup .modal-footer{
    margin-top: 0;
    text-align: left !important;
}
/* 
        ==================
        [3. HEADER]
        ==================
*/
.quick-search{
    padding: 25px 40px;
}

.slide_preco{
    margin-top: 15px; 
    font-weight: bold;
}

#header{
    width: 100%;
    min-height: 450px;
    height: auto;
    padding-top: 180px;
    padding-bottom: 60px;
}

#header.heading{
    position: relative;
    min-height: 200px;
    padding-top: 140px;
    padding-bottom: 40px;
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -ms-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
}

#header.heading > *{
    position: relative;
    z-index: 2;
}

/*#header.heading::after{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
}*/


#header.heading .page-title{
    position: relative;
    z-index: 2;
    display: block;
    margin-bottom: 40px;
    text-align: center;
    font-size: 14px;
    line-height: 24px;
}

#header.heading .page-title h2{
    margin-bottom: 15px;
    font-size: 36px;
    line-height: 40px;
    text-align: center;
    font-weight: 800;
}

#header.heading .page-title h2 span{
    font-weight: 400;
}

#header.heading .breadcrumb{
    position: relative;
    z-index: 2;
    display: table;
    margin-left: auto;
    margin-right: auto;
}

#header.heading .quick-search{
    margin-top: 20px;
    margin-bottom: 20px;
}
/* 
        ==================
        [5. CONTENT]
        ==================
*/
#content{
    position: relative;
    width: 100%;
    padding: 30px 0;
}

.heading-title{
    display: block;
    text-align: center;
    margin-bottom: 40px;
    margin-top: 10px;
}

.heading-title h2{
    position: relative;
    display: inline;
    padding: 12px 20px;
    font-size: 28px;
    line-height: 32px;
    text-transform: uppercase;
    font-weight: 600;
}

.heading-title.heading-title-sm h2{
    padding: 10px 14px;
    font-size: 18px;
    line-height: 24px;
}


.property-content-list{
    display: table;
}

.property-image-list{
    position: relative;
    width: 50%;
    display: table-cell;
    vertical-align: top;
}

.property-image-list img{
    max-width: 100%;
    width: 100%;
    height: auto;
}

.property-image-list .property-status{
    position: absolute;
    right: 0;
    bottom: 35px;
}


.heading-title h2::before{
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    display: block;
    width: 30px;
    height: 30px;
    margin-top: -16px;
    margin-left: -15px;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    -ms-border-radius: 100%;
    -o-border-radius: 100%;
    border-radius: 100%;
}

.heading-title h2::after{
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    display: block;
    width: 12px;
    height: 12px;
    margin-top: -7px;
    margin-left: -6px;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    -ms-border-radius: 100%;
    -o-border-radius: 100%;
    border-radius: 100%;
}

.heading-title.heading-title-alt{
    text-align: left;
    margin: 0 0 30px;
}

.heading-title.heading-title-alt h3{
    font-size: 26px;
    line-height: 30px;
}

.property-container{
    margin-bottom: 30px;
    min-height: 200px;
}

.property-image{
    position: relative;
    overflow: hidden;
}

.property-image img{
    max-width: 100%;
    width: 100%;
    height: auto;
}

.property-status{
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    width: auto;
    max-width: 70%;
    padding: 5px 10px;
    font-weight: 400;
}

.property-price{
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: auto;
    max-width: 80%;
    padding: 8px 16px;
    text-align: center;
    font-size: 18px;
    line-height: 22px;
    font-weight: 600;
}

.property-price h4{
    font-size: 14px;
    line-height: 20px;
    margin: 0 0 5px;
    font-weight: 400;
}

.property-price small{
    font-size: 13px;
    font-weight: 400;
}

.property-features{
    display: block;
    padding: 5px 10px;
}

.property-features span{
    padding: 2px 5px;
    font-size: 13px;
}

.property-content{
    padding: 10px 15px;
}

.property-content h3,
.property-text h3{
    display: block;
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
}

.property-content h3 small,
.property-text h3 small{
    display: block;
    margin-top: 10px;
    font-size: 13px;
    font-style: italic;
}

.property-text{
    position: relative;
    width: 50%;
    display: table-cell;
    padding: 15px;
    vertical-align: top;
}

.property-footer{
    position: relative;
    display: table;
    width: 100%;
    padding: 0;
}

.property-footer a{
    display: table-cell;
    width: 50%;
    padding: 8px 12px;
    text-align: center;
    font-size: 18px;
    overflow: hidden;
}

.property-footer a:hover,
.property-footer a:focus{
    overflow: hidden;
    outline: none;
}
.property-text{
    position: relative;
    width: 50%;
    display: table-cell;
    padding: 15px;
    vertical-align: top;
}

.property-footer{
    position: relative;
    display: table;
    width: 100%;
    padding: 0;
}

.property-footer a{
    display: table-cell;
    width: 50%;
    padding: 8px 12px;
    text-align: center;
    font-size: 18px;
    overflow: hidden;
}

.property-footer a:hover,
.property-footer a:focus{
    overflow: hidden;
    outline: none;
}

/* Map Styles */
#map,
#map-property{
    width: 100%;
    height: 350px;
}

#map-property{
    margin-bottom: 40px;
}

#map img,
#map-property img{
    max-width: none;
}
.sidebar{
    margin-bottom: 20px;
}

.sidebar .widget:before,
.sidebar .widget:after,
.sidebar .widget-sidebar:before,
.sidebar .widget-sidebar:after{
    content: "";
    display: table;
    clear: both;
}
.sidebar .widget-white{
    position: relative;
    padding: 15px;
    margin-bottom: 30px !important;
}

.sidebar .widget-white::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    border-width: 25px;
}

.sidebar .widget,
.sidebar .widget-sidebar{
    margin-bottom: 20px;
}

.sidebar .widget .widget-header{
    margin-bottom: 20px;
}
.sidebar .widget .widget-header h3{
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    background-image: url(../img/widget_header.png);
    background-repeat: repeat-x;
    background-position: bottom center;
    margin-top: 20px;
    padding-bottom: 30px;
}

/* default widget */
.sidebar .widget ul{
    list-style-type: none;
}

.sidebar .widget ul > li{
    display: block;
    padding: 3px 0;
    margin-left: -40px;
}

.sidebar .widget ul > li:first-child > a{
    padding-top: 0;
}

.sidebar .widget ul > li > a:before{
    font-family: 'FontAwesome';
    content: "\f105";
    padding-right: 10px;
}

.sidebar .widget ul > li > a{
    display: inline;
    font-size: 14px;
}

/* special widget */
.advance-search::before,
.advance-search::after{
    content: '';
    display: table;
    clear: both;
}

.advance-search .btn-group{
    display: table;
    text-align: center;
    margin: 10px auto;
}

.sidebar .widget-sidebar .list-check > li > a:before{
    content: '\f00c';
    font-family: 'FontAwesome';
    font-size: 12px;
    padding-right: 8px;
    position: relative;
    left: 0;
    top:-1px;
}

.sidebar .widget-sidebar .nav-tabs > li > a {
    font-size: 18px;
    border: none;
    position: relative;
}
.sidebar .widget-sidebar .nav-tabs > li > a:hover:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 3px;
}

.sidebar .widget-sidebar .nav-tabs > li.active > a:before,
.sidebar .widget-sidebar .nav-tabs > li.active > a:hover:before,
.sidebar .widget-sidebar .nav-tabs > li.active > a:focus:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 3px;
}

.sidebar .widget-sidebar .tab-content{
    padding-top: 20px;
}
/* 
        ==================
        [7. NEWS]
        ==================
*/
#news{
    width: 100%;
    padding: 60px 0 20px;
}

.post-container {
    position: relative;
    display: block;
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.post-noborder{
    border-bottom: none;
}

.post-img {
    position: relative;
    float: left;
    display: inline;
    width: 75px;
    height: 75px;
    margin-right: 18px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -ms-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
    background-repeat: no-repeat;
    background-position: center center;
    overflow: hidden;
}

.post-img-circle{
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    -ms-border-radius: 100%;
    -o-border-radius: 100%;
    border-radius: 100%;
}

.post-img h3{
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 100%;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 400;
    text-align: center;
}

.post-content {
    padding: 0;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 21px;
}

.post-content.list-agent > .post-meta{
    font-size: 14px;
    font-weight: 400;
}

.post-content > .post-meta {
    display: block;
    padding-top: 0 !important;
    padding-bottom: 5px;
    font-size: 12px;
}

.post-content > .heading-title h2{
    padding: 0;
    margin-top: 0;
    margin-bottom: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    line-height: 18px;
    font-weight: 600;
    text-transform: none;
    border: none;
}

.post-content.list-agent > .heading-title h2{
    font-size: 16px;
    line-height: 20px;
}

.post-content > .heading-title h2 span{
    font-weight: 800;
    font-size: 16px;
}

.post-content > .heading-title{
    display: block;
    text-align: left;
    margin-bottom: 10px;
    margin-top: 10px;
}

.post-content > .heading-title h2::before{
    content: '';
    position: relative;
    left: 0;
    top: 0;
    display: block;
    width: 0;
    height: 0;
    margin-top: 0;
    margin-left: -15px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
}

.post-content > .heading-title h2::after{
    content: '';
    position: relative;
    left: 0;
    top: 0;
    display: block;
    width: 0;
    height: 0;
    margin-top: 0;
    margin-left: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
}

#content .post-meta, 
.post-single .post-meta span {
    font-size: 13px;
    line-height: 16px;
}

#content .post-meta, 
.post-single .post-meta {
    display: block;
    padding-top: 20px;
    padding-bottom: 15px;
}

.single-post{
    margin-bottom: 20px;
}

.single-post h2{
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 32px;
    line-height: 40px;
    font-weight: 600;
}

.single-post h3{
    font-size: 22px;
    line-height: 28px;
    margin-bottom: 20px;
}

.single-post .nav-tabs > li > a{
    padding-top: 16px;
    padding-bottom: 16px;
    font-size: 18px;
    font-weight: 600;
}

.single-post .tab-content{
    padding: 30px;
    border-top: none;
}

.sidebar .widget-white.favorite::before{
    content: '';
    border: none;
}

.favorite a{
    position: relative;
    display: block;
    vertical-align: middle;
}

.favorite a::before{
    content: '';
    position: absolute;
    left: 34px;
    top: 0;
    width: 1px;
    height: 100%;
}

.favorite a > i{
    font-size: 20px;
    padding-right: 25px;
    display: inline-block;
    vertical-align: middle;
}

/* carousel single */
#slider-property{
    margin-bottom: 40px;
}

#slider-property .carousel-inner .item img{
    width: 100%;
    max-width: 100%;
    height: auto;
}

#slider-property .carousel-indicators li{
    position: relative;
    width: 100px;
    height: 65px;
    margin: 0;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    border-width: 2px;
    text-indent: 0;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

#slider-property .carousel-indicators li::after{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: background .1s ease-in-out;
    -moz-transition: background .1s ease-in-out;
    -ms-transition: background .1s ease-in-out;
    -o-transition: background .1s ease-in-out;
    transition: background .1s ease-in-out;
}

#slider-property .carousel-indicators li img{
    width: 100%;
    max-width: 100%;
    height: auto;
}

#slider-property .carousel-indicators .active::after{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: background .1s ease-in-out;
    -moz-transition: background .1s ease-in-out;
    -ms-transition: background .1s ease-in-out;
    -o-transition: background .1s ease-in-out;
    transition: background .1s ease-in-out;
}

#slider-property .carousel-indicators .active {
    border-width: 2px;
}

/* 
        ==================
        [6. TESTIMONY]
        ==================
*/
#testimony{
    position: relative;
    width: 100%;
    min-height: 450px;
    height: auto;
    padding-top: 120px;
    padding-bottom: 60px;
    background-attachment: fixed;
    background-position: center 0;
    background-repeat: no-repeat;
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -ms-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
}

#testimony::after{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
}

#testislider .carousel-control.left,
#testislider .carousel-control.right {
    background-image: none;
    opacity: 0.7;
    filter: alpha(opacity=70);
    height: 60px;
    width: 50px;
    margin-top: 15%;
    margin-left: 0;
    margin-right: 0;
}

#testislider .carousel-control.left {
    left: -70px;
    right: auto;
}

#testislider .carousel-control.right {
    right: -70px;
    left: auto;
}

#testislider .carousel-control i,
#testislider .carousel-control span {
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    z-index: 5;
    display: inline-block;
    width :50px;
    height: 50px;
    margin-left: 0;
}

.testimony-container{
    padding: 0;
    margin: 0;
    height: auto;
}

.testimony-image{
    float: left;
    width: 100px;
    height: 100px;
    border: 4px solid #fff;
    background-position: center top;
    background-repeat: no-repeat;
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -ms-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    -ms-border-radius: 100%;
    -o-border-radius: 100%;
    border-radius: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

.testimony-content{
    margin-left: 150px;
    font-size: 16px;
    line-height: 26px;
}

.testimony-content h3{
    font-size: 28px;
    line-height: 32px;
}

.testimony-content blockquote{
    position: relative;
    border-left: none;
    padding-left: 0;
    text-indent: 2em;
}

.testimony-content blockquote::before{
    content: '\f10d';
    font-family: 'FontAwesome';
    position: absolute;
    left: -2em;
    top: 0;
    display: block;
    width: 20px;
    height: 20px;
}



#testislider{
    position: relative;
    z-index: 2;
}

#testislider .carousel-inner .item{
    z-index: 1;
    left: 0 !important;
    -webkit-transition: opacity .7s ease-in-out;
    -moz-transition: opacity .7s ease-in-out;
    -ms-transition: opacity .7s ease-in-out;
    -o-transition: opacity .7s ease-in-out;
    transition: opacity .7s ease-in-out;
    opacity: 1;
}

#testislider.carousel .active.left, 
#testislider.carousel .active.right {
    z-index: 2;
    opacity: 0;
    -webkit-transition: opacity .7s ease-in-out;
    -moz-transition: opacity .7s ease-in-out;
    -ms-transition: opacity .7s ease-in-out;
    -o-transition: opacity .7s ease-in-out;
    transition: opacity .7s ease-in-out;
}

#testislider .carousel-control i,
#testislider .carousel-control span {
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    z-index: 5;
    display: inline-block;
    width :50px;
    height: 50px;
    margin-left: 0;
}

.testimony-container{
    padding: 0;
    margin: 0;
    height: auto;
}

/* 
        ==================
        [9. PARTNER]
        ==================
*/
#partner{
    width: 100%;
    padding: 50px 0 20px;
}

/* Carousel */
.jcarousel-wrapper {
    position: relative;
    margin: 20px auto;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
}

.jcarousel {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.jcarousel ul {
    position: relative;
    width: 20000em;
    margin: 0;
    padding: 0;
    list-style: none;
}

#partner{
    width: 100%;
    padding: 50px 0 20px;
}


.jcarousel li {
    width: 200px;
    float: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

.jcarousel img {
    display: block;
    max-width: 100%;
    height: auto !important;
}

/* Carousel Controls */
.jcarousel-control-prev,
.jcarousel-control-next {
    position: absolute;
    top: 50%;
    width: 30px;
    height: 30px;
    margin-top: -15px;
    text-align: center;
    text-decoration: none;
    font-size: 14px;
    line-height: 30px;
}

.jcarousel-control-prev {
    left: 15px;
}

.jcarousel-control-next {
    right: 15px;
}

/* Carousel Pagination */
.jcarousel-pagination {
    position: absolute;
    bottom: -40px;
    left: 50%;
    margin: 0;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}

.jcarousel-pagination a {
    display: inline-block;
    height: 10px;
    width: 10px;
    margin-right: 7px;
    font-size: 11px;
    line-height: 10px;
    text-decoration: none;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    text-indent: -9999px;
}
/* 
        ==================
        [10. FOOTER]
        ==================
*/
#footer{
    width: 100%;
    padding: 20px 0 0;
}

#footer .widget:before,
#footer .widget:after{
    content: "";
    display: table;
    clear: both;
}

#footer .widget{
    margin-bottom: 20px;
}

#footer .widget h2{
    font-family: 'Open Sans', sans-serif;
    font-size: 32px;
    line-height: 36px;
    font-weight: 800;
    margin-bottom: 20px;
}

#footer .widget h3{
    font-family: 'Open Sans', sans-serif;
    font-size: 20px;
    line-height: 26px;
    font-weight: 800;
    margin-bottom: 30px;
}

#footer .widget > ul,
#footer .widget ul{
    list-style-type: none;
    padding-left: 0;
    margin-left: 0;
}

#footer .widget > ul > li,
#footer .widget > ul > li > a,
#footer .widget ul > li,
#footer .widget ul > li > a{
    display: block;
    padding: 2px 0;
    font-size: 14px;
    font-weight: 400;
}

#footer .widget > ul > li > a::before,
#footer .widget ul > li > a::before{
    content: '\f10c';
    font-family: 'FontAwesome';
    font-size: 15px;
    font-weight: 400;
    padding-right: 15px;
}

#footer .widget.widget_recent_comments > ul > li > a,
#footer .widget.widget_recent_comments ul > li > a{
    display: inline-block;
}

#footer .widget.widget_recent_comments > ul > li > a:before,
#footer .widget.widget_recent_comments ul > li > a:before {
    content: "";
    font-family: 'Open Sans', sans-serif;
    padding-right: 0;
}

#footer .widget.widget_recent_comments > ul > li:before,
#footer .widget.widget_recent_comments ul > li:before{
    content: '\f05d';
    font-family: 'FontAwesome';
    font-size: 16px;
    font-weight: 400;
    padding-right: 15px;
}
/* 
        ==================
        [11. COPYRIGHT]
        ==================
*/
.copyright{
    position: relative;
    margin-top: 60px;
    padding: 60px 0 40px;
    text-align: center;
}

.copyright .scroltop{
    position: absolute;
    left: 50%;
    top: -18px;
    margin-left: -18px;
}

.copyright .social-links > li > a{
    position: relative;
    width: 40px;
    height: 40px;
    margin-top: 25px;
    display: block;
    border-radius: 100%;
}

.copyright .social-links > li > a > .fa{
    position: absolute;
    left: 50%;
    top: 50%;
    width: 18px;
    height: 18px;
    margin-left: -9px;
    margin-top: -9px;
    font-size: 19px;
}

.pad-10{
    padding: 10px !important;
}

@media screen and (max-width: 480px) {
    .heading {
        margin-top: 20%;
    }
}

body{overflow-x: hidden !important; }

/* carousel single */
#slider-property .carousel-indicators li{
    width: 30px !important;
    height: 30px !important;
    border-radius: 50px !important;
    border-color: #fff;
}

/* ========================================
   PREMIUM PROPERTY SHOWCASE SYSTEM
   Luxury real estate design with exquisite details
======================================== */

/* SISTEMA DE CARDS ULTRA-PROFISSIONAL */
.property-card {
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 
        0 1px 3px rgba(0, 0, 0, 0.05),
        0 4px 12px rgba(0, 0, 0, 0.04),
        0 8px 24px rgba(0, 0, 0, 0.03);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    margin-bottom: 32px;
    position: relative;
    border: 1px solid #e2e8f0;
    height: 100%;
    display: flex;
    flex-direction: column;
    will-change: transform;
}

.property-card:hover {
    transform: translateY(-4px);
    box-shadow: 
        0 4px 16px rgba(0, 0, 0, 0.08),
        0 8px 32px rgba(0, 0, 0, 0.06),
        0 16px 48px rgba(0, 0, 0, 0.04);
    border-color: #cbd5e1;
}

/* Container de imagem profissional */
.property-image-wrapper {
    position: relative;
    overflow: hidden;
    height: 280px;
    background: #f1f5f9;
}

/* Imagem principal com tratamento profissional */
.property-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    backface-visibility: hidden;
}

.property-card:hover .property-image-wrapper img {
    transform: scale(1.03);
}

/* Overlay gradiente sutil */
.property-image-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.05) 60%,
        rgba(0, 0, 0, 0.2) 100%
    );
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.property-card:hover .property-image-wrapper::after {
    opacity: 1;
}

/* Cinematic property image experience */
.property-image,
.property-image-list {
    position: relative;
    overflow: hidden;
    border-radius: 24px 24px 0 0;
    background: linear-gradient(135deg, #f8fafc, #e2e8f0);
}

.property-image::after,
.property-image-list::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.02) 50%,
        rgba(0, 0, 0, 0.05) 100%
    );
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

.property-container:hover .property-image::after,
.property-container:hover .property-image-list::after {
    opacity: 1;
}

/* Imagens modernas e elegantes */
.property-image,
.property-image-list {
    position: relative;
    overflow: hidden;
    height: 280px;
}

.property-image img,
.property-image-list img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transform: scale(1);
}

.property-container:hover .property-image img,
.property-container:hover .property-image-list img {
    transform: scale(1.05);
}

/* Badge de preço profissional */
.property-price-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    padding: 10px 16px;
    border-radius: 8px;
    box-shadow: 
        0 2px 8px rgba(0, 0, 0, 0.08),
        0 1px 4px rgba(0, 0, 0, 0.04);
    z-index: 3;
    transition: all 0.2s ease;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.property-card:hover .property-price-badge {
    background: rgba(255, 255, 255, 1);
    transform: translateY(-1px);
    box-shadow: 
        0 4px 12px rgba(0, 0, 0, 0.1),
        0 2px 6px rgba(0, 0, 0, 0.06);
}

.property-price-badge .price-label {
    font-size: 10px;
    font-weight: 500;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
    display: block;
}

.property-price-badge .price-value {
    font-size: 16px;
    font-weight: 600;
    color: #0f172a;
    display: block;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

/* Badge de status/referência profissional */
.property-status-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    background: rgba(15, 23, 42, 0.9);
    color: #ffffff;
    font-size: 10px;
    font-weight: 500;
    padding: 6px 12px;
    border-radius: 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 3;
    transition: all 0.2s ease;
    backdrop-filter: blur(8px);
}

.property-card:hover .property-status-badge {
    background: rgba(15, 23, 42, 1);
    transform: translateY(-1px);
}

/* Badge de status/referência moderno */
.property-status {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 10;
}

.property-status span,
.ref-badge {
    background: rgba(15, 23, 42, 0.9);
    color: #ffffff;
    font-size: 10px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.property-container:hover .property-status span,
.property-container:hover .ref-badge {
    background: rgba(15, 23, 42, 1);
    transform: translateY(-2px);
}

/* Área de conteúdo profissional */
.property-content {
    padding: 24px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    position: relative;
}

/* Título da propriedade */
.property-title {
    margin: 0 0 12px 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    color: #0f172a;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.property-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.property-title a:hover {
    color: #80C9F5;
}

/* Localização da propriedade */
.property-location {
    font-size: 14px;
    color: #64748b;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.property-location::before {
    content: "📍";
    font-size: 12px;
    opacity: 0.8;
}

.property-content h3 a:hover::after,
.property-title a:hover::after {
    width: 100%;
}

/* Seção de características profissional */
.property-features {
    margin-top: auto;
    padding: 16px 24px 20px;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
}

.property-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

/* Nova seção de características moderna */
.property-features {
    padding: 20px 24px;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    border-radius: 0 0 24px 24px;
    margin-top: auto;
    position: relative;
}

.property-features::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 1px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(148, 163, 184, 0.4) 50%, 
        transparent 100%);
}

/* Item de característica individual */
.property-feature-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #475569;
    font-weight: 500;
}

.property-feature-item .icon,
.property-feature-item .fa {
    color: #80C9F5;
    margin-right: 8px;
    font-size: 16px;
    width: 20px;
    text-align: center;
    display: inline-block;
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Botão de ação profissional */
.property-action {
    padding: 0 24px 24px;
    background: #ffffff;
}

.property-cta-button {
    width: 100%;
    padding: 12px 20px;
    background: #80C9F5;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s ease;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(128, 201, 245, 0.3);
}

.property-cta-button:hover {
    background: #66B8E8;
    transform: translateY(-1px);
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(128, 201, 245, 0.4);
}

.property-cta-button .arrow,
.property-cta-button .fa-arrow-right {
    transition: transform 0.2s ease;
    margin-left: 8px;
}

.property-cta-button:hover .arrow,
.property-cta-button:hover .fa-arrow-right {
    transform: translateX(2px);
}

/* Botão Ver Mais moderno */
.property-action {
    padding: 0 24px 24px;
    background: #ffffff;
}

.btn-ver-mais {
    width: 100%;
    padding: 12px 20px;
    background: linear-gradient(135deg, #80C9F5 0%, #66B8E8 100%);
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.btn-ver-mais:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(99, 102, 241, 0.3);
    color: #ffffff;
    text-decoration: none;
}

.btn-ver-mais::after {
    content: "→";
    transition: transform 0.3s ease;
}

.btn-ver-mais:hover::after {
    transform: translateX(4px);
}

.property-features span small {
    font-size: 9px;
    margin-top: 2px;
    opacity: 0.7;
    text-align: center;
    line-height: 1.2;
}

/* Refined property text with elegant typography */
.property-text {
    padding: 0 32px 32px;
    position: relative;
}

.property-text::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 1px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(148, 163, 184, 0.3) 50%, 
        transparent 100%);
}

.property-text h3 {
    margin: 0 0 16px 0;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.5px;
}

.property-text p {
    color: #64748b;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
    font-weight: 400;
}

.property-text a {
    color: #80C9F5;
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-top: 12px;
    padding: 8px 16px;
    background: rgba(99, 102, 241, 0.06);
    border-radius: 8px;
    border: 1px solid rgba(99, 102, 241, 0.1);
}

.property-text a::after {
    content: '→';
    margin-left: 6px;
    transition: transform 0.3s ease;
    font-weight: 400;
}

.property-text a:hover {
    color: #4f46e5;
    text-decoration: none;
    background: rgba(99, 102, 241, 0.1);
    border-color: rgba(99, 102, 241, 0.2);
    transform: translateX(2px);
}

.property-text a:hover::after {
    transform: translateX(4px);
}

/* Architectural-grade responsive grid with perfect spacing */
@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
        padding: 0 40px;
    }
    
    .col-md-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
        padding: 0 20px;
    }
    
    .property-container {
        margin-bottom: 64px;
    }
}

@media (min-width: 1200px) and (max-width: 1399px) {
    .col-md-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
        padding: 0 16px;
    }
    
    .property-container {
        margin-bottom: 56px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .col-md-4 {
        flex: 0 0 50%;
        max-width: 50%;
        padding: 0 12px;
    }
    
    .property-container {
        margin-bottom: 48px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%;
        padding: 0 12px;
    }
    
    .property-container {
        margin-bottom: 40px;
        border-radius: 28px;
    }
    
    .property-content,
    .property-content-list {
        padding: 32px 32px 36px;
    }
    
    .property-features {
        padding: 28px 32px;
    }
}

/* Design responsivo profissional - MOBILE TELA TODA */
@media (max-width: 768px) {
    .real-estate-section {
        padding: 60px 20px;
    }
    
    .real-estate-section .row {
        margin-left: -10px;
        margin-right: -10px;
    }
    
    .real-estate-section [class*="col-"] {
        padding-left: 10px;
        padding-right: 10px;
    }
    
    .section-header {
        margin-bottom: 48px;
    }
    
    .section-header h2 {
        font-size: 2.4rem;
    }
    
    .section-header p {
        font-size: 16px;
    }
    
    .property-card {
        margin-bottom: 24px;
    }
    
    .property-image-wrapper {
        height: 240px;
    }
    
    .property-content {
        padding: 20px;
    }
    
    .property-title {
        font-size: 16px;
    }
    
    .property-features {
        padding: 16px 20px 20px;
    }
    
    .property-features-grid {
        gap: 10px;
    }
    
    .property-feature-item {
        font-size: 12px;
    }
    
    .property-action {
        padding: 0 20px 20px;
    }
    
    .property-cta-button {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .section-header h2 {
        font-size: 2rem;
    }
    
    .property-features-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

/* Ensure proper spacing in rows */
.row {
    margin-left: -15px;
    margin-right: -15px;
}

.col-md-4,
.col-sm-6,
.col-xs-12 {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 30px;
}

/* Add smooth loading animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Animações profissionais */
.property-card {
    animation: fadeInUp 0.6s ease-out forwards;
    opacity: 0;
    transform: translateY(24px);
}

.property-card:nth-child(1) { animation-delay: 0.1s; }
.property-card:nth-child(2) { animation-delay: 0.2s; }
.property-card:nth-child(3) { animation-delay: 0.3s; }
.property-card:nth-child(4) { animation-delay: 0.15s; }
.property-card:nth-child(5) { animation-delay: 0.25s; }
.property-card:nth-child(6) { animation-delay: 0.35s; }

/* Museum-quality page composition with architectural spacing */
#content {
    padding-top: 80px;
    padding-bottom: 120px;
    background: linear-gradient(180deg, 
        rgba(249, 251, 254, 0.4) 0%, 
        rgba(252, 253, 255, 0.8) 15%,
        rgba(255, 255, 255, 1) 25%,
        rgba(255, 255, 255, 1) 75%,
        rgba(248, 250, 252, 0.3) 100%);
}

.heading-title {
    margin-bottom: 60px;
    position: relative;
}

.heading-title::before {
    content: '';
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 1px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(99, 102, 241, 0.3) 20%,
        rgba(139, 92, 246, 0.4) 50%,
        rgba(99, 102, 241, 0.3) 80%,
        transparent 100%);
}

.heading-title h2 {
    font-size: 36px;
    font-weight: 900;
    background: linear-gradient(135deg, 
        #0f172a 0%, 
        #1e293b 30%,
        #334155 70%,
        #475569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-align: center;
    position: relative;
    padding-bottom: 32px;
    letter-spacing: -1px;
    line-height: 1.1;
}

.heading-title h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 64px;
    height: 3px;
    background: linear-gradient(135deg, 
        #80C9F5 0%, 
        #66B8E8 50%,
        #4FADD6 100%);
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(99, 102, 241, 0.3);
}

.heading-title h2::before {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 1px;
    background: linear-gradient(135deg, 
        #80C9F5 0%, 
        #66B8E8 100%);
    border-radius: 2px;
    opacity: 0.6;
}

/* ========================================
   ULTRA MODERN CAROUSEL GALLERY SYSTEM
   Beautiful image gallery for property details
======================================== */

/* Cinematic property gallery with premium aesthetics */
#slider-property.carousel {
    border-radius: 32px;
    overflow: hidden;
    box-shadow: 
        0 4px 16px rgba(0, 0, 0, 0.04),
        0 16px 48px rgba(0, 0, 0, 0.08),
        0 32px 64px rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(255, 255, 255, 0.8);
    margin: 40px 0 60px;
    position: relative;
    background: linear-gradient(145deg, #ffffff 0%, #fafbfc 100%);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.6);
}

/* Ultra-premium carousel indicators with Swiss precision */
.carousel-indicators {
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    margin: 0;
    padding: 16px 24px;
    background: linear-gradient(145deg, 
        rgba(0, 0, 0, 0.75) 0%, 
        rgba(0, 0, 0, 0.65) 100%);
    backdrop-filter: blur(28px);
    border-radius: 60px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
    box-shadow: 
        0 8px 24px rgba(0, 0, 0, 0.4),
        0 16px 48px rgba(0, 0, 0, 0.2);
}

.carousel-indicators li {
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    border-radius: 16px !important;
    border: 2px solid rgba(255, 255, 255, 0.4) !important;
    background: transparent !important;
    opacity: 0.65;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    overflow: hidden;
    cursor: pointer;
    position: relative;
}

.carousel-indicators li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 14px;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    filter: brightness(0.9) saturate(0.8);
}

.carousel-indicators li:hover {
    transform: scale(1.08);
    border-color: rgba(255, 255, 255, 0.8) !important;
    opacity: 0.85;
}

.carousel-indicators li:hover img {
    filter: brightness(1.05) saturate(1.1);
}

.carousel-indicators li.active {
    border-color: rgba(255, 255, 255, 0.95) !important;
    opacity: 1;
    transform: scale(1.12);
    box-shadow: 
        0 6px 20px rgba(0, 0, 0, 0.4),
        0 0 0 3px rgba(102, 126, 234, 0.3);
}

.carousel-indicators li.active img {
    filter: brightness(1.1) saturate(1.2);
}

.carousel-indicators li.active::before {
    content: '';
    position: absolute;
    top: -3px;
    left: -3px;
    right: -3px;
    bottom: -3px;
    background: linear-gradient(45deg, 
        rgba(102, 126, 234, 0.6) 0%, 
        rgba(118, 75, 162, 0.6) 50%, 
        rgba(102, 126, 234, 0.6) 100%);
    border-radius: 18px;
    z-index: -1;
    animation: shimmer-scale 4s ease-in-out infinite;
}

@keyframes shimmer-scale {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 0.8; transform: scale(1.02); }
}

@keyframes rotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Modern carousel inner */
.carousel-inner {
    border-radius: 24px;
    overflow: hidden;
}

.carousel-inner .item {
    position: relative;
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.carousel-inner .item img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    filter: 
        brightness(1.03) 
        contrast(1.12) 
        saturate(1.18) 
        sepia(0.08);
    position: relative;
}

.carousel-inner .item {
    position: relative;
    overflow: hidden;
}

.carousel-inner .item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.18) 0%,
        rgba(255, 255, 255, 0.08) 50%,
        rgba(0, 0, 0, 0.05) 100%
    );
    z-index: 2;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.carousel-inner .item:hover::before {
    opacity: 1;
}

.carousel-inner .item:hover img {
    filter: 
        brightness(1.08) 
        contrast(1.18) 
        saturate(1.25) 
        sepia(0.12);
    transform: scale(1.03);
}

/* ===== MARCA D'ÁGUA ULTRA PREMIUM ===== */
.carousel-inner .item::after,
.property-image::after,
.property-image-wrapper::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
    height: 200px;
    background-image: url('../img/watermark.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.15;
    z-index: 3;
    pointer-events: none;
    filter: 
        brightness(1.2) 
        contrast(0.8) 
        saturate(0.7);
    mix-blend-mode: overlay;
    transition: all 0.3s ease;
}

/* Marca d'água mais sutil em hover */
.carousel-inner .item:hover::after,
.property-image:hover::after,
.property-image-wrapper:hover::after {
    opacity: 0.25;
    transform: translate(-50%, -50%) scale(1.1);
    filter: 
        brightness(1.4) 
        contrast(0.6) 
        saturate(0.5);
}

/* Marca d'água responsiva */
@media (max-width: 768px) {
    .carousel-inner .item::after,
    .property-image::after,
    .property-image-wrapper::after {
        width: 120px;
        height: 120px;
        opacity: 0.1;
    }
}

/* Variação para diferentes tamanhos de imagem */
.thumbnail-item::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background-image: url('../img/watermark.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.2;
    z-index: 3;
    pointer-events: none;
    filter: brightness(1.5) contrast(0.5);
    mix-blend-mode: soft-light;
}

/* ===== MARCA D'ÁGUA ALTERNATIVA (TEXTO) ===== */
/* Caso queira usar texto como marca d'água ao invés de imagem */
.watermark-text::after {
    content: 'SEU LOGO AQUI';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
    font-size: 24px;
    font-weight: 800;
    color: rgba(255, 255, 255, 0.15);
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    z-index: 3;
    pointer-events: none;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-family: 'Arial Black', Arial, sans-serif;
    mix-blend-mode: overlay;
}

/* ===== MARCA D'ÁGUA COM GRADIENTE ===== */
.watermark-gradient::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(
            circle at center,
            rgba(255, 255, 255, 0.08) 0%,
            transparent 40%
        ),
        linear-gradient(
            45deg,
            rgba(255, 255, 255, 0.05) 0%,
            transparent 100%
        );
    z-index: 2;
    pointer-events: none;
    opacity: 0.7;
    mix-blend-mode: soft-light;
}

/* Premium cinematic carousel controls */
.carousel-control {
    width: 68px;
    height: 68px;
    top: 50%;
    transform: translateY(-50%);
    background: linear-gradient(145deg, 
        rgba(255, 255, 255, 0.95) 0%, 
        rgba(250, 251, 252, 0.9) 100%) !important;
    backdrop-filter: blur(24px);
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.6);
    opacity: 0.85;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 
        0 4px 16px rgba(0, 0, 0, 0.06),
        0 16px 32px rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(255, 255, 255, 0.8);
    z-index: 3;
}

.carousel-control.left {
    left: 24px;
}

.carousel-control.right {
    right: 24px;
}

.carousel-control:hover {
    opacity: 1;
    transform: translateY(-50%) scale(1.08);
    background: linear-gradient(145deg, 
        rgba(255, 255, 255, 1) 0%, 
        rgba(250, 251, 252, 0.98) 100%) !important;
    border-color: rgba(102, 126, 234, 0.15);
    box-shadow: 
        0 8px 24px rgba(102, 126, 234, 0.15),
        0 20px 48px rgba(102, 126, 234, 0.08),
        0 0 0 1px rgba(102, 126, 234, 0.1);
}

.carousel-control .glyphicon {
    font-size: 22px;
    color: #4a5568;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    text-shadow: none;
    font-weight: 600;
}

.carousel-control:hover .glyphicon {
    color: #667eea;
    transform: scale(1.15);
    text-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

/* Responsive carousel */
@media (max-width: 768px) {
    .carousel-indicators {
        bottom: 15px;
        padding: 8px 15px;
        gap: 6px;
    }
    
    .carousel-indicators li {
        width: 40px !important;
        height: 40px !important;
        border-radius: 10px !important;
    }
    
    .carousel-inner .item img {
        height: 400px;
    }
    
    .carousel-control {
        width: 50px;
        height: 50px;
    }
    
    .carousel-control.left {
        left: 15px;
    }
    
    .carousel-control.right {
        right: 15px;
    }
    
    .carousel-control .glyphicon {
        font-size: 18px;
    }
}

@media (max-width: 480px) {
    .carousel-indicators {
        bottom: 10px;
        padding: 6px 12px;
        gap: 4px;
    }
    
    .carousel-indicators li {
        width: 35px !important;
        height: 35px !important;
        border-radius: 8px !important;
    }
    
    .carousel-inner .item img {
        height: 300px;
    }
    
    .carousel-control {
        width: 45px;
        height: 45px;
    }
    
    .carousel-control.left {
        left: 10px;
    }
    
    .carousel-control.right {
        right: 10px;
    }
    
    .carousel-control .glyphicon {
        font-size: 16px;
    }
}

/* Loading state for carousel */
.carousel-loading {
    position: relative;
    background: linear-gradient(
        90deg, 
        rgba(244, 244, 245, 0.8) 25%, 
        rgba(255, 255, 255, 1) 37%, 
        rgba(244, 244, 245, 0.8) 63%
    );
    background-size: 200px 100%;
    animation: shimmer 2s infinite ease-in-out;
    border-radius: 24px;
    height: 520px;
}

/* Smooth transitions */
.carousel-inner > .item {
    transition: transform 0.6s ease-in-out;
}

.carousel-inner > .item.next,
.carousel-inner > .item.active.right {
    transform: translate3d(100%, 0, 0);
}

.carousel-inner > .item.prev,
.carousel-inner > .item.active.left {
    transform: translate3d(-100%, 0, 0);
}

.carousel-inner > .item.next.left,
.carousel-inner > .item.prev.right,
.carousel-inner > .item.active {
    transform: translate3d(0, 0, 0);
}

/* Add zoom effect on image click */
.carousel-inner .item img {
    cursor: zoom-in;
}

.carousel-inner .item img:hover {
    cursor: zoom-in;
}

/* Fullscreen overlay for image zoom */
.carousel-fullscreen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.95);
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(10px);
}

.carousel-fullscreen img {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.carousel-fullscreen-close {
    position: absolute;
    top: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.carousel-fullscreen-close:hover {
    background: #ffffff;
    transform: scale(1.1);
}

/* Premium property details page styling */
.property-detail-container {
    background: linear-gradient(145deg, 
        rgba(248, 250, 252, 0.8) 0%, 
        rgba(255, 255, 255, 0.9) 100%);
    padding: 48px 0;
    min-height: 100vh;
}

.property-main-info {
    background: linear-gradient(145deg, 
        rgba(255, 255, 255, 0.95) 0%, 
        rgba(250, 251, 252, 0.9) 100%);
    border-radius: 32px;
    padding: 48px;
    margin: 32px 0;
    box-shadow: 
        0 4px 16px rgba(0, 0, 0, 0.04),
        0 16px 32px rgba(0, 0, 0, 0.06),
        0 32px 64px rgba(0, 0, 0, 0.08),
        0 0 0 1px rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.6);
}

.property-title-section {
    margin-bottom: 40px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    padding-bottom: 32px;
}

.property-main-title {
    font-size: 3.2rem;
    font-weight: 700;
    color: #1a202c;
    margin-bottom: 16px;
    background: linear-gradient(135deg, #2d3748 0%, #4a5568 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.property-address {
    font-size: 1.3rem;
    color: #718096;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 12px;
}

.property-address::before {
    content: "📍";
    font-size: 1.5rem;
    opacity: 0.7;
}

.property-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin: 40px 0;
}

.feature-card {
    background: linear-gradient(145deg, 
        rgba(255, 255, 255, 0.9) 0%, 
        rgba(248, 250, 252, 0.8) 100%);
    border-radius: 24px;
    padding: 32px;
    text-align: center;
    box-shadow: 
        0 2px 8px rgba(0, 0, 0, 0.03),
        0 8px 16px rgba(0, 0, 0, 0.04),
        0 16px 32px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.7);
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
}

.feature-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, 
        rgba(102, 126, 234, 0.02) 0%, 
        rgba(118, 75, 162, 0.02) 100%);
    opacity: 0;
    transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.feature-card:hover::before {
    opacity: 1;
}

.feature-card:hover {
    transform: translateY(-4px);
    box-shadow: 
        0 8px 24px rgba(102, 126, 234, 0.08),
        0 16px 48px rgba(102, 126, 234, 0.06),
        0 32px 64px rgba(102, 126, 234, 0.04);
}

.feature-icon {
    font-size: 3rem;
    margin-bottom: 16px;
    display: block;
    opacity: 0.8;
}

.feature-label {
    font-size: 1.1rem;
    color: #4a5568;
    font-weight: 600;
    margin-bottom: 8px;
}

.feature-value {
    font-size: 1.8rem;
    font-weight: 700;
    color: #2d3748;
}

.property-description {
    background: linear-gradient(145deg, 
        rgba(255, 255, 255, 0.9) 0%, 
        rgba(248, 250, 252, 0.8) 100%);
    border-radius: 24px;
    padding: 40px;
    margin: 32px 0;
    box-shadow: 
        0 4px 16px rgba(0, 0, 0, 0.03),
        0 16px 32px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.7);
}

.property-description h3 {
    font-size: 2rem;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 24px;
    position: relative;
}

.property-description h3::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
    border-radius: 2px;
}

.property-description p {
    font-size: 1.15rem;
    line-height: 1.8;
    color: #4a5568;
    margin-bottom: 20px;
}

/* Responsive design for property details */
@media (max-width: 768px) {
    .property-main-info {
        padding: 32px 24px;
        margin: 16px;
        border-radius: 24px;
    }
    
    .property-main-title {
        font-size: 2.4rem;
    }
    
    .property-features-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    
    .feature-card {
        padding: 24px;
    }
    
    .property-description {
        padding: 32px 24px;
        margin: 16px;
        border-radius: 20px;
    }
}

/* Premium button styling for property pages */
.btn-premium {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border: none;
    border-radius: 16px;
    padding: 16px 32px;
    font-size: 1.1rem;
    font-weight: 600;
    color: #ffffff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 
        0 4px 16px rgba(102, 126, 234, 0.2),
        0 8px 32px rgba(102, 126, 234, 0.1);
    position: relative;
    overflow: hidden;
}

.btn-premium::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255, 255, 255, 0.2) 50%, 
        transparent 100%);
    transition: left 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-premium:hover::before {
    left: 100%;
}

.btn-premium:hover {
    transform: translateY(-2px);
    box-shadow: 
        0 8px 24px rgba(102, 126, 234, 0.3),
        0 16px 48px rgba(102, 126, 234, 0.15);
    color: #ffffff;
    text-decoration: none;
}

.btn-premium:active {
    transform: translateY(0);
}

/* Contact buttons */
.contact-buttons {
    display: flex;
    gap: 16px;
    margin: 32px 0;
    flex-wrap: wrap;
}

.btn-whatsapp {
    background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
}

.btn-whatsapp:hover {
    box-shadow: 
        0 8px 24px rgba(37, 211, 102, 0.3),
        0 16px 48px rgba(37, 211, 102, 0.15);
}

.btn-phone {
    background: linear-gradient(135deg, #4285f4 0%, #1976d2 100%);
}

.btn-phone:hover {
    box-shadow: 
        0 8px 24px rgba(66, 133, 244, 0.3),
        0 16px 48px rgba(66, 133, 244, 0.15);
}

.btn-email {
    background: linear-gradient(135deg, #ea4335 0%, #d32f2f 100%);
}

.btn-email:hover {
    box-shadow: 
        0 8px 24px rgba(234, 67, 53, 0.3),
        0 16px 48px rgba(234, 67, 53, 0.15);
}

/* Enhanced page composition */
.page-header {
    background: linear-gradient(135deg, 
        rgba(102, 126, 234, 0.05) 0%, 
        rgba(118, 75, 162, 0.05) 100%);
    padding: 80px 0 40px;
    position: relative;
    overflow: hidden;
}

.page-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(102,126,234,0.03)"/><circle cx="75" cy="75" r="1" fill="rgba(118,75,162,0.03)"/><circle cx="50" cy="10" r="0.5" fill="rgba(102,126,234,0.02)"/><circle cx="10" cy="50" r="0.5" fill="rgba(118,75,162,0.02)"/><circle cx="90" cy="30" r="0.5" fill="rgba(102,126,234,0.02)"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grain)"/></svg>');
    opacity: 0.6;
}

.heading-title {
    font-size: 3.8rem;
    font-weight: 800;
    background: linear-gradient(135deg, #2d3748 0%, #4a5568 50%, #667eea 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-align: center;
    margin-bottom: 24px;
    letter-spacing: -0.02em;
    line-height: 1.1;
    position: relative;
    z-index: 2;
}

.heading-subtitle {
    font-size: 1.4rem;
    color: #718096;
    text-align: center;
    font-weight: 500;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
    position: relative;
    z-index: 2;
}

/* Refined content sections */
.section-divider {
    height: 2px;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(102, 126, 234, 0.2) 20%,
        rgba(118, 75, 162, 0.3) 50%,
        rgba(102, 126, 234, 0.2) 80%,
        transparent 100%);
    margin: 64px 0;
    border-radius: 1px;
}

@media (max-width: 768px) {
    .heading-title {
        font-size: 2.8rem;
    }
    
    .contact-buttons {
        flex-direction: column;
    }
    
    .btn-premium {
        width: 100%;
        justify-content: center;
    }
}

/* Architectural-grade container spacing system */
.container {
    padding-left: 20px;
    padding-right: 20px;
}

@media (min-width: 576px) {
    .container {
        padding-left: 24px;
        padding-right: 24px;
    }
}

@media (min-width: 768px) {
    .container {
        padding-left: 32px;
        padding-right: 32px;
    }
}

@media (min-width: 1200px) {
    .container {
        padding-left: 48px;
        padding-right: 48px;
        max-width: 1320px;
    }
}

@media (min-width: 1400px) {
    .container {
        padding-left: 56px;
        padding-right: 56px;
        max-width: 1400px;
    }
}

/* Professional grid spacing optimization */
.row {
    margin-left: -12px;
    margin-right: -12px;
}

@media (min-width: 768px) {
    .row {
        margin-left: -16px;
        margin-right: -16px;
    }
}

@media (min-width: 1200px) {
    .row {
        margin-left: -20px;
        margin-right: -20px;
    }
}

[class*="col-"] {
    padding-left: 12px;
    padding-right: 12px;
}

@media (min-width: 768px) {
    [class*="col-"] {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* ================================
   RESPONSIVIDADE PARA 4 CARDS POR LINHA
================================ */

/* Layout para 4 cards por linha - FORÇAR 4 CARDS */
@media (min-width: 1200px) {
    .real-estate-section .row {
        margin-left: -15px;
        margin-right: -15px;
        display: flex;
        flex-wrap: wrap;
    }
    
    .real-estate-section [class*="col-xl-3"] {
        padding-left: 15px;
        padding-right: 15px;
        width: 25% !important;
        flex: 0 0 25%;
        max-width: 25%;
        display: flex;
    }
    
    .property-card {
        margin-bottom: 40px;
        display: flex;
        flex-direction: column;
        width: 100%;
        height: auto;
        min-height: 480px;
    }
    
    .property-image-wrapper {
        height: 250px;
        flex-shrink: 0;
    }
    
    .property-content {
        padding: 24px 20px 0;
        flex: 1;
        display: flex;
        flex-direction: column;
    }
    
    .property-action {
        padding: 0 20px 20px;
        margin-top: auto;
    }
    
    .property-title a {
        font-size: 19px;
        line-height: 1.3;
    }
    
    .property-location {
        font-size: 14px;
        margin-bottom: 20px;
    }
    
    .property-features {
        flex: 1;
        display: flex;
        align-items: flex-end;
    }
    
    .property-feature-item {
        font-size: 13px;
    }
}

/* Layout para 3 cards por linha em laptops - FORÇAR 3 CARDS */
@media (max-width: 1199px) and (min-width: 992px) {
    .real-estate-section .row {
        margin-left: -15px;
        margin-right: -15px;
        display: flex;
        flex-wrap: wrap;
    }
    
    .real-estate-section [class*="col-lg-4"] {
        padding-left: 15px;
        padding-right: 15px;
        width: 33.333333% !important;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
        display: flex;
    }
    
    .property-card {
        margin-bottom: 35px;
        display: flex;
        flex-direction: column;
        width: 100%;
        min-height: 500px;
    }
    
    .property-image-wrapper {
        height: 260px;
        flex-shrink: 0;
    }
    
    .property-content {
        padding: 24px 20px 0;
        flex: 1;
        display: flex;
        flex-direction: column;
    }
    
    .property-action {
        padding: 0 20px 20px;
        margin-top: auto;
    }
    
    .property-features {
        flex: 1;
        display: flex;
        align-items: flex-end;
    }
    
    .property-title a {
        font-size: 20px;
    }
}

/* Layout para 2 cards por linha em tablets - FORÇAR 2 CARDS */
@media (max-width: 991px) and (min-width: 769px) {
    .real-estate-section {
        padding: 100px 30px;
    }
    
    .real-estate-section .row {
        margin-left: -15px;
        margin-right: -15px;
        display: flex;
        flex-wrap: wrap;
    }
    
    .real-estate-section [class*="col-md-6"] {
        padding-left: 15px;
        padding-right: 15px;
        width: 50% !important;
        flex: 0 0 50%;
        max-width: 50%;
        display: flex;
    }
    
    .property-card {
        margin-bottom: 32px;
        display: flex;
        flex-direction: column;
        width: 100%;
        min-height: 520px;
    }
    
    .property-image-wrapper {
        height: 280px;
        flex-shrink: 0;
    }
    
    .property-content {
        padding: 26px 22px 0;
        flex: 1;
        display: flex;
        flex-direction: column;
    }
    
    .property-action {
        padding: 0 22px 22px;
        margin-top: auto;
    }
    
    .property-features {
        flex: 1;
        display: flex;
        align-items: flex-end;
    }
    
    .property-title a {
        font-size: 21px;
    }
}

/* ================================
   CORREÇÃO FORÇADA PARA 4 CARDS
================================ */

/* Forçar layout flexbox responsivo */
.real-estate-section .row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}

.real-estate-section [class*="col-"] {
    display: flex !important;
}

/* Forçar 4 cards em telas XL */
@media (min-width: 1200px) {
    .real-estate-section .col-xl-3 {
        width: 25% !important;
        flex: 0 0 25% !important;
        max-width: 25% !important;
    }
}

/* Forçar 3 cards em telas LG */
@media (min-width: 992px) and (max-width: 1199px) {
    .real-estate-section .col-lg-4 {
        width: 33.333333% !important;
        flex: 0 0 33.333333% !important;
        max-width: 33.333333% !important;
    }
}

/* Forçar 2 cards em telas MD */
@media (min-width: 768px) and (max-width: 991px) {
    .real-estate-section .col-md-6 {
        width: 50% !important;
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

/* 1 card em telas pequenas */
@media (max-width: 767px) {
    .real-estate-section [class*="col-"] {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}



/* ================================================================
   MODERN NEWS SECTION STYLES
   ================================================================ */
.modern-news-section {
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.modern-news-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(to right, #80C9F5, #5ba8d4);
}

.section-header-main {
    text-align: center;
    margin-bottom: 60px;
    position: relative;
}

.section-header-main .section-icon {
    display: inline-block;
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #80C9F5, #5ba8d4);
    border-radius: 50%;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 25px rgba(128, 201, 245, 0.3);
}

.section-header-main .section-icon i {
    font-size: 32px;
    color: #fff;
}

.section-header-main h2 {
    font-size: 42px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 15px;
    letter-spacing: -1px;
}

.section-header-main p {
    font-size: 18px;
    color: #718096;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}



/* Testimonials List */
.testimonials-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.testimonial-item {
    padding: 20px;
    background: #f8fafc;
    border-radius: 8px;
    position: relative;
    transition: all 0.3s ease;
}

.testimonial-item:hover {
    background: #fff;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

.testimonial-content {
    margin-bottom: 15px;
    position: relative;
}

.quote-icon {
    position: absolute;
    top: -5px;
    left: -5px;
    width: 30px;
    height: 30px;
    background: #80C9F5;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.quote-icon i {
    font-size: 12px;
    color: #fff;
}

.testimonial-text {
    font-size: 14px;
    color: #4a5568;
    line-height: 1.6;
    font-style: italic;
    margin: 0;
    padding-left: 25px;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.author-photo {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.author-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.author-info {
    flex: 1;
}

.author-name {
    font-size: 14px;
    font-weight: 600;
    color: #2d3748;
    margin: 0 0 4px 0;
}

.testimonial-date {
    font-size: 12px;
    color: #718096;
    display: flex;
    align-items: center;
    gap: 4px;
}

.testimonial-date i {
    color: #80C9F5;
}

.testimonial-rating {
    display: flex;
    gap: 2px;
}

.testimonial-rating i {
    font-size: 12px;
    color: #ffd700;
}

/* Responsive Design */
@media (max-width: 768px) {
    .modern-news-section {
        padding: 60px 0;
    }
    
    .section-header-main h2 {
        font-size: 32px;
    }
    
    .section-header-main p {
        font-size: 16px;
    }
    
    .post-image-wrapper {
        height: 200px;
    }
    
    .modern-post-card .post-content {
        padding: 20px;
    }
    
    .modern-section-block {
        padding: 20px;
        margin-bottom: 30px;
    }
    
    .popular-property-item {
        flex-direction: column;
        text-align: center;
    }
    
    .property-thumb {
        width: 100%;
        height: 120px;
        align-self: center;
    }
    
    .property-features {
        justify-content: center;
    }
}

/* ===================================================================
   MOBILE NAVBAR PANELS - PAINÉIS EXPANSÍVEIS MOBILE
   =================================================================== */

/* Container dos botões mobile */
@media (max-width: 767px) {
    .mobile-buttons-container {
        display: flex;
        align-items: center;
        gap: 5px;
    }
    
    .mobile-buttons-container .navbar-toggle {
        margin: 0;
        padding: 8px 10px;
        border: 1px solid #ddd;
        border-radius: 4px;
        background: #fff;
        color: #333;
        min-width: 42px;
        height: 36px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .mobile-buttons-container .navbar-toggle:hover,
    .mobile-buttons-container .navbar-toggle:focus {
        background: #f5f5f5;
        border-color: #80C9F5;
        color: #80C9F5;
    }
    
    .mobile-buttons-container .navbar-toggle .fa {
        font-size: 16px;
        line-height: 1;
    }
    
    /* Estilo específico para o botão de pesquisa */
    .mobile-search-btn .fa {
        color: #28a745;
    }
    
    .mobile-search-btn:hover .fa,
    .mobile-search-btn:focus .fa {
        color: #218838;
    }
    
    /* Estilo específico para o botão de telefone */
    .mobile-phone-btn .fa {
        color: #007bff;
    }
    
    .mobile-phone-btn:hover .fa,
    .mobile-phone-btn:focus .fa {
        color: #0056b3;
    }
    
    /* Estilo específico para o botão de menu */
    .mobile-menu-btn {
        flex-direction: column;
        gap: 2px;
    }
    
    .mobile-menu-btn .icon-bar {
        width: 20px;
        height: 2px;
        background: #333;
        border-radius: 1px;
    }
    
    .mobile-menu-btn:hover .icon-bar,
    .mobile-menu-btn:focus .icon-bar {
        background: #80C9F5;
    }
}

/* Painéis expansíveis mobile */
@media (max-width: 767px) {
    .mobile-panel {
        border-top: 1px solid #eee;
        background: #fff;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        display: none !important; /* Iniciar sempre fechados */
        opacity: 0;
        max-height: 0;
        overflow: hidden;
        transition: all 0.3s ease-in-out;
    }
    
    /* Quando estão abertos */
    .mobile-panel.in {
        display: block !important;
        opacity: 1;
        max-height: 1000px; /* Altura suficiente para o conteúdo */
        animation: slideDown 0.3s ease-in-out;
    }
    
    /* Animação de abertura */
    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-20px);
            max-height: 0;
        }
        to {
            opacity: 1;
            transform: translateY(0);
            max-height: 1000px;
        }
    }
    
    .mobile-panel-content {
        padding: 0;
    }
    
    .mobile-panel-header {
        background: linear-gradient(135deg, #80C9F5 0%, #66B8E8 100%);
        color: white;
        padding: 15px 20px;
        margin: 0;
        border-bottom: 1px solid rgba(255,255,255,0.2);
    }
    
    .mobile-panel-header h4 {
        margin: 0;
        font-size: 16px;
        font-weight: 600;
    }
    
    .mobile-panel-header i {
        margin-right: 8px;
        font-size: 18px;
    }
    
    .mobile-panel-body {
        padding: 20px;
    }
    
    /* Formulário de pesquisa mobile */
    .mobile-search-form .form-group {
        margin-bottom: 15px;
    }
    
    .mobile-search-form .form-control {
        height: 42px;
        border-radius: 6px;
        border: 1px solid #ddd;
        font-size: 14px;
        padding: 10px 12px;
    }
    
    .mobile-search-form .form-control:focus {
        border-color: #80C9F5;
        box-shadow: 0 0 0 2px rgba(128, 201, 245, 0.2);
        outline: none;
    }
    
    .mobile-search-form .btn {
        height: 42px;
        font-size: 14px;
        font-weight: 600;
        border-radius: 6px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    /* Melhoria para campos select */
    .mobile-search-form select.form-control {
        color: #333;
        background-color: #fff;
    }
    
    .mobile-search-form select.form-control option {
        color: #333;
        background-color: #fff;
        padding: 8px 12px;
    }
    
    /* Informações de contato mobile */
    .contact-info {
        margin-bottom: 20px;
    }
    
    .contact-item {
        display: flex;
        align-items: flex-start;
        padding: 15px 0;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .contact-item:last-child {
        border-bottom: none;
    }
    
    .contact-item i {
        width: 24px;
        height: 24px;
        background: linear-gradient(135deg, #80C9F5 0%, #66B8E8 100%);
        color: white;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 15px;
        margin-top: 2px;
        font-size: 12px;
        flex-shrink: 0;
    }
    
    .contact-details {
        flex: 1;
    }
    
    .contact-details strong {
        display: block;
        font-size: 14px;
        color: #333;
        margin-bottom: 4px;
        font-weight: 600;
    }
    
    .contact-details a {
        color: #666;
        text-decoration: none;
        font-size: 14px;
        font-weight: 400;
    }
    
    .contact-details a:hover {
        color: #80C9F5;
        text-decoration: none;
    }
    
    /* Ações de contato */
    .contact-actions .btn {
        height: 42px;
        font-size: 14px;
        font-weight: 600;
        border-radius: 6px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    /* Ícone do WhatsApp */
    .contact-item .fa-whatsapp {
        background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    }
    
    /* Container do logo mobile com layout flexbox */
    .mobile-logo-container {
        flex: 1;
        display: flex;
        align-items: center;
    }
    
    .mobile-logo-container .navbar-brand {
        margin: 0;
        padding: 10px 0;
        height: auto;
        line-height: normal;
    }
    
    .mobile-logo-container .navbar-brand img {
        max-height: 40px;
        width: auto;
    }

/* ============================================
   OTIMIZAÇÕES ESPECÍFICAS PARA LOGOS
   ============================================ */

/* Otimizações de renderização para logos */
.logo-mobile, .logo-desktop {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    filter: contrast(1.05) brightness(1.02);
    transition: all 0.3s ease;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: transform;
}

.logo-mobile:hover, .logo-desktop:hover {
    filter: contrast(1.1) brightness(1.05);
    transform: scale(1.01);
}

/* Melhorias específicas para logos PNG com transparência */
.topo-logo img, .mobile-logo-container img {
    image-rendering: -webkit-optimize-contrast;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Fallback elegante para logos que falharam no carregamento */
.logo-error {
    background: linear-gradient(135deg, #4fc1e9 0%, #3bafda 100%);
    color: white;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 200px;
    height: 60px;
    font-weight: bold;
    border-radius: 4px;
    text-decoration: none;
    font-size: 16px;
}

/* ============================================
   OTIMIZAÇÕES PARA IMAGENS DOS IMÓVEIS
   ============================================ */

/* Otimizações de renderização para fotos de imóveis */
.property-image {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    transition: all 0.3s ease;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: transform;
}

.property-image:hover {
    transform: scale(1.02);
    filter: brightness(1.05) contrast(1.05);
}

/* Estado de carregamento para imagens */
.property-image.loading {
    opacity: 0.7;
    filter: blur(2px);
}

.property-image.loaded {
    opacity: 1;
    filter: none;
}

/* Placeholder para imagens sem foto */
.property-no-photo {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    position: relative;
}

.property-no-photo::after {
    content: "📷";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 48px;
    opacity: 0.3;
    z-index: 1;
}

/* Otimizações específicas para marca d'água em imóveis */
.property-image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.property-image-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, transparent 30%, rgba(0,0,0,0.02) 70%);
    pointer-events: none;
    z-index: 2;
}

/* Melhorias para performance de scroll */
.property-card {
    contain: layout style paint;
}

.property-image {
    contain: layout style paint;
    transform: translateZ(0);
}
    
    /* Ajuste do navbar header para flexbox */
    .navbar-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 50px;
    }
    
    /* Garantir que os painéis sempre iniciem fechados */
    .mobile-panel {
        display: none !important;
    }
    
    /* E só apareçam quando têm a classe 'in' */
    .mobile-panel.in {
        display: block !important;
    }
    
    /* Remover qualquer interferência do Bootstrap */
    .mobile-panel.collapse {
        display: none !important;
    }
    
    .mobile-panel.collapse.in {
        display: block !important;
    }
}

/* ===================================================================
   PÁGINA DE DETALHES DO IMÓVEL - DESIGN MODERNO
   =================================================================== */

.modern-property-page {
    background: #f8fafc;
    margin-top: -20px;
}

/* Hero Section */
.property-hero-section {
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.property-header {
    padding: 30px 0 20px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.property-title-section h1.property-main-title {
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1.2;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.property-location {
    font-size: 1.1rem;
    margin-bottom: 10px;
    opacity: 0.9;
}

.property-location i {
    margin-right: 8px;
    color: #ffd700;
}

.property-ref {
    display: inline-block;
    background: rgba(255,255,255,0.2);
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 0.9rem;
    backdrop-filter: blur(10px);
}

.property-ref .ref-label {
    opacity: 0.8;
    margin-right: 5px;
}

.property-ref .ref-number {
    font-weight: 600;
}

.property-price-section {
    text-align: right;
}

.price-container {
    background: rgba(255,255,255,0.15);
    padding: 20px;
    border-radius: 12px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.2);
}

.main-price {
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 5px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.price-type {
    font-size: 1rem;
    opacity: 0.9;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Slider Principal */
.property-main-slider {
    position: relative;
    margin-bottom: 0;
}

#property-hero-slider {
    border-radius: 0;
    overflow: hidden;
    height: 700px;
}

#property-hero-slider .carousel-inner {
    height: 700px;
}

#property-hero-slider .item {
    height: 700px;
}

#property-hero-slider .item img {
    width: 100%;
    height: 700px;
    object-fit: cover;
}

/* Thumbnails */
.carousel-thumbnails {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    background: rgba(0,0,0,0.5);
    padding: 10px;
    border-radius: 8px;
    backdrop-filter: blur(5px);
}

.thumbnails-container {
    display: flex;
    gap: 8px;
    max-width: 600px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.thumbnails-container::-webkit-scrollbar {
    display: none;
}

.thumbnail-item {
    min-width: 80px;
    height: 50px;
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    opacity: 0.6;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.thumbnail-item:hover,
.thumbnail-item.active {
    opacity: 1;
    border-color: #80C9F5;
    transform: scale(1.05);
}

.thumbnail-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumbnail-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: all 0.3s ease;
}

.thumbnail-item:hover .thumbnail-overlay {
    opacity: 1;
}

.thumbnail-overlay i {
    color: white;
    font-size: 16px;
}

/* ===== SLIDER BADGES ULTRA PREMIUM ===== */
.slider-badges {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 15;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.photo-badge,
.featured-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 25px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255,255,255,0.3);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.photo-badge {
    background: linear-gradient(135deg, rgba(64, 224, 208, 0.9), rgba(72, 209, 204, 0.95));
    color: white;
    box-shadow: 0 8px 25px rgba(64, 224, 208, 0.3);
}

.featured-badge {
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.95), rgba(255, 193, 7, 0.9));
    color: #333;
    box-shadow: 0 8px 25px rgba(255, 215, 0, 0.4);
    animation: pulse-gold 2s ease-in-out infinite;
}

@keyframes pulse-gold {
    0%, 100% { transform: scale(1); box-shadow: 0 8px 25px rgba(255, 215, 0, 0.4); }
    50% { transform: scale(1.05); box-shadow: 0 12px 35px rgba(255, 215, 0, 0.6); }
}

.photo-badge::before,
.featured-badge::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
    transition: left 0.6s ease;
}

.photo-badge:hover::before,
.featured-badge:hover::before {
    left: 100%;
}

.photo-badge:hover,
.featured-badge:hover {
    transform: translateY(-2px) scale(1.05);
}

.photo-badge i {
    font-size: 14px;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
}

.featured-badge i {
    font-size: 14px;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
    animation: rotate-star 3s linear infinite;
}

@keyframes rotate-star {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ===== SLIDER CONTROLS ULTRA PREMIUM ===== */
.slider-controls {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 15;
    display: flex;
    gap: 8px;
}

.slider-control-btn {
    width: 45px;
    height: 45px;
    background: rgba(0,0,0,0.7);
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 50%;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.slider-control-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.slider-control-btn:hover {
    transform: translateY(-2px) scale(1.1);
    box-shadow: 0 8px 25px rgba(0,0,0,0.3);
    border-color: rgba(255,255,255,0.4);
}

.slider-control-btn:hover::before {
    opacity: 1;
}

.slider-control-btn:active {
    transform: translateY(-1px) scale(1.05);
}

.play-pause-btn:hover {
    background: linear-gradient(135deg, rgba(34, 193, 195, 0.8), rgba(253, 187, 45, 0.8));
    color: white;
}

.fullscreen-btn:hover {
    background: linear-gradient(135deg, rgba(72, 209, 204, 0.8), rgba(64, 224, 208, 0.8));
    color: white;
}

.download-btn:hover {
    background: linear-gradient(135deg, rgba(106, 90, 205, 0.8), rgba(30, 144, 255, 0.8));
    color: white;
}

.slider-control-btn i {
    font-size: 16px;
    transition: all 0.3s ease;
}

.slider-control-btn:hover i {
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
}

/* ===== CAROUSEL THUMBNAILS ULTRA PREMIUM ===== */
.carousel-thumbnails {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 15;
    background: rgba(0,0,0,0.8);
    backdrop-filter: blur(20px);
    padding: 15px;
    border-radius: 15px;
    border: 1px solid rgba(255,255,255,0.2);
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

.thumbnails-scroll-left,
.thumbnails-scroll-right {
    width: 35px;
    height: 35px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    color: white;
}

.thumbnails-scroll-left:hover,
.thumbnails-scroll-right:hover {
    background: rgba(255,255,255,0.2);
    transform: scale(1.1);
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}

.thumbnails-scroll-left:active,
.thumbnails-scroll-right:active {
    transform: scale(0.95);
}

.thumbnails-container {
    display: flex;
    gap: 10px;
    max-width: 500px;
    overflow-x: hidden;
    scroll-behavior: smooth;
    padding: 5px 0;
}

.thumbnail-item {
    position: relative;
    min-width: 90px;
    height: 60px;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    opacity: 0.6;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.thumbnail-item:hover {
    opacity: 0.85;
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 8px 25px rgba(0,0,0,0.4);
}

.thumbnail-item.active {
    opacity: 1;
    border-color: #40e0d0;
    box-shadow: 0 8px 25px rgba(64, 224, 208, 0.4);
    transform: translateY(-2px);
}

.thumbnail-item.active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #40e0d0;
}

/* Controles Modernos */
.modern-carousel-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.6);
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
    z-index: 10;
}

.modern-carousel-control:hover {
    background: rgba(0,0,0,0.8);
    color: #80C9F5;
    text-decoration: none;
    transform: translateY(-50%) scale(1.1);
}

.modern-carousel-control.left {
    left: 30px;
}

.modern-carousel-control.right {
    right: 30px;
}

.modern-carousel-control i {
    font-size: 20px;
}

/* Contador de Fotos */
.photo-counter {
    position: absolute;
    top: 20px;
    right: 20px;
    background: rgba(0,0,0,0.7);
    color: white;
    padding: 8px 15px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    backdrop-filter: blur(5px);
    z-index: 10;
}

/* Conteúdo Principal */
.property-main-content {
    padding: 40px 0;
}

/* Cards de Features */
.property-features-cards {
    margin-bottom: 40px;
}

.feature-card {
    background: white;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s ease;
    margin-bottom: 20px;
    border: 1px solid #f0f0f0;
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.feature-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #80C9F5 0%, #66B8E8 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
    flex-shrink: 0;
}

.feature-info {
    flex: 1;
}

.feature-value {
    font-size: 1.8rem;
    font-weight: 700;
    color: #2d3748;
    line-height: 1;
    margin-bottom: 5px;
}

.feature-label {
    color: #718096;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Tabs Modernas */
.modern-tabs-container {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    overflow: hidden;
    margin-bottom: 30px;
}

.modern-nav-tabs {
    background: #f8fafc;
    border: none;
    display: flex;
    margin: 0;
    padding: 0;
}

.modern-nav-tabs li {
    flex: 1;
    border: none;
}

.modern-nav-tabs li a {
    background: transparent;
    border: none;
    padding: 20px 15px;
    text-align: center;
    color: #718096;
    transition: all 0.3s ease;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.85rem;
}

.modern-nav-tabs li a:hover {
    background: rgba(128, 201, 245, 0.1);
    color: #80C9F5;
}

.modern-nav-tabs li.active a {
    background: #80C9F5;
    color: white;
}

.modern-nav-tabs li a i {
    font-size: 20px;
}

.modern-tab-content {
    padding: 30px;
}

/* Conteúdo das Tabs */
.overview-content h3 {
    color: #2d3748;
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 20px;
    border-bottom: 2px solid #80C9F5;
    padding-bottom: 10px;
}

.property-description p {
    font-size: 1.1rem;
    line-height: 1.7;
    color: #4a5568;
    margin-bottom: 30px;
}

.property-details-grid {
    margin-top: 30px;
}

.details-group h4 {
    color: #2d3748;
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 20px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e2e8f0;
}

.detail-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #f7fafc;
}

.detail-item:last-child {
    border-bottom: none;
}

.detail-label {
    color: #718096;
    font-weight: 500;
}

.detail-value {
    color: #2d3748;
    font-weight: 600;
}

/* Features Grid */
.features-content h3 {
    color: #2d3748;
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 25px;
    border-bottom: 2px solid #80C9F5;
    padding-bottom: 10px;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    background: #f8fafc;
    border-radius: 8px;
    border-left: 4px solid #80C9F5;
}

.feature-item i {
    color: #80C9F5;
    font-size: 18px;
}

.feature-item span {
    color: #2d3748;
    font-weight: 500;
}

/* Mapa Moderno */
.location-content h3 {
    color: #2d3748;
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 25px;
    border-bottom: 2px solid #80C9F5;
    padding-bottom: 10px;
}

.modern-map-container {
    position: relative;
    margin-bottom: 20px;
}

.map-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 15px;
}

.map-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: #80C9F5;
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.map-action-btn:hover {
    background: #66B8E8;
    color: white;
    text-decoration: none;
    transform: translateY(-2px);
}

/* Compartilhamento Social */
.social-share-section {
    background: white;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    text-align: center;
}

.social-share-section h4 {
    color: #2d3748;
    margin-bottom: 20px;
    font-weight: 600;
}

.social-buttons {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* Formulário de Contato Moderno */
.modern-contact-form {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    overflow: hidden;
    margin-bottom: 30px;
    position: sticky;
    top: 100px;
}

.contact-form-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 25px;
    text-align: center;
}

.contact-form-header h3 {
    margin: 0 0 8px 0;
    font-size: 1.5rem;
    font-weight: 600;
}

.contact-form-header p {
    margin: 0;
    opacity: 0.9;
    font-size: 0.95rem;
}

.property-contact-form {
    padding: 25px;
}

.property-contact-form .form-group {
    margin-bottom: 20px;
}

.property-contact-form .input-group-addon {
    background: #80C9F5;
    color: white;
    border: 1px solid #80C9F5;
    border-right: none;
}

.property-contact-form .form-control {
    border-left: none;
    border-color: #80C9F5;
    padding: 12px 15px;
    font-size: 14px;
}

.property-contact-form .form-control:focus {
    border-color: #66B8E8;
    box-shadow: 0 0 0 2px rgba(128, 201, 245, 0.2);
}

.property-contact-form textarea.form-control {
    border: 1px solid #80C9F5;
    border-radius: 6px;
    resize: vertical;
}

.btn-modern-primary {
    background: linear-gradient(135deg, #80C9F5 0%, #66B8E8 100%);
    color: white;
    border: none;
    padding: 15px 25px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.btn-modern-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(128, 201, 245, 0.4);
    color: white;
}

.contact-alternatives {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #e2e8f0;
}

.contact-divider {
    text-align: center;
    margin-bottom: 15px;
}

.contact-divider span {
    background: white;
    color: #718096;
    padding: 0 15px;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
}

.contact-divider span::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -100px;
    right: -100px;
    height: 1px;
    background: #e2e8f0;
    z-index: -1;
}

.contact-buttons {
    display: flex;
    gap: 10px;
}

.contact-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 15px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

.phone-btn {
    background: #e53e3e;
    color: white;
}

.phone-btn:hover {
    background: #c53030;
    color: white;
    text-decoration: none;
    transform: translateY(-2px);
}

.whatsapp-btn {
    background: #25d366;
    color: white;
}

.whatsapp-btn:hover {
    background: #128c7e;
    color: white;
    text-decoration: none;
    transform: translateY(-2px);
}

/* Sidebar Widgets Modernos */
.modern-sidebar-widget {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    overflow: hidden;
    margin-bottom: 30px;
}

.modern-sidebar-widget .widget-header {
    background: #f8fafc;
    padding: 20px;
    border-bottom: 1px solid #e2e8f0;
}

.modern-sidebar-widget .widget-header h4 {
    margin: 0;
    color: #2d3748;
    font-size: 1.1rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}

.modern-sidebar-widget .widget-header i {
    color: #80C9F5;
    font-size: 18px;
}

.modern-sidebar-widget .widget-content {
    padding: 20px;
}

/* Lista de Tipos */
.property-types-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.property-type-item {
    border-bottom: 1px solid #f7fafc;
}

.property-type-item:last-child {
    border-bottom: none;
}

.property-type-item a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    text-decoration: none;
    color: #4a5568;
    transition: all 0.3s ease;
}

.property-type-item a:hover {
    color: #80C9F5;
    text-decoration: none;
}

.type-name {
    font-weight: 500;
}

.type-count {
    background: #80C9F5;
    color: white;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 600;
}

/* Imóveis Similares */
.similar-properties {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.similar-property-item {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.similar-property-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.similar-property-item .property-image {
    position: relative;
    height: 160px;
    overflow: hidden;
}

.similar-property-item .property-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.similar-property-item:hover .property-image img {
    transform: scale(1.05);
}

.property-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background: rgba(128, 201, 245, 0.9);
    color: white;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    backdrop-filter: blur(5px);
}

.similar-property-item .property-info {
    padding: 15px;
}

.similar-property-item .property-location {
    color: #718096;
    font-size: 0.9rem;
    margin: 0 0 8px 0;
    font-weight: 500;
}

.similar-property-item .property-price {
    color: #2d3748;
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.similar-property-item .property-price small {
    font-size: 0.7rem;
    color: #718096;
    font-weight: 400;
}

.similar-property-item .property-features {
    display: flex;
    gap: 15px;
    font-size: 0.8rem;
    color: #718096;
}

.similar-property-item .property-features span {
    display: flex;
    align-items: center;
    gap: 4px;
}

.similar-property-item .property-features i {
    color: #80C9F5;
}

/* Responsividade */
@media (max-width: 768px) {
    .property-header {
        padding: 20px 0 15px;
    }
    
    .property-title-section h1.property-main-title {
        font-size: 2rem;
    }
    
    .main-price {
        font-size: 2rem;
    }
    
    #property-hero-slider,
    #property-hero-slider .carousel-inner,
    #property-hero-slider .item {
        height: 400px;
    }
    
    .carousel-thumbnails {
        display: none;
    }
    
    .modern-carousel-control {
        width: 50px;
        height: 50px;
    }
    
    .modern-carousel-control.left {
        left: 15px;
    }
    
    .modern-carousel-control.right {
        right: 15px;
    }
    
    .property-main-content {
        padding: 20px 0;
    }
    
    .feature-card {
        flex-direction: column;
        text-align: center;
        padding: 20px;
    }
    
    .modern-nav-tabs li a {
        padding: 15px 10px;
        font-size: 0.75rem;
    }
    
    .modern-tab-content {
        padding: 20px;
    }
    
    .features-grid {
        grid-template-columns: 1fr;
    }
    
    .contact-buttons {
        flex-direction: column;
    }
    
    .map-actions {
        flex-direction: column;
    }
    
    .modern-contact-form {
        position: static;
    }
}

/* ===================================================================
   FOOTER MAP SECTION - MAPA EXPANDIDO NO RODAPÉ
   =================================================================== */

.footer-map-section {
    background: linear-gradient(135deg, #3f7487 0%, #3bafda 100%);
    padding: 0;
    margin-top: 80px;
    position: relative;
    overflow: hidden;
}

.footer-map-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 80%, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.1) 0%, transparent 50%);
    pointer-events: none;
}

.footer-map-header {
    background: rgba(0, 0, 0, 0.1);
    padding: 30px 0;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-map-header h3 {
    color: #ffffff;
    font-size: 28px;
    font-weight: 700;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.footer-map-header h3 i {
    color: #fbbf24;
    margin-right: 15px;
    font-size: 32px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

.footer-map-header p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 18px;
    margin: 10px 0 0 0;
    font-weight: 500;
}

.btn-expand-map {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    border: none;
    color: #1f2937;
    padding: 15px 30px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 
        0 10px 25px rgba(251, 191, 36, 0.3),
        0 4px 12px rgba(0, 0, 0, 0.15);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-expand-map:hover {
    transform: translateY(-3px);
    box-shadow: 
        0 15px 35px rgba(251, 191, 36, 0.4),
        0 8px 20px rgba(0, 0, 0, 0.2);
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}

.btn-expand-map:active {
    transform: translateY(0);
}

.btn-expand-map i {
    margin-right: 10px;
    font-size: 18px;
}

.btn-fullscreen-map {
    background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
    border: none;
    color: #ffffff;
    padding: 15px 30px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 
        0 10px 25px rgba(99, 102, 241, 0.3),
        0 4px 12px rgba(0, 0, 0, 0.15);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-fullscreen-map:hover {
    transform: translateY(-3px);
    box-shadow: 
        0 15px 35px rgba(99, 102, 241, 0.4),
        0 8px 20px rgba(0, 0, 0, 0.2);
    background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);
}

.btn-fullscreen-map:active {
    transform: translateY(0);
}

.btn-fullscreen-map i {
    margin-right: 10px;
    font-size: 18px;
}

.footer-map-container {
    position: relative;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    background: #1f2937;
}

.footer-map-container.expanded {
    z-index: 1000;
    position: relative;
}

.footer-map-container iframe {
    width: 100%;
    display: block;
    transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.2);
}

/* Overlay de mapa em tela cheia */
.map-fullscreen-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.95);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    backdrop-filter: blur(5px);
}

.map-fullscreen-overlay.active {
    opacity: 1;
    visibility: visible;
}

.map-fullscreen-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(135deg, #1f2937 0%, #374151 100%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 30px;
    z-index: 10000;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.map-fullscreen-header h4 {
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
    margin: 0;
}

.map-fullscreen-header h4 i {
    color: #fbbf24;
    margin-right: 15px;
    font-size: 28px;
}

.btn-close-fullscreen {
    background: #ef4444;
    border: none;
    color: #ffffff;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    box-shadow: 0 4px 15px rgba(239, 68, 68, 0.4);
}

.btn-close-fullscreen:hover {
    transform: scale(1.1);
    background: #dc2626;
    box-shadow: 0 6px 20px rgba(239, 68, 68, 0.6);
}

.map-fullscreen-overlay iframe {
    position: absolute;
    top: 80px;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: calc(100% - 80px);
    border: none;
}

/* Responsividade para mapa do rodapé */
@media (max-width: 768px) {
    .footer-map-header {
        padding: 20px 0;
    }
    
    .footer-map-header h3 {
        font-size: 24px;
        text-align: center;
        margin-bottom: 15px;
    }
    
    .footer-map-header p {
        font-size: 16px;
        text-align: center;
        margin-bottom: 20px;
    }
    
    .btn-expand-map,
    .btn-fullscreen-map {
        width: 100%;
        margin-top: 15px;
        margin-left: 0 !important;
        padding: 12px 25px;
        font-size: 14px;
    }
    
    .btn-fullscreen-map {
        margin-top: 10px;
    }
    
    .footer-map-container iframe {
        height: 300px !important;
    }
    
    .footer-map-container.expanded iframe {
        height: 60vh !important;
    }
    
    .map-fullscreen-header {
        height: 70px;
        padding: 0 20px;
    }
    
    .map-fullscreen-header h4 {
        font-size: 20px;
    }
    
    .btn-close-fullscreen {
        width: 45px;
        height: 45px;
        font-size: 18px;
    }
    
    .map-fullscreen-overlay iframe {
        top: 70px;
        height: calc(100% - 70px);
    }
}

@media (max-width: 480px) {
    .footer-map-section {
        margin-top: 40px;
    }
    
    .footer-map-header {
        padding: 15px 0;
    }
    
    .footer-map-header h3 {
        font-size: 20px;
    }
    
    .footer-map-header p {
        font-size: 14px;
    }
    
    .btn-expand-map {
        padding: 10px 20px;
        font-size: 13px;
    }
}

/* ===================================================================
   PREMIUM FEATURE CARDS - CARDS MELHORADOS
   =================================================================== */

.property-features-cards-premium {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border-radius: 20px;
    padding: 50px 40px;
    margin: 40px 0;
    box-shadow: 
        0 20px 60px rgba(0, 0, 0, 0.08),
        0 8px 25px rgba(0, 0, 0, 0.05);
    position: relative;
    overflow: hidden;
}

.property-features-cards-premium::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 25% 25%, rgba(99, 102, 241, 0.03) 0%, transparent 50%),
        radial-gradient(circle at 75% 75%, rgba(139, 92, 246, 0.03) 0%, transparent 50%);
    pointer-events: none;
}

.features-header-premium {
    text-align: center;
    margin-bottom: 50px;
    position: relative;
    z-index: 2;
}

.features-header-premium h2 {
    font-size: 36px;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 15px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.features-header-premium h2 i {
    color: #6366f1;
    margin-right: 15px;
    text-shadow: 0 2px 4px rgba(99, 102, 241, 0.3);
}

.features-subtitle-premium {
    font-size: 18px;
    color: #64748b;
    font-weight: 500;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

.features-row-premium {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: center;
}

/* Custom grid para 5 colunas */
.col-md-2-4 {
    flex: 0 0 calc(20% - 20px);
    max-width: calc(20% - 20px);
    position: relative;
}

.feature-card-premium {
    background: #ffffff;
    border-radius: 20px;
    padding: 35px 25px;
    text-align: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 
        0 10px 30px rgba(0, 0, 0, 0.08),
        0 4px 15px rgba(0, 0, 0, 0.05);
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.feature-card-premium::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    transform: scaleX(0);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.feature-card-premium:hover {
    transform: translateY(-10px);
    box-shadow: 
        0 25px 50px rgba(0, 0, 0, 0.15),
        0 10px 30px rgba(0, 0, 0, 0.1);
    border-color: #e2e8f0;
}

.feature-card-premium:hover::before {
    transform: scaleX(1);
}

.feature-icon-premium {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    font-size: 32px;
    color: #ffffff;
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    box-shadow: 
        0 10px 25px rgba(99, 102, 241, 0.3),
        0 4px 12px rgba(0, 0, 0, 0.1);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.feature-card-premium:hover .feature-icon-premium {
    transform: scale(1.1) rotate(5deg);
    box-shadow: 
        0 15px 35px rgba(99, 102, 241, 0.4),
        0 8px 20px rgba(0, 0, 0, 0.15);
}

/* Cores específicas por tipo */
.area-card .feature-icon-premium {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
}
.bedroom-card .feature-icon-premium {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}
.bathroom-card .feature-icon-premium {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
}
.parking-card .feature-icon-premium {
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
}
.total-area-card .feature-icon-premium {
    background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);
}

.feature-content-premium {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.feature-value-premium {
    font-size: 42px;
    font-weight: 900;
    color: #1e293b;
    line-height: 1;
    margin-bottom: 8px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.feature-unit-premium {
    font-size: 14px;
    font-weight: 700;
    color: #6366f1;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

.feature-label-premium {
    font-size: 16px;
    font-weight: 600;
    color: #475569;
    margin-bottom: 10px;
}

.feature-extra-premium {
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
    padding: 8px 15px;
    background: #f1f5f9;
    border-radius: 20px;
    display: inline-block;
    margin-top: 10px;
}

/* Responsividade para feature cards premium */
@media (max-width: 1200px) {
    .col-md-2-4 {
        flex: 0 0 calc(33.333% - 20px);
        max-width: calc(33.333% - 20px);
    }
}

@media (max-width: 768px) {
    .property-features-cards-premium {
        padding: 30px 20px;
        margin: 20px 0;
    }
    
    .features-header-premium h2 {
        font-size: 28px;
    }
    
    .features-subtitle-premium {
        font-size: 16px;
    }
    
    .col-md-2-4 {
        flex: 0 0 calc(50% - 15px);
        max-width: calc(50% - 15px);
    }
    
    .features-row-premium {
        gap: 15px;
    }
    
    .feature-card-premium {
        padding: 25px 20px;
    }
    
    .feature-icon-premium {
        width: 60px;
        height: 60px;
        font-size: 24px;
        margin-bottom: 20px;
    }
    
    .feature-value-premium {
        font-size: 32px;
    }
}

@media (max-width: 480px) {
    .col-md-2-4 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    .features-row-premium {
        gap: 20px;
    }
    
    .feature-card-premium {
        padding: 30px 25px;
    }
    
    .features-header-premium h2 {
        font-size: 24px;
    }
    
    .features-subtitle-premium {
        font-size: 15px;
    }
}

/* ===================================================================
   BOTÃO WHATSAPP FLUTUANTE E MODAIS DE CONTATO
   =================================================================== */

.floating-whatsapp-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 9999;
    box-shadow: 
        0 8px 25px rgba(37, 211, 102, 0.4),
        0 4px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    animation: pulse-whatsapp 2s infinite;
    text-decoration: none;
    color: #ffffff;
}

.floating-whatsapp-btn:hover {
    transform: scale(1.1);
    box-shadow: 
        0 12px 35px rgba(37, 211, 102, 0.5),
        0 6px 20px rgba(0, 0, 0, 0.25);
    text-decoration: none;
    color: #ffffff;
}

.floating-whatsapp-btn .whatsapp-icon {
    font-size: 32px;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    font-weight: normal;
    font-style: normal;
    display: inline-block;
}

.floating-whatsapp-btn i {
    font-size: 32px;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    font-weight: normal;
    font-style: normal;
    display: inline-block;
}

/* Fallback quando Font Awesome não carrega */
.floating-whatsapp-btn .fa-whatsapp:before {
    content: "\f232";
}

.floating-whatsapp-btn .fa-whatsapp:after {
    content: "💬";
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
    font-size: 28px;
    display: none;
}

/* Se Font Awesome não carregar, mostrar emoji */
@supports not (font-family: "FontAwesome") {
    .floating-whatsapp-btn .fa-whatsapp:before {
        display: none;
    }
    .floating-whatsapp-btn .fa-whatsapp:after {
        display: inline-block;
    }
}

@keyframes pulse-whatsapp {
    0% {
        box-shadow: 
            0 8px 25px rgba(37, 211, 102, 0.4),
            0 4px 15px rgba(0, 0, 0, 0.2),
            0 0 0 0 rgba(37, 211, 102, 0.7);
    }
    70% {
        box-shadow: 
            0 8px 25px rgba(37, 211, 102, 0.4),
            0 4px 15px rgba(0, 0, 0, 0.2),
            0 0 0 15px rgba(37, 211, 102, 0);
    }
    100% {
        box-shadow: 
            0 8px 25px rgba(37, 211, 102, 0.4),
            0 4px 15px rgba(0, 0, 0, 0.2),
            0 0 0 0 rgba(37, 211, 102, 0);
    }
}

/* ===================================================================
   BOTÃO DE E-MAIL FLUTUANTE
   =================================================================== */

.floating-email-btn {
    position: fixed;
    bottom: 30px;
    right: 120px; /* Posicionado ao lado do WhatsApp */
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 9999;
    box-shadow: 
        0 8px 25px rgba(59, 130, 246, 0.4),
        0 4px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    animation: pulse-email 2s infinite;
    color: #ffffff;
}

.floating-email-btn:hover {
    transform: scale(1.1);
    box-shadow: 
        0 12px 35px rgba(59, 130, 246, 0.5),
        0 6px 20px rgba(0, 0, 0, 0.25);
}

.floating-email-btn .email-icon {
    font-size: 32px;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    font-weight: normal;
    font-style: normal;
    display: inline-block;
}

.floating-email-btn i {
    font-size: 32px;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    font-weight: normal;
    font-style: normal;
    display: inline-block;
}

@keyframes pulse-email {
    0% {
        box-shadow: 
            0 8px 25px rgba(59, 130, 246, 0.4),
            0 4px 15px rgba(0, 0, 0, 0.2),
            0 0 0 0 rgba(59, 130, 246, 0.7);
    }
    70% {
        box-shadow: 
            0 8px 25px rgba(59, 130, 246, 0.4),
            0 4px 15px rgba(0, 0, 0, 0.2),
            0 0 0 15px rgba(59, 130, 246, 0);
    }
    100% {
        box-shadow: 
            0 8px 25px rgba(59, 130, 246, 0.4),
            0 4px 15px rgba(0, 0, 0, 0.2),
            0 0 0 0 rgba(59, 130, 246, 0);
    }
}

/* ===================================================================
   SISTEMA DE TABS ULTRA PREMIUM - O MAIS BONITO JÁ VISTO
   =================================================================== */

.ultra-premium-tabs-system {
    position: relative;
    margin: 60px 0;
    background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
    border-radius: 24px;
    box-shadow: 
        0 20px 60px rgba(0, 0, 0, 0.08),
        0 8px 30px rgba(0, 0, 0, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    overflow: hidden;
}

/* Background Decorativo */
.tabs-background-effect {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 20%, rgba(99, 102, 241, 0.03), transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(139, 92, 246, 0.03), transparent 50%),
        linear-gradient(135deg, rgba(59, 130, 246, 0.02) 0%, rgba(147, 51, 234, 0.02) 100%);
    pointer-events: none;
}

.floating-particles {
    position: absolute;
    width: 100%;
    height: 100%;
}

.particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: linear-gradient(45deg, #3b82f6, #8b5cf6);
    border-radius: 50%;
    opacity: 0.6;
    animation: float 8s infinite linear;
}

.particle:nth-child(1) { top: 20%; left: 10%; animation-delay: 0s; }
.particle:nth-child(2) { top: 60%; left: 90%; animation-delay: 2s; }
.particle:nth-child(3) { top: 80%; left: 20%; animation-delay: 4s; }
.particle:nth-child(4) { top: 30%; left: 80%; animation-delay: 6s; }
.particle:nth-child(5) { top: 50%; left: 50%; animation-delay: 8s; }

@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(0deg); opacity: 0.6; }
    25% { transform: translateY(-20px) rotate(90deg); opacity: 0.8; }
    50% { transform: translateY(-10px) rotate(180deg); opacity: 1; }
    75% { transform: translateY(-30px) rotate(270deg); opacity: 0.8; }
}

/* Header Ultra Moderno */
.ultra-tabs-header {
    padding: 50px 40px 40px;
    text-align: center;
    position: relative;
    z-index: 2;
}

.tabs-title-section {
    max-width: 800px;
    margin: 0 auto;
}

.tabs-main-title {
    font-size: 36px;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 16px;
    position: relative;
    display: inline-block;
}

.title-icon {
    font-size: 32px;
    margin-right: 12px;
    display: inline-block;
    animation: glow 2s ease-in-out infinite alternate;
}

@keyframes glow {
    from { text-shadow: 0 0 10px rgba(255, 215, 0, 0.8); }
    to { text-shadow: 0 0 20px rgba(255, 215, 0, 1), 0 0 30px rgba(255, 215, 0, 0.8); }
}

.title-underline {
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, #3b82f6, #8b5cf6, #ef4444);
    border-radius: 2px;
    animation: shimmer-width 3s ease-in-out infinite;
}

@keyframes shimmer-width {
    0%, 100% { width: 80px; }
    50% { width: 120px; }
}

.tabs-subtitle {
    font-size: 18px;
    color: #64748b;
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
}

/* Navegação Ultra Premium */
.ultra-tabs-navigation {
    padding: 0 40px 40px;
    position: relative;
    z-index: 2;
}

.tabs-nav-container {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
}

.ultra-nav-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.ultra-tab-item {
    position: relative;
}

.ultra-tab-item a {
    text-decoration: none;
    color: inherit;
    display: block;
    position: relative;
}

.tab-card {
    background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid rgba(226, 232, 240, 0.8);
    border-radius: 20px;
    padding: 30px 25px;
    position: relative;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    overflow: hidden;
    height: 160px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.tab-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, 
        rgba(59, 130, 246, 0.1) 0%, 
        rgba(139, 92, 246, 0.1) 50%,
        rgba(239, 68, 68, 0.1) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.ultra-tab-item.active .tab-card,
.tab-card:hover {
    transform: translateY(-8px);
    box-shadow: 
        0 25px 50px rgba(0, 0, 0, 0.12),
        0 12px 30px rgba(59, 130, 246, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    border-color: rgba(59, 130, 246, 0.3);
}

.ultra-tab-item.active .tab-card::before,
.tab-card:hover::before {
    opacity: 1;
}

/* Ícone da Tab */
.tab-icon-container {
    position: relative;
    width: 70px;
    height: 70px;
    flex-shrink: 0;
}

.icon-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    border-radius: 18px;
    transition: all 0.4s ease;
}

.ultra-tab-item.active .icon-background {
    background: linear-gradient(135deg, #ef4444 0%, #f59e0b 100%);
    transform: scale(1.1);
}

.tab-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 28px;
    color: #ffffff;
    z-index: 2;
    transition: all 0.4s ease;
}

.ultra-tab-item.active .tab-icon {
    transform: translate(-50%, -50%) scale(1.2);
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

.icon-glow {
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    border-radius: 20px;
    background: linear-gradient(135deg, #3b82f6, #8b5cf6);
    opacity: 0;
    filter: blur(8px);
    transition: opacity 0.4s ease;
}

.ultra-tab-item.active .icon-glow {
    opacity: 0.4;
    animation: pulse-glow 2s ease-in-out infinite;
}

@keyframes pulse-glow {
    0%, 100% { opacity: 0.4; transform: scale(1); }
    50% { opacity: 0.8; transform: scale(1.05); }
}

/* Conteúdo da Tab */
.tab-content-section {
    flex: 1;
}

.tab-title {
    font-size: 22px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 8px 0;
    transition: color 0.3s ease;
}

.ultra-tab-item.active .tab-title {
    color: #3b82f6;
}

.tab-description {
    font-size: 15px;
    color: #64748b;
    margin: 0 0 15px 0;
    line-height: 1.4;
}

.tab-stats {
    display: flex;
    gap: 15px;
}

.stat-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #64748b;
    background: rgba(59, 130, 246, 0.1);
    padding: 6px 12px;
    border-radius: 20px;
    transition: all 0.3s ease;
}

.ultra-tab-item.active .stat-item {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
}

.stat-item i {
    font-size: 12px;
}

/* Seta da Tab */
.tab-arrow {
    width: 30px;
    height: 30px;
    background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s ease;
    flex-shrink: 0;
}

.ultra-tab-item.active .tab-arrow {
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    transform: scale(1.2) rotate(90deg);
}

.tab-arrow i {
    font-size: 14px;
    color: #64748b;
    transition: color 0.3s ease;
}

.ultra-tab-item.active .tab-arrow i {
    color: #ffffff;
}

/* Indicador de Tab Ativa */
.active-tab-indicator {
    position: absolute;
    bottom: -20px;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #3b82f6, #8b5cf6, #ef4444);
    border-radius: 2px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
}

.ultra-tab-item.active ~ .active-tab-indicator {
    opacity: 1;
}

/* Responsividade */
@media (max-width: 768px) {
    .ultra-premium-tabs-system {
        margin: 40px 0;
        border-radius: 16px;
    }
    
    .ultra-tabs-header {
        padding: 30px 20px 20px;
    }
    
    .tabs-main-title {
        font-size: 28px;
    }
    
    .tabs-subtitle {
        font-size: 16px;
    }
    
    .ultra-tabs-navigation {
        padding: 0 20px 30px;
    }
    
    .ultra-nav-tabs {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .tab-card {
        padding: 25px 20px;
        height: 140px;
        gap: 15px;
    }
    
    .tab-icon-container {
        width: 60px;
        height: 60px;
    }
    
    .tab-icon {
        font-size: 24px;
    }
    
    .tab-title {
        font-size: 20px;
    }
    
    .tab-description {
        font-size: 14px;
    }
}

/* ===================================================================
   ESTILOS PARA CONTEÚDO DAS TABS ULTRA PREMIUM
   =================================================================== */

.ultra-content-wrapper {
    padding: 0;
    position: relative;
}

/* Hero Section das Tabs */
.tab-hero-section {
    position: relative;
    padding: 60px 40px;
    text-align: center;
    overflow: hidden;
    margin-bottom: 40px;
}

.hero-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    border-radius: 20px;
}

.gradient-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, 
        rgba(59, 130, 246, 0.1) 0%, 
        rgba(139, 92, 246, 0.1) 50%,
        rgba(239, 68, 68, 0.1) 100%);
}

.hero-content {
    position: relative;
    z-index: 2;
}

.hero-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    box-shadow: 0 10px 30px rgba(59, 130, 246, 0.3);
}

.hero-icon i {
    font-size: 36px;
    color: #ffffff;
}

.hero-title {
    font-size: 32px;
    font-weight: 800;
    color: #1e293b;
    margin: 0 0 12px 0;
}

.hero-subtitle {
    font-size: 18px;
    color: #64748b;
    margin: 0;
    font-weight: 400;
}

/* Seções de Conteúdo */
.ultra-content-sections {
    padding: 0 40px;
}

/* Cards Premium */
.premium-card {
    background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid rgba(226, 232, 240, 0.8);
    border-radius: 20px;
    padding: 40px;
    margin-bottom: 30px;
    box-shadow: 
        0 10px 30px rgba(0, 0, 0, 0.08),
        0 4px 15px rgba(0, 0, 0, 0.04);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.premium-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, 
        rgba(59, 130, 246, 0.05) 0%, 
        rgba(139, 92, 246, 0.05) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.premium-card:hover {
    transform: translateY(-5px);
    box-shadow: 
        0 20px 50px rgba(0, 0, 0, 0.12),
        0 8px 25px rgba(59, 130, 246, 0.15);
}

.premium-card:hover::before {
    opacity: 1;
}

/* Header do Card */
.card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    position: relative;
    z-index: 2;
}

.header-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.header-icon i {
    font-size: 22px;
    color: #ffffff;
}

.card-header h3 {
    font-size: 24px;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
    flex: 1;
}

.header-line {
    height: 3px;
    background: linear-gradient(90deg, #3b82f6, #8b5cf6, #ef4444);
    border-radius: 2px;
    flex: 1;
    margin-left: 20px;
}

/* Conteúdo do Card */
.card-content {
    position: relative;
    z-index: 2;
}

.description-text,
.location-description {
    font-size: 16px;
    line-height: 1.7;
    color: #4b5563;
    margin-bottom: 25px;
}

/* Botão Premium para Mapa */
.btn-premium-map {
    background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);
    color: #ffffff;
    border: none;
    padding: 15px 30px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 8px 25px rgba(59, 130, 246, 0.3);
}

.btn-premium-map:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 35px rgba(59, 130, 246, 0.4);
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
}

.btn-premium-map:active {
    transform: translateY(0);
}

.btn-premium-map i {
    font-size: 18px;
}

/* Cards de Informações */
.info-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 25px;
    margin-top: 30px;
}

.info-premium-card {
    background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid rgba(226, 232, 240, 0.8);
    border-radius: 16px;
    padding: 30px;
    transition: all 0.3s ease;
}

.info-premium-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.info-premium-card .card-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.info-premium-card .card-icon i {
    font-size: 26px;
    color: #ffffff;
}

.info-premium-card h4 {
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 15px 0;
}

.info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.5);
}

.info-row:last-child {
    border-bottom: none;
}

.info-row .label {
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
}

.info-row .value {
    font-size: 15px;
    color: #1e293b;
    font-weight: 600;
}

/* Responsividade */
@media (max-width: 768px) {
    .tab-hero-section {
        padding: 40px 20px;
        margin-bottom: 30px;
    }
    
    .hero-icon {
        width: 60px;
        height: 60px;
    }
    
    .hero-icon i {
        font-size: 28px;
    }
    
    .hero-title {
        font-size: 26px;
    }
    
    .hero-subtitle {
        font-size: 16px;
    }
    
    .ultra-content-sections {
        padding: 0 20px;
    }
    
    .premium-card {
        padding: 30px 20px;
    }
    
    .card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .header-line {
        width: 100%;
        margin-left: 0;
        margin-top: 10px;
    }
    
    .info-cards-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .info-premium-card {
        padding: 25px 20px;
    }
}

/* Modal de Contato */
.contact-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    z-index: 10000;
    display: none;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    backdrop-filter: blur(5px);
}

.contact-modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.contact-modal-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    background: #ffffff;
    border-radius: 20px;
    width: 90%;
    max-width: 500px;
    box-shadow: 
        0 25px 50px rgba(0, 0, 0, 0.3),
        0 10px 30px rgba(0, 0, 0, 0.2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.contact-modal-overlay.active .contact-modal-container {
    transform: translate(-50%, -50%) scale(1);
}

.contact-modal-header {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    color: #ffffff;
    padding: 25px 30px;
    border-radius: 20px 20px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.contact-modal-header h3 {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
}

.contact-modal-header h3 i {
    margin-right: 10px;
    color: #fbbf24;
}

.close-contact-modal {
    background: none;
    border: none;
    color: #ffffff;
    font-size: 24px;
    cursor: pointer;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.close-contact-modal:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: rotate(90deg);
}

.contact-modal-content {
    padding: 30px;
}

.contact-options {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.contact-option {
    background: #ffffff;
    border: 2px solid #e2e8f0;
    border-radius: 15px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    color: inherit;
}

.contact-option:hover {
    border-color: #6366f1;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(99, 102, 241, 0.15);
    color: inherit;
    text-decoration: none;
}

.whatsapp-option:hover {
    border-color: #25d366;
    box-shadow: 0 8px 25px rgba(37, 211, 102, 0.15);
}

.contact-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #ffffff;
    flex-shrink: 0;
}

.whatsapp-option .contact-icon {
    background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
}

.email-option .contact-icon {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
}

.contact-content h4 {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 5px 0;
}

.contact-content p {
    font-size: 14px;
    color: #64748b;
    margin: 0;
}

/* Modal de E-mail */
.email-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    z-index: 10001;
    display: none;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    backdrop-filter: blur(5px);
}

.email-modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.email-modal-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    background: #ffffff;
    border-radius: 20px;
    width: 90%;
    max-width: 600px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 
        0 25px 50px rgba(0, 0, 0, 0.3),
        0 10px 30px rgba(0, 0, 0, 0.2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.email-modal-overlay.active .email-modal-container {
    transform: translate(-50%, -50%) scale(1);
}

.email-modal-header {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: #ffffff;
    padding: 25px 30px;
    border-radius: 20px 20px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.email-modal-header h3 {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
}

.email-modal-header h3 i {
    margin-right: 10px;
    color: #fbbf24;
}

.close-email-modal {
    background: none;
    border: none;
    color: #ffffff;
    font-size: 24px;
    cursor: pointer;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.close-email-modal:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: rotate(90deg);
}

.email-contact-form {
    padding: 30px;
}

.form-group {
    margin-bottom: 25px;
}

.form-group label {
    display: block;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
    font-size: 14px;
}

.form-control {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    font-size: 14px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-control:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.form-control::placeholder {
    color: #9ca3af;
}

textarea.form-control {
    resize: vertical;
    min-height: 100px;
}

.form-actions {
    display: flex;
    gap: 15px;
    justify-content: flex-end;
    margin-top: 30px;
}

.btn-cancel, .btn-send {
    padding: 12px 24px;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-cancel {
    background: #f3f4f6;
    color: #6b7280;
}

.btn-cancel:hover {
    background: #e5e7eb;
    color: #374151;
}

.btn-send {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: #ffffff;
}

.btn-send:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(59, 130, 246, 0.3);
}

/* ===================================================================
   CABEÇALHO PRINCIPAL DO IMÓVEL
   =================================================================== */

.property-main-header {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 40px;
    margin-bottom: 30px;
    box-shadow: 
        0 10px 25px rgba(0, 0, 0, 0.08),
        0 4px 15px rgba(0, 0, 0, 0.05);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
}

.property-title-section {
    flex: 1;
}

.property-main-title {
    font-size: 32px;
    font-weight: 800;
    color: #1e293b;
    margin: 0 0 15px 0;
    line-height: 1.2;
}

.property-main-title i {
    color: #6366f1;
    margin-right: 15px;
}

.property-main-address {
    font-size: 18px;
    color: #64748b;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.property-main-address i {
    color: #ef4444;
    font-size: 16px;
}

.property-main-ref {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
}

.ref-label {
    color: #64748b;
    font-weight: 500;
}

.ref-value {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    color: #ffffff;
    padding: 6px 12px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 14px;
}

.property-pricing-section {
    display: flex;
    flex-direction: column;
    gap: 15px;
    min-width: 300px;
}

.main-price-card, .rental-price-card, .temp-price-card {
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color: #ffffff;
    padding: 25px;
    border-radius: 15px;
    text-align: center;
    box-shadow: 
        0 8px 25px rgba(30, 41, 59, 0.3),
        0 4px 15px rgba(0, 0, 0, 0.1);
}

.rental-price-card {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%);
}

.temp-price-card {
    background: linear-gradient(135deg, #d97706 0%, #f59e0b 100%);
}

.price-type-label {
    font-size: 14px;
    font-weight: 600;
    opacity: 0.9;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.main-price-value, .rental-price-value, .temp-price-value {
    font-size: 28px;
    font-weight: 900;
    margin-bottom: 5px;
    line-height: 1;
}

.price-per-sqm, .rental-period, .temp-period {
    font-size: 14px;
    opacity: 0.8;
    font-weight: 500;
}

/* ===================================================================
   ESPECIFICAÇÕES RÁPIDAS
   =================================================================== */

.property-quick-specs {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 30px;
    margin-bottom: 30px;
    box-shadow: 
        0 8px 25px rgba(0, 0, 0, 0.06),
        0 3px 12px rgba(0, 0, 0, 0.04);
}

.quick-specs-title {
    margin-bottom: 25px;
    text-align: center;
}

.quick-specs-title h3 {
    font-size: 24px;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
}

.quick-specs-title h3 i {
    color: #6366f1;
    margin-right: 12px;
}

.quick-specs-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}

.quick-spec-item {
    display: flex;
    align-items: center;
    gap: 15px;
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    border: 2px solid #e2e8f0;
    border-radius: 15px;
    padding: 20px 25px;
    min-width: 180px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.quick-spec-item:hover {
    border-color: #6366f1;
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(99, 102, 241, 0.15);
}

.spec-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #ffffff;
    flex-shrink: 0;
    box-shadow: 0 4px 15px rgba(99, 102, 241, 0.3);
}

.spec-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.spec-number {
    font-size: 24px;
    font-weight: 900;
    color: #1e293b;
    line-height: 1;
}

.spec-label {
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Responsividade para modais */
@media (max-width: 768px) {
    .floating-whatsapp-btn {
        width: 60px;
        height: 60px;
        bottom: 20px;
        right: 20px;
    }
    
    .floating-whatsapp-btn i {
        font-size: 24px;
    }

    .floating-email-btn {
        width: 60px;
        height: 60px;
        bottom: 90px; /* Empilhado verticalmente no mobile */
        right: 20px;
    }
    
    .floating-email-btn i {
        font-size: 24px;
    }
    
    .contact-modal-container,
    .email-modal-container {
        width: 95%;
        margin: 20px;
    }
    
    .contact-modal-header,
    .email-modal-header {
        padding: 20px 25px;
    }
    
    .contact-modal-content,
    .email-contact-form {
        padding: 25px;
    }
    
    .contact-option {
        padding: 15px;
        gap: 15px;
    }
    
    .contact-icon {
        width: 50px;
        height: 50px;
        font-size: 24px;
    }
    
    .form-actions {
        flex-direction: column;
    }
    
    .btn-cancel, .btn-send {
        width: 100%;
        justify-content: center;
    }
    
    /* Responsividade para cabeçalho */
    .property-main-header {
        flex-direction: column;
        gap: 25px;
        padding: 25px;
    }
    
    .property-main-title {
        font-size: 24px;
    }
    
    .property-main-address {
        font-size: 16px;
    }
    
    .property-pricing-section {
        min-width: auto;
        width: 100%;
    }
    
    /* Responsividade para especificações */
    .quick-specs-grid {
        flex-direction: column;
    }
    
    .quick-spec-item {
        min-width: auto;
        width: 100%;
    }
    
    .property-quick-specs {
        padding: 20px;
    }
}

/* ===================================================================
   MELHORIAS PARA TABS E CONTEÚDO DE INFORMAÇÕES
   =================================================================== */

.modern-tab-content {
    background: #ffffff;
    padding: 0;
}

.tab-header {
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    border: 1px solid #e2e8f0;
    border-radius: 15px 15px 0 0;
    padding: 30px;
    margin-bottom: 0;
    border-bottom: none;
}

.tab-header h3 {
    font-size: 24px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 8px 0;
}

.tab-header h3 i {
    color: #6366f1;
    margin-right: 12px;
}

.tab-header p {
    color: #64748b;
    font-size: 16px;
    margin: 0;
    font-weight: 500;
}

/* Descrição do Imóvel */
.property-description-deluxe {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-top: none;
    padding: 30px;
    border-radius: 0 0 15px 15px;
}

.description-content h4,
.description-placeholder h4 {
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.description-content h4 i {
    color: #6366f1;
    font-size: 18px;
}

.description-text {
    font-size: 16px;
    line-height: 1.8;
    color: #374151;
    text-align: justify;
}

.description-text p {
    margin-bottom: 16px;
}

.description-placeholder {
    text-align: center;
    padding: 40px 20px;
}

.placeholder-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 32px;
    color: #ffffff;
}

.description-placeholder h4 {
    color: #1e293b;
    font-size: 22px;
    margin-bottom: 20px;
    justify-content: center;
}

.description-placeholder p {
    font-size: 16px;
    line-height: 1.7;
    color: #64748b;
    margin-bottom: 16px;
    text-align: left;
}

/* Destaques do Imóvel */
.property-highlights-section {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 15px;
    padding: 30px;
    margin-top: 20px;
}

.property-highlights-section h4 {
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.property-highlights-section h4 i {
    color: #fbbf24;
}

.highlights-grid-deluxe {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.highlight-card {
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s ease;
}

.highlight-card:hover {
    border-color: #6366f1;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(99, 102, 241, 0.15);
}

.highlight-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #ffffff;
    flex-shrink: 0;
}

.highlight-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.highlight-value {
    font-size: 18px;
    font-weight: 800;
    color: #1e293b;
}

.highlight-label {
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
}

/* Características e Comodidades */
.features-content-deluxe {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-top: none;
    border-radius: 0 0 15px 15px;
    padding: 30px;
}

.featured-characteristics {
    margin-bottom: 40px;
}

.featured-characteristics h4 {
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.featured-characteristics h4 i {
    color: #fbbf24;
}

.featured-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.featured-item {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    border: 2px solid #bae6fd;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s ease;
}

.featured-item:hover {
    border-color: #0ea5e9;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(14, 165, 233, 0.15);
}

.feature-icon-wrapper {
    width: 45px;
    height: 45px;
    background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #ffffff;
    flex-shrink: 0;
}

.feature-name {
    font-size: 16px;
    font-weight: 600;
    color: #0f172a;
}

/* Lista Completa de Características */
.all-characteristics {
    background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%);
    border: 1px solid #e5e7eb;
    border-radius: 15px;
    padding: 30px;
    margin-bottom: 30px;
}

.all-characteristics h4 {
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.all-characteristics h4 i {
    color: #6366f1;
}

.characteristics-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.characteristics-column {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
}

.characteristic-item-deluxe {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid #f3f4f6;
    font-size: 15px;
    color: #374151;
}

.characteristic-item-deluxe:last-child {
    border-bottom: none;
}

.characteristic-item-deluxe i {
    color: #10b981;
    font-weight: bold;
    flex-shrink: 0;
}

/* Resumo das Características */
.characteristics-summary {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border: 2px solid #bbf7d0;
    border-radius: 15px;
    padding: 25px;
}

.summary-card {
    display: flex;
    align-items: center;
    gap: 20px;
}

.summary-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #ffffff;
    flex-shrink: 0;
}

.summary-content h5 {
    font-size: 18px;
    font-weight: 700;
    color: #14532d;
    margin: 0 0 8px 0;
}

.summary-content p {
    font-size: 15px;
    color: #365314;
    margin: 0;
    line-height: 1.6;
}

/* Responsividade para conteúdo */
@media (max-width: 768px) {
    .tab-header {
        padding: 20px;
    }
    
    .property-description-deluxe,
    .features-content-deluxe {
        padding: 20px;
    }
    
    .highlights-grid-deluxe {
        grid-template-columns: 1fr;
    }
    
    .featured-grid {
        grid-template-columns: 1fr;
    }
    
    .characteristics-columns {
        grid-template-columns: 1fr;
    }
    
    .summary-card {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
}

/* ===== PREMIUM CARDS STYLES ===== */

/* Premium Cards Styles */
.premium-card {
    background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    margin-bottom: 30px;
    overflow: hidden;
    transition: all 0.4s ease;
    border: 1px solid rgba(255,255,255,0.8);
}

.premium-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 45px rgba(0,0,0,0.15);
}

.premium-card .card-header {
    background: linear-gradient(135deg, #3f7487 0%, #3bafda 100%);
    color: white;
    padding: 25px 30px;
    position: relative;
    overflow: hidden;
}

.premium-card .card-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="75" cy="75" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="50" cy="10" r="0.5" fill="rgba(255,255,255,0.05)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
    opacity: 0.3;
}

.premium-card .header-icon {
    width: 50px;
    height: 50px;
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255,255,255,0.3);
}

.premium-card .header-icon i {
    font-size: 22px;
    color: white;
}

.premium-card .card-header h3 {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    position: relative;
    z-index: 2;
}

.premium-card .header-line {
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, rgba(255,255,255,0.8), rgba(255,255,255,0.3));
    border-radius: 2px;
    margin-top: 10px;
}

.premium-card .card-content {
    padding: 30px;
}

/* Description Card Specific */
.description-card .description-text {
    font-size: 16px;
    line-height: 1.8;
    color: #4a4a4a;
    text-align: justify;
}

.description-card .description-text p {
    margin-bottom: 20px;
}

.description-card .description-text strong {
    color: #667eea;
    font-weight: 600;
}

/* Features Card Specific */
.features-card .features-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 15px;
}

.features-card .feature-item {
    display: flex;
    align-items: center;
    padding: 15px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 12px;
    transition: all 0.3s ease;
    border: 1px solid rgba(0,0,0,0.05);
}

.features-card .feature-item:hover {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    transform: translateX(5px);
}

.features-card .feature-item i {
    color: #28a745;
    font-size: 16px;
    margin-right: 12px;
    transition: all 0.3s ease;
}

.features-card .feature-item:hover i {
    color: white;
}

.features-card .no-features {
    text-align: center;
    padding: 40px;
    color: #6c757d;
}

/* Technical Card Specific */
.technical-card .technical-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.technical-card .tech-item {
    display: flex;
    align-items: center;
    padding: 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 15px;
    transition: all 0.4s ease;
    border: 1px solid rgba(0,0,0,0.05);
    position: relative;
    overflow: hidden;
}

.technical-card .tech-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
    transition: left 0.5s ease;
}

.technical-card .tech-item:hover::before {
    left: 100%;
}

.technical-card .tech-item:hover {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(102, 126, 234, 0.3);
}

.technical-card .tech-item i {
    font-size: 24px;
    color: #667eea;
    margin-right: 15px;
    transition: all 0.3s ease;
}

.technical-card .tech-item:hover i {
    color: white;
    transform: scale(1.1);
}

.technical-card .tech-details {
    display: flex;
    flex-direction: column;
}

.technical-card .tech-label {
    font-size: 14px;
    color: #6c757d;
    margin-bottom: 5px;
    transition: all 0.3s ease;
}

.technical-card .tech-item:hover .tech-label {
    color: rgba(255,255,255,0.8);
}

.technical-card .tech-value {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    transition: all 0.3s ease;
}

.technical-card .tech-item:hover .tech-value {
    color: white;
}

/* Hero Section Improvements */
.tab-hero-section {
    position: relative;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 60px 0;
    margin-bottom: 40px;
    overflow: hidden;
}

.tab-hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="heroPattern" width="20" height="20" patternUnits="userSpaceOnUse"><circle cx="10" cy="10" r="2" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100" height="100" fill="url(%23heroPattern)"/></svg>');
    opacity: 0.3;
}

.hero-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.gradient-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0.1) 100%);
}

.hero-content {
    position: relative;
    z-index: 3;
    text-align: center;
    color: white;
}

.hero-icon {
    width: 80px;
    height: 80px;
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    backdrop-filter: blur(15px);
    border: 3px solid rgba(255,255,255,0.3);
    animation: heroIconFloat 3s ease-in-out infinite;
}

@keyframes heroIconFloat {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-10px) rotate(5deg); }
}

.hero-icon i {
    font-size: 32px;
    color: white;
}

.hero-title {
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 15px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    letter-spacing: -0.5px;
}

.hero-subtitle {
    font-size: 18px;
    opacity: 0.9;
    font-weight: 300;
    letter-spacing: 0.5px;
}

/* Ultra Content Sections */
.ultra-content-sections {
    padding: 0 20px;
}

/* Tab Panes Control */
.ultra-tab-pane {
    display: none !important;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    visibility: hidden;
}

.ultra-tab-pane.active {
    display: block !important;
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Ultra Tab Content Container */
.ultra-tab-content-container {
    position: relative;
    min-height: 600px;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border-radius: 0 0 20px 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    overflow: hidden;
}

/* Tab Animation Enhancements */
.ultra-tab-pane {
    animation: fadeOut 0.3s ease-out;
}

.ultra-tab-pane.active {
    animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    to {
        opacity: 0;
        transform: translateY(-20px) scale(0.98);
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .premium-card .card-header {
        padding: 20px 25px;
    }
    
    .premium-card .card-header h3 {
        font-size: 20px;
    }
    
    .premium-card .card-content {
        padding: 25px 20px;
    }
    
    .hero-title {
        font-size: 32px;
    }
    
    .hero-subtitle {
        font-size: 16px;
    }
    
    .hero-icon {
        width: 60px;
        height: 60px;
    }
    
    .hero-icon i {
        font-size: 24px;
    }
    
    .features-card .features-list {
        grid-template-columns: 1fr;
    }
    
    .technical-card .technical-info-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== TAB HERO ULTRA PREMIUM ===== */
.tab-hero-ultra-premium {
    position: relative;
    padding: 60px 0;
    background: linear-gradient(135deg, #4fc1e9 0%, #3bafda 100%);
    overflow: hidden;
    margin-bottom: 40px;
    border-radius: 20px 20px 0 0;
}

.hero-background-ultra {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}

.hero-pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 25% 25%, rgba(255,255,255,0.1) 0%, transparent 50%),
        radial-gradient(circle at 75% 75%, rgba(255,255,255,0.05) 0%, transparent 50%);
    opacity: 0.6;
}

.hero-glow {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: conic-gradient(from 0deg, transparent, rgba(255,255,255,0.1), transparent);
    animation: rotate-glow 8s linear infinite;
}

@keyframes rotate-glow {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.floating-particles {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
}

.particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: rgba(255,255,255,0.6);
    border-radius: 50%;
    animation: float-particle 6s ease-in-out infinite;
}

.particle-1 {
    top: 20%;
    left: 20%;
    animation-delay: 0s;
}

.particle-2 {
    top: 60%;
    right: 30%;
    animation-delay: 2s;
}

.particle-3 {
    bottom: 30%;
    left: 60%;
    animation-delay: 4s;
}

@keyframes float-particle {
    0%, 100% { transform: translateY(0px) scale(1); opacity: 0.6; }
    50% { transform: translateY(-20px) scale(1.2); opacity: 1; }
}

.hero-content-ultra {
    position: relative;
    z-index: 10;
    text-align: center;
    color: white;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 30px;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(15px);
    padding: 8px 20px;
    border-radius: 25px;
    border: 1px solid rgba(255,255,255,0.3);
    margin-bottom: 25px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    animation: badge-pulse 3s ease-in-out infinite;
}

@keyframes badge-pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 4px 15px rgba(255,255,255,0.2); }
    50% { transform: scale(1.05); box-shadow: 0 8px 25px rgba(255,255,255,0.3); }
}

.badge-icon {
    width: 20px;
    height: 20px;
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.badge-icon i {
    font-size: 10px;
    color: white;
}

.badge-text {
    color: rgba(255,255,255,0.95);
}

.hero-text-container {
    animation: slide-up 1s ease-out;
}

@keyframes slide-up {
    from { transform: translateY(30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.hero-title-ultra {
    font-size: 3.5rem;
    font-weight: 800;
    margin: 0 0 25px 0;
    line-height: 1.1;
    text-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

.title-highlight {
    color: #48cfad;
    display: block;
    font-size: 0.7em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 5px;
}

.title-main {
    color: white;
    display: block;
}

.hero-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 25px 0;
    gap: 15px;
}

.divider-line {
    height: 2px;
    width: 60px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
}

.divider-diamond {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #48cfad, #37bc9b);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(72,207,173,0.3);
    animation: diamond-spin 4s linear infinite;
}

@keyframes diamond-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.divider-diamond i {
    color: #333;
    font-size: 16px;
}

.hero-subtitle-ultra {
    font-size: 1.3rem;
    color: rgba(255,255,255,0.9);
    font-weight: 500;
    line-height: 1.6;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.hero-subtitle-ultra i {
    color: #48cfad;
    font-size: 1.1rem;
}

/* Responsividade Hero Ultra Premium */
@media (max-width: 768px) {
    .tab-hero-ultra-premium {
        padding: 40px 0;
    }
    
    .hero-content-ultra {
        padding: 0 20px;
    }
    
    .hero-title-ultra {
        font-size: 2.5rem;
    }
    
    .title-highlight {
        font-size: 0.8em;
    }
    
    .hero-subtitle-ultra {
        font-size: 1.1rem;
        flex-direction: column;
        gap: 5px;
    }
}

@media (max-width: 576px) {
    .tab-hero-ultra-premium {
        padding: 30px 0;
    }
    
    .hero-title-ultra {
        font-size: 2rem;
    }
    
    .hero-subtitle-ultra {
        font-size: 1rem;
    }
    
    .divider-diamond {
        width: 35px;
        height: 35px;
    }
    
    .divider-diamond i {
        font-size: 14px;
    }
}