/* =========================================================
   GROUP ONE — "Thông tin về CVĐC"
   Desktop (>991px) : tiêu đề trái + bản đồ phải (cùng 1 hàng grid)
   Mobile  (<=991px): 1 cột xếp dọc — Tiêu đề / Bản đồ / Badge / Nội dung
   Không còn lớp chồng nhau, ảnh không bị méo, không tràn ngang.
   ========================================================= */

#group-one {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 160px 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    -webkit-text-size-adjust: 100%;
    background-image: linear-gradient(to left bottom, #e1dede, #e6e4e5, #eceaeb, #f1f1f1, #f7f7f7, #f7f7f7, #f7f7f7, #f7f7f7, #f1f1f1, #eceaeb, #e6e4e5, #e1dede);
    overflow: hidden !important;
}

#group-one .text.title {
    display: none !important;
}

/* ---------------- TIÊU ĐỀ ---------------- */
#group-one .text.text-1 {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    align-self: end !important;
    display: block !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 550px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 20px 55px 60px !important;
    text-align: left !important;
}

#group-one .text.text-1 .text-above {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #333333 !important;
    text-transform: uppercase !important;
    text-align: left !important;
}

#group-one .text.text-1 .text-above h3.title {
    display: block !important;
    width: 100% !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    line-height: 1.4 !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    text-transform: uppercase !important;
    text-align: left !important;
}

#group-one .text.text-1 .text-above .clear {
    display: none !important;
}

#group-one .text.text-1 .text-above #page-bodyhtml {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#group-one .text.text-1 .text-above #page-bodyhtml h1 {
    display: block !important;
    width: 100% !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #333333 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    text-transform: uppercase !important;
}

/* ---------------- BẢN ĐỒ + ĐIỂM NHẤP NHÁY ---------------- */
#group-one .ban-do-binh-duong {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    display: block !important;
    position: relative !important;
    width: fit-content !important;
    max-width: 663px !important;
    height: auto !important;
    margin: 15px 80px 15px auto !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    z-index: 1 !important;
}

#group-one .ban-do-binh-duong div {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 0 !important;
}

#group-one .ban-do-binh-duong div img {
    display: block !important;
    float: none !important;
    width: 663px !important;
    max-width: 100% !important;
    height: auto !important; /* quan trọng: bỏ height:100% inline gây méo ảnh */
    margin: 0 auto !important;
    padding: 0 !important;
}

#group-one .ban-do-binh-duong .g-position,
#group-one .ban-do-binh-duong .g-point1,
#group-one .ban-do-binh-duong .g-point2,
#group-one .ban-do-binh-duong .g-point3 {
    display: block !important;
    position: absolute !important;
    top: 44% !important;
    left: 48.5% !important;
    right: auto !important;
    width: 10px !important;
    max-width: 10px !important;
    min-width: 10px !important;
    height: 10px !important;
    min-height: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    transform: translate(-50%, -50%) !important;
    box-shadow: 0 0 12px #33cc33, 0 0 12px #33cc33 !important;
    z-index: 10 !important;
    pointer-events: none !important;
}

#group-one .ban-do-binh-duong .g-position {
    background: #33cc33 !important;
}

#group-one .ban-do-binh-duong .g-point1,
#group-one .ban-do-binh-duong .g-point2,
#group-one .ban-do-binh-duong .g-point3 {
    background: none !important;
}

#group-one .ban-do-binh-duong .g-point1 {
    animation: pup 2.25s infinite 0.25s !important;
}

#group-one .ban-do-binh-duong .g-point2 {
    animation: pup 2.25s infinite 1s !important;
}

#group-one .ban-do-binh-duong .g-point3 {
    animation: pup 2.25s infinite 1.75s !important;
}

@keyframes pup {
    0%   { transform: translate(-50%, -50%) scale(1);  opacity: 1; }
    100% { transform: translate(-50%, -50%) scale(14); opacity: 0; }
}

/* keyframe riêng cho mobile: vòng lan nhỏ hơn, không lem xanh */
@keyframes pup-sm {
    0%   { transform: translate(-50%, -50%) scale(1); opacity: 1; }
    100% { transform: translate(-50%, -50%) scale(8); opacity: 0; }
}

