/* =====================================================
GLOBAL
===================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial,sans-serif;
}

body{
    min-height:100vh;
    overflow-x:hidden;
    color:#fff;

    background:linear-gradient(
        135deg,
        #8b2be2 0%,
        #ff1493 50%,
        #1e90ff 100%
    );

    background-size:cover;
    background-attachment:fixed;
}


/* =====================================================
COUNTDOWN
===================================================== */

#countdownBox{

    background:#001f72;
    color:#fff;

    border:3px solid yellow;
    border-radius:10px;

    padding:15px;
    margin:10px;

    text-align:center;

    font-size:32px;
    font-weight:bold;

    box-shadow:0 0 15px rgba(0,0,0,.4);

}


/* =====================================================
BANNER
===================================================== */

.banner{

    height:180px;

    margin:15px;

    display:flex;
    justify-content:center;
    align-items:center;

    border-radius:15px;

    border:3px solid rgba(255,80,80,.8);

    background:linear-gradient(
        135deg,
        #8b2be2,
        #ff1493,
        #1e90ff
    );

    box-shadow:0 5px 20px rgba(0,0,0,.4);

}

.banner h1{

    color:#fff;

    font-size:42px;
    font-weight:bold;

    text-align:center;

    text-shadow:0 0 10px #000;

}


/* =====================================================
GAME LIVE CONTAINER
===================================================== */

.gameLiveContainer{

    margin:15px;

    border-radius:20px;

    padding-bottom:20px;

    background:linear-gradient(
        180deg,
        rgba(0,0,0,.15),
        rgba(0,0,0,.08)
    );

    box-shadow:0 5px 20px rgba(0,0,0,.3);

}


/* =====================================================
GAME STATUS
===================================================== */

.liveStatus{

    margin:15px;

    padding:30px 15px;

    text-align:center;

    color:#fff;

    font-size:48px;
    font-weight:bold;

    border-radius:15px;

    background:linear-gradient(
        180deg,
        #c000c0,
        #9c009c
    );

    box-shadow:0 5px 25px rgba(0,0,0,.4);

}


/* =====================================================
LIVE NUMBER
===================================================== */

#liveGameSection{
    display:block;
}

/* =========================
LIVE NUMBER FIXED
========================= */

.liveNumberBox{

    position:fixed;

    top:20px;
    left:15px;

    width:60px;
    height:60px;

    border-radius:50%;

    background:#ffd700;
    color:#000;

    border:2px solid #000;

    display:flex;
    justify-content:center;
    align-items:center;

    box-shadow:0 4px 12px rgba(0,0,0,.5);

    z-index:9999;
}

.liveTitle{
    display:none;
}

#liveNumber{

   font-size:24px;
    font-weight:bold;
    color:#000;
}


/* =====================================================
NUMBER TABLE
===================================================== */

.numberTable{

    display:grid;
    grid-template-columns:repeat(10,55px);
    justify-content:center;
    gap:6px;

}


/* =====================================================
NUMBER BOX
===================================================== */

.numberBox{
    width:100%;
    aspect-ratio:1;

    display:flex;
    justify-content:center;
    align-items:center;

    border-radius:50%;

    background:#000;
    color:#fff;

    border:2px solid #ff1493;

    font-size:14px;   /* 18px se 14px */
    font-weight:bold;

    transition:.3s;
    box-shadow:0 2px 8px rgba(0,0,0,.4);
}


/* =====================================================
CALLED NUMBER
===================================================== */

.calledNumber{

    background:#fff !important;
    color:#000 !important;

    border-color:#fff;

    transform:scale(1.05);

    box-shadow:0 0 15px rgba(255,255,255,.7);

}


/* =====================================================
MOBILE
===================================================== */

@media(max-width:700px){

    #countdownBox{
        font-size:24px;
    }

    .banner{
        height:120px;
    }

    .banner h1{
        font-size:28px;
    }

  

    .liveNumberBox{

        width:50px;
        height:50px;

        top:15px;
        left:10px;
    }

    #liveNumber{
        font-size:20px;
    }

    .numberTable{

        gap:5px;

    }

    .numberBox{

        font-size:16px;

    }

}




/* =====================================================
SEARCH SECTION
===================================================== */

