/*
 * Business Directory Plugin - Contact Link Styling
 * Styles phone, email, and website contact links
 */

/* ===== CONTACT LINK STYLING ===== */

/* Contact link containers */
.business-directory-container .phone-link,
.business-directory-container .email-link,
.business-directory-container .website-link {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    color: inherit !important;
    transition: all 0.3s ease !important;
    padding: 4px 8px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
}

.business-directory-container .phone-link:hover,
.business-directory-container .email-link:hover,
.business-directory-container .website-link:hover {
    background: rgba(102, 126, 234, 0.1) !important;
    color: #667eea !important;
    transform: translateY(-1px) !important;
}

/* Phone link specific styling */
.business-directory-container .phone-link {
    color: #4a5568 !important;
}

.business-directory-container .phone-link:hover {
    color: #667eea !important;
    background: rgba(102, 126, 234, 0.1) !important;
}

/* Email link specific styling */
.business-directory-container .email-link {
    color: #4a5568 !important;
}

.business-directory-container .email-link:hover {
    color: #ea4335 !important;
    background: rgba(234, 67, 53, 0.1) !important;
}

/* Website link specific styling */
.business-directory-container .website-link {
    color: #4a5568 !important;
}

.business-directory-container .website-link:hover {
    color: #34a853 !important;
    background: rgba(52, 168, 83, 0.1) !important;
}

/* Contact link icons */
.business-directory-container .phone-link i,
.business-directory-container .email-link i,
.business-directory-container .website-link i {
    color: inherit !important;
    transition: all 0.3s ease !important;
    font-size: 14px !important;
    width: 16px !important;
}

.business-directory-container .phone-link:hover i,
.business-directory-container .email-link:hover i,
.business-directory-container .website-link:hover i {
    transform: scale(1.1) !important;
}

/* Contact link text */
.business-directory-container .phone-link span,
.business-directory-container .email-link span,
.business-directory-container .website-link span {
    font-weight: 500 !important;
    font-size: 0.9em !important;
    transition: all 0.3s ease !important;
}

/* ===== ACCESSIBILITY IMPROVEMENTS ===== */

/* Focus states for keyboard navigation */
.business-directory-container .phone-link:focus,
.business-directory-container .email-link:focus,
.business-directory-container .website-link:focus {
    outline: 2px solid #667eea !important;
    outline-offset: 2px !important;
    background: rgba(102, 126, 234, 0.1) !important;
    border-radius: 6px !important;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .business-directory-container .phone-link,
    .business-directory-container .email-link,
    .business-directory-container .website-link {
        color: #000 !important;
        font-weight: bold !important;
        border: 1px solid #000 !important;
    }
    
    .business-directory-container .phone-link:hover,
    .business-directory-container .email-link:hover,
    .business-directory-container .website-link:hover {
        color: #000 !important;
        background: #fff !important;
        padding: 2px 4px !important;
        border-radius: 3px !important;
    }
}

/* ===== MOBILE OPTIMIZATIONS ===== */

@media (max-width: 768px) {
    .business-directory-container .phone-link,
    .business-directory-container .email-link,
    .business-directory-container .website-link {
        min-height: 44px !important;
        padding: 12px 16px !important;
        margin: 4px 0 !important;
        border-radius: 8px !important;
        background: rgba(102, 126, 234, 0.05) !important;
        font-size: 1em !important;
        font-weight: 500 !important;
    }
    
    .business-directory-container .phone-link i,
    .business-directory-container .email-link i,
    .business-directory-container .website-link i {
        font-size: 18px !important;
        width: 20px !important;
    }
    
    .business-directory-container .phone-link span,
    .business-directory-container .email-link span,
    .business-directory-container .website-link span {
        font-size: 1em !important;
    }
}

/* ===== DARK MODE SUPPORT ===== */

@media (prefers-color-scheme: dark) {
    .business-directory-container .phone-link,
    .business-directory-container .email-link,
    .business-directory-container .website-link {
        color: #e2e8f0 !important;
    }
    
    .business-directory-container .phone-link:hover {
        color: #90cdf4 !important;
        background: rgba(144, 205, 244, 0.1) !important;
    }
    
    .business-directory-container .email-link:hover {
        color: #fc8181 !important;
        background: rgba(252, 129, 129, 0.1) !important;
    }
    
    .business-directory-container .website-link:hover {
        color: #68d391 !important;
        background: rgba(104, 211, 145, 0.1) !important;
    }
}

/* ===== CONTACT ICON SPECIFIC STYLING ===== */

/* For contact icons in card headers */
.business-directory-container .bd-contact-icon.phone-link,
.business-directory-container .bd-contact-icon.email-link,
.business-directory-container .bd-contact-icon.website-link {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
}

.business-directory-container .bd-contact-icon.phone-link:hover,
.business-directory-container .bd-contact-icon.email-link:hover,
.business-directory-container .bd-contact-icon.website-link:hover {
    transform: scale(1.05) !important;
}

.business-directory-container .bd-contact-icon.phone-link:hover {
    background: rgba(102, 126, 234, 0.1) !important;
    color: #667eea !important;
}

.business-directory-container .bd-contact-icon.email-link:hover {
    background: rgba(234, 67, 53, 0.1) !important;
    color: #ea4335 !important;
}

.business-directory-container .bd-contact-icon.website-link:hover {
    background: rgba(52, 168, 83, 0.1) !important;
    color: #34a853 !important;
}

/* ===== LOADING STATES ===== */

.business-directory-container .phone-link.loading,
.business-directory-container .email-link.loading,
.business-directory-container .website-link.loading {
    opacity: 0.6 !important;
    pointer-events: none !important;
}

.business-directory-container .phone-link.loading i,
.business-directory-container .email-link.loading i,
.business-directory-container .website-link.loading i {
    animation: contactLoading 1s infinite !important;
}

@keyframes contactLoading {
    0%, 100% {
        opacity: 0.5;
    }
    50% {
        opacity: 1;
    }
}