/* ---------------- NỘI DUNG ---------------- */
#group-one .group-one-bottom {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 35px 60px 35px 28% !important;
    background-image: linear-gradient(to right bottom, #e1dede, #e6e4e5, #eceaeb, #f1f1f1, #f7f7f7, #f7f7f7, #f7f7f7, #f7f7f7, #f1f1f1, #eceaeb, #e6e4e5, #e1dede) !important;
    border-top: 6px solid #ffffff !important;
}

#group-one .group-one-bottom > div {
    display: block !important;
    width: 100% !important;
    max-width: 780px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#group-one .group-one-bottom > div > p {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: justify !important;
}

#group-one .group-one-bottom > div > p > span {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    font-weight: 600 !important;
    color: #555555 !important;
    text-align: justify !important;
    text-justify: inter-word;
}

#group-one .group-one-bottom > div > div {
    display: none !important;
}

/* ---------------- BADGE BỘ ĐỘI ---------------- */
#group-one .line-third {
    grid-column: 1 !important;
    grid-row: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 125px !important;
    max-width: 125px !important;
    height: 232px !important;
    margin: 6px 0 0 10px !important;
    padding: 0 !important;
    background-image: linear-gradient(to bottom, rgba(0, 100, 0, 1), rgba(255, 255, 255, 0)) !important;
    z-index: 2 !important;
}

#group-one .line-third img.bo-doi {
    display: block !important;
    position: static !important;
    width: 65px !important;
    max-width: 65px !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ---------------- DESKTOP HẸP 992–1199px: chống đè chữ lên bản đồ ---------------- */
@media (min-width: 992px) and (max-width: 1199px) {
    #group-one .text.text-1 {
        max-width: 48% !important;
        padding-left: 40px !important;
    }

    #group-one .ban-do-binh-duong {
        width: 50% !important;
        max-width: 50% !important;
        margin-right: 40px !important;
    }

    #group-one .ban-do-binh-duong div img {
        width: 100% !important;
        height: auto !important;
    }

    #group-one .group-one-bottom {
        padding-left: 40px !important;
    }

    #group-one .line-third {
        margin-left: 0 !important;
    }
}

/* =========================================================
   TABLET / MOBILE  <= 991px  — 1 CỘT, XẾP DỌC
   Hàng 1: tiêu đề | Hàng 2: bản đồ | Hàng 3: badge | Hàng 4: nội dung
   ========================================================= */
