/**
 * Contact Details Section Block Styles
 * 
 * @package ACF Child Theme
 */

/* Section Container - Full Width Background */
.contact-details-section {
    width: 100%;
    background-color: var(--color-white, #ffffff);
    padding: 80px 0;
    padding-top: 0px;
}

/* Content Wrapper - Constrained Width */
.contact-details-wrapper {
    max-width: var(--theme-normal-container-max-width, 1290px);
    width: var(--theme-container-width, 100%);
    margin: 0 auto;
    padding: 0 20px;
}

/* Two Column Layout */
.contact-details-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
}

/* Left Column - Contact Information */
.contact-details-left-column {
    background-color: var(--color-secondary, #f9f6f1);
    padding: 60px 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.contact-info-items {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Contact Info Item with Icon */
.contact-info-item {
    display: flex;
    align-items: center;
    gap: 16px;
    color: var(--color-text, #252525);
}

.contact-icon-wrapper {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.contact-icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.contact-link {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--color-text, #252525);
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-link:hover {
    color: var(--color-primary, #b2762a);
}

/* Contact Info Item - Text Only (Fax, SITA, AFTN) - DEPRECATED */
.contact-info-text {
    display: flex;
    flex-direction: row;
    gap: 5px;
    align-items: flex-start;
    padding-left: 48px;
}

.contact-label {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--color-text, #252525);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.contact-value {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--color-text, #252525);
}

/* Fax, SITA, AFTN Group - Grouped like Address */
.contact-codes-group {
    display: flex;
    flex-direction: column;
    gap: 0px;
    padding-left: 48px;
}

.contact-code-line {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--color-text, #252525);
    margin: 0;
}

/* Address Section */
.contact-address {
    display: flex;
    flex-direction: column;
    padding-left: 48px;
}

.address-line {
    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--color-text, #252525);
    margin: 0;
}

/* Right Column - Featured Image */
.contact-details-right-column {
    display: flex;
    align-items: stretch;
}

.contact-featured-image {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.contact-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Tablet Responsive */
@media screen and (max-width: 1024px) {
    .contact-details-section {
        padding: 60px 0;
    }
    
    .contact-details-columns {
        gap: 40px;
    }
    
    .contact-details-left-column {
        padding: 50px 40px;
    }
    
    .contact-link {
        font-size: 16px;
    }
    
    .contact-value {
        font-size: 15px;
    }
    
    .contact-code-line {
        font-size: 20px;
    }
    
    .address-line {
        font-size: 15px;
    }
}

/* Mobile Responsive */
@media screen and (max-width: 768px) {
    .contact-details-section {
        padding: 50px 0;
    }
    
    .contact-details-columns {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .contact-details-left-column {
        padding: 40px 30px;
        order: 2;
    }
    
    .contact-details-right-column {
        order: 1;
        min-height: 300px;
    }
    
    .contact-info-items {
        gap: 20px;
    }
    
    .contact-icon-wrapper {
        width: 24px;
        height: 24px;
    }
    
    .contact-link {
        font-size: 15px;
    }
    
    .contact-label {
        font-size: 13px;
    }
    
    .contact-value {
        font-size: 14px;
    }
    
    .contact-code-line {
        font-size: 18px;
    }
    
    .contact-codes-group,
    .contact-address {
        padding-left: 24px;
    }
    
    .address-line {
        font-size: 14px;
    }
}

/* Small Mobile */
@media screen and (max-width: 480px) {
    .contact-details-section {
        padding: 40px 0;
    }
    
    .contact-details-wrapper {
        padding: 0 15px;
    }
    
    .contact-details-left-column {
        padding: 30px 20px;
    }
    
    .contact-details-right-column {
        min-height: 250px;
    }
    
    .contact-info-items {
        gap: 18px;
    }
    
    .contact-icon-wrapper {
        width: 24px;
        height: 24px;
    }
    
    .contact-link {
        font-size: 14px;
    }
    
    .contact-label {
        font-size: 12px;
    }
    
    .contact-value {
        font-size: 13px;
    }
    
    .contact-code-line {
        font-size: 16px;
    }
    
    .contact-codes-group,
    .contact-address {
        padding-left: 20px;
    }
    
    .address-line {
        font-size: 13px;
    }
}

/* Print Styles */
@media print {
    .contact-details-section {
        padding: 20px 0;
    }
    
    .contact-link {
        color: var(--color-text, #252525) !important;
        text-decoration: underline;
    }
}
