/* =====================================================
   ATRIN TEJARAT — Footer Styles (Unified Grid Architecture)
   ===================================================== */

.site-footer {
    background-color: #ECEBF2;
    /* Very premium light gray-purple background */
    color: #2F2F2F;
    /* Dark gray text */
    direction: rtl;
    font-family: 'Yekan Bakh', Tahoma, sans-serif;
    padding-top: 32px;
}

/* =====================================================
   1. UNIFIED GRID WRAPPER (DESKTOP)
   ===================================================== */
.footer-grid-wrap {
    padding-bottom: 24px;
}

.footer-grid-container {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.2fr;
    gap: 32px;
    align-items: start;
}

/* Grid Grid-Item Placements for Perfect Rows Alignments */
.item-brand {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.item-phone {
    grid-column: 2;
    grid-row: 1;
}

.item-address {
    grid-column: 3;
    grid-row: 1;
}

.item-socials {
    grid-column: 4;
    grid-row: 1;
    justify-self: flex-end;
}

.item-desc {
    grid-column: 1;
    grid-row: 2;
    text-align: justify;
    border-top: 1px solid rgba(21, 49, 82, 0.1);
    padding-top: 20px;
}

.item-links-1 {
    grid-column: 2;
    grid-row: 2;
    border-top: 1px solid rgba(21, 49, 82, 0.1);
    padding-top: 20px;
}

.item-links-2 {
    grid-column: 3;
    grid-row: 2;
    border-top: 1px solid rgba(21, 49, 82, 0.1);
    padding-top: 20px;
}

.item-badges {
    grid-column: 4;
    grid-row: 2;
    border-top: 1px solid rgba(21, 49, 82, 0.1);
    padding-top: 20px;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
}

/* =====================================================
   2. ELEMENT STYLING
   ===================================================== */

/* Brand Header */
.brand-header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.brand-title {
    font-family: 'Rokh Pro', 'Yekan Bakh', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #153152;
    /* Navy blue */
    margin: 0;
    line-height: 1.3;
}

.brand-subtitle {
    font-size: 11px;
    color: #666;
    display: block;
    margin-right: 66px;
    /* Align precisely with title text (logo width 54px + gap 12px) */
}

.footer-top-logo {
    height: 54px;
    width: auto;
}

/* Generic Item Styles (Phone, Address) */
.footer-top-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.footer-top-icon {
    font-size: 28px;
    color: #153152;
}

.footer-top-text {
    display: flex;
    flex-direction: column;
}

.footer-top-text .label {
    font-size: 11px;
    color: #666;
    font-weight: 600;
}

.footer-top-text .value {
    font-size: 14px;
    font-weight: 700;
    color: #153152;
    text-decoration: none;
}

/* Address tweaks */
.item-address .footer-top-item {
    max-width: 300px;
}

.item-address .value {
    font-weight: 500;
    font-size: 13px;
    line-height: 1.5;
}

/* Social icons on far Left */
.footer-top-socials {
    display: flex;
    gap: 10px;
}

.footer-top-socials .social-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: rgba(21, 49, 82, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #153152;
    text-decoration: none;
    transition: background-color var(--transition, 0.25s ease), color var(--transition, 0.25s ease), transform var(--transition, 0.25s ease);
}

.footer-top-socials .social-icon:hover {
    background-color: #153152;
    color: #FBB900;
    transform: translateY(-3px);
}

/* Description Text (About Us) - Bolded & Enlarged */
.footer-description {
    font-size: 14px;
    /* Enlarged from 13px */
    font-weight: 500;
    /* Slightly bolder for crisp reading */
    line-height: 1.9;
    color: #333333;
    margin: 0;
}

.footer-description .read-more {
    color: #153152;
    font-weight: 700;
    text-decoration: none;
    margin-right: 4px;
    display: inline-block;
}

.footer-description .read-more:hover {
    color: #FBB900;
}

/* Menu Links styling */
.footer-menu-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-menu-links li a {
    font-size: 14px;
    font-weight: 600;
    color: #2F2F2F;
    text-decoration: none;
    transition: color var(--transition, 0.25s ease), padding var(--transition, 0.25s ease);
}

.footer-menu-links li a:hover {
    color: #153152;
    padding-right: 4px;
}

/* Badges styling */
.badge-item {
    border-radius: 8px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(21, 49, 82, 0.05);
    border: 1px solid rgba(21, 49, 82, 0.05);
    width: 90px;
    height: 90px;
}

.badge-item img {
    max-height: 54px;
    width: auto;
    object-fit: contain;
}

.badge-label {
    font-size: 9px;
    color: #888;
    margin-top: 4px;
    text-align: center;
}

/* =====================================================
   3. BOTTOM NAVY BAR & CREDITS
   ===================================================== */
.footer-bottom-bar {
    background-color: #153152;
    /* Navy blue */
    padding: 16px 10px;
    text-align: center;
}

.footer-bottom-bar .container,
.footer-designer-credit .container {
    display: block !important;
    text-align: center !important;
    width: 100% !important;
}

.copyright-text {
    font-size: 13px;
    color: #FFFFFF;
    font-weight: 500;
    margin: 0;
    display: inline-block;
}

.copyright-text .highlight {
    color: #FBB900;
    /* Yellow */
    font-weight: 700;
}

/* Designer Credit */
.footer-designer-credit {
    background-color: #ECEBF2;
    padding: 16px 0;
    text-align: center;
}

.designer-logo-link {
    display: inline-block;
    vertical-align: middle;
}

.designer-logo-img {
    height: 18px;
    /* a sleek premium height to look crisp and clean */
    width: auto;
    display: inline-block;
    vertical-align: middle;
}

/* =====================================================
   4. RESPONSIVE (TABLET & MOBILE)
   ===================================================== */
@media (max-width: 1024px) {
    .footer-grid-container {
        grid-template-columns: 1fr 1fr;
        gap: 28px;
    }

    .item-brand {
        grid-column: 1 / -1;
        grid-row: auto;
        align-items: center;
        text-align: center;
    }

    .brand-header {
        justify-content: center;
    }

    .brand-subtitle {
        margin-right: 0;
        text-align: center;
    }

    .item-desc {
        grid-column: 1 / -1;
        grid-row: auto;
        text-align: center;
        border-top: none;
        padding-top: 0;
    }

    .item-links-1 {
        grid-column: 1;
        grid-row: auto;
        border-top: none;
        padding-top: 0;
    }

    .item-links-2 {
        grid-column: 2;
        grid-row: auto;
        border-top: none;
        padding-top: 0;
    }

    .item-phone {
        grid-column: 1 / -1;
        grid-row: auto;
        justify-self: center;
    }

    .item-address {
        grid-column: 1 / -1;
        grid-row: auto;
        justify-self: center;
    }

    .item-socials {
        grid-column: 1 / -1;
        grid-row: auto;
        justify-self: center;
    }

    .item-badges {
        grid-column: 1 / -1;
        grid-row: auto;
        justify-content: center;
        border-top: none;
        padding-top: 0;
    }

    .footer-top-item {
        flex-direction: column;
        gap: 4px;
        text-align: center;
    }
}

@media (max-width: 640px) {
    .footer-grid-container {
        grid-template-columns: 1fr 1fr;
        /* two columns for side-by-side links */
        gap: 24px;
    }

    /* Stacking and precise ordering on Mobile */
    .item-brand {
        grid-column: 1 / -1;
        order: 1;
    }

    /* Description (About Us) comes IMMEDIATELY under Brand name/logo */
    .item-desc {
        grid-column: 1 / -1;
        order: 2;
        padding: 0 8px;
    }

    /* Side-by-side links on mobile */
    .item-links-1 {
        grid-column: 1;
        order: 3;
    }

    .item-links-2 {
        grid-column: 2;
        order: 4;
    }

    /* Phone, Address, Socials & Badges stacked below */
    .item-phone {
        grid-column: 1 / -1;
        order: 5;
    }

    .item-address {
        grid-column: 1 / -1;
        order: 6;
    }

    .item-socials {
        grid-column: 1 / -1;
        order: 7;
    }

    .item-badges {
        grid-column: 1 / -1;
        order: 8;
        justify-content: center;
        margin-top: 8px;
    }

    .footer-menu-links li a:hover {
        padding-right: 0;
    }

    .badge-item {
        width: 80px;
        height: 80px;
    }

    .badge-item img {
        max-height: 46px;
    }
}