@media (max-width: 991px) {
    #group-one {
        grid-template-columns: 1fr !important;
    }

    /* Hàng 1 — tiêu đề căn giữa */
    #group-one .text.text-1 {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        align-self: start !important;
        width: 100% !important;
        max-width: 640px !important;
        margin: 0 auto !important;
        padding: 32px 24px 6px !important;
        text-align: center !important;
    }

    #group-one .text.text-1 .text-above,
    #group-one .text.text-1 .text-above h3.title,
    #group-one .text.text-1 .text-above #page-bodyhtml,
    #group-one .text.text-1 .text-above #page-bodyhtml h1 {
        text-align: center !important;
    }

    #group-one .text.text-1 .text-above h3.title {
        font-size: clamp(19px, 4.4vw, 22px) !important;
        line-height: 1.35 !important;
        margin: 0 0 10px 0 !important;
    }

    #group-one .text.text-1 .text-above #page-bodyhtml h1 {
        font-size: clamp(14px, 3.6vw, 17px) !important;
        line-height: 1.5 !important;
    }

    /* Hàng 2 — bản đồ: co giãn theo bề ngang, giữ đúng tỉ lệ */
    #group-one .ban-do-binh-duong {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        width: calc(100% - 40px) !important;
        max-width: 620px !important;
        margin: 12px auto 8px !important;
        padding: 0 !important;
    }

    #group-one .ban-do-binh-duong div,
    #group-one .ban-do-binh-duong div img {
        width: 100% !important;
        max-width: 100% !important;
    }

    #group-one .ban-do-binh-duong div img {
        height: auto !important;
        filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.10));
    }

    /* điểm nhấp nháy: nhỏ lại + vòng lan gọn hơn */
    #group-one .ban-do-binh-duong .g-position,
    #group-one .ban-do-binh-duong .g-point1,
    #group-one .ban-do-binh-duong .g-point2,
    #group-one .ban-do-binh-duong .g-point3 {
        width: 9px !important;
        max-width: 9px !important;
        min-width: 9px !important;
        height: 9px !important;
        min-height: 9px !important;
        box-shadow: 0 0 8px #33cc33, 0 0 8px #33cc33 !important;
    }

    #group-one .ban-do-binh-duong .g-point1 {
        animation: pup-sm 2.25s infinite 0.25s !important;
    }

    #group-one .ban-do-binh-duong .g-point2 {
        animation: pup-sm 2.25s infinite 1s !important;
    }

    #group-one .ban-do-binh-duong .g-point3 {
        animation: pup-sm 2.25s infinite 1.75s !important;
    }

    /* Hàng 3 — badge bộ đội: hình tròn căn giữa, KHÔNG đè chữ */
    #group-one .line-third {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        width: 92px !important;
        max-width: 92px !important;
        height: 92px !important;
        margin: 4px auto 14px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        background: radial-gradient(circle at 50% 36%, #0d7a0d 0%, #056005 55%, #03460b 100%) !important;
        box-shadow: 0 10px 22px rgba(4, 84, 12, 0.26) !important;
        overflow: hidden !important;
    }

    #group-one .line-third img.bo-doi {
        width: 48px !important;
        max-width: 48px !important;
        height: auto !important;
    }

    /* Hàng 4 — nội dung: full width, bỏ padding-left 145px cũ */
    #group-one .group-one-bottom {
        grid-column: 1 / -1 !important;
        grid-row: 4 !important;
        width: 100% !important;
        max-width: 720px !important;
        margin: 0 auto !important;
        padding: 0 24px 34px !important;
        background: transparent !important;
        background-image: none !important;
        border-top: 0 !important;
    }

    #group-one .group-one-bottom > div {
        max-width: 100% !important;
    }

    #group-one .group-one-bottom > div > p > span {
        font-size: 15.5px !important;
        line-height: 1.78 !important;
        font-weight: 500 !important;
        color: #4a4a4a !important;
        text-align: justify !important;
        text-justify: inter-word;
    }
}

/* =========================================================
   MOBILE  <= 640px
   ========================================================= */
@media (max-width: 640px) {
    #group-one .text.text-1 {
        padding: 24px 16px 4px !important;
    }

    #group-one .text.text-1 .text-above h3.title {
        font-size: 18px !important;
        line-height: 1.35 !important;
        letter-spacing: 0.2px !important;
        margin: 0 0 8px 0 !important;
    }

    #group-one .text.text-1 .text-above #page-bodyhtml h1 {
        font-size: 14px !important;
        line-height: 1.5 !important;
        font-weight: 500 !important;
    }

    #group-one .ban-do-binh-duong {
        width: calc(100% - 24px) !important;
        max-width: 100% !important;
        margin: 10px auto 6px !important;
    }

    #group-one .ban-do-binh-duong .g-position,
    #group-one .ban-do-binh-duong .g-point1,
    #group-one .ban-do-binh-duong .g-point2,
    #group-one .ban-do-binh-duong .g-point3 {
        width: 8px !important;
        max-width: 8px !important;
        min-width: 8px !important;
        height: 8px !important;
        min-height: 8px !important;
        box-shadow: 0 0 6px #33cc33, 0 0 6px #33cc33 !important;
    }

    #group-one .line-third {
        width: 76px !important;
        max-width: 76px !important;
        height: 76px !important;
        margin: 8px auto 12px !important;
    }

    #group-one .line-third img.bo-doi {
        width: 40px !important;
        max-width: 40px !important;
    }

    #group-one .group-one-bottom {
        padding: 0 16px 28px !important;
    }

    #group-one .group-one-bottom > div > p > span {
        font-size: 14.5px !important;
        line-height: 1.72 !important;
        font-weight: 400 !important;
        color: #4a4a4a !important;
        text-align: justify !important;
        text-justify: inter-word;
    }
}

/* =========================================================
   Người dùng tắt hiệu ứng chuyển động: ẩn vòng lan, giữ điểm xanh
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
    #group-one .ban-do-binh-duong .g-point1,
    #group-one .ban-do-binh-duong .g-point2,
    #group-one .ban-do-binh-duong .g-point3 {
        display: none !important;
        animation: none !important;
    }
}