#rotate-warning {
    position: fixed;
    inset: 0;
    background-image: url('/img/AppBackgroundEmpty.png'); /* Replace with your image path */
    background-size: cover; /* Ensures the image fills the container */
    background-position:bottom center; /* Center the image */
    background-repeat: no-repeat; /* Prevent tiling */
    z-index: 99999;

    display: none;
    justify-content: center;
    align-items: center;
}

.rotate-content {
    text-align: center;
    color: white;
    animation: fadeIn 0.4s ease;
}

.rotate-icon {
    font-size: 15vw;
    animation: rotatePhone 1.5s ease-in-out infinite;
}

.rotate-text {
    margin-top: 16px;
    font-size: 4.5vw;
    font-weight: 600;
}

/* Animation */
@keyframes rotatePhone {
    0%   { transform: rotate(0deg); }
    50%  { transform: rotate(90deg); }
    100% { transform: rotate(0deg); }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}



.imageSwiper {
    width: 100vw;
    max-height: 100vh;
}

.imageSwiper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

.imageSwiperArrow {
    opacity: 0;
    color: white;
    width: 0.5vw !important;
    height: 1vw !important;
}

.imageSwiper img {
    width: 95vw;
    height: auto;
    max-height: 100vh;
    display: block;          /* tránh khoảng trắng dưới img */
    object-fit: contain;
}

.swiper-pagination-bullet {
    background: #fff;
    opacity: .6;
    width: 2vh;
    height: 2vh;
}
.swiper-pagination{
    margin-bottom: 1vh;
}

/* ICON TOP CENTER */
.arrow-down {
    position: absolute;
    top: -1.5vh;
    left: 50%;
    transform: translateX(-50%);

    background-image: url('/img/IconArrowDown.png'); /* Replace with your image path */
    background-size: cover; /* Ensures the image fills the container */
    background-position:bottom center; /* Center the image */
    background-repeat: no-repeat; /* Prevent tiling */

    width: 5vh; /* chỉnh theo ảnh */
    height: 5vh;
    z-index: 4000;
    animation: blink 1.2s ease-in-out infinite;
}

/* BLINK ANIMATION */
@keyframes blink {
    0%   { opacity: 1; }
    40%  { opacity: 0.2; }
    60%  { opacity: 0.2; }
    100% { opacity: 1; }
}

.swiper-pagination-bullet-active {
    opacity: 1;
    width: 2vh;
    height: 2vh;
}

.autoplay-progress {
    position: absolute;
    right: 16px;
    bottom: 16px;
    z-index: 10;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: white;
}

.autoplay-progress svg {
    --progress: 0;
    position: absolute;
    left: 0;
    top: 0px;
    z-index: 10;
    width: 100%;
    height: 100%;
    stroke-width: 4px;
    stroke: white;
    fill: none;
    stroke-dashoffset: calc(125.6px * (1 - var(--progress)));
    stroke-dasharray: 125.6;
    transform: rotate(-90deg);
}


@font-face {
    font-family: 'SVN-Poppins-Bold';
    src:
            url('/font/SVN-Poppins-Bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'SVN-Poppins-SemiBold';
    src:
            url('/font/SVN-Poppins-SemiBold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}


.ocean {
    height: 50vh;
    width: 100vw;
    position: absolute;
    bottom: 0;
    left: 0;
}

.wave-bg {
    height: 50vh;
    background: url('/img/AppBackgroundTopEffectLoop.png') repeat-x;
    background-size: 200vw 50vh;
    animation: waveMove 15s linear infinite,
    waveFloat 4s ease-in-out infinite;
    will-change: transform, background-position;
}

@keyframes waveMove {
    from { background-position-x: 0; }
    to { background-position-x: -200vw; }
}

@keyframes waveFloat {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(3vh); }
    100% { transform: translateY(0); }
}

html, body {
    margin: 0;
    padding: 0;
    min-height: 100%;
    touch-action: none; /* 🔥 CỰC QUAN TRỌNG */
}

body {
    font-family: 'SVN-Poppins-Bold', 'SVN-Poppins-SemiBold', sans-serif;
    margin: 0;
    padding: 0;
    width: 100vw;
    min-height: 100vh;
    background-image: url('/img/AppBackgroundEmpty.png'); /* Replace with your image path */
    background-size: cover; /* Ensures the image fills the container */
    background-position:bottom center; /* Center the image */
    background-repeat: no-repeat; /* Prevent tiling */
}

.main {
    width:100vw;
    position: absolute;
    top: 0px;
}

.containerCustom {
    width:100vw;
}

.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.header h1 {
    font-size: 24px;
    color: #4B1606;
}

.header button {
    background-color: #4a90e2;
    color: #E3C766;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
}

.search-bar {
    display: flex;
    justify-content: flex-start;
    /* margin-bottom: 20px; */
}

.search-bar input {
    padding: 10px;
    border: 1px solid #E3C766;
    border-radius: 5px;
    width: 200px;
}

.search-bar button {
    padding: 10px;
    border: 1px solid #E3C766;
    border-radius: 5px;
    width: 80px;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 15px;
    text-align: left;
    border-bottom: 1px solid #E3C766;
}

th {
    background-color: #ffffc8;
    color: #4b1606;
}

td img {
    border-radius: 20%;
    width: 50px;
    height: 50px;
}

.actions button {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 5px 10px;
    border-radius: 5px;
    cursor: pointer;
    margin-right: 5px;
}

.actions .edit {
    color: #4a90e2;
}

.actions .delete {
    color: #e74c3c;
}

.view.view--open {
    pointer-events: auto;
    opacity: 1;
}

.overlay__path {
    fill: #fff;   /* trắng */
}

.overlay {
    grid-area: 1/1/2/2;
    position: absolute;
    z-index: 1000;
    pointer-events: none;
    width: 100vw;
    height: 100vh;
}

.overlay svg path {
    fill: white;
}

.logo-image {

    display: flex;
    align-items: center;
    justify-content: center;
}

.view-image {
    grid-area: 1/1/2/2;
    position: absolute;
    z-index: 500;
    pointer-events: none;
    width: 100vw;
    height: 100vh;
    opacity: 0;
    background-image: url('/img/AppBackgroundEmpty.png'); /* Replace with your image path */
    background-size: cover; /* Ensures the image fills the container */
    background-position:bottom center; /* Center the image */
    background-repeat: no-repeat; /* Prevent tiling */

    display: flex;
    align-items: center;
    justify-content: center;
}

.view-image img {
    width: 95vw;
    height: auto;
    max-height: 100vh   ;
    display: block; /* tránh khoảng trắng dưới img */
    object-fit: contain;
}

.button--close {
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.button--close.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}