/*
Theme Name: CFI Property Management
Theme URI: https://homeid.g5plus.net/
Author: CFI Property Management
Author URI: http://ccproperty.local
Description: CFI Property Management child theme for Homeid
Version: 2.0.0
Template: homeid
Text Domain: homeid-child
*/

:root {
    --cfi-navy: #0E3A56;
    --cfi-magenta: #C2185B;
    --cfi-magenta-dark: #A3154A;
    --cfi-grey-light: #F5F7F9;
    --cfi-text-dark: #2B2B2B;
    --cfi-border: #EAEAEA;
}

body {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: var(--cfi-text-dark);
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    color: var(--cfi-navy);
}

h1, h2 { font-weight: 700; }
h3, h4, h5, h6 { font-weight: 600; }

a { color: var(--cfi-magenta); }
a:hover { color: var(--cfi-magenta-dark); }

.text-uppercase-spaced {
    text-transform: uppercase;
    letter-spacing: 3px;
}

/* ── Header ── */
.header-customize,
.site-header {
    background: #fff;
}

.site-header.header-sticky {
    background: #fff;
    border-bottom: 1px solid var(--cfi-border);
}

.primary-menu > li > a {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--cfi-navy) !important;
}

.primary-menu > li > a:hover,
.primary-menu > li.current-menu-item > a {
    color: var(--cfi-magenta) !important;
}

.primary-menu > li.current-menu-item > a {
    border-bottom: 2px solid var(--cfi-magenta);
}

/* ── Buttons ── */
.btn-primary,
.ere-button,
button[type="submit"],
input[type="submit"],
.elementor-button {
    background-color: var(--cfi-magenta) !important;
    color: #fff !important;
    border-radius: 4px !important;
    padding: 14px 28px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    border: none !important;
    transition: background-color 0.3s ease;
}

.btn-primary:hover,
.ere-button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.elementor-button:hover {
    background-color: var(--cfi-magenta-dark) !important;
}

.btn-secondary,
.btn-outline {
    border: 2px solid var(--cfi-navy) !important;
    color: var(--cfi-navy) !important;
    background: transparent !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
}

.btn-secondary:hover,
.btn-outline:hover {
    background: var(--cfi-navy) !important;
    color: #fff !important;
}

/* ── Property Cards ── */
.property-item,
.property-card {
    background: #fff;
    border: 1px solid var(--cfi-border);
    box-shadow: none !important;
    border-radius: 0;
}

.property-item .property-price,
.property-card .property-price {
    color: var(--cfi-magenta) !important;
    font-weight: 700;
}

.property-item .property-title a,
.property-card .property-title a {
    color: var(--cfi-navy) !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}

.property-item .property-location,
.property-card .property-location {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 12px;
}

/* ── Hero Section ── */
.hero-overlay,
.banner-overlay {
    background: rgba(14, 58, 86, 0.65) !important;
}

.hero-section h1,
.banner-title {
    color: #fff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
}

/* ── Forms ── */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="url"],
textarea,
select {
    height: 48px;
    border: 1px solid #DADADA;
    border-radius: 4px;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--cfi-navy) !important;
    box-shadow: none !important;
    outline: none;
}

label {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}

/* ── Footer ── */
.site-footer,
footer.footer,
.footer-wrapper {
    background-color: var(--cfi-navy) !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

.site-footer a,
footer.footer a {
    color: rgba(255, 255, 255, 0.9) !important;
}

.site-footer a:hover,
footer.footer a:hover {
    color: var(--cfi-magenta) !important;
}

.site-footer h1, .site-footer h2, .site-footer h3,
.site-footer h4, .site-footer h5, .site-footer h6,
footer.footer h1, footer.footer h2, footer.footer h3,
footer.footer h4, footer.footer h5, footer.footer h6 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #fff !important;
}

/* ── Section Backgrounds ── */
.section-bg-light,
.bg-light {
    background-color: var(--cfi-grey-light) !important;
}

/* ── Blog ── */
blockquote {
    border-left: 4px solid var(--cfi-magenta);
    background: #F9F9F9;
    padding: 15px 20px;
}

/* ── Animations ── */
.property-item,
.btn-primary,
.btn-secondary,
a {
    transition: all 0.4s ease;
}

.property-item:hover {
    transform: scale(1.02);
}

/* ══════════════════════════════════════
   AGENT LOGIN PAGE
   ══════════════════════════════════════ */

.cfi-login-wrapper {
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cfi-grey-light);
    padding: 40px 20px;
}

.cfi-login-card {
    background: #fff;
    border: 1px solid var(--cfi-border);
    border-radius: 4px;
    padding: 50px 40px;
    max-width: 440px;
    width: 100%;
    text-align: center;
}

.cfi-login-logo {
    margin-bottom: 30px;
}

.cfi-login-logo img {
    max-width: 200px;
    height: auto;
}

.cfi-login-card h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 24px;
    color: var(--cfi-navy);
    margin-bottom: 8px;
}

.cfi-login-subtitle {
    font-family: 'Open Sans', sans-serif;
    color: #7e7e7e;
    font-size: 14px;
    margin-bottom: 30px;
}

.cfi-login-card .ere-login-form input[type="text"],
.cfi-login-card .ere-login-form input[type="password"],
.cfi-login-card .ere-login-form input[type="email"] {
    width: 100%;
    height: 48px;
    border: 1px solid #DADADA;
    border-radius: 4px;
    padding: 0 16px;
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    margin-bottom: 16px;
    transition: border-color 0.3s ease;
}

.cfi-login-card .ere-login-form input:focus {
    border-color: var(--cfi-navy);
    outline: none;
    box-shadow: none;
}

.cfi-login-card .ere-login-form label {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--cfi-navy);
    text-align: left;
    display: block;
    margin-bottom: 6px;
}

.cfi-login-card .ere-login-form button,
.cfi-login-card .ere-login-form input[type="submit"] {
    width: 100%;
    height: 48px;
    background: var(--cfi-magenta) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.3s ease;
    margin-top: 10px;
}

.cfi-login-card .ere-login-form button:hover,
.cfi-login-card .ere-login-form input[type="submit"]:hover {
    background: var(--cfi-magenta-dark) !important;
}

.cfi-login-links {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--cfi-border);
}

.cfi-login-links a {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: var(--cfi-magenta);
    text-decoration: none;
}

.cfi-login-links a:hover {
    color: var(--cfi-magenta-dark);
    text-decoration: underline;
}

/* ══════════════════════════════════════
   AGENT HOW-TO GUIDE
   ══════════════════════════════════════ */

.cfi-howto-wrapper {
    max-width: 860px;
    margin: 0 auto;
    padding: 40px 20px 60px;
}

.cfi-howto-hero {
    text-align: center;
    padding: 50px 20px;
    margin-bottom: 50px;
    background: var(--cfi-navy);
    border-radius: 4px;
}

.cfi-howto-hero h1 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 36px;
    color: #fff;
    margin-bottom: 12px;
}

.cfi-howto-hero p {
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
}

.cfi-howto-section {
    margin-bottom: 40px;
}

.cfi-howto-section > h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 22px;
    color: var(--cfi-navy);
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--cfi-border);
}

.cfi-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    min-width: 36px;
    background: var(--cfi-magenta);
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 16px;
    border-radius: 50%;
}

.cfi-howto-card {
    background: #fff;
    border: 1px solid var(--cfi-border);
    border-radius: 4px;
    padding: 30px;
}

