/* ==========================================================================
           CUSTOM CSS - APENAS CORES, FONTES, BACKGROUNDS E ESTILOS VISUAIS
           ========================================================================== */
           
        :root {
            --color-dark: #2D404B;
            --color-gold: #D3C795;
            --color-teal: #228C9A;
            --bg-light: #f8f9fa;
        }

        html { scroll-behavior: smooth; scroll-padding-top: 110px; }

        body {
            font-family: 'Montserrat', sans-serif;
            color: var(--color-dark);
            overflow-x: hidden;
            padding-top: 100px;
        }

        /* --- Cores de Texto Globais --- */
        .text-gold { color: var(--color-gold) !important; }
        .text-dark { color: var(--color-dark) !important; }

        /* --- Elementos do Header --- */
        .main-header {
            background-color: #fff;
            border-bottom: 1px solid #eee;
            transition: all 0.3s;
        }

        .logo-img {
            max-height: 45px;
            width: auto;
        }

        .navbar-nav .nav-link {
            color: #6c757d !important; 
            font-weight: 500; 
            transition: color 0.3s;
            white-space: nowrap;
        }

        .navbar-nav .nav-link:hover {
            color: var(--color-teal) !important;
        }

        /* --- Dropdown Menu Customization --- */
        .dropdown-item {
            color: #6c757d;
            font-weight: 500;
        }

        .dropdown-item:hover, .dropdown-item:focus {
            background-color: var(--bg-light);
            color: var(--color-teal);
        }

        /* --- Inputs e Bot�es --- */
        .protocol-input {
            border: none; 
            background-color: #e9ecef; 
            border-radius: 30px; 
            padding: 10px 20px; 
            width: 260px; 
            outline: none;
            color: var(--color-dark);
            font-size: 0.9rem;
            transition: background 0.3s, box-shadow 0.3s;
            text-align: center;
        }

        .protocol-input:focus {
            background-color: #fff;
            box-shadow: 0 0 0 2px var(--color-teal);
        }

        .protocol-input::placeholder {
            color: #888;
            font-size: 0.85rem;
            font-style: italic; 
        }

        .btn-search-header, .btn-custom-gradient {
            background: linear-gradient(to right, var(--color-gold) 40%, var(--color-teal) 100%);
            color: white;
            border: none;
            border-radius: 30px;
            font-weight: 600;
            transition: all 0.3s ease;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            text-decoration: none !important;
        }

        .btn-search-header:hover, .btn-custom-gradient:hover {
            opacity: 0.9;
            transform: translateY(-2px);
            color: white;
            box-shadow: 0 4px 8px rgba(0,0,0,0.15);
        }

        .btn-search-header {
            width: 100%;
        }

        .btn-solid-dark, .btn-download-dark {
            background-color: var(--color-dark);
            color: #ffffff !important;
            border-radius: 30px;
            font-weight: 600;
            transition: all 0.3s ease;
            border: none;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            text-decoration: none !important;
        }

        .btn-solid-dark:hover, .btn-download-dark:hover {
            background-color: #1a252b;
            color: #ffffff !important;
            transform: translateY(-2px);
            box-shadow: 0 6px 15px rgba(0,0,0,0.2);
        }

        .service-pill {
            background: linear-gradient(90deg, var(--color-gold) 40%, var(--color-teal) 100%);
            color: white !important;
            border-radius: 30px;
            font-weight: 700;
            font-size: 0.9rem;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
            transition: transform 0.2s, box-shadow 0.2s;
            text-decoration: none !important;
        }

        .service-pill:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 15px rgba(0,0,0,0.15);
            opacity: 0.95;
        }
            
        .hero-section {
            background-position: center center;
            background-repeat: no-repeat;
        }
        
        /* 1. CORES S�LIDAS PADR�O (Para celulares e tablets at� 1199px) */
        .hero-bg-1 { background-color: var(--bg-light); }
        .hero-bg-2 { background-color: var(--color-gold); }
        .hero-bg-3 { background-color: var(--bg-light); }
        .footer-bg { background-color: var(--color-dark); }

        .official-signature {
            border-left: 5px solid var(--color-gold);
        }

        .footer-icon {
            color: var(--color-gold);
            font-size: 1.4rem;
            width: 25px;
            text-align: center;
            margin-top: 2px;
        }
            
        /* 2. IMAGENS ATIVADAS (A partir de Telas Grandes/PCs - 1200px) */
        @media (min-width: 1200px) {
            .hero-section {
                background-size: 100% 100%; 
                background-position: center;
                background-repeat: no-repeat;
            }

            .hero-bg-1 { 
                background-image: url('../img/site_registrodeimoveis1.png'); 
                aspect-ratio: 2000 / 799;
            }
            
            .hero-bg-2 { 
                background-image: url('../img/site_registrodeimoveis2.png'); 
                aspect-ratio: 2000 / 563;
            }
            
            .hero-bg-3 { 
                background-image: url('../img/site_registrodeimoveis3.png'); 
                aspect-ratio: 2001 / 718;
            }
            
            .footer-bg { 
                background-image: url('../img/site_registrodeimoveis4.png'); 
                background-size: 100% 100%; 
                background-position: center;
                aspect-ratio: 2000 / 403;
            }

            .btn-search-header {
                width: auto;
            }

            .protocol-input {
                width: 180px;
            }
        }

        /* Telas Gigantes (Monitores Full HD ou maiores) */
        @media (min-width: 1400px) {
            .header-padding {
                padding-left: 6% !important; 
                padding-right: 6% !important;
            }
        }

        /* NOTEBOOKS (1200px at� 1399px) - Ajustes da Navbar */
        @media (min-width: 1200px) and (max-width: 1399px) {
            .logo-img { max-height: 45px; } 
            .navbar-brand { margin-right: 15px !important; padding-right: 15px !important; }
            
            .navbar-nav .nav-link { 
                font-size: 0.8rem !important; 
                padding: 8px 8px !important; 
            }
            
            .protocol-input { 
                width: 130px !important; 
                font-size: 0.7rem !important;
                padding: 8px 10px !important;
            }

            .protocol-input::placeholder {
                font-size: 0.6rem !important; 
            }

            .btn-search-header { 
                padding: 8px 15px !important; 
                font-size: 0.8rem !important; 
            }
        }

        /* Menu de Hamb�rguer APENAS para Celulares e Tablets (inclui iPad Pro - at� 1199px) */
        @media (max-width: 1199px) {
            .navbar-collapse {
                background: white;
                position: absolute;
                top: 100%;
                left: 0; right: 0;
                box-shadow: 0 10px 20px rgba(0,0,0,0.1);
                border-top: 1px solid #eee;
                max-height: 80vh; 
                overflow-y: auto;
                padding: 20px;
            }
            .protocol-input { width: 100% !important; } 
        }