/* ==========================================================================
   SECTION: INFO BOX GRID / CONTACT SECTION - BEM STANDARD
   Path: carbon-block/templates/sections/info-box-grid/style.css
   Sử dụng toàn bộ Design Tokens từ carbon-block/assets/css/global.css
   ========================================================================== */

/* 1. ÉP SECTION TRÀN VIỀN MÀN HÌNH (BREAKOUT FULLWIDTH ĐA THEME) */
.lui-scope {
    width: 100%;
    position: relative;
    box-sizing: border-box;
}

.lui-scope .crb-block-fullwidth.info-box-grid,
.info-box-grid.crb-block-fullwidth,
.info-box-grid {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding-top: 55px !important;
    padding-bottom: 60px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    background-color: var(--color-surface, #F7F2EE);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-sizing: border-box !important;
    overflow: hidden !important;
    clear: both !important;
}


.info-box-grid__container {
    max-width: var(--container-max-w, 1200px) !important;
    margin: 0 auto !important;
    padding-left: var(--container-pad-x, 15px) !important;
    padding-right: var(--container-pad-x, 15px) !important;
    box-sizing: border-box !important;
}

/* 2. TIÊU ĐỀ TRANG CĂN GIỮA */
.info-box-grid__header {
    text-align: center !important;
    margin-bottom: 45px !important;
}

.info-box-grid__main-title {
    font-family: var(--ff-h2, var(--font-heading)) !important;
    font-size: var(--fs-h2) !important;
    font-weight: var(--fw-h2) !important;
    line-height: var(--lh-h2) !important;
    color: var(--text-title) !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

/* 3. BỐ CỤC 2 CỘT TỐI GIẢN */
.info-box-grid__row {
    display: flex !important;
    gap: 48px !important;
    align-items: flex-start !important;
}

.info-box-grid__col-left {
    flex: 0 0 calc(50% - 24px) !important;
    max-width: calc(50% - 24px) !important;
    display: flex !important;
    flex-direction: column !important;
}

.info-box-grid__col-right {
    flex: 0 0 calc(50% - 24px) !important;
    max-width: calc(50% - 24px) !important;
    display: flex !important;
    flex-direction: column !important;
}

/* 4. TIÊU ĐỀ NHÓM THÔNG TIN */
.info-box-grid__group-title {
    font-family: var(--ff-h4, var(--font-body)) !important;
    font-size: var(--fs-h4) !important;
    font-weight: var(--fw-h4) !important;
    line-height: var(--lh-h4) !important;
    color: var(--text-title) !important;
    margin-top: 0 !important;
    margin-bottom: var(--space-heading-bottom, 12px) !important;
}

/* 5. KHỐI NỘI DUNG VĂN BẢN TRONG CỘT TRÁI */
.info-box-grid__group {
    margin-bottom: 30px !important;
}

.info-box-grid__group:last-child {
    margin-bottom: 0 !important;
}

.info-box-grid__group-content p,
.info-box-grid__group-content .info-line {
    font-family: var(--ff-body, var(--font-body)) !important;
    font-size: var(--fs-body-s) !important;
    font-weight: var(--fw-body-s) !important;
    color: var(--text-primary) !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    line-height: var(--lh-body-s, 1.6) !important;
}

.info-box-grid__group-content .info-label {
    color: var(--text-title) !important;
    font-weight: 600 !important;
}

.info-box-grid__group-content p:last-child,
.info-box-grid__group-content .info-line:last-child {
    margin-bottom: 0 !important;
}

.info-box-grid__group-content a {
    color: inherit !important;
    text-decoration: none !important;
    transition: var(--transition-base, all 0.3s ease) !important;
}

.info-box-grid__group-content a:hover {
    color: var(--color-accent) !important;
}

/* 6. HÀNG ICON MẠNG XÃ HỘI */
.info-box-grid__social-row {
    display: flex !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin-top: 6px !important;
}

.info-box-grid__social-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    transition: var(--transition-base, all 0.3s ease) !important;
}

.info-box-grid__social-img {
    width: 36px !important;
    height: 36px !important;
    object-fit: contain !important;
    display: block !important;
    transition: transform 0.3s ease, opacity 0.3s ease !important;
}

.info-box-grid__social-fallback {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--color-primary-second, #456967);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
}

.info-box-grid__social-link:hover .info-box-grid__social-img,
.info-box-grid__social-link:hover .info-box-grid__social-fallback {
    transform: translateY(-3px) scale(1.08) !important;
    opacity: 0.9 !important;
}

/* 7. KHUNG BẢN ĐỒ MAPS CỘT PHẢI */
.info-box-grid__map-container {
    width: 100% !important;
    height: clamp(300px, 28vw, 380px) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
    background-color: #e5e3df;
}

.info-box-grid__map-container iframe {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
}

/* ==========================================================================
   8. RESPONSIVE TABLET & MOBILE
   ========================================================================== */
@media screen and (max-width: 1024px) {
    .lui-scope .crb-block-fullwidth.info-box-grid,
    .info-box-grid.crb-block-fullwidth,
    .info-box-grid {
        width: 100vw !important;
        max-width: 100vw !important;
        left: 50% !important;
        right: 50% !important;
        margin-left: -50vw !important;
        margin-right: -50vw !important;
        padding-top: 45px !important;
        padding-bottom: 45px !important;
    }

    .info-box-grid__row {
        gap: 28px !important;
    }

    .info-box-grid__col-left,
    .info-box-grid__col-right {
        flex: 0 0 calc(50% - 14px) !important;
        max-width: calc(50% - 14px) !important;
    }
}

@media screen and (max-width: 767px) {
    .lui-scope .crb-block-fullwidth.info-box-grid,
    .info-box-grid.crb-block-fullwidth,
    .info-box-grid {
        width: 100vw !important;
        max-width: 100vw !important;
        left: 50% !important;
        right: 50% !important;
        margin-left: -50vw !important;
        margin-right: -50vw !important;
        padding-top: 35px !important;
        padding-bottom: 40px !important;
    }

    .info-box-grid__header {
        margin-bottom: 25px !important;
    }

    .info-box-grid__row {
        flex-direction: column !important;
        gap: 30px !important;
    }

    .info-box-grid__col-left,
    .info-box-grid__col-right {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .info-box-grid__map-container {
        height: 280px !important;
    }
}