.cfi-howto-card h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: var(--cfi-navy);
    margin-bottom: 16px;
    margin-top: 0;
}

.cfi-howto-card h3:not(:first-child) {
    margin-top: 28px;
}

.cfi-howto-card ol,
.cfi-howto-card ul {
    padding-left: 24px;
    margin-bottom: 16px;
}

.cfi-howto-card li {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: var(--cfi-text-dark);
    margin-bottom: 6px;
}

.cfi-howto-card p {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: var(--cfi-text-dark);
}

.cfi-howto-tip {
    background: var(--cfi-grey-light);
    border-left: 4px solid var(--cfi-magenta);
    padding: 14px 18px;
    margin-top: 16px;
    border-radius: 0 4px 4px 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: var(--cfi-text-dark);
}

.cfi-howto-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

@media (max-width: 600px) {
    .cfi-howto-grid {
        grid-template-columns: 1fr;
    }
}

.cfi-practice-item h4 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: var(--cfi-navy);
    margin-bottom: 8px;
}

.cfi-practice-item p {
    font-size: 14px;
    margin: 0;
}

.cfi-howto-contact {
    text-align: center;
    background: var(--cfi-navy);
    border-radius: 4px;
    padding: 40px 30px;
    margin-top: 50px;
}

.cfi-howto-contact h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #fff;
    font-size: 24px;
    margin-bottom: 10px;
}

.cfi-howto-contact > p {
    color: rgba(255, 255, 255, 0.85);
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    margin-bottom: 24px;
}

.cfi-contact-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px 32px;
}

.cfi-contact-grid div {
    color: rgba(255, 255, 255, 0.9);
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
}

.cfi-contact-grid a {
    color: #fff !important;
    text-decoration: none;
}

.cfi-contact-grid a:hover {
    color: var(--cfi-magenta) !important;
    text-decoration: underline;
}

/* ══════════════════════════════════════
   BLOG ARCHIVE (listing page)
   ══════════════════════════════════════ */

.blog .post-item,
.archive .post-item,
.blog article.post,
.archive article.post {
    background: #fff;
    border: 1px solid var(--cfi-border);
    border-radius: 4px;
    overflow: hidden;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    margin-bottom: 30px;
}

.blog .post-item:hover,
.archive .post-item:hover,
.blog article.post:hover,
.archive article.post:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(14, 58, 86, 0.08);
}

.blog .post-item .entry-title a,
.archive .post-item .entry-title a,
.blog article .entry-title a,
.archive article .entry-title a {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    color: var(--cfi-navy) !important;
    font-size: 20px;
    line-height: 1.4;
    text-decoration: none;
    transition: color 0.3s ease;
}

.blog .post-item .entry-title a:hover,
.archive .post-item .entry-title a:hover {
    color: var(--cfi-magenta) !important;
}

.blog .entry-meta,
.archive .entry-meta {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #8f8f8f;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.blog .entry-meta a,
.archive .entry-meta a {
    color: var(--cfi-magenta) !important;
}

.blog .read-more-link,
.archive .read-more-link,
.blog .entry-readmore a,
.archive .entry-readmore a {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--cfi-magenta) !important;
    border-bottom: 2px solid transparent;
    padding-bottom: 2px;
    transition: border-color 0.3s ease;
}

.blog .read-more-link:hover,
.archive .read-more-link:hover,
.blog .entry-readmore a:hover,
.archive .entry-readmore a:hover {
    border-bottom-color: var(--cfi-magenta);
    text-decoration: none !important;
}

/* ══════════════════════════════════════
   SINGLE ARTICLE
   ══════════════════════════════════════ */

.single-post .entry-header {
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--cfi-border);
}

.single-post .entry-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 36px !important;
    line-height: 1.3 !important;
    color: var(--cfi-navy) !important;
    margin-bottom: 16px;
}

.single-post .entry-meta {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #8f8f8f;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
}

.single-post .entry-meta .cat-links a,
.single-post .entry-meta a {
    color: var(--cfi-magenta) !important;
    font-weight: 600;
}

.single-post .entry-content {
    font-family: 'Open Sans', sans-serif;
    font-size: 17px;
    line-height: 1.85;
    color: var(--cfi-text-dark);
    max-width: 760px;
}

.single-post .entry-content p {
    margin-bottom: 1.5em;
}

.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4 {
    font-family: 'Montserrat', sans-serif;
    color: var(--cfi-navy);
    margin-top: 2em;
    margin-bottom: 0.75em;
}

.single-post .entry-content h2 {
    font-size: 28px;
    font-weight: 700;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--cfi-border);
}

.single-post .entry-content h3 {
    font-size: 22px;
    font-weight: 600;
}

.single-post .entry-content h4 {
    font-size: 18px;
    font-weight: 600;
}

.single-post .entry-content a {
    color: var(--cfi-magenta);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.3s ease;
}

.single-post .entry-content a:hover {
    color: var(--cfi-magenta-dark);
    border-bottom-color: var(--cfi-magenta-dark);
}

.single-post .entry-content img {
    border-radius: 4px;
    margin: 1.5em 0;
    max-width: 100%;
    height: auto;
}

.single-post .entry-content .wp-block-image,
.single-post .entry-content .cfi-article-hero {
    margin: 0 0 2em;
    border-radius: 4px;
    overflow: hidden;
}

.single-post .entry-content .cfi-article-hero img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    border-radius: 4px;
}

.single-post .entry-content blockquote {
    border-left: 4px solid var(--cfi-magenta);
    background: var(--cfi-grey-light);
    padding: 20px 24px;
    margin: 2em 0;
    border-radius: 0 4px 4px 0;
    font-style: italic;
    font-size: 18px;
    line-height: 1.7;
    color: var(--cfi-navy);
}

.single-post .entry-content ul,
.single-post .entry-content ol {
    padding-left: 24px;
    margin-bottom: 1.5em;
}

.single-post .entry-content li {
    margin-bottom: 8px;
    line-height: 1.7;
}

/* Article highlight box */
.cfi-highlight-box {
    background: var(--cfi-grey-light);
    border: 1px solid var(--cfi-border);
    border-radius: 4px;
    padding: 24px 28px;
    margin: 2em 0;
}

.cfi-highlight-box h4 {
    margin-top: 0 !important;
    color: var(--cfi-navy);
}

/* Article CTA banner */
.cfi-article-cta {
    background: var(--cfi-navy);
    border-radius: 4px;
    padding: 36px 32px;
    text-align: center;
    margin: 3em 0 2em;
}

.cfi-article-cta h3 {
    color: #fff !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 22px;
    margin: 0 0 8px !important;
    border: none !important;
    padding: 0 !important;
}

.cfi-article-cta p {
    color: rgba(255, 255, 255, 0.85);
    font-size: 15px;
    margin-bottom: 20px;
}

.cfi-article-cta a.cfi-cta-btn {
    display: inline-block;
    background: var(--cfi-magenta);
    color: #fff !important;
    padding: 14px 32px;
    border-radius: 4px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    border: none !important;
    transition: background 0.3s ease;
}

.cfi-article-cta a.cfi-cta-btn:hover {
    background: var(--cfi-magenta-dark);
}

/* Share & tags bar */
.single-post .entry-tags,
.single-post .post-tags,
.single-post .tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 2em 0;
    padding-top: 2em;
    border-top: 1px solid var(--cfi-border);
}