.searchContainer{

    width:100%;

    text-align:center;

    margin:25px 0;

}

#ticketSearch{

    width:85%;
    height:60px;

    border:none;
    outline:none;

    border-radius:10px;

    background:#f5f5f5;
    color:#555;

    font-size:20px;
    text-align:center;

    box-shadow:0 3px 10px rgba(0,0,0,.3);

}

.searchContainer button{

    width:60%;
    height:60px;

    margin-top:20px;

    border:none;
    border-radius:10px;

    background:red;
    color:#fff;

    font-size:22px;
    font-weight:bold;

    cursor:pointer;

    transition:.25s;

    box-shadow:0 4px 12px rgba(0,0,0,.3);

}

.searchContainer button:hover{

    transform:translateY(-2px);

}

.searchContainer button:active{

    transform:scale(.98);

}






/* =========================
CSS PART 3
TICKETS
========================= */

/* =========================
TICKET CONTAINER
========================= */

.ticketContainer{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:25px;
    padding:15px;
}

/* =========================
TICKET CARD
========================= */

.ticket{
    position:relative;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 8px 25px rgba(0,0,0,.35);
    transition:.3s;
}

.ticket:hover{
    transform:translateY(-4px);
}

/* =========================
HEADER
========================= */

.ticketHeader{
    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:15px;

    color:#fff;
    font-size:17px;
    font-weight:bold;

    background:linear-gradient(
        180deg,
        #003d99,
        #001f5c
    );

    border-bottom:3px solid #ff1493;
}

.ticketHeader span:last-child{
    background:#ff1493;
    padding:6px 12px;
    border-radius:20px;
    font-size:14px;
    box-shadow:0 3px 8px rgba(0,0,0,.3);
}

/* =========================
TICKET GRID
========================= */

.ticketGrid{
    display:grid;
    grid-template-columns:repeat(9,1fr);
    gap:2px;

    padding:5px;
    background:#e8edf3;
}

/* =========================
CELL
========================= */

.cell{
    height:48px;

    display:flex;
    justify-content:center;
    align-items:center;

    background:#fff;
    border:1px solid #ddd;

    color:#111;
    font-size:18px;
    font-weight:bold;

    transition:.2s;
}

/* EMPTY CELL */

.empty{
    background:#d9d9d9;
}

/* CALLED NUMBER */

.called{
    background:#ffe600;
    color:#000;
    font-weight:bold;
    box-shadow:inset 0 0 10px rgba(0,0,0,.2);
}

/* =========================
SEARCH RESULT
========================= */

#searchedTickets{
    display:grid;
    gap:20px;
}

#searchedTickets .ticket{
    position:relative;
}

.closeTicket{
    position:absolute;
    top:8px;
    right:8px;

    width:30px;
    height:30px;

    border:none;
    border-radius:50%;

    background:red;
    color:#fff;

    cursor:pointer;
    z-index:100;
}

/* =========================
MOBILE
========================= */

@media(max-width:700px){

    .ticketContainer{
        grid-template-columns:1fr;
        gap:20px;
        padding:10px;
    }

    .ticketHeader{
        font-size:15px;
    }

    .cell{
        height:40px;
        font-size:15px;
    }

}




/* =========================
CSS PART 4
SEARCH + DIVIDENT + HISTORY
========================= */



/* =========================
DIVIDENT
========================= */

.dividentTitle{
    text-align:center;
    color:#fff;

    font-size:34px;
    font-weight:bold;

    margin:25px 0 20px;

    text-shadow:0 3px 10px rgba(0,0,0,.5);
}

#dividentContainer{
    padding:0 15px 20px;
}

.dividentItem{

    background:linear-gradient(
        180deg,
        #0d1b8f,
        #07105e
    );

    border:2px solid #ff3d3d;
    border-radius:15px;

    color:#fff;

    padding:18px;
    margin-bottom:18px;

    text-align:center;

    font-size:20px;
    font-weight:bold;

    box-shadow:0 6px 18px rgba(0,0,0,.4);

    transition:.3s;
}

.dividentItem:hover{
    transform:translateY(-3px);
}

.dividentItem br{
    line-height:2;
}


/* =========================
VIEW BUTTON
========================= */

