/* ==========================================================================
   AstraOptima - Astra Footer Framework
   ========================================================================== */

/* 1. Menus: Dotted Divider Lines */
.site-footer ul.menu li,
.site-footer .widget_nav_menu ul li,
.site-footer .wp-block-navigation-item,
.site-footer .wp-block-page-list li {
    list-style: none !important;
    border-bottom: 1px dotted #474747 !important;
    padding: 7px 0 !important;
    margin: 0 !important;
}

.site-footer ul.menu li:last-child,
.site-footer .widget_nav_menu ul li:last-child,
.site-footer .wp-block-navigation-item:last-child,
.site-footer .wp-block-page-list li:last-child {
    border-bottom: none !important;
}

/* 2. Global Footer Links & Hover Transitions */
.site-footer a {
    color: #C3C3C3 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

/* 3. Column 1: Headquarters Title */
.site-footer-primary-section-1 strong,
.site-footer-primary-section-1 .headquarters-title {
    color: #ffffff !important;
    font-weight: 600 !important;
    display: inline-block !important;
    margin-bottom: 4px !important;
}

/* 4. Column 1: Contact Information */
.site-footer-primary-section-1 .ast-header-html p:not(:last-child),
.site-footer-primary-section-1 .widget_text p:not(:last-child),
.site-footer-primary-section-1 .widget_block p:not(:last-child),
.site-footer-primary-section-1 .textwidget p:not(:last-child) {
    font-size: 14px !important;
    line-height: 1.45em !important;
    color: #C3C3C3 !important;
    margin-bottom: 12px !important;
}

/* 5. Column 1: Legal Company Info */
.site-footer-primary-section-1 .ast-header-html p:last-child,
.site-footer-primary-section-1 .widget_text p:last-child,
.site-footer-primary-section-1 .widget_block p:last-child,
.site-footer-primary-section-1 .textwidget p:last-child {
    font-size: 12px !important;
    line-height: 1.45em !important;
    color: #9D9DA3 !important;
    margin-top: 15px !important;
}

/* 6. Native Icons via SVG Mask */
.site-footer-primary-section-1 strong::before,
.site-footer-primary-section-1 .email::before,
.site-footer-primary-section-1 .phone::before {
    content: "" !important;
    display: inline-block !important;
    width: 14px !important;
    height: 14px !important;
    margin-right: 7px !important;
    vertical-align: -2px !important;
}

/* Headquarters Icon */
.site-footer-primary-section-1 strong::before {
    background-color: #ffffff !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Ccircle cx='9' cy='10' r='2'/%3E%3Cline x1='15' y1='8' x2='17' y2='8'/%3E%3Cline x1='15' y1='12' x2='17' y2='12'/%3E%3Cline x1='7' y1='16' x2='17' y2='16'/%3E%3C/svg%3E") no-repeat center / contain !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Ccircle cx='9' cy='10' r='2'/%3E%3Cline x1='15' y1='8' x2='17' y2='8'/%3E%3Cline x1='15' y1='12' x2='17' y2='12'/%3E%3Cline x1='7' y1='16' x2='17' y2='16'/%3E%3C/svg%3E") no-repeat center / contain !important;
}

/* Email Icon */
.site-footer-primary-section-1 .email::before {
    background-color: #C3C3C3 !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E") no-repeat center / contain !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E") no-repeat center / contain !important;
}

/* Phone Icon */
.site-footer-primary-section-1 .phone::before {
    background-color: #C3C3C3 !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") no-repeat center / contain !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") no-repeat center / contain !important;
}

/* 7. Bottom Bar / Copyright Styling */
.site-footer-below-section-1,
.site-footer-below-section-1 *,
.site-footer-below-section-1 p,
.site-footer-below-section-1 p a,
.site-footer-below-section-1 .ast-footer-copyright,
.site-footer-below-section-1 .ast-footer-copyright * {
    font-size: 12px !important;
    line-height: 1.6em !important;
    color: #9D9DA3 !important;
    text-align: left !important;
}

/* 8. Responsive 1-Column Collapse (<= 700px) */
@media (max-width: 700px) {
    .site-footer-primary-section,
    .site-footer .ast-footer-row-container .ast-builder-grid-row,
    .site-footer .ast-builder-grid-row {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }

    .site-footer-primary-section-1,
    .site-footer-primary-section-2,
    .site-footer-primary-section-3,
    .site-footer-primary-section-4,
    .site-footer-primary-section-5,
    .site-footer .ast-builder-grid-row > div,
    .site-footer .ast-builder-grid-row .ast-builder-layout-element {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}