.single-post .entry-tags a,
.single-post .post-tags a,
.single-post .tagcloud a {
    display: inline-block;
    background: var(--cfi-grey-light);
    color: var(--cfi-navy) !important;
    padding: 6px 14px;
    border-radius: 4px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 1px solid var(--cfi-border) !important;
    transition: all 0.3s ease;
}

.single-post .entry-tags a:hover,
.single-post .post-tags a:hover,
.single-post .tagcloud a:hover {
    background: var(--cfi-navy);
    color: #fff !important;
    border-color: var(--cfi-navy) !important;
}

/* Author box */
.single-post .author-box,
.single-post .entry-author {
    background: var(--cfi-grey-light);
    border: 1px solid var(--cfi-border);
    border-radius: 4px;
    padding: 28px;
    display: flex;
    gap: 20px;
    margin: 3em 0;
}

.single-post .author-box .author-avatar img,
.single-post .entry-author .avatar {
    border-radius: 50%;
    width: 72px;
    height: 72px;
    border: 3px solid #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.single-post .author-box .author-name,
.single-post .entry-author .author-name {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: var(--cfi-navy);
    font-size: 16px;
}

/* Related posts */
.single-post .related-posts h3,
.single-post .related-post-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 24px;
    color: var(--cfi-navy);
    padding-bottom: 12px;
    border-bottom: 2px solid var(--cfi-border);
    margin-bottom: 24px;
}

/* Post navigation */
.single-post .post-navigation {
    border-top: 1px solid var(--cfi-border);
    border-bottom: 1px solid var(--cfi-border);
    padding: 20px 0;
    margin: 2em 0;
}

.single-post .post-navigation a {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: var(--cfi-navy) !important;
    font-size: 14px;
}

.single-post .post-navigation a:hover {
    color: var(--cfi-magenta) !important;
}

/* Sidebar */
.sidebar .widget {
    background: #fff;
    border: 1px solid var(--cfi-border);
    border-radius: 4px;
    padding: 24px;
    margin-bottom: 24px;
}

.sidebar .widget-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: var(--cfi-navy) !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--cfi-magenta);
    margin-bottom: 16px;
}

/* Comments */
.single-post .comments-area {
    border-top: 1px solid var(--cfi-border);
    padding-top: 2em;
    margin-top: 3em;
}

.single-post .comments-area .comment-reply-title,
.single-post .comments-area h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 22px;
    color: var(--cfi-navy);
}

@media (max-width: 768px) {
    .single-post .entry-title {
        font-size: 26px !important;
    }
    
    .single-post .entry-content {
        font-size: 16px;
    }
    
    .single-post .entry-content h2 {
        font-size: 22px;
    }
    
    .single-post .author-box,
    .single-post .entry-author {
        flex-direction: column;
        text-align: center;
    }
    
    .cfi-article-cta {
        padding: 28px 20px;
    }
}

/* ══════════════════════════════════════
   STICKY HEADER — Navy background + white logo
   ══════════════════════════════════════ */

.site-header.is-sticky,
.site-header.header-sticky,
.site-header.affix,
header.is-sticky,
header.affix {
    background: var(--cfi-navy) !important;
    border-bottom: none !important;
    box-shadow: 0 2px 12px rgba(14, 58, 86, 0.15);
}

.site-header.is-sticky .primary-menu > li > a,
.site-header.header-sticky .primary-menu > li > a,
.site-header.affix .primary-menu > li > a,
header.is-sticky .primary-menu > li > a,
header.affix .primary-menu > li > a {
    color: #fff !important;
}

.site-header.is-sticky .primary-menu > li > a:hover,
.site-header.header-sticky .primary-menu > li > a:hover,
.site-header.affix .primary-menu > li > a:hover,
.site-header.is-sticky .primary-menu > li.current-menu-item > a,
.site-header.header-sticky .primary-menu > li.current-menu-item > a,
.site-header.affix .primary-menu > li.current-menu-item > a,
header.is-sticky .primary-menu > li > a:hover,
header.affix .primary-menu > li > a:hover,
header.is-sticky .primary-menu > li.current-menu-item > a,
header.affix .primary-menu > li.current-menu-item > a {
    color: var(--cfi-magenta) !important;
}

.site-header.is-sticky .header-customize .icon,
.site-header.header-sticky .header-customize .icon,
.site-header.affix .header-customize .icon,
.site-header.is-sticky .header-customize a,
.site-header.header-sticky .header-customize a,
.site-header.affix .header-customize a,
header.is-sticky .header-customize .icon,
header.affix .header-customize .icon,
header.is-sticky .header-customize a,
header.affix .header-customize a {
    color: #fff !important;
}

.site-header.is-sticky .header-customize a:hover,
.site-header.header-sticky .header-customize a:hover,
.site-header.affix .header-customize a:hover,
header.is-sticky .header-customize a:hover,
header.affix .header-customize a:hover {
    color: var(--cfi-magenta) !important;
}

/* ══════════════════════════════════════
   FEATURED & FOR SALE / FOR RENT BADGES
   ══════════════════════════════════════ */

.g5ere__property-badge {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    border-radius: 4px !important;
    padding: 6px 14px !important;
    line-height: 1.4 !important;
}

.g5ere__property-badge.g5ere__featured {
    background-color: var(--cfi-magenta) !important;
    color: #fff !important;
}

.g5ere__status,
.g5ere__term-label,
.g5ere__loop-property-status .g5ere__status,
.property-status .status-label,
.ere-property .property-label span,
.ere-property .property-status span {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    border-radius: 4px !important;
    padding: 6px 14px !important;
    line-height: 1.4 !important;
}

.g5ere__property-featured .g5ere__status,
.g5ere__property-featured .g5ere__term-label {
    background-color: var(--cfi-navy) !important;
    color: #fff !important;
}

.g5ere__status[class*="for-sale"],
.property-status .for-sale,
span.for-sale,
.ere-status-for-sale {
    background-color: var(--cfi-navy) !important;
    color: #fff !important;
}

.g5ere__status[class*="for-rent"],
.property-status .for-rent,
span.for-rent,
.ere-status-for-rent {
    background-color: var(--cfi-magenta) !important;
    color: #fff !important;
}

.g5ere__property-badge:not(.g5ere__featured) {
    background-color: var(--cfi-navy) !important;
    color: #fff !important;
}

/* Property label badges (Hot Offer, etc.) */
.g5ere__term-label {
    background-color: var(--cfi-magenta) !important;
    color: #fff !important;
}

/* ══════════════════════════════════════
   FOOTER — Navy background + inverse logo
   ══════════════════════════════════════ */

.footer-dark,
.footer-dark .vc_row,
[class*="footer"] .footer-dark {
    background-color: var(--cfi-navy) !important;
}

.footer-dark .footer-logo img {
    max-height: 100px;
    width: auto;
}

.site-header .logo img,
.header-logo img {
    max-height: 50px !important;
    width: auto;
}

.site-header.is-sticky .logo img,
.site-header.is-sticky .header-logo img {
    max-height: 42px !important;
    width: auto;
}

.footer-dark,
.footer-dark p,
.footer-dark span,
.footer-dark div {
    color: rgba(255, 255, 255, 0.85) !important;
}

.footer-dark a {
    color: rgba(255, 255, 255, 0.85) !important;
    transition: color 0.3s ease;
}

.footer-dark a:hover {
    color: var(--cfi-magenta) !important;
}

