/**
 * Contact Details Widget Styles
 */

/* Container - vertical layout (default) */
.contact-details-container {
    display: flex;
    flex-direction: column;
    gap: var(--contact-gap, 8px);
}

/* Container - horizontal layout */
.contact-details-container.contact-details-horizontal {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: end;
}

/* Individual contact item */
.contact-details-container .contact-item {
    display: block;
}

/* Contact link */
.contact-details-container .contact-link {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5em;
    color: var(--contact-text-color, inherit);
    font-size: var(--contact-text-size, 16px);
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-details-container .contact-link:hover,
.contact-details-container .contact-link:focus {
    color: var(--contact-hover-color, var(--color-primary-light, #3b82f6));
}

.contact-details-container .contact-link:focus {
    outline: 2px solid var(--contact-hover-color, var(--color-primary-light, #3b82f6));
    outline-offset: 2px;
    border-radius: 2px;
}

/* Icon */
.contact-details-container .contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: var(--contact-icon-size, 16px);
    color: var(--contact-icon-color, #374151);
    width: 1.5em;
    transition: color 0.3s ease;
}

.contact-details-container .contact-link:hover .contact-icon,
.contact-details-container .contact-link:focus .contact-icon {
    color: var(--contact-hover-color, var(--color-primary-light, #3b82f6));
}

/* Label */
.contact-details-container .contact-label {
    font-weight: 600;
}

.contact-details-container .contact-label::after {
    content: ':';
    margin-right: 0.25em;
}

/* Value */
.contact-details-container .contact-value {
    /* Inherits text styling */
}

/* Horizontal layout adjustments */
.contact-details-horizontal .contact-item {
    display: inline-block;
}

/* Accessibility - reduced motion */
@media (prefers-reduced-motion: reduce) {
    .contact-details-container .contact-link,
    .contact-details-container .contact-icon {
        transition: none;
    }
}

/* Link Value Only mode */
.contact-details-container .contact-link-wrapper {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5em;
    color: var(--contact-text-color, inherit);
    font-size: var(--contact-text-size, 16px);
}

.contact-details-container .contact-item.link-value-only .contact-icon {
    color: var(--contact-icon-color, #374151);
}

.contact-details-container .contact-value-link {
    color: var(--contact-hover-color, var(--color-primary, #3b82f6));
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-details-container .contact-value-link:hover,
.contact-details-container .contact-value-link:focus {
    color: var(--contact-hover-color, var(--color-primary-light, #3b82f6));
    text-decoration: underline;
}

.contact-details-container .contact-value-link:focus {
    outline: 2px solid var(--contact-hover-color, var(--color-primary-light, #3b82f6));
    outline-offset: 2px;
    border-radius: 2px;
}

/* Responsive adjustments */
@media (max-width: 480px) {
    .contact-details-container.contact-details-horizontal {
        flex-direction: column;
        align-items: flex-start;
    }
}
