:root {
          /* Specific theme variables - don't override global ones */
          --theme-header-bg: 224 95% 15%;
          --theme-header-text: 0 0% 100%;
          --theme-header-accent: 41 92% 60%;
          --theme-header-border: 41 92% 60%;
          
          --theme-footer-bg: 222 47% 11%;
          --theme-footer-text: 214 32% 91%;
          --theme-footer-accent: 213 85% 35%;
          --theme-footer-border: 215 25% 27%;
          
          --theme-hero-bg: 210 40% 98%;
          --theme-services-bg: 0 0% 100%;
          --theme-properties-bg: 210 40% 96%;
          --theme-testimonials-bg: 210 40% 98%;
          
          --theme-btn-primary-bg: 217 91% 60%;
          --theme-btn-primary-text: 0 0% 100%;
          --theme-btn-primary-hover: 221 83% 53%;
          --theme-btn-secondary-bg: 160 84% 39%;
          --theme-btn-secondary-text: 0 0% 100%;
          --theme-btn-secondary-hover: 161 94% 30%;
          
          --theme-input-border: 216 12% 84%;
          --theme-input-focus: 217 91% 60%;
          --theme-input-bg: 0 0% 100%;
          --theme-input-text: 221 39% 11%;
          
          --theme-card-bg: 221 39% 11%;
          --theme-card-border: 220 13% 91%;
          --theme-card-text: 0 0% 100%;
          
          --theme-modal-header-bg: 215 28% 17%;
          --theme-modal-header-text: 210 20% 98%;
          --theme-modal-header-border: 217 19% 27%;
          --theme-modal-body-bg: 221 39% 11%;
          --theme-modal-body-text: 216 12% 84%;
          --theme-modal-footer-bg: 222 47% 11%;
          --theme-modal-footer-text: 218 11% 65%;
          --theme-modal-footer-border: 217 19% 27%;
          --theme-modal-overlay: rgba(0,0,0,0.75);
          --theme-modal-border: 217 19% 27%;
        }
        
        .dark {
          /* Same theme variables for dark mode */
          --theme-header-bg: 224 95% 15%;
          --theme-header-text: 0 0% 100%;
          --theme-header-accent: 41 92% 60%;
          --theme-header-border: 41 92% 60%;
          
          --theme-footer-bg: 222 47% 11%;
          --theme-footer-text: 214 32% 91%;
          --theme-footer-accent: 213 85% 35%;
          --theme-footer-border: 215 25% 27%;
          
          --theme-hero-bg: 210 40% 98%;
          --theme-services-bg: 0 0% 100%;
          --theme-properties-bg: 210 40% 96%;
          --theme-testimonials-bg: 210 40% 98%;
          
          --theme-btn-primary-bg: 217 91% 60%;
          --theme-btn-primary-text: 0 0% 100%;
          --theme-btn-primary-hover: 221 83% 53%;
          --theme-btn-secondary-bg: 160 84% 39%;
          --theme-btn-secondary-text: 0 0% 100%;
          --theme-btn-secondary-hover: 161 94% 30%;
          
          --theme-input-border: 216 12% 84%;
          --theme-input-focus: 217 91% 60%;
          --theme-input-bg: 0 0% 100%;
          --theme-input-text: 221 39% 11%;
          
          --theme-card-bg: 221 39% 11%;
          --theme-card-border: 220 13% 91%;
          --theme-card-text: 0 0% 100%;
          
          --theme-modal-header-bg: 215 28% 17%;
          --theme-modal-header-text: 210 20% 98%;
          --theme-modal-header-border: 217 19% 27%;
          --theme-modal-body-bg: 221 39% 11%;
          --theme-modal-body-text: 216 12% 84%;
          --theme-modal-footer-bg: 222 47% 11%;
          --theme-modal-footer-text: 218 11% 65%;
          --theme-modal-footer-border: 217 19% 27%;
          --theme-modal-overlay: rgba(0,0,0,0.75);
          --theme-modal-border: 217 19% 27%;
        }
        
        /* Specific component styling using theme variables */
        header,
        header.bg-transparent,
        header.bg-background\/80 {
          background-color: hsl(var(--theme-header-bg)) !important;
          color: hsl(var(--theme-header-text)) !important;
          border-bottom-color: hsl(var(--theme-header-border)) !important;
        }
        
        footer {
          background-color: hsl(var(--theme-footer-bg)) !important;
          color: hsl(var(--theme-footer-text)) !important;
          border-top-color: hsl(var(--theme-footer-border)) !important;
        }
        
        /* Button specific overrides */
        .theme-btn-primary,
        button[data-theme="primary"] {
          background-color: hsl(var(--theme-btn-primary-bg)) !important;
          color: hsl(var(--theme-btn-primary-text)) !important;
        }
        
        .theme-btn-primary:hover,
        button[data-theme="primary"]:hover {
          background-color: hsl(var(--theme-btn-primary-hover)) !important;
        }
        
        .theme-btn-secondary,
        button[data-theme="secondary"] {
          background-color: hsl(var(--theme-btn-secondary-bg)) !important;
          color: hsl(var(--theme-btn-secondary-text)) !important;
        }
        
        .theme-btn-secondary:hover,
        button[data-theme="secondary"]:hover {
          background-color: hsl(var(--theme-btn-secondary-hover)) !important;
        }
        
        /* Gradient buttons - only specific ones */
        .fancy-gradient-bg {
          background: linear-gradient(135deg, hsl(var(--theme-btn-primary-bg)) 0%, hsl(var(--theme-btn-secondary-bg)) 100%) !important;
        }
        
        /* Section backgrounds with specific classes */
        .theme-hero-section {
          background-color: hsl(var(--theme-hero-bg)) !important;
        }
        
        .theme-services-section {
          background-color: hsl(var(--theme-services-bg)) !important;
        }
        
        .theme-properties-section {
          background-color: hsl(var(--theme-properties-bg)) !important;
        }
        
        .theme-testimonials-section {
          background-color: hsl(var(--theme-testimonials-bg)) !important;
        }
        
        /* Form elements with theme classes */
        .theme-input {
          background-color: hsl(var(--theme-input-bg)) !important;
          border-color: hsl(var(--theme-input-border)) !important;
          color: hsl(var(--theme-input-text)) !important;
        }
        
        .theme-input:focus {
          border-color: hsl(var(--theme-input-focus)) !important;
        }
        
        /* Card elements with theme classes */
        .theme-card {
          background-color: hsl(var(--theme-card-bg)) !important;
          border-color: hsl(var(--theme-card-border)) !important;
          color: hsl(var(--theme-card-text)) !important;
        }
        
        /* Override standard Tailwind card classes with theme colors - more specific selectors */
        .bg-card {
          background-color: hsl(var(--theme-card-bg)) !important;
        }
        
        /* Only apply card text color to actual card containers, not all text-card-foreground */
        .bg-card .text-card-foreground,
        [class*="rounded-lg"][class*="border"][class*="bg-card"] .text-card-foreground,
        .card .text-card-foreground {
          color: hsl(var(--theme-card-text)) !important;
        }
        
        /* Only apply card border to actual card elements */
        .bg-card.border,
        [class*="rounded-lg"][class*="border"][class*="bg-card"] {
          border-color: hsl(var(--theme-card-border)) !important;
        }
        
        /* Modal/Dialog elements with theme styling */
        [data-state="open"][role="dialog"] {
          background-color: hsl(var(--theme-modal-body-bg)) !important;
          border-color: hsl(var(--theme-modal-border)) !important;
          color: hsl(var(--theme-modal-body-text)) !important;
        }
        
        /* Overlay background */
        [data-state="open"][role="dialog"] + [data-state="open"] {
          background: var(--theme-modal-overlay) !important;
        }
        
        /* Dialog header styling */
        .dialog-header,
        [data-dialog-header] {
          background-color: hsl(var(--theme-modal-header-bg)) !important;
          border-bottom-color: hsl(var(--theme-modal-header-border)) !important;
          color: hsl(var(--theme-modal-header-text)) !important;
        }
        
        /* Dialog footer styling */
        .dialog-footer,
        [data-dialog-footer] {
          background-color: hsl(var(--theme-modal-footer-bg)) !important;
          border-top-color: hsl(var(--theme-modal-footer-border)) !important;
          color: hsl(var(--theme-modal-footer-text)) !important;
        }
        
        /* Target all dialog headers and footers more broadly */
        [role="dialog"] .dialog-header,
        [role="dialog"] [data-dialog-header] {
          background-color: hsl(var(--theme-modal-header-bg)) !important;
          border-bottom-color: hsl(var(--theme-modal-header-border)) !important;
          color: hsl(var(--theme-modal-header-text)) !important;
        }
        
        [role="dialog"] .dialog-footer,
        [role="dialog"] [data-dialog-footer] {
          background-color: hsl(var(--theme-modal-footer-bg)) !important;
          border-top-color: hsl(var(--theme-modal-footer-border)) !important;
          color: hsl(var(--theme-modal-footer-text)) !important;
        }