.footer-dark .nav-footer a {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.footer-dark .social-icons a {
    color: rgba(255, 255, 255, 0.4) !important;
}

.footer-dark .social-icons a:hover {
    color: #fff !important;
}

/* ══════════════════════════════════════
   SUBMENU DROPDOWN — CFI theme
   ══════════════════════════════════════ */

.primary-menu .sub-menu,
.primary-menu .children,
.mega-menu {
    background: #fff !important;
    border: 1px solid var(--cfi-border) !important;
    box-shadow: 0 8px 24px rgba(14, 58, 86, 0.08) !important;
}

.primary-menu .sub-menu li a,
.primary-menu .children li a {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--cfi-text-dark) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    padding: 10px 20px !important;
    transition: all 0.3s ease;
}

.primary-menu .sub-menu li a:hover,
.primary-menu .children li a:hover {
    color: var(--cfi-magenta) !important;
    background: var(--cfi-grey-light) !important;
}

.primary-menu .sub-menu .menu-item-has-children > a::after {
    color: var(--cfi-navy);
}

/* ══════════════════════════════════════
   LEGAL PAGES (Terms, Privacy)
   ══════════════════════════════════════ */

.cfi-legal-page {
    max-width: 760px;
    margin: 0 auto;
    padding: 40px 20px 60px;
}

.cfi-legal-updated {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #8f8f8f;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 32px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--cfi-border);
}

.cfi-legal-page h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: var(--cfi-navy);
    margin-top: 2em;
    margin-bottom: 0.75em;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--cfi-border);
}

.cfi-legal-page p {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: var(--cfi-text-dark);
    margin-bottom: 1em;
}

.cfi-legal-page ul,
.cfi-legal-page ol {
    padding-left: 24px;
    margin-bottom: 1.5em;
}

.cfi-legal-page li {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: var(--cfi-text-dark);
    margin-bottom: 8px;
}

.cfi-legal-page a {
    color: var(--cfi-magenta);
}

.cfi-legal-page a:hover {
    color: var(--cfi-magenta-dark);
}

/* ══════════════════════════════════════
   CONTACT SUPPORT PAGE
   ══════════════════════════════════════ */

.cfi-support-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px 60px;
}

.cfi-support-hero {
    text-align: center;
    background: var(--cfi-navy);
    border-radius: 4px;
    padding: 50px 20px;
    margin-bottom: 40px;
}

.cfi-support-hero h1 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 36px;
    color: #fff;
    margin-bottom: 10px;
}

.cfi-support-hero p {
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
}

.cfi-support-grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 40px;
    align-items: start;
}

@media (max-width: 768px) {
    .cfi-support-grid {
        grid-template-columns: 1fr;
    }
}

.cfi-support-main h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 24px;
    color: var(--cfi-navy);
    margin-bottom: 8px;
}

.cfi-support-main > p {
    font-family: 'Open Sans', sans-serif;
    color: #7e7e7e;
    font-size: 15px;
    margin-bottom: 28px;
}

.cfi-support-form label {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--cfi-navy) !important;
    display: block;
    margin-bottom: 6px;
    margin-top: 18px;
}

.cfi-support-form input[type="text"],
.cfi-support-form input[type="email"],
.cfi-support-form input[type="tel"],
.cfi-support-form select,
.cfi-support-form textarea {
    width: 100% !important;
    height: 48px;
    border: 1px solid #DADADA !important;
    border-radius: 4px !important;
    padding: 0 16px !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 15px !important;
    transition: border-color 0.3s ease;
}

.cfi-support-form textarea {
    height: 140px !important;
    padding: 14px 16px !important;
    resize: vertical;
}

.cfi-support-form input:focus,
.cfi-support-form select:focus,
.cfi-support-form textarea:focus {
    border-color: var(--cfi-navy) !important;
    outline: none;
    box-shadow: none !important;
}

.cfi-support-form .wpcf7-submit,
.cfi-support-form .cfi-cta-btn {
    display: inline-block;
    width: 100%;
    height: 48px;
    background: var(--cfi-magenta) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    margin-top: 24px;
    transition: background 0.3s ease;
}

.cfi-support-form .wpcf7-submit:hover,
.cfi-support-form .cfi-cta-btn:hover {
    background: var(--cfi-magenta-dark) !important;
}

.cfi-support-form .wpcf7-response-output {
    border-radius: 4px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
}

.cfi-support-card {
    background: #fff;
    border: 1px solid var(--cfi-border);
    border-radius: 4px;
    padding: 24px;
    margin-bottom: 20px;
}

.cfi-support-card h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: var(--cfi-navy);
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.cfi-support-card p {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    color: var(--cfi-text-dark);
    margin: 0 0 6px;
}

.cfi-support-card a {
    color: var(--cfi-magenta);
    text-decoration: none;
}

.cfi-support-card a:hover {
    color: var(--cfi-magenta-dark);
    text-decoration: underline;
}

/* ══════════════════════════════════════
   COMPREHENSIVE MOBILE RESPONSIVE
   ══════════════════════════════════════ */

/* ── Global mobile resets ── */
@media (max-width: 1199px) {
    .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .primary-menu > li > a {
        font-size: 13px !important;
        letter-spacing: 0.5px;
    }
}

