/*@font-face {*/
/*    font-family: 'Bebas Neue';*/
/*    src: url('/Oswald-VariableFont_wght.woff2') format('woff2-variations');*/
/*    font-weight: 100 900; !* full range *!*/
/*    font-style: normal;*/
/*    font-display: swap;*/
/*}*/

/*@font-face {*/
/*    font-family: 'Poppins';*/
/*    src: url('./Poppins-Regular.woff2') format('woff2-variations');*/
/*    font-weight: 100 900; !* full range *!*/
/*    font-style: normal;*/
/*    font-display: swap;*/
/*}*/


:root {
    --font-size: 16px;

    /* Custom Raffle Color Scheme */
    --primary: rgb(135, 71, 215);
    --primary-hover: oklch(0.60 0.22 300);
    --primary-active: oklch(0.50 0.18 300);
    --primary-foreground: oklch(0.97 0.02 300);

    --secondary: oklch(0.78 0.18 85);
    --secondary-hover: oklch(0.82 0.20 85);
    --secondary-foreground: oklch(0.32 0.05 85);

    --background: oklch(0.12 0.02 280);
    --surface: oklch(0.18 0.03 280);
    --surface-elevated: oklch(0.24 0.04 280);
    --foreground: oklch(0.92 0.02 290);
    --muted-foreground: oklch(0.70 0.02 290);

    --success: oklch(0.72 0.18 145);
    --warning: oklch(0.83 0.20 75);
    --destructive: oklch(0.62 0.19 28);
    --destructive-foreground: var(--primary-foreground);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    background-color: var(--background);
    color: var(--foreground);
    font-family: 'Poppins';
}

body.modal-open {
    overflow: hidden;
    height: 100vh;
}

p {
    font-size: 1.6rem;
}


.btn {
    padding: 1.6rem 2.4rem;
    font-size: 1.6rem;
    border: none;
    border-radius: 15px;
    cursor: pointer;
    color: var(--primary-foreground);
    background-color: var(--primary);
}

.btn:hover {
    background-color: var(--primary-hover);
}

.btn:active {
    background-color: var(--primary-active);
}

.btn.btn-secondary {
    background-color: var(--background);
    color: var(--secondary);
    border: 1px solid var(--secondary-foreground);
}


.btn.btn-secondary:hover {
    background-color: var(--secondary-hover);
    color: var(--background);
}

.btn.btn-secondary:active {
    background-color: var(--secondary);
}

.btn.btn-destructive {
    background-color: rgba(226, 74, 63, 0.1);
    border: 1px solid var(--destructive);
}


.btn.btn-destructive:hover {
    background-color: rgba(226, 74, 63, 0.3);
}

.btn.btn-destructive:active {
    background-color: rgba(226, 74, 63, 0.8);
}


a:link, a:visited {
    color: inherit;
    text-decoration: none;
}

a:hover, a:active {
    color: var(--primary-foreground);
    text-decoration: underline;
}

/* Navigation */

.navigation {
    z-index: 100;
    position: sticky;
    top: 0;
    width: 100%;
}

.navigation-wrapper {
    display: grid;
    grid-template-columns: 1fr auto;
    justify-content: space-between;
    align-items: center;
    padding: 2rem;
    gap: 2rem;
    background-color: rgba(135, 71, 215, 0.1);
    border-bottom: 1px solid var(--surface-elevated);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.navigation-logo {
    & i {
        font-size: 3rem;
        color: var(--secondary);
    }

    font-size: 2.4rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    text-shadow: 0 0 10px var(--primary);
}

.nav {
    font-size: 1.8rem;
    display: flex;
}

.nav-ul {
    display: flex;
    list-style: none;
    gap: 2rem;
}

.logged-in-user {
    & p {
        font-size: 1.6rem;
        /*background-color: rgba(15, 16, 31, 0.1);*/
    }

    & span {
        color: var(--secondary);
    }

    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    align-content: flex-end;
    background-color: rgba(15, 16, 31);
    border-bottom: 1px solid var(--surface-elevated);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 0.5rem 2rem;
}

.wallet-info {
    & i {
        color: var(--foreground)
    }

    color: var(--secondary);
    display: flex;
    align-items: center;
    gap: 1rem;
}

.wallet-balance {
    & span {
        font-size: 1.6rem;
    }

    font-weight: 600;
}


.btn-sign-up, .btn-login {
    font-size: 1.6rem !important;
    padding: 1rem 2rem !important;
    border-radius: 11px !important;
}

.btn-sign-up:hover, .btn-login:hover {
    text-decoration: none !important;
}

.btn-login {
    background-color: transparent;
    border: 1px solid var(--primary);
}

.btn-login:hover {
    background-color: transparent !important;
    box-shadow: 0 0 10px var(--primary);
}


label {
    font-size: 1.6rem;
}

input {
    padding: 1rem;
    font-size: 1.6rem;
    border-radius: 11px;
    background-color: var(--foreground);
    border: 1px solid var(--background);
    color: var(--surface-elevated);
}

textarea:focus, input:focus {
    outline: 3px solid var(--secondary);
    font-size: 1.6rem;
}

textarea {
    padding: 1rem;
    font-family: 'Poppins', sans-serif;
    font-size: 1.6rem;
    border-radius: 11px;
    font-weight: 500;
}

.error-wrapper {
    padding: 4rem;
    display: flex;
    gap: 2rem;
    flex-direction: column;
}

.error-header {
    font-size: 4rem;
}

.iconoir-3rem {
    font-size: 2rem;
}

.form-validation-error-wrapper {
    & i {
        font-size: 2rem;
    }

    display: flex;
    gap: 1rem;
    padding: 1rem;
    font-size: 1.6rem;
    border-radius: 11px;
    border: 1px solid transparent;
    position: relative;
}

.form-validation-error-underlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 11px;
    border: 1px solid var(--destructive);
    background-color: rgba(226, 74, 63, 0.24);
}

.form-validation-error-ul {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    list-style: none;
}

/* Under Construction */
.under-construction {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 6rem;
    text-align: center;
    justify-content: center;
    align-items: center;
    z-index: 2000;
}

.under-construction-backdrop {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;

    background-color: rgba(0, 0, 0, 0.6);
    z-index: 1000;
    backdrop-filter: blur(20px);
}

.under-construction h1 {
    color: var(--secondary);
    font-size: 6rem;
    font-weight: 500;
}

.under-construction p {
    font-size: 2rem;
}
