/* General */
body {
    font-family: 'Satisfy', cursive;
    color: #458a45;
    background-color: black;
}

h1 {
    font-size: 56pt;
}

button:disabled {
    opacity: 0.7;
}

/* Main Menu */
#main-menu button {
    font-family: 'Satisfy', cursive;
    font-size: 270%;
    padding: 15px;
    text-align: center;
    border: none;
    background-color: #5c2b15;
    color: white;
    border-radius: 8px;
    margin: 0 10px;

    width: 200px;
}
#main-menu button:hover {
    background-color: #458a45;
}
#main-menu button:disabled {
    opacity: 0.7;
}

#blurback {
    background-color: white;

    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    
    background-image: url(Assets/Backgrounds/Main-Menu-BKG.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    
    display: flex;
    
    filter: blur(1rem);
    z-index: -1;
}

/* Settings Menu */
#settingsmenu {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    text-align: center;

    display: none;
    flex-direction: column;
    z-index: 8;

    border: solid white 2px;;
    border-radius: 8px;
    padding: 20px;

    background-color: #36130D;
    color: white;
}
#settingsmenu form {
    font-size: 125%;
}
#settingsmenu button {
    border: solid white 2px;
    border-radius: 8px;

    background-color: #024621;

    font-family: 'Satisfy', cursive;
    color: white;
}

/* Front Counter Cafe Gameplay */
#cafe {
    background-color: white;

    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    
    background-image: url(Assets/Backgrounds/Background.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    
    display: none; /* Original Flex */
}

#counter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    
    background-image: url(Assets/Props/Counter.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

#options {
    z-index: 2;
    text-align: center;

    width: 70vw;
    max-height: 50%;
    
    display: flex;
    justify-content: center;
    gap: 5%;

    position: absolute;
    bottom: clamp(10vh, 18%, 20vh);
}

/* Dialogue Box Styling */
#dialogue {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 25vh;

    color: white;
    z-index: 2;
    text-align: center;

    display: none;
    flex-direction: column;
}

#custoname {
    background-color: purple;
    height: 25%;
    width: 20%;
    border-radius: 4px;

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

    font-size: clamp(16px, 2vw, 24px);
}

#text {
    background-color: pink;
    height:75%;

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

    font-size: clamp(14px, 1.5vw, 20px);
}

#textprogress {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;

    bottom: 1vw;
    right: 1vw;

    border-radius: 8px;
    background-color: white;
    border: none;

    font-size: clamp(14px, 1.5vw, 20px);
    padding: clamp(0.5em, 1vw, 1.5em);
}

/* POS System */
#pos {
    position: absolute;
    top: 5%;
    left: 50%;
    display: none; /* Flex default */

    transform: translateX(-50%);
    width: 70vw;
    height: 68vh;
    overflow-y: visible;

    border: solid white 2px;
    z-index: 3;

    background-color: #BBF2E6;
}
#posoptions {
    flex: 2;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 0.5rem;

    padding: 1rem;
}
#posoptions button {
    border: solid white 2px;
    border-radius: 4px;

    font-family: 'Satisfy', cursive;
    font-size: clamp(20%, 5vh, 200%);

    color: white;
}
#posoptions button:hover {
    filter: brightness(1.2);
    transition: filter 0.2s ease;
}
#posbases {
    background-color: #FE65CB;
}
#posflavor {
    background-color: #42A9AF;
}
#posaddin {
    background-color: #FFEA00;
}
#postopping {
    background-color: #59932B;
}

#ticket {
    flex: 1;
    display: flex;

    background-color: white;
    border: solid #92f3de 2px;

    flex-direction: column;
    justify-content: flex-start;
    gap: 0.5rem;
    overflow-y: auto;

    padding: 2rem;
    margin: 0.5rem;

    color: #2c194a;
}
#ticket h2 {
    text-align: center;
}
#ticket ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
#ticket ul li {
    position: relative;
    padding-left: 1em;
    font-family: 'Shadows Into Light', cursive;
    font-size: clamp(14px, 1.5vw, 20px);
}
#ticket ul li::before {
    content: "-";
    position: absolute;
    left: 0;
    color: #2c194a;
}

#ticketselect {
    display: none;
    flex-direction: column;
    flex: 2;
    justify-content: center;
    align-items: center;

    padding: 1rem;
    margin: 0.5rem;

    border-radius: 8px;
    background-color: white;

    overflow-y: auto;
    max-height: 100%;
}
#ticketselect h3 {
    margin: 0;
    font-size: clamp(18px, 2vw, 24px);
    padding-bottom: 0.5rem;
}
#ticketselect button {
    border-radius: 4px;
    border: none;
    font-family: 'Satisfy', cursive;
    background-color: rgb(243, 180, 63);
    color: white;
}
#ticketselect label {
    padding: 0.25rem 0;
    margin: 0;
}
#ticketselect input {
    margin: 0;
    width: auto;
}

/* Barista Station */
#barista {
    background-color: white;

    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    
    background-image: url(Assets/Backgrounds/Barista-Background.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    
    display: none;
}
#newdrink:disabled {
    opacity: 0.7;
}

#barcounter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    
    background-image: url(Assets/Props/Counter-Barista.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

#baroptions {
    gap: 30%;
}

/* Drink Modal */
#drinkstation {
    position: absolute;
    top: 5%;
    left: 50%;
    display: none; /* Flex default */

    transform: translateX(-50%);
    width: 70vw;
    height: 80vh;
    overflow-y: visible;

    border: solid white 2px;
    border-radius: 4px;
    z-index: 3;

    background-color: #5B1A00;
}