@media (max-width: 991px) {
    h1, .entry-title { font-size: 28px !important; }
    h2 { font-size: 24px !important; }
    h3 { font-size: 20px !important; }
    h4 { font-size: 18px !important; }

    .site-header .logo img,
    .header-logo img {
        max-height: 46px !important;
    }

    .footer-dark .footer-logo img {
        max-height: 80px;
    }

    /* Property grid → 2 columns */
    .g5ere__property-grid,
    .ere-property-wrap .row {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .g5ere__property-grid > .col,
    .ere-property-wrap .row > [class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        padding: 0 !important;
    }

    /* Hero section */
    .hero-section h1,
    .banner-title,
    .cfi-howto-hero h1,
    .cfi-support-hero h1 {
        font-size: 28px !important;
    }

    .hero-section p,
    .cfi-howto-hero p,
    .cfi-support-hero p {
        font-size: 16px !important;
    }
}

@media (max-width: 768px) {
    body {
        font-size: 15px;
    }

    h1, .entry-title { font-size: 24px !important; line-height: 1.3 !important; }
    h2 { font-size: 20px !important; }
    h3 { font-size: 18px !important; }

    .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    /* Property grid → single column */
    .g5ere__property-grid,
    .ere-property-wrap .row {
        grid-template-columns: 1fr !important;
    }

    /* Property cards */
    .property-item,
    .property-card,
    .g5ere__property-item {
        margin-bottom: 20px;
    }

    .property-item .property-price,
    .property-card .property-price {
        font-size: 18px !important;
    }

    /* Property detail page */
    .property-single .property-gallery {
        margin: 0 -16px;
        border-radius: 0;
    }

    .property-single .property-info {
        padding: 16px 0;
    }

    .g5ere__property-single-main,
    .g5ere__property-single-sidebar {
        width: 100% !important;
        float: none !important;
        padding: 0 !important;
    }

    /* Search form */
    .ere-search-form .row,
    .advanced-search-form .row {
        flex-direction: column;
    }

    .ere-search-form [class*="col-"],
    .advanced-search-form [class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        margin-bottom: 12px;
    }

    .ere-search-form input,
    .ere-search-form select,
    .advanced-search-form input,
    .advanced-search-form select {
        width: 100% !important;
        height: 48px !important;
    }

    /* Buttons */
    .btn-primary,
    .ere-button,
    button[type="submit"],
    input[type="submit"],
    .elementor-button {
        padding: 12px 24px !important;
        font-size: 13px !important;
        width: 100%;
        text-align: center;
    }

    /* Agent card */
    .agent-item,
    .g5ere__agent-item {
        text-align: center;
    }

    .agent-item .agent-avatar,
    .g5ere__agent-item .g5ere__agent-avatar {
        margin: 0 auto 16px;
    }

    /* Footer */
    .footer-dark .vc_column_inner,
    .footer-dark .wpb_column,
    .footer-dark [class*="vc_col-"] {
        width: 100% !important;
        text-align: center !important;
        margin-bottom: 24px;
    }

    .footer-dark .footer-logo {
        text-align: center;
    }

    .footer-dark .nav-footer ul {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .footer-dark .social-icons {
        justify-content: center;
        text-align: center;
    }

    /* Blog archive */
    .blog .post-item .entry-title a,
    .archive .post-item .entry-title a {
        font-size: 17px !important;
    }

    /* Single post */
    .single-post .entry-content {
        font-size: 16px;
        line-height: 1.75;
    }

    .single-post .entry-content h2 {
        font-size: 20px;
    }

    .single-post .entry-content img {
        margin-left: -16px;
        margin-right: -16px;
        max-width: calc(100% + 32px);
        border-radius: 0;
    }

    /* Login page */
    .cfi-login-card {
        padding: 36px 24px;
    }

    .cfi-login-logo img {
        max-width: 160px;
    }

    /* How-to */
    .cfi-howto-hero,
    .cfi-support-hero {
        padding: 36px 16px;
    }

    .cfi-howto-card {
        padding: 20px;
    }

    .cfi-howto-grid {
        grid-template-columns: 1fr !important;
    }

    .cfi-howto-contact {
        padding: 28px 20px;
    }

    .cfi-contact-grid {
        flex-direction: column;
        gap: 10px;
    }

    /* Support page */
    .cfi-support-grid {
        grid-template-columns: 1fr !important;
    }

    /* Legal pages */
    .cfi-legal-page {
        padding: 24px 16px 40px;
    }

    .cfi-legal-page h2 {
        font-size: 18px;
    }

    /* Tables */
    table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    /* Badges */
    .g5ere__property-badge,
    .g5ere__status,
    .g5ere__term-label {
        font-size: 10px !important;
        padding: 4px 10px !important;
    }

    /* VC row padding overrides */
    .vc_row[data-vc-full-width] {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* Map */
    .ere-map-search,
    .half-map-search {
        height: 300px !important;
    }
}

@media (max-width: 480px) {
    h1, .entry-title { font-size: 22px !important; }
    h2 { font-size: 18px !important; }

    .site-header .logo img,
    .header-logo img {
        max-height: 38px !important;
    }

    .footer-dark .footer-logo img {
        max-height: 70px;
    }

    .cfi-login-card {
        padding: 28px 16px;
        margin: 0 -4px;
    }

    .cfi-howto-hero h1,
    .cfi-support-hero h1 {
        font-size: 22px !important;
    }

    .cfi-article-cta h3 {
        font-size: 18px !important;
    }

    .cfi-article-cta a.cfi-cta-btn {
        padding: 12px 24px;
        font-size: 12px;
    }

    .cfi-step-number {
        width: 30px;
        height: 30px;
        min-width: 30px;
        font-size: 14px;
    }
}

/* ── Touch-friendly tap targets ── */
@media (pointer: coarse) {
    .primary-menu .sub-menu li a,
    .primary-menu .children li a {
        padding: 14px 20px !important;
        min-height: 44px;
    }

    input, select, textarea, button, .btn-primary, .ere-button {
        min-height: 48px;
    }

    .g5ere__property-badge,
    .g5ere__status {
        padding: 8px 14px !important;
    }
}

/* ── Smooth scrolling + reduced motion ── */
html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    .property-item:hover { transform: none; }
}

/* ── Image optimization helpers ── */
img {
    max-width: 100%;
    height: auto;
}

img[loading="lazy"] {
    opacity: 0;
    transition: opacity 0.4s ease;
}

img[loading="lazy"].loaded,
img[loading="lazy"][complete] {
    opacity: 1;
}

/* ── Subscribe / Mailing List Box ── */

.cfi-subscribe-box {
    background: var(--cfi-grey-light);
    border: 1px solid var(--cfi-border);
    border-radius: 4px;
    padding: 36px 32px;
    text-align: center;
    margin: 2em 0;
}

.cfi-subscribe-box h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 22px;
    color: var(--cfi-navy);
    margin: 0 0 8px;
}

.cfi-subscribe-box p {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    color: var(--cfi-text-dark);
    margin-bottom: 20px;
}

.cfi-subscribe-box.cfi-subscribe-success {
    background: var(--cfi-navy);
}

.cfi-subscribe-box.cfi-subscribe-success h3,
.cfi-subscribe-box.cfi-subscribe-success p {
    color: #fff;
}

.cfi-ml-form {
    display: flex;
    gap: 12px;
    max-width: 560px;
    margin: 0 auto;
    flex-wrap: wrap;
    justify-content: center;
}

.cfi-ml-form input[type="text"],
.cfi-ml-form input[type="email"] {
    flex: 1;
    min-width: 180px;
    height: 48px;
    border: 1px solid #DADADA;
    border-radius: 4px;
    padding: 0 16px;
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
}

.cfi-ml-form input:focus {
    border-color: var(--cfi-navy);
    outline: none;
}

.cfi-subscribe-btn {
    display: inline-block;
    height: 48px;
    background: var(--cfi-magenta) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 0 32px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.cfi-subscribe-btn:hover {
    background: var(--cfi-magenta-dark) !important;
}

@media (max-width: 480px) {
    .cfi-ml-form {
        flex-direction: column;
    }
    .cfi-ml-form input[type="text"],
    .cfi-ml-form input[type="email"] {
        width: 100%;
    }
    .cfi-subscribe-btn {
        width: 100%;
    }
}

/* ── OneSignal bell positioning ── */
.onesignal-bell-container {
    z-index: 9999 !important;
}

.onesignal-bell-container.onesignal-bell-container-bottom-right {
    bottom: 20px !important;
    right: 20px !important;
}

@media (max-width: 768px) {
    .onesignal-bell-container.onesignal-bell-container-bottom-right {
        bottom: 12px !important;
        right: 12px !important;
    }
}

/* ══════════════════════════════════════
   CUSTOM 404 PAGE
   ══════════════════════════════════════ */

.cfi-404-wrapper {
    text-align: center;
    padding: 60px 20px 80px;
    max-width: 640px;
    margin: 0 auto;
}

.cfi-404-icon img {
    width: 80px;
    height: auto;
    margin-bottom: 24px;
    opacity: 0.7;
}

.cfi-404-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 96px !important;
    color: var(--cfi-navy) !important;
    line-height: 1 !important;
    margin: 0 0 8px !important;
}

.cfi-404-subtitle {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 28px !important;
    color: var(--cfi-magenta) !important;
    margin: 0 0 16px !important;
}

.cfi-404-text {
    font-family: 'Open Sans', sans-serif;
    font-size: 17px;
    line-height: 1.7;
    color: var(--cfi-text-dark);
    margin-bottom: 32px;
}

.cfi-404-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-bottom: 48px;
    flex-wrap: wrap;
}

