/* Footer Contact Enhancement CSS for Travelovuify Guide */
/* Ensures maximum contrast and visibility for contact information */

/* Footer contact information styling with high contrast */
#footer .contact-info,
#footer h5:has(+ p:contains("📞")),
#footer div:has(h5:contains("Contactgegevens")) {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    padding: 15px !important;
    border-radius: 8px !important;
    border: 2px solid #93c5fd !important;
    margin-bottom: 20px !important;
}

/* Specific contact information text styling */
#footer h5:contains("Contactgegevens") {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 1.25rem !important;
    margin-bottom: 15px !important;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.8) !important;
}

/* Contact details paragraph styling */
#footer .col-lg-4 p.text-muted:has-text("📞"),
#footer p:contains("📞"),
#footer p:contains("📧"),
#footer p:contains("📍") {
    color: #ffffff !important;
    background-color: #1a1a1a !important;
    padding: 12px !important;
    border-radius: 6px !important;
    line-height: 1.6 !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.8) !important;
    border-left: 4px solid #93c5fd !important;
}

/* Emoji icons styling for better visibility */
#footer p:contains("📞") span,
#footer p:contains("📧") span,
#footer p:contains("📍") span {
    color: #93c5fd !important;
    font-size: 1.1em !important;
    margin-right: 8px !important;
    text-shadow: none !important;
}

/* Fallback for emoji icons */
#footer .contact-emoji {
    color: #93c5fd !important;
    font-size: 1.1em !important;
    margin-right: 8px !important;
    display: inline-block !important;
}

/* Footer general styling improvements */
#footer {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

/* All footer text elements for consistency */
#footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6 {
    color: #ffffff !important;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.8) !important;
}

#footer p {
    color: #f0f0f0 !important;
}

#footer small, #footer .small {
    color: #e0e0e0 !important;
}

/* Footer links styling */
#footer a {
    color: #93c5fd !important;
    text-decoration: underline !important;
    transition: color 0.3s ease !important;
}

#footer a:hover, #footer a:focus {
    color: #dbeafe !important;
    text-shadow: 0 0 5px rgba(147, 197, 253, 0.5) !important;
}

/* Contact section specific overrides */
#footer .col-lg-4:has(h5:contains("Contactgegevens")) {
    background-color: #1a1a1a !important;
    padding: 20px !important;
    border-radius: 10px !important;
    border: 2px solid #93c5fd !important;
    box-shadow: 0 4px 12px rgba(147, 197, 253, 0.2) !important;
}

/* Responsive design for mobile devices */
@media (max-width: 768px) {
    #footer .col-lg-4:has(h5:contains("Contactgegevens")) {
        margin-bottom: 30px !important;
        padding: 15px !important;
    }
    
    #footer h5:contains("Contactgegevens") {
        font-size: 1.1rem !important;
    }
    
    #footer p:contains("📞") {
        font-size: 0.95rem !important;
        padding: 10px !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    #footer .col-lg-4:has(h5:contains("Contactgegevens")) {
        border-width: 3px !important;
        background-color: #000000 !important;
    }
    
    #footer h5:contains("Contactgegevens"),
    #footer p:contains("📞") {
        color: #ffffff !important;
        background-color: #000000 !important;
        text-shadow: none !important;
    }
}

/* Dark mode compatibility */
@media (prefers-color-scheme: dark) {
    #footer {
        background-color: #0f0f0f !important;
    }
    
    #footer .col-lg-4:has(h5:contains("Contactgegevens")) {
        background-color: #1a1a1a !important;
        border-color: #60a5fa !important;
    }
}

/* Print styles */
@media print {
    #footer .col-lg-4:has(h5:contains("Contactgegevens")) {
        background-color: white !important;
        color: black !important;
        border: 2px solid black !important;
    }
    
    #footer h5:contains("Contactgegevens"),
    #footer p:contains("📞") {
        color: black !important;
        background-color: white !important;
        text-shadow: none !important;
    }
}

/* Accessibility improvements */
#footer .col-lg-4:has(h5:contains("Contactgegevens")):focus-within {
    outline: 3px solid #93c5fd !important;
    outline-offset: 2px !important;
}

/* Animation for better user experience */
#footer .col-lg-4:has(h5:contains("Contactgegevens")) {
    transition: all 0.3s ease !important;
}

#footer .col-lg-4:has(h5:contains("Contactgegevens")):hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(147, 197, 253, 0.3) !important;
}

/* Newsletter section contrast fix - override footer styles */
#footer .newsletter-section {
    background-color: #f8f9fa !important;
    padding: 25px !important;
    border-radius: 10px !important;
    border: 1px solid #e0e0e0 !important;
    margin: 20px 0 !important;
}

#footer .newsletter-section .newsletter-title,
#footer .newsletter-section h4 {
    color: #333333 !important;
    font-weight: 600 !important;
    text-shadow: none !important;
    font-size: 1.25rem !important;
    margin-bottom: 10px !important;
    text-align: center !important;
}

#footer .newsletter-section .newsletter-subtitle,
#footer .newsletter-section p {
    color: #666666 !important;
    font-size: 0.9rem !important;
    text-shadow: none !important;
    margin-bottom: 15px !important;
    text-align: center !important;
    line-height: 1.4 !important;
}

#footer .newsletter-section .newsletter-input {
    background-color: #ffffff !important;
    color: #333333 !important;
    border: 2px solid #93c5fd !important;
    border-radius: 5px !important;
    padding: 12px 15px !important;
    font-size: 14px !important;
    outline: none !important;
}

#footer .newsletter-section .newsletter-input:focus {
    border-color: #007bff !important;
    box-shadow: 0 0 0 0.2rem rgba(0,123,255,0.25) !important;
}

#footer .newsletter-section .newsletter-button {
    background-color: #007bff !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 5px !important;
    padding: 12px 20px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background 0.3s ease !important;
}

#footer .newsletter-section .newsletter-button:hover {
    background-color: #0056b3 !important;
}

#footer .newsletter-section .newsletter-success {
    background-color: #d4edda !important;
    color: #155724 !important;
    border: 1px solid #c3e6cb !important;
    border-radius: 5px !important;
    padding: 15px !important;
    margin-top: 15px !important;
    text-align: center !important;
    font-size: 14px !important;
}

/* Force visibility for any hidden elements */
#footer .col-lg-4:has(h5:contains("Contactgegevens")),
#footer .col-lg-4:has(h5:contains("Contactgegevens")) * {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
}

#footer .col-lg-4:has(h5:contains("Contactgegevens")) h5,
#footer .col-lg-4:has(h5:contains("Contactgegevens")) p {
    display: block !important;
}