#makedrink {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    flex: 1;

    padding: 2rem;
    margin: 0.5rem;

    background-color: #481500;
}
#makedrink button {
    border: solid white 2px;
    border-radius: 4px;

    font-family: 'Satisfy', cursive;
    font-size: clamp(20%, 5vh, 200%);

    color: white;
    background-color: goldenrod;
}
#makedrink button:hover {
    filter: brightness(1.2);
    transition: filter 0.2s ease;
}
#closebar {
    background-color: #5B1A00 !important;
}

#custodrink {
    display: none;
    flex-direction: column;
    flex: 1;
    justify-content: center;
    align-items: center;

    padding: 1rem;
    margin: 0.5rem;

    border-radius: 8px;
    background-color: white;
    color: goldenrod;

    overflow-y: auto;
    max-height: 100%;
}
#custodrink button {
    border-radius: 4px;
    border: none;
    font-family: 'Satisfy', cursive;
    background-color: rgb(243, 180, 63);
    color: white;

    width: 50%;
}

#displaydrink {
    flex: 1;
    display: flex;
    flex-direction: column;

    padding: 2rem;
    margin: 0.5rem;

    background-color: #481500;
    color: goldenrod;
    text-align: center;
}
#drinkdesc {
    flex: 3;
}
#drinkprev {
    flex: 6;
}
#confirmdrink {
    flex: 1;

    border: solid white 2px;
    border-radius: 4px;

    font-family: 'Satisfy', cursive;
    font-size: clamp(20%, 5vh, 200%);

    color: white;
    background-color: #024621;
}
#confirmdrink:hover {
    filter: brightness(1.2);
    transition: filter 0.2s ease;
}

#viewtickets {
    flex: 1;
    overflow-y: auto;

    padding: 2rem;
    margin: 0.5rem;

    background-color: white;
    color: #2c194a;
}
#viewtickets p {
    text-align: center;
}
#viewtickets h2 {
    text-align: center;
}

/* Delivery Station */
#delcustomer {
    display: none;
}

#pickup {
    background-color: white;

    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    
    background-image: url(Assets/Backgrounds/Pickup-Background.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    
    display: none;
}

#delcounter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    
    background-image: url(Assets/Props/Counter-Delivery.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
#deloptions {
    gap: 30%;
    margin-left: 26vw;
}

/* Delivery Modal */
#delivery {
    position: absolute;
    top: 5%;
    left: 50%;
    display: none; /* Flex default */

    transform: translateX(-50%);
    width: 70vw;
    height: 80vh;
    overflow-y: visible;

    border: solid white 2px;
    border-radius: 4px;
    z-index: 3;

    background-color: #2C1139;
}

#showdrinks {
    flex: 2;

    padding: 1rem;
    margin: 0.5rem;

    background-color: #481500;
    color: goldenrod;

    text-align: center;
}

#pair {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20%;
    justify-content: center;

    padding: 1rem;
    margin: 0.5rem;

    background-color: #2C274A;
}
#pair button {
    background-color: #645a9c;
    color: white;

    border: none;
    border-radius: 8px;

    font-family: 'Satisfy', cursive;
    font-size: clamp(20%, 5vh, 200%);
}
#pair button:hover {
    filter: brightness(1.2);
    transition: filter 0.2s ease;
}
#pair h2 {
    text-align: center;
    color: #645a9c;
}

#yesdel:disabled {
    opacity: 0.7;
}

#showtickets {
    flex: 2;
    overflow-y: auto;

    padding: 1rem;
    margin: 0.5rem;

    background-color: white;
    color: #2C274A;
}
#showtickets p {
    text-align: center;
}
#showtickets h2 {
    text-align: center;
}

/* Transitional Screen */
#transition {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: black;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease;
    z-index: 10;
}

/* Day Transitions */
#newday {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;

    background-color: #66C3A0;
    color: white;
    z-index: 8;
}
#newday h1 {
    border: dashed white 4px;
    padding: 30px;
    border-radius: 8px;
}

#endday {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;

    background-color: #66C3A0;
    color: white;
    z-index: 8;
}
#stats {
    border: solid white 3px;
    padding: 20px;
    border-radius: 8px;

    background-color: #024621;
}
#afterday {
    border: solid white 2px;
    background-color: #2C274A;
}
#afterday:hover {
    background-color: #403a62;
}

/* Endslate */
#fence {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    background-color: #66C3A0;
    color: white;

    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;

    z-index: 7;

    opacity: 0;
    transition: opacity 0.5s ease;
}

/* Classes */
.content {
    position: relative;
    z-index: 2;
    text-align: center;
}

.hidden {
    display: none;
}

.uiopts {
    position: relative;
    font-family: 'Satisfy', cursive;
    border: none;
    padding: 0.5vw;
    background-color: rgb(243, 180, 63);
    color: white;
    border-radius: 5px;
    font-size: clamp(20%, 5vh, 200%);
    width: 10vw;
}
.uiopts:hover {
    background-color: rgb(229, 193, 88);
}

.tocounter {
    z-index: 2;
    text-align: center;

    width: 70vw;
    max-height: 50%;
    
    display: flex;
    justify-content: center;
    gap: 5%;

    position: absolute;
    bottom: clamp(10vh, 18%, 20vh);
}