.cfi-404-btn {
    display: inline-block;
    padding: 14px 32px;
    border-radius: 4px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.cfi-404-btn-primary {
    background: var(--cfi-magenta);
    color: #fff !important;
}

.cfi-404-btn-primary:hover {
    background: var(--cfi-magenta-dark);
    color: #fff !important;
}

.cfi-404-btn-secondary {
    background: transparent;
    color: var(--cfi-navy) !important;
    border: 2px solid var(--cfi-navy);
}

.cfi-404-btn-secondary:hover {
    background: var(--cfi-navy);
    color: #fff !important;
}

.cfi-404-search {
    background: var(--cfi-grey-light);
    border-radius: 4px;
    padding: 32px;
    margin-bottom: 40px;
}

.cfi-404-search h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: var(--cfi-navy);
    margin: 0 0 16px;
}

.cfi-404-search form {
    display: flex;
    gap: 12px;
    max-width: 480px;
    margin: 0 auto;
}

.cfi-404-search input[type="search"] {
    flex: 1;
    height: 48px;
    border: 1px solid #DADADA;
    border-radius: 4px;
    padding: 0 16px;
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
}

.cfi-404-search input[type="search"]:focus {
    border-color: var(--cfi-navy);
    outline: none;
}

.cfi-404-search button {
    height: 48px;
    background: var(--cfi-magenta);
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 0 24px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.cfi-404-search button:hover {
    background: var(--cfi-magenta-dark);
}

.cfi-404-links {
    margin-bottom: 40px;
}

.cfi-404-links h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: var(--cfi-navy);
    margin-bottom: 16px;
}

.cfi-404-link-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.cfi-404-link-grid a {
    display: inline-block;
    background: #fff;
    border: 1px solid var(--cfi-border);
    border-radius: 4px;
    padding: 10px 20px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 13px;
    color: var(--cfi-navy) !important;
    text-decoration: none;
    transition: all 0.3s ease;
}

.cfi-404-link-grid a:hover {
    background: var(--cfi-navy);
    color: #fff !important;
    border-color: var(--cfi-navy);
}

.cfi-404-contact {
    padding-top: 24px;
    border-top: 1px solid var(--cfi-border);
}

.cfi-404-contact p {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #8f8f8f;
}

.cfi-404-contact a {
    color: var(--cfi-magenta) !important;
    font-weight: 600;
}

@media (max-width: 480px) {
    .cfi-404-title {
        font-size: 64px !important;
    }
    .cfi-404-subtitle {
        font-size: 22px !important;
    }
    .cfi-404-actions {
        flex-direction: column;
    }
    .cfi-404-btn {
        width: 100%;
        text-align: center;
    }
    .cfi-404-search form {
        flex-direction: column;
    }
    .cfi-404-search button {
        width: 100%;
    }
}

/* ══════════════════════════════════════
   AGENCY PAGE
   ══════════════════════════════════════ */

.cfi-agency-page {
    max-width: 960px;
    margin: 0 auto;
    padding: 40px 20px 60px;
}

.cfi-agency-hero {
    text-align: center;
    background: var(--cfi-navy);
    border-radius: 4px;
    padding: 60px 30px;
    margin-bottom: 48px;
}

.cfi-agency-logo {
    max-width: 180px;
    height: auto;
    margin-bottom: 20px;
}

.cfi-agency-hero h1 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 36px;
    color: #fff !important;
    margin: 0 0 10px;
}

.cfi-agency-tagline {
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
}

.cfi-agency-about,
.cfi-agency-services,
.cfi-agency-team,
.cfi-agency-contact {
    margin-bottom: 48px;
}

.cfi-agency-page > div > h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 26px;
    color: var(--cfi-navy);
    padding-bottom: 12px;
    border-bottom: 2px solid var(--cfi-border);
    margin-bottom: 24px;
}

.cfi-agency-about p {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: var(--cfi-text-dark);
}

/* Services grid */
.cfi-services-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.cfi-service-card {
    background: var(--cfi-grey-light);
    border: 1px solid var(--cfi-border);
    border-radius: 4px;
    padding: 28px;
}

.cfi-service-card h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: var(--cfi-navy);
    margin: 0 0 10px;
}

.cfi-service-card p {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: var(--cfi-text-dark);
    margin: 0;
}

/* Team grid */
.cfi-team-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.cfi-team-card {
    background: #fff;
    border: 1px solid var(--cfi-border);
    border-radius: 4px;
    padding: 32px;
    text-align: center;
}

.cfi-team-photo {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 16px;
    border: 3px solid var(--cfi-grey-light);
}

.cfi-team-photo-placeholder {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: var(--cfi-navy);
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.cfi-team-card h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: var(--cfi-navy);
    margin: 0 0 4px;
}

.cfi-team-role {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--cfi-magenta);
    display: block;
    margin-bottom: 16px;
}

.cfi-team-contact p {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    margin: 4px 0;
}

.cfi-team-contact a {
    color: var(--cfi-navy) !important;
}

.cfi-team-contact a:hover {
    color: var(--cfi-magenta) !important;
}

.cfi-team-bio {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #7e7e7e;
    margin: 16px 0;
}

.cfi-team-link {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--cfi-magenta) !important;
    text-decoration: none;
    transition: color 0.3s ease;
}

.cfi-team-link:hover {
    color: var(--cfi-magenta-dark) !important;
}

/* Agency contact grid */
.cfi-agency-contact-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.cfi-agency-contact-card {
    background: var(--cfi-grey-light);
    border: 1px solid var(--cfi-border);
    border-radius: 4px;
    padding: 24px;
    text-align: center;
}

.cfi-agency-contact-card h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--cfi-navy);
    margin: 0 0 12px;
}

.cfi-agency-contact-card p {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: var(--cfi-text-dark);
    margin: 4px 0;
}

.cfi-agency-contact-card a {
    color: var(--cfi-magenta) !important;
    text-decoration: none;
}

.cfi-agency-contact-card a:hover {
    color: var(--cfi-magenta-dark) !important;
    text-decoration: underline;
}

/* Agency CTA */
.cfi-agency-cta {
    text-align: center;
    background: var(--cfi-navy);
    border-radius: 4px;
    padding: 48px 30px;
}

.cfi-agency-cta h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 24px;
    color: #fff;
    margin: 0 0 8px;
}

.cfi-agency-cta > p {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 24px;
}

