/* =====================================================
   RESPONSIVE DESIGN FIXES - v3.0
   Floating mobile menu + Fixed desktop nav
   ===================================================== */

/* =====================================================
   MOBILE LAYOUT (< 860px)
   ===================================================== */
@media (max-width: 859px) {
    /* Main container - mobile column layout */
    main.container {
        flex-direction: column !important;
        padding: 0 !important;
    }

    /* Content area */
    .content {
        padding: 1rem !important;
        margin-top: 0 !important;
        min-height: calc(100vh - 70px) !important;
    }

    /* Hide sidebar widgets on mobile */
    .sidebar-widgets {
        display: none !important;
    }

    /* =========================================
       FLOATING MENU TOGGLE - Top Right
       ========================================= */
    .mobile-menu-toggle,
    button[aria-label="Toggle Menu"] {
        position: fixed !important;
        top: 16px !important;
        right: 16px !important;
        width: 48px !important;
        height: 48px !important;
        border-radius: 12px !important;
        background: linear-gradient(135deg, #b79b6f 0%, #9a7f5a 100%) !important;
        border: none !important;
        box-shadow: 0 4px 15px rgba(183, 155, 111, 0.4), 0 2px 6px rgba(0, 0, 0, 0.1) !important;
        z-index: 1002 !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        padding: 0 !important;
    }

    .mobile-menu-toggle:hover,
    button[aria-label="Toggle Menu"]:hover {
        transform: scale(1.05) !important;
        box-shadow: 0 6px 20px rgba(183, 155, 111, 0.5), 0 3px 8px rgba(0, 0, 0, 0.15) !important;
    }

    .mobile-menu-toggle:active,
    button[aria-label="Toggle Menu"]:active {
        transform: scale(0.95) !important;
    }

    .mobile-menu-toggle svg,
    button[aria-label="Toggle Menu"] svg {
        width: 24px !important;
        height: 24px !important;
        color: #fff !important;
        fill: none !important;
        stroke: #fff !important;
    }

    /* =========================================
       MOBILE SIDEBAR NAVIGATION
       ========================================= */
    .sidebar-navigation-container {
        position: fixed !important;
        top: 0 !important;
        left: -300px !important;
        width: 280px !important;
        height: 100vh !important;
        height: 100dvh !important;
        background: linear-gradient(180deg, #ffffff 0%, #faf9f7 100%) !important;
        z-index: 1001 !important;
        transition: left 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        box-shadow: 4px 0 25px rgba(0, 0, 0, 0.15) !important;
        border-right: 1px solid rgba(183, 155, 111, 0.1) !important;
    }

    .sidebar-navigation-container.active,
    .sidebar-navigation-container.menu-open {
        left: 0 !important;
    }

    /* Close button inside sidebar */
    .sidebar-navigation-container::before {
        content: '✕';
        position: absolute;
        top: 16px;
        right: 16px;
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 18px;
        color: #666;
        cursor: pointer;
        border-radius: 8px;
        background: rgba(0, 0, 0, 0.05);
        z-index: 10;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.2s ease;
    }

    .sidebar-navigation-container.menu-open::before,
    .sidebar-navigation-container.active::before {
        opacity: 1;
        pointer-events: auto;
    }

    /* Sidebar inner navigation */
    .sidebar-navigation {
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        min-height: 100% !important;
    }

    /* Logo section in mobile nav */
    .sidebar-navigation .logo {
        display: flex !important;
        align-items: center !important;
        padding: 1.25rem 1.5rem !important;
        padding-right: 3rem !important; /* Space for close button */
        margin-bottom: 0 !important;
        border-bottom: 1px solid rgba(183, 155, 111, 0.15) !important;
        background: linear-gradient(135deg, rgba(183, 155, 111, 0.08) 0%, transparent 100%) !important;
    }

    .sidebar-navigation .logo img {
        height: 36px !important;
        width: auto !important;
        max-width: 180px !important;
    }

    /* Navigation sidebar container */
    .sidebar-navigation .navigation-sidebar {
        display: block !important;
        padding: 0.75rem 0 !important;
        flex: 1 !important;
    }

    .sidebar-navigation .navigation-sidebar ul {
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }

    /* Navigation items */
    .sidebar-navigation .nav-item {
        margin: 0 !important;
    }

    /* Navigation links - improved styling */
    .sidebar-navigation .nav-link {
        display: flex !important;
        align-items: center !important;
        gap: 0.75rem !important;
        padding: 0.875rem 1.5rem !important;
        font-size: 0.95rem !important;
        font-weight: 500 !important;
        color: #4a4a4a !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
        border-left: 3px solid transparent !important;
        background: transparent !important;
    }

    .sidebar-navigation .nav-link:hover,
    .sidebar-navigation .nav-link:focus {
        background: rgba(183, 155, 111, 0.08) !important;
        color: #b79b6f !important;
        border-left-color: #b79b6f !important;
    }

    .sidebar-navigation .nav-link.active,
    .sidebar-navigation .nav-link[aria-current="page"] {
        background: rgba(183, 155, 111, 0.12) !important;
        color: #b79b6f !important;
        border-left-color: #b79b6f !important;
        font-weight: 600 !important;
    }

    /* Navigation icons */
    .sidebar-navigation .nav-link svg {
        width: 20px !important;
        height: 20px !important;
        flex-shrink: 0 !important;
        opacity: 0.7 !important;
    }

    .sidebar-navigation .nav-link:hover svg,
    .sidebar-navigation .nav-link.active svg {
        opacity: 1 !important;
    }

    /* Submenu styling */
    .sidebar-navigation .nav-submenu,
    .sidebar-navigation .dropdown,
    .sidebar-navigation .collapse {
        padding-left: 0.5rem !important;
        background: rgba(0, 0, 0, 0.02) !important;
    }

    .sidebar-navigation .nav-submenu .nav-link,
    .sidebar-navigation .dropdown .nav-link,
    .sidebar-navigation .collapse .nav-link {
        padding: 0.625rem 1.5rem 0.625rem 2.5rem !important;
        font-size: 0.875rem !important;
        color: #666 !important;
    }

    /* Collapse toggle button */
    .sidebar-navigation .collapse-toggle {
        width: 100% !important;
        justify-content: space-between !important;
    }

    .sidebar-navigation .collapse-toggle svg:last-child {
        transition: transform 0.2s ease !important;
    }

    .sidebar-navigation .collapse-toggle[aria-expanded="true"] svg:last-child {
        transform: rotate(180deg) !important;
    }

    /* Mobile menu overlay */
    .sidebar-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1000;
        opacity: 0;
        transition: opacity 0.3s ease;
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
    }

    .sidebar-overlay.active,
    .sidebar-navigation-container.menu-open ~ .sidebar-overlay,
    body.menu-open .sidebar-overlay {
        display: block;
        opacity: 1;
    }

    /* Mobile bottom spacing for CTA bar */
    body {
        padding-bottom: 70px !important;
    }
}

/* =====================================================
   DESKTOP LAYOUT (>= 860px) - Fixed Navigation
   ===================================================== */
@media (min-width: 860px) {
    /* Stable sidebar navigation - prevent shifting */
    .sidebar-navigation-container {
        position: sticky !important;
        top: 0 !important;
        left: auto !important;
        width: 240px !important;
        min-width: 240px !important;
        max-width: 240px !important;
        flex: 0 0 240px !important;
        height: 100vh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        transform: none !important;
        box-shadow: none !important;
        transition: none !important;
        border-right: 1px solid var(--color-border, rgba(0,0,0,0.08)) !important;
        background: var(--color-background-alt, #fff) !important;
    }

    .sidebar-navigation {
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .sidebar-navigation .logo {
        display: block !important;
        padding: 1.5rem 1rem !important;
        border-bottom: none !important;
        background: none !important;
    }

    .sidebar-navigation .logo img {
        height: auto !important;
        max-height: 50px !important;
        width: auto !important;
        max-width: 100% !important;
    }

    .sidebar-navigation .navigation-sidebar {
        display: block !important;
        padding: 0.5rem 0 !important;
    }

    .sidebar-navigation .nav-link {
        border-left: none !important;
        padding: 0.625rem 1rem !important;
    }

    /* Ensure widgets sidebar is stable */
    .sidebar-widgets {
        display: flex !important;
        flex-direction: column !important;
        position: sticky !important;
        top: 0 !important;
        width: 320px !important;
        min-width: 320px !important;
        max-width: 320px !important;
        flex: 0 0 320px !important;
        height: 100vh !important;
        overflow-y: auto !important;
        padding: 1.5rem 1rem !important;
    }

    /* Main content takes remaining space */
    .content {
        flex: 1 !important;
        min-width: 0 !important;
        max-width: calc(100% - 560px) !important;
        padding: 2rem !important;
        overflow-x: hidden !important;
    }

    /* Hide mobile elements */
    .mobile-menu-toggle,
    button[aria-label="Toggle Menu"],
    .sidebar-overlay {
        display: none !important;
    }

    /* Desktop body - no bottom padding */
    body {
        padding-bottom: 0 !important;
    }
}

/* =====================================================
   WIDGET STYLES - Desktop
   ===================================================== */
@media (min-width: 860px) {
    .sidebar-widgets .widget {
        margin-bottom: 1.5rem !important;
        border-radius: 12px !important;
        height: auto !important;
        overflow: visible !important;
    }

    .sidebar-widgets .widget-lead-form {
        position: relative !important;
        overflow: visible !important;
        height: auto !important;
        max-height: none !important;
    }

    .sidebar-widgets .widget-lead-form form {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.75rem !important;
    }

    .sidebar-widgets .widget:first-child {
        margin-bottom: 1rem !important;
    }
}

/* =====================================================
   TYPOGRAPHY RESPONSIVE
   ===================================================== */
@media (max-width: 768px) {
    h1 { font-size: 1.75rem !important; }
    h2 { font-size: 1.5rem !important; }
    h3 { font-size: 1.25rem !important; }
    h4 { font-size: 1.125rem !important; }

    .post-title { font-size: 1.75rem !important; }
    .post-content { font-size: 1rem !important; }
    p { line-height: 1.6 !important; }
}

/* =====================================================
   CARDS & WIDGETS MOBILE
   ===================================================== */
@media (max-width: 768px) {
    .card,
    .feature-card,
    .widget {
        padding: 1rem !important;
        margin-bottom: 1rem !important;
    }

    .feature-grid,
    .cta-cards {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .feature-grid,
    .cta-cards {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* =====================================================
   FORM RESPONSIVE
   ===================================================== */
@media (max-width: 768px) {
    form { gap: 1rem !important; }

    input,
    select,
    textarea {
        padding: 0.875rem !important;
        font-size: 16px !important;
    }

    .button,
    button[type="submit"] {
        padding: 0.875rem 1.5rem !important;
        font-size: 1rem !important;
        width: 100% !important;
    }
}

/* =====================================================
   FLOATING CTAs RESPONSIVE
   ===================================================== */
@media (max-width: 768px) {
    .floating-ctas {
        display: none !important;
    }

    .mobile-bottom-bar {
        display: block !important;
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        padding: 0.75rem !important;
        background: #fff !important;
        box-shadow: 0 -2px 15px rgba(0, 0, 0, 0.1) !important;
        z-index: 998 !important;
    }

    .mobile-bottom-bar .bar-inner {
        display: flex !important;
        gap: 0.5rem !important;
    }

    .mobile-bottom-bar a {
        flex: 1 !important;
        padding: 0.75rem !important;
        font-size: 0.875rem !important;
        border-radius: 8px !important;
    }
}

@media (min-width: 769px) {
    .mobile-bottom-bar {
        display: none !important;
    }

    .floating-ctas {
        display: flex !important;
        position: fixed !important;
        bottom: 2rem !important;
        right: 2rem !important;
        z-index: 100 !important;
    }
}

/* =====================================================
   POST CONTENT RESPONSIVE
   ===================================================== */
@media (max-width: 768px) {
    .post-head { margin-bottom: 1.5rem !important; }

    .post-tags-footer {
        flex-wrap: wrap !important;
        gap: 0.5rem !important;
    }

    .post-actions {
        flex-direction: column !important;
        gap: 0.75rem !important;
    }

    .post-actions .button {
        width: 100% !important;
    }

    .post-media img {
        border-radius: 0 !important;
        margin-left: -1rem !important;
        margin-right: -1rem !important;
        width: calc(100% + 2rem) !important;
        max-width: calc(100% + 2rem) !important;
    }
}

/* =====================================================
   GALLERY RESPONSIVE
   ===================================================== */
@media (max-width: 768px) {
    .kg-gallery-container {
        margin: 1rem -1rem !important;
    }

    .kg-gallery-row {
        gap: 0.25rem !important;
    }

    .kg-gallery-image {
        border-radius: 0 !important;
    }
}

/* =====================================================
   FOOTER RESPONSIVE
   ===================================================== */
@media (max-width: 768px) {
    .site-footer {
        padding: 1.5rem 1rem !important;
    }

    .site-footer .footer-content {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }

    .footer-section {
        text-align: center !important;
    }

    .footer-bottom {
        padding-top: 1rem !important;
        text-align: center !important;
    }
}

/* =====================================================
   BREADCRUMBS RESPONSIVE
   ===================================================== */
@media (max-width: 576px) {
    .breadcrumbs {
        font-size: 0.75rem !important;
        padding: 0.75rem 0 !important;
    }

    .breadcrumbs .home-icon span {
        display: none !important;
    }
}

/* =====================================================
   TRUST BADGES RESPONSIVE
   ===================================================== */
@media (max-width: 576px) {
    .trust-badges {
        flex-direction: column !important;
    }

    .trust-badge {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* =====================================================
   LANDSCAPE MOBILE FIXES
   ===================================================== */
@media (max-width: 812px) and (orientation: landscape) {
    body {
        padding-bottom: 60px !important;
    }

    .mobile-bottom-bar {
        padding: 0.5rem !important;
    }

    .mobile-menu-toggle,
    button[aria-label="Toggle Menu"] {
        top: 10px !important;
        right: 10px !important;
        width: 40px !important;
        height: 40px !important;
    }
}

/* =====================================================
   TOUCH DEVICE OPTIMIZATIONS
   ===================================================== */
@media (hover: none) and (pointer: coarse) {
    .button,
    a,
    .nav-link {
        min-height: 44px !important;
    }

    input,
    select,
    textarea {
        font-size: 16px !important;
    }
}

/* =====================================================
   PRINT STYLES
   ===================================================== */
@media print {
    .sidebar-navigation-container,
    .sidebar-widgets,
    .floating-ctas,
    .mobile-bottom-bar,
    .mobile-menu-toggle,
    button[aria-label="Toggle Menu"],
    .sidebar-overlay {
        display: none !important;
    }

    .content {
        margin: 0 !important;
        padding: 0 !important;
        max-width: 100% !important;
    }

    body {
        padding: 0 !important;
    }
}

/* =====================================================
   WIDGET HEIGHT FIXES - Global
   ===================================================== */

/* Fix widget-lead-form being cut off */
.widget-lead-form,
.sidebar-widgets .widget-lead-form {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.widget-lead-form form {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
}

/* Ensure all widgets have proper height */
.sidebar-widgets .widget {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

/* =====================================================
   BUTTON CONTRAST & READABILITY FIXES
   ===================================================== */

/* All primary buttons - WHITE text on gold background */
.button,
.btn,
button[type="submit"],
.btn-primary,
.button-primary,
.btn-luxury,
.btn-luxury-primary,
.floating-btn,
.quick-action-btn,
.post-action.primary,
.kg-btn,
.cta-buttons .button-primary {
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15) !important;
}

/* Feed card action buttons - Override luxury-theme.css with higher specificity */
.section-posts .post .post-action,
.post-actions .post-action,
.post-action:not(.primary) {
    color: #1a1a1e !important;
    font-weight: 600 !important;
    text-shadow: none !important;
    background: #f5f3f0 !important;
}

.section-posts .post .post-action:hover,
.post-actions .post-action:hover,
.post-action:not(.primary):hover {
    color: #333333 !important;
    background: #e8e5e0 !important;
}

/* Post action PRIMARY buttons - white text on gold */
.section-posts .post .post-action.primary,
.post-actions .post-action.primary,
.post-action.primary {
    background: linear-gradient(135deg, #b79b6f 0%, #9a7f5a 100%) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

.section-posts .post .post-action.primary:hover,
.post-actions .post-action.primary:hover,
.post-action.primary:hover {
    background: linear-gradient(135deg, #a08860 0%, #8a7050 100%) !important;
    color: #ffffff !important;
}

/* Widget lead form button - ensure proper contrast */
.widget-lead-form button,
.widget-lead-form button[type="submit"],
.widget-lead-form .btn,
.sidebar-widgets button[type="submit"] {
    background: #1a1a1e !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    text-shadow: none !important;
    border: none !important;
}

.widget-lead-form button:hover,
.widget-lead-form button[type="submit"]:hover {
    background: #2d2d32 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
}

/* Secondary buttons - dark text on light background */
.btn-secondary,
.button-secondary,
.btn-luxury-secondary,
.cta-buttons .button-secondary {
    background: #ffffff !important;
    color: #1a1a1e !important;
    border: 2px solid #b79b6f !important;
    text-shadow: none !important;
}

.btn-secondary:hover,
.button-secondary:hover,
.btn-luxury-secondary:hover,
.cta-buttons .button-secondary:hover {
    background: #faf9f7 !important;
    color: #9a7f5a !important;
    border-color: #9a7f5a !important;
}

/* Ghost buttons on dark backgrounds */
.btn-luxury-ghost {
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

/* =====================================================
   WIDGET TEXT READABILITY
   ===================================================== */

/* Widget headings - larger and bolder */
.widget-title,
.widget-heading,
.sidebar-widgets h3,
.sidebar-widgets h4 {
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: #1a1a1e !important;
    margin-bottom: 1rem !important;
}

/* Widget body text - improved contrast */
.widget-content,
.sidebar-widgets p,
.sidebar-widgets .widget p {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: #333333 !important;
}

/* Widget contact details - clearer text */
.widget-contact-content p,
.widget-contact p {
    font-size: 0.925rem !important;
    color: #444444 !important;
    margin: 0.5rem 0 !important;
}

/* Widget links - visible and accessible */
.sidebar-widgets a,
.widget a {
    color: #9a7f5a !important;
    font-weight: 500 !important;
}

.sidebar-widgets a:hover,
.widget a:hover {
    color: #7d6548 !important;
    text-decoration: none !important;
}

/* Stats in widgets - larger values */
.luxury-stat-value,
.stat-value,
.widget .stat-badge strong {
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: #1a1a1e !important;
}

.luxury-stat-label,
.stat-label {
    font-size: 0.8rem !important;
    color: #666666 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* Price stats widget - high contrast */
.luxury-stats-widget .value,
.luxury-stat-item .value {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
}

.luxury-stats-widget .value.gold,
.luxury-stat-item .value.gold {
    color: #d4c4a8 !important;
}

.luxury-stats-widget .label,
.luxury-stat-item .label {
    font-size: 0.75rem !important;
    color: rgba(255, 255, 255, 0.8) !important;
}

/* =====================================================
   FORM INPUT READABILITY
   ===================================================== */

/* Form labels - clear and visible */
label,
.form-label {
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: #333333 !important;
    margin-bottom: 0.5rem !important;
    display: block !important;
}

/* Form inputs - better contrast */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
select,
textarea {
    font-size: 1rem !important;
    color: #1a1a1e !important;
    background: #ffffff !important;
    border: 1px solid #cccccc !important;
}

input::placeholder,
textarea::placeholder {
    color: #888888 !important;
    font-size: 0.95rem !important;
}

input:focus,
select:focus,
textarea:focus {
    border-color: #b79b6f !important;
    box-shadow: 0 0 0 3px rgba(183, 155, 111, 0.15) !important;
}

/* Widget lead form inputs - white background, dark text */
.widget-lead-form input,
.widget-lead-form select {
    background: #ffffff !important;
    color: #1a1a1e !important;
    border: none !important;
    font-size: 0.95rem !important;
}

.widget-lead-form input::placeholder {
    color: #666666 !important;
}

/* =====================================================
   TYPOGRAPHY CONTRAST IMPROVEMENTS
   ===================================================== */

/* Body text - improved base contrast */
body {
    color: #333333 !important;
}

/* Headings - strong contrast (content areas only) */
.content h1, .content h2, .content h3, .content h4, .content h5, .content h6,
.post-content h1, .post-content h2, .post-content h3, .post-content h4,
.sidebar-widgets h3, .sidebar-widgets h4,
article h2, article h3, article h4,
.card h3, .card h4,
.feature-card h3 {
    color: #1a1a1e !important;
}

/* HERO SECTION - White text on dark background */
.hero-section h1,
.hero-section h2,
.hero-section p,
.hero-section span,
.hero-content-wrapper h1,
.hero-content-wrapper h2,
.hero-content-wrapper p,
.hero-image-wrapper h1,
.hero-image-wrapper p {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
}

/* Hero stats badges */
.hero-section .stat-badge,
.hero-content-wrapper .stat-badge {
    color: #ffffff !important;
}

/* Hero buttons - ensure readable text */
.hero-section a,
.hero-content-wrapper a {
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

/* Call Now button - white text on gold */
.hero-section a[href*="tel:"],
.hero-content-wrapper a[href*="tel:"],
a.btn-call,
.btn-call {
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* WhatsApp button - white text on green */
.hero-section a[href*="wa.me"],
.hero-content-wrapper a[href*="wa.me"],
a.btn-whatsapp,
.btn-whatsapp {
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

/* Post head area (dark background) */
.post-head h1,
.post-head h2,
.post-head p,
.post-head .post-title,
.post-head .post-tag,
.post-head a {
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important;
}

/* Paragraph text - readable gray (content areas) */
.content p,
.post-content p,
article p,
.card p,
.feature-card p {
    color: #444444 !important;
    line-height: 1.7 !important;
}

/* Hero/dark background paragraphs stay white */
.hero-section p,
.hero-content-wrapper p,
.hero-image-wrapper p,
.post-head p {
    color: #ffffff !important;
    line-height: 1.6 !important;
}

/* Secondary/muted text - not too light */
.text-muted,
.text-secondary,
.post-meta,
time,
.breadcrumbs {
    color: #666666 !important;
}

/* Links in content - no underline */
.post-content a,
.content a:not(.button):not(.btn) {
    color: #9a7f5a !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.post-content a:hover,
.content a:not(.button):not(.btn):hover {
    color: #7d6548 !important;
    text-decoration: none !important;
}

/* =====================================================
   POST TITLE FIXES - No underline, no shadow, high visibility
   ===================================================== */

/* Post titles - remove underline and shadow */
.post-title,
.post-title a,
.post-title .label,
.post-title a.label,
a.label,
.section-posts .post .post-title,
.section-posts .post .post-title a,
.section-posts .post .post-title .label,
.section-posts .post .post-title a.label,
.post h2,
.post h2 a,
.post h3,
.post h3 a,
.post-card-title,
.post-card-title a {
    text-decoration: none !important;
    text-decoration-line: none !important;
    text-shadow: none !important;
    color: #1a1a1e !important;
    font-weight: 700 !important;
}

/* Post title hover - no underline */
.post-title:hover,
.post-title a:hover,
.post-title .label:hover,
.post-title a.label:hover,
a.label:hover,
.section-posts .post .post-title:hover,
.section-posts .post .post-title a:hover,
.section-posts .post .post-title .label:hover,
.section-posts .post .post-title a.label:hover,
.post h2 a:hover,
.post h3 a:hover {
    text-decoration: none !important;
    text-decoration-line: none !important;
    text-shadow: none !important;
    color: #9a7f5a !important;
}

/* All links inside posts - remove underline globally */
.post a,
.section-posts .post a,
.post-content a,
article a,
.section-posts a,
.posts-list a {
    text-decoration: none !important;
    text-decoration-line: none !important;
}

/* =====================================================
   CARD TEXT READABILITY
   ===================================================== */

/* Feature cards - clear text hierarchy */
.feature-card h3,
.luxury-card-title,
.card h3,
.card h4 {
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    color: #1a1a1e !important;
    margin-bottom: 0.75rem !important;
}

.feature-card p,
.luxury-card-text,
.card p {
    font-size: 0.95rem !important;
    color: #555555 !important;
    line-height: 1.6 !important;
}

/* Post cards (gold background) - white text */
.post-card h4,
.cta-card h4 {
    color: #ffffff !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

.post-card p,
.cta-card p {
    color: rgba(255, 255, 255, 0.95) !important;
    font-size: 0.9rem !important;
}

/* =====================================================
   TAG/BADGE CONTRAST
   ===================================================== */

/* Primary tags on gold background */
.tag-primary,
.badge-primary,
.post-label {
    background: linear-gradient(135deg, #b79b6f 0%, #9a7f5a 100%) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1) !important;
}

/* Secondary tags - visible on light background */
.tag,
.badge {
    background: #f5f3f0 !important;
    color: #555555 !important;
    font-weight: 500 !important;
}

/* =====================================================
   CTA SECTION IMPROVEMENTS
   ===================================================== */

.cta-section h2 {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #1a1a1e !important;
}

.cta-section p {
    font-size: 1rem !important;
    color: #555555 !important;
}

.cta-section .rera-note {
    font-size: 0.8rem !important;
    color: #888888 !important;
}

/* =====================================================
   MOBILE BOTTOM BAR BUTTONS
   ===================================================== */

.mobile-bottom-bar a {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

.mobile-bottom-bar .btn-call,
.mobile-bottom-bar .btn-whatsapp {
    color: #ffffff !important;
}

/* =====================================================
   FLOATING CTA BUTTONS
   ===================================================== */

.floating-btn {
    color: #ffffff !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15) !important;
}

.floating-btn span {
    color: #ffffff !important;
}

/* =====================================================
   DARK MODE ADJUSTMENTS
   ===================================================== */

[data-color-scheme="dark"] {
    /* Dark mode text */
    color: #e0e0e0 !important;
}

[data-color-scheme="dark"] h1,
[data-color-scheme="dark"] h2,
[data-color-scheme="dark"] h3,
[data-color-scheme="dark"] h4,
[data-color-scheme="dark"] h5,
[data-color-scheme="dark"] h6 {
    color: #ffffff !important;
}

[data-color-scheme="dark"] p {
    color: #cccccc !important;
}

[data-color-scheme="dark"] .text-muted,
[data-color-scheme="dark"] .text-secondary {
    color: #999999 !important;
}

[data-color-scheme="dark"] .widget-title,
[data-color-scheme="dark"] .widget-heading {
    color: #ffffff !important;
}

[data-color-scheme="dark"] .widget-content,
[data-color-scheme="dark"] .sidebar-widgets p {
    color: #cccccc !important;
}

[data-color-scheme="dark"] .feature-card h3,
[data-color-scheme="dark"] .card h3 {
    color: #ffffff !important;
}

[data-color-scheme="dark"] .feature-card p,
[data-color-scheme="dark"] .card p {
    color: #bbbbbb !important;
}

[data-color-scheme="dark"] .tag,
[data-color-scheme="dark"] .badge {
    background: #2d2d32 !important;
    color: #cccccc !important;
}