.viewBtn{

    width:75px;
    height:32px;

    margin-top:15px;

    border:none;
    border-radius:10px;

    background:#ff1493;
    color:#fff;

    font-size:13px;
    font-weight:bold;

    cursor:pointer;

    box-shadow:0 4px 12px rgba(0,0,0,.4);
}

.viewBtn:hover{
    transform:scale(1.03);
}


/* =========================
WINNER TICKET
========================= */

.winnerTicketBox{
    margin-top:15px;
}

.closeWinner{

    position:absolute;
    top:8px;
    right:8px;

    width:30px;
    height:30px;

    border:none;
    border-radius:50%;

    background:red;
    color:#fff;

    font-size:20px;
    font-weight:bold;

    cursor:pointer;

    z-index:999;
}


/* =========================
CALL HISTORY
========================= */

.called-history{
    width:95%;
    margin:25px auto;
    text-align:center;
}

.historyTitle{
    font-size:36px;
    color:#fff;
    margin-bottom:20px;
    text-shadow:2px 2px 5px #000;
}

#historyGrid{
    display:grid;
    grid-template-columns:repeat(10,55px);
    justify-content:center;
    gap:6px;
}

.historyBox{

    width:55px;
    height:55px;

    display:flex;
    justify-content:center;
    align-items:center;

    background:#111;
    color:#ffd700;

    border:2px solid #ff007f;
    border-radius:50%;

    font-size:14px;
    font-weight:bold;

    box-shadow:0 0 10px rgba(255,0,127,.5);
}

/* =========================
UTILITY
========================= */

.hidden{
    display:none !important;
}


/* =========================
MOBILE
========================= */

@media(max-width:700px){

   #ticketSearch{

        width:75%;
        height:45px;

        font-size:16px;

    }

    .searchContainer button{

        width:75px;
        height:32px;

        font-size:13px;

        margin-top:15px;
        border-radius:10px;
    }

    .dividentTitle{
        font-size:28px;
    }

    .dividentItem{
        font-size:15px;
        padding:15px;
    }

    #historyGrid{
        gap:4px;
    }

    .historyBox{
        font-size:12px;
        border-width:1px;
        color:#ffd700;
    }

   .liveStatus{
    width:90%;
    margin:10px auto;
    font-size:20px;
    padding:15px 10px;
    border-radius:12px;
}
}




@media(max-width:700px){

    .searchContainer{
        display:flex;
        flex-direction:column;
        align-items:center;
    }

    #ticketSearch{
        width:75%;
    }

    .searchContainer button{
        display:block;
        margin-top:10px;
    }

}





/* =========================
FINAL HISTORY SIZE MATCH NUMBER BOX
========================= */

@media(max-width:700px){

    #numberTable,
    #historyGrid{

        display:grid;
        grid-template-columns:repeat(10,32px);
        justify-content:center;
        gap:4px;
        padding:0;

    }


    #numberTable .numberBox,
    #historyGrid .historyBox{

        width:32px;
        height:32px;

        aspect-ratio:auto;

        display:flex;
        justify-content:center;
        align-items:center;

        border-radius:50%;

        font-size:11px;

    }

}








@media (max-width:700px){
    
    #searchedTickets{
    gap:5px;
}

    /* Search Ticket */
    #searchedTickets .ticket,

    /* Winner Ticket */
    [id^="winnerBox"] .ticket{

        width:90%;
        margin:4px auto;
    }

    #searchedTickets .ticketHeader,
    [id^="winnerBox"] .ticketHeader{

        padding:10px;
        font-size:13px;
    }

    #searchedTickets .ticketHeader span:last-child,
    [id^="winnerBox"] .ticketHeader span:last-child{

        padding:4px 8px;
        font-size:11px;
    }

    #searchedTickets .cell,
    [id^="winnerBox"] .cell{

        height:30px;
        font-size:12px;
    }

}


.topHeading{
    width:100%;
    text-align:center;
    font-size:42px;
    font-weight:bold;
    color:#ffd700;
    text-shadow:
        2px 2px 6px rgba(0,0,0,0.6);
    margin:15px 0;
    letter-spacing:3px;
}
@media (max-width:768px){
    .topHeading{
        font-size:26px;
        letter-spacing:2px;
        margin:10px 0;
    }
}