.cfi-agency-cta-buttons {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.cfi-agency-cta .cfi-404-btn-secondary {
    border-color: rgba(255, 255, 255, 0.5) !important;
    color: #fff !important;
}

.cfi-agency-cta .cfi-404-btn-secondary:hover {
    background: #fff !important;
    color: var(--cfi-navy) !important;
    border-color: #fff !important;
}

@media (max-width: 768px) {
    .cfi-services-grid,
    .cfi-team-grid {
        grid-template-columns: 1fr;
    }
    .cfi-agency-contact-grid {
        grid-template-columns: 1fr 1fr;
    }
    .cfi-agency-hero {
        padding: 40px 20px;
    }
    .cfi-agency-hero h1 {
        font-size: 28px;
    }
}

@media (max-width: 480px) {
    .cfi-agency-contact-grid {
        grid-template-columns: 1fr;
    }
    .cfi-agency-cta-buttons {
        flex-direction: column;
    }
    .cfi-agency-cta .cfi-404-btn {
        width: 100%;
        text-align: center;
    }
}

/* ══════════════════════════════════════
   ABOUT US PAGE
   ══════════════════════════════════════ */

.cfi-about-page {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 20px 60px;
}

.cfi-about-hero {
    margin: 0 -20px 48px;
    border-radius: 0 0 4px 4px;
    overflow: hidden;
    position: relative;
    background-size: cover;
    background-position: center;
    min-height: 360px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cfi-about-hero-overlay {
    background: rgba(14, 58, 86, 0.75);
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    text-align: center;
}

.cfi-about-hero h1 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 40px;
    color: #fff !important;
    margin: 0 0 12px;
}

.cfi-about-hero p {
    font-family: 'Open Sans', sans-serif;
    font-size: 20px;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
}

.cfi-about-intro,
.cfi-about-values,
.cfi-about-services,
.cfi-about-team,
.cfi-about-contact,
.cfi-about-explore {
    margin-bottom: 48px;
}

.cfi-about-page > div > h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 26px;
    color: var(--cfi-navy);
    padding-bottom: 12px;
    border-bottom: 2px solid var(--cfi-border);
    margin-bottom: 24px;
}

.cfi-about-intro p {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: var(--cfi-text-dark);
}

/* Values */
.cfi-values-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.cfi-value-card {
    text-align: center;
    padding: 28px 20px;
    background: var(--cfi-grey-light);
    border: 1px solid var(--cfi-border);
    border-radius: 4px;
}

.cfi-value-icon {
    font-size: 24px;
    color: var(--cfi-magenta);
    margin-bottom: 12px;
}

.cfi-value-card h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: var(--cfi-navy);
    margin: 0 0 8px;
}

.cfi-value-card p {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: var(--cfi-text-dark);
    margin: 0;
}

/* About Services */
.cfi-about-services-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.cfi-about-service {
    background: #fff;
    border: 1px solid var(--cfi-border);
    border-radius: 4px;
    padding: 28px;
    border-top: 3px solid var(--cfi-navy);
}

.cfi-about-service h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: var(--cfi-navy);
    margin: 0 0 10px;
}

.cfi-about-service p {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: var(--cfi-text-dark);
    margin: 0;
}

/* Team intro */
.cfi-about-team-intro {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    color: #7e7e7e;
    text-align: center;
    margin-bottom: 28px;
}

/* Explore grid */
.cfi-explore-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.cfi-explore-card {
    display: block;
    background: var(--cfi-grey-light);
    border: 1px solid var(--cfi-border);
    border-radius: 4px;
    padding: 28px;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s ease;
}

.cfi-explore-card:hover {
    background: var(--cfi-navy);
    border-color: var(--cfi-navy);
    transform: translateY(-4px);
}

.cfi-explore-card h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: var(--cfi-navy);
    margin: 0 0 8px;
    transition: color 0.3s ease;
}

.cfi-explore-card p {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: var(--cfi-text-dark);
    margin: 0;
    transition: color 0.3s ease;
}

.cfi-explore-card:hover h3,
.cfi-explore-card:hover p {
    color: #fff;
}

