.prology-banner {
    width: 100%;
}

/* Khung slider giữ đúng tỉ lệ của ảnh banner (1920x550 và 1510x427, đều ~3.5:1)
   ở MỌI bề rộng màn hình.

   Trước đây mobile ép `aspect-ratio: 2 / 1` rồi `object-fit: cover`: khung 2:1
   cao hơn ảnh 3.5:1 rất nhiều, nên trình duyệt phóng ảnh theo chiều cao cho phủ
   kín khung và cắt mất ~43% bề ngang — ở màn 390px ảnh bị zoom thành 682px rộng,
   mất gần nửa nội dung banner. Dùng một tỉ lệ duy nhất + `contain` thì ảnh luôn
   hiện đủ, không còn cắt xén.

   LƯU Ý khi thêm banner mới: ảnh phải xấp xỉ 3.5:1. Lệch nhiều sẽ sinh dải trống
   hai bên (do `contain`) chứ không bị cắt — đổi tỉ lệ ở đây nếu bộ ảnh đổi chuẩn. */
.prology-banner .slider {
    width: 100%;
    aspect-ratio: 3.5 / 1;
    max-width: 100vw;
    margin: auto;
    position: relative;
    overflow: hidden;
}

.prology-banner .slider .list {
    position: absolute;
    width: max-content;
    height: 100%;
    left: 0;
    top: 0;
    display: flex;
    transition: 1s;
}

.prology-banner .slider .list img {
    width: 100%;
    max-width: 100vw;
    height: 100%;
    object-fit: cover;
}

.prology-banner .slider .buttons {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
}

.prology-banner .slider .buttons button {
    display: flex;
    align-items: center;
    width: 50px;
    height: 100%;
    background-color: transparent;
    color: rgba(209, 213, 219, 0.8);
    border: none;
    font-family: inherit;
    pointer-events: all;
    transition: all ease-in-out 0.2s;
}

.prology-banner .slider .buttons button:hover {
    background-color: rgba(255, 255, 255, 0.6);
}

.prology-banner .slider .dots {
    position: absolute;
    bottom: 10px;
    left: 0;
    color: #fff;
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
}

.prology-banner .slider .dots li {
    list-style: none;
    width: 12px;
    height: 12px;
    background-color: #fff;
    margin: 10px;
    border-radius: 50%;
    transition: 0.5s;
    border: 2px solid transparent;
    cursor: pointer;
}

.prology-banner .slider .dots li.active {
    /* width: 30px; */
    background-color: #0073e6;
    border-color: rgba(255, 255, 255, 1);
}

/* Hai rule cho màn ≥769px trước đây (aspect-ratio 3.5/1 + object-fit contain)
   nay đã là mặc định cho mọi bề rộng, nên media query đó bỏ đi. */

@media only screen and (max-width: 768px) {
    /* Banner theo tỉ lệ 3.5:1 nên trên điện thoại nó chỉ cao ~111px (màn 390px).
       Cụm dot cũ chiếm 32px — gần một phần ba chiều cao và che mất nội dung
       banner. Thu nhỏ lại cho vừa khung. */
    .prology-banner .slider .dots {
        bottom: 4px;
    }

    .prology-banner .slider .dots li {
        width: 7px;
        height: 7px;
        margin: 4px;
        border-width: 1px;
    }

    /* Nút prev/next cũng hẹp lại — 50px trên màn 390px là ăn mất 1/4 bề ngang
       mỗi bên, bấm nhầm khi người dùng định chạm vào banner. */
    .prology-banner .slider .buttons button {
        width: 32px;
    }
}