@media (max-width: 768px) {
    .cfi-about-hero h1 { font-size: 28px; }
    .cfi-about-hero { min-height: 260px; }
    .cfi-values-grid { grid-template-columns: 1fr 1fr; }
    .cfi-about-services-grid { grid-template-columns: 1fr; }
    .cfi-explore-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
    .cfi-about-hero h1 { font-size: 24px; }
    .cfi-values-grid { grid-template-columns: 1fr; }
    .cfi-explore-grid { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════
   FONT AWESOME 6 — REMAP & CFI STYLING
   ══════════════════════════════════════ */

/* Remap FA5 Pro Light (fal) → FA6 Free Regular (fa-regular/far) */
.fal {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

/* Remap FA5 Pro far → FA6 Free Regular */
.far {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

/* FA5 Pro fas → FA6 Free Solid */
.fas, .fa {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

/* FA5 Pro fab → FA6 Free Brands */
.fab {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}

/* FA5 Pro fad (duotone) → FA6 Free Solid fallback */
.fad {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

/* Override theme's FA5 Pro variable */
:root {
    --g5-font-icon: "Font Awesome 6 Free" !important;
}

/* ── Global Icon Styling ── */

.fa, .fas, .far, .fal, .fab, .fad,
[class*="fa-"]::before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ── Property Card Icons ── */

.g5ere__property .g5ere__property-meta i,
.g5ere__property-item .property-meta i,
.property-item .property-meta i {
    color: var(--cfi-magenta) !important;
    font-size: 15px;
    margin-right: 6px;
    width: 18px;
    text-align: center;
}

.g5ere__property .g5ere__property-feature i,
.g5ere__property-item .property-feature i {
    color: var(--cfi-navy) !important;
    font-size: 14px;
    margin-right: 5px;
}

/* ── Property Detail / Single Property Icons ── */

.single-property .property-overview i,
.single-property .property-overview .fa,
.single-property .property-overview .far,
.single-property .property-overview .fal,
.single-property .property-overview .fas {
    color: var(--cfi-magenta) !important;
    font-size: 18px;
    width: 24px;
    text-align: center;
}

.single-property .property-feature-wrap i,
.single-property .property-feature-list i {
    color: var(--cfi-navy) !important;
    margin-right: 8px;
}

.single-property .property-feature-list .far.fa-check {
    color: #28a745 !important;
}

.single-property .property-feature-list .far.fa-times {
    color: #dc3545 !important;
}

.single-property .property-detail-label i,
.single-property .g5ere__property-detail i {
    color: var(--cfi-magenta) !important;
    font-size: 16px;
    width: 22px;
    text-align: center;
    margin-right: 6px;
}

/* ── Property Share Icons ── */

.g5ere__share-social a i,
.property-share a i {
    color: var(--cfi-navy) !important;
    font-size: 16px;
    transition: color 0.2s ease;
}

.g5ere__share-social a:hover i,
.property-share a:hover i {
    color: var(--cfi-magenta) !important;
}

/* ── Property Gallery Icons ── */

.g5ere__gallery-count i,
.property-gallery-count i,
.g5ere__gallery-action i {
    color: #fff !important;
    font-size: 16px;
}

.g5ere__featured-image .fal.fa-camera,
.g5ere__featured-image .fal.fa-map-marked-alt {
    color: #fff !important;
}

/* ── Agent Card & Detail Icons ── */

.agent-info i,
.g5ere__agent-info i,
.agent-contact i,
.g5ere__agent-contact i,
.agent-detail i {
    color: var(--cfi-magenta) !important;
    font-size: 15px;
    width: 20px;
    text-align: center;
    margin-right: 8px;
}

.agent-social a i,
.g5ere__agent-social a i {
    color: var(--cfi-navy) !important;
    font-size: 16px;
    transition: all 0.2s ease;
}

.agent-social a:hover i,
.g5ere__agent-social a:hover i {
    color: var(--cfi-magenta) !important;
}

/* ── Search & Filter Icons ── */

.g5ere__advanced-search i,
.g5ere__search-form i,
.search-form i,
.property-search i,
.g5ere__keyword i {
    color: var(--cfi-navy) !important;
    font-size: 16px;
}

.g5ere__advanced-search .fal.fa-search,
.g5ere__keyword .fal.fa-search,
.search-submit i {
    color: #fff !important;
}

.g5ere__advanced-search .fal.fa-cog {
    color: var(--cfi-magenta) !important;
}

.g5ere__switch-layout i {
    color: var(--cfi-navy) !important;
    font-size: 18px;
    transition: color 0.2s ease;
}

.g5ere__switch-layout .active i,
.g5ere__switch-layout a:hover i {
    color: var(--cfi-magenta) !important;
}

/* ── Navigation / Menu Icons ── */

.menu-horizontal .menu-item-has-children > a .caret::before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900;
    color: inherit;
}

.primary-menu .menu-item > a i,
.primary-menu .sub-menu .menu-item a i {
    color: inherit;
    margin-right: 6px;
}

/* ── Blog / Post Icons ── */

ul.g5blog__post-meta i,
.entry-meta i,
.post-meta i {
    color: var(--cfi-magenta) !important;
    font-size: 13px;
    margin-right: 5px;
}

.entry-tags i,
.g5blog__post-tags i {
    color: var(--cfi-navy) !important;
    margin-right: 6px;
}

.post-navigation i,
.g5blog__navigation i,
.nav-links i {
    color: var(--cfi-navy) !important;
    font-size: 18px;
    transition: color 0.2s ease;
}

.post-navigation a:hover i,
.nav-links a:hover i {
    color: var(--cfi-magenta) !important;
}

.read-more i,
.g5blog__read-more i,
a.read-more i {
    color: var(--cfi-magenta) !important;
    margin-left: 6px;
    transition: transform 0.2s ease;
}

a.read-more:hover i,
.g5blog__read-more:hover i {
    transform: translateX(4px);
}

/* ── Footer Icons ── */

.site-footer i,
.footer-dark i {
    color: rgba(255, 255, 255, 0.6);
    transition: color 0.2s ease;
}

.site-footer a:hover i,
.footer-dark a:hover i {
    color: var(--cfi-magenta) !important;
}

.site-footer .g5element__social-icons a i,
.footer-dark .g5element__social-icons a i {
    color: rgba(255, 255, 255, 0.4) !important;
    font-size: 18px;
    transition: color 0.2s ease, transform 0.2s ease;
}

.site-footer .g5element__social-icons a:hover i,
.footer-dark .g5element__social-icons a:hover i {
    color: #fff !important;
    transform: translateY(-2px);
}

/* ── Contact Page Icons ── */

.contact-info i,
.g5element__icon-box i,
.icon-box i {
    color: var(--cfi-magenta) !important;
    font-size: 20px;
}

.g5element__icon-box .icon-box-icon i,
.g5element__icon-box--icon i {
    color: var(--cfi-magenta) !important;
    font-size: 32px;
    width: 60px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    background: rgba(194, 24, 91, 0.08);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ── Save / Favorite / Compare Icons ── */

.g5ere__save-search i,
.g5ere__save-favorite i,
.g5ere__compare i,
.property-action i {
    color: var(--cfi-navy) !important;
    font-size: 16px;
    transition: color 0.2s ease;
}

.g5ere__save-search:hover i,
.g5ere__save-favorite:hover i,
.g5ere__compare:hover i,
.property-action:hover i {
    color: var(--cfi-magenta) !important;
}

.g5ere__save-favorite.active i {
    color: var(--cfi-magenta) !important;
}

/* ── Rating Stars ── */

.g5ere__rating i.fa-star,
.property-rating i.fa-star {
    color: #f5a623 !important;
    font-size: 14px;
}

.g5ere__rating .far.fa-star,
.property-rating .far.fa-star {
    color: #ddd !important;
}

/* ── Dashboard / User Area Icons ── */

.g5ere__dashboard-menu i,
.g5ere__my-properties i,
.g5ere__my-favorites i {
    color: var(--cfi-navy) !important;
    font-size: 16px;
    width: 22px;
    text-align: center;
    margin-right: 8px;
}

.g5ere__dashboard-menu .active i {
    color: var(--cfi-magenta) !important;
}

/* ── Payment Icons ── */

.g5ere__payment i.fab.fa-paypal {
    color: #003087 !important;
}

.g5ere__payment i.fa-credit-card {
    color: var(--cfi-navy) !important;
}

/* ── Bottom Bar / Mobile Action Icons ── */

.g5ere__bottom-bar i,
.g5ere__bottom-bar-action i {
    color: var(--cfi-navy) !important;
    font-size: 18px;
}

.g5ere__bottom-bar a:hover i,
.g5ere__bottom-bar-action a:hover i {
    color: var(--cfi-magenta) !important;
}

/* ── WhatsApp Button ── */

.g5ere__button-whatsapp i.fab.fa-whatsapp {
    color: #25D366 !important;
    font-size: 18px;
}

/* ── Print Button ── */

.g5ere__print i {
    color: var(--cfi-navy) !important;
}

.g5ere__print:hover i {
    color: var(--cfi-magenta) !important;
}

/* ── Property Submit Form Icons ── */

.g5ere__property-submit i {
    color: var(--cfi-navy) !important;
}

.g5ere__other-feature .fal.fa-plus-square {
    color: var(--cfi-magenta) !important;
}

.g5ere__property-submit .g5ere__media i {
    color: var(--cfi-navy) !important;
    font-size: 32px;
}

/* ── Breadcrumb / Page Title Icons ── */

.breadcrumb i,
.page-title-bar i {
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    margin: 0 8px;
}

/* ── Icon Circular Backgrounds (for About/Services pages) ── */

.cfi-icon-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(14, 58, 86, 0.08);
    color: var(--cfi-navy);
    font-size: 22px;
    margin-bottom: 16px;
    transition: all 0.3s ease;
}

.cfi-icon-circle.magenta {
    background: rgba(194, 24, 91, 0.08);
    color: var(--cfi-magenta);
}

.cfi-icon-circle:hover,
*:hover > .cfi-icon-circle {
    background: var(--cfi-navy);
    color: #fff;
}

.cfi-icon-circle.magenta:hover,
*:hover > .cfi-icon-circle.magenta {
    background: var(--cfi-magenta);
    color: #fff;
}

/* ── VC Icon Boxes (theme shortcode) ── */

.g5element__icon-box .g5element__icon-box--title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    color: var(--cfi-navy) !important;
}

.custom-image-box-02 .g5element__image-box--icon i,
.custom-image-box-06 .g5element__image-box--icon i {
    color: var(--cfi-magenta) !important;
}

/* ── Map Popup Icons ── */

.g5ere__map-popup i,
.g5ere__property-map i {
    color: var(--cfi-magenta) !important;
}

/* ── Login / Password Toggle Icon ── */

.g5ere__login .far.fa-eye,
.g5ere__login .fal.fa-eye {
    color: var(--cfi-navy) !important;
    cursor: pointer;
    transition: color 0.2s ease;
}

.g5ere__login .far.fa-eye:hover,
.g5ere__login .fal.fa-eye:hover {
    color: var(--cfi-magenta) !important;
}

/* ── Spinners / Loading ── */

.fa-spinner {
    color: var(--cfi-magenta) !important;
}

/* ── Generic Icon Hover Effect ── */

a i.fa, a i.fas, a i.far, a i.fal, a i.fab {
    transition: color 0.2s ease;
}

/* ── Info / Tooltip Icons ── */

.fa-info-circle {
    color: var(--cfi-navy) !important;
}

/* ── Notification / Bell ── */

.fal.fa-bell, .far.fa-bell, .fas.fa-bell {
    color: var(--cfi-magenta) !important;
}
