@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css');

:root {
    /* ── Colors ── */
    --clr-yellow: #F5E642;
    --clr-gold: #C9A227;
    --clr-parchment: #F7F2E0;
    --clr-white: #FFFFFF;
    --clr-abyss: #1A1A0F;
    --clr-shadow: #2C2C1A;
    --clr-bunker: #3F3F25;
    --clr-cipher: #B0A880;

    /* ── Gradients ── */
    --gradient-gold: linear-gradient(90deg, #F5E642 0%, #C9A227 60%, #7A5F0A 100%);
    --gradient-daylight: linear-gradient(135deg, #F7F2E0 0%, #F5E642 40%, #C9A227 100%);
    --gradient-nightfall: linear-gradient(135deg, #1A1A0F 0%, #2C2C1A 100%);
    --gradient-mission: linear-gradient(90deg, #1A1A0F 0%, #3F3F25 40%, #C9A227 80%, #F5E642 100%);
    --gradient-spotlight: radial-gradient(ellipse at 30% 50%, #F5E64230 0%, #1A1A0F 70%);

    /* ── Font-Family ── */
    --ff: Sora, Rubik;
}

*,
*::after,
*::before {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

html {
    scroll-behavior: smooth;
    font-family: var(--ff);
}

body {
    font-size: 16px;
    background: var(--clr-abyss);
    color: white;
    min-height: 100dvh;
}

.Logo {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    justify-content: start;
}

.header {
    background: var(--clr-parchment);
    height: 90px;
    display: flex;
    justify-content: space-between;
    padding: 0rem 2rem;
    border-radius: 0rem 0rem 1rem 1rem;
    transition: all 0.5rem ease;
}

.header h1 {
    color: black;
}

/* Buttons */
.btn {
    border-radius: 30px;
    background: var(--clr-gold);
    border: none;
    padding: 0.8rem 0.4rem;
    font-family: var(--ff);
    color: var(--clr-parchment);
    font-size: 1.2rem;
    width: 100%;
    font-weight: 600;
    cursor: pointer;
}

/* Forms */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.Input {
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.Input i {
    position: absolute;
    left: 1.4rem;
    font-size: 1.2rem;
    color: var(--clr-cipher);
}

.Input input,
.Input select {
    width: 100%;
    font-size: 1rem;
    border-radius: 50px;
    border: none;
    padding: 1rem;
    background: var(--clr-bunker);
    font-family: var(--ff);
    outline: none;
    padding-left: 3.5rem;
    font-weight: 600;
    color: var(--clr-white);
    transition: all 0.5s ease;
    border: 2px solid transparent;
}

.Input select {
    appearance: none;
    cursor: pointer;
}

.Input input:focus {
    border-color: var(--clr-white);
}

.Input input::placeholder {
    color: inherit
}

.FormHeader {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.4rem;
}

.FormHeader>* {
    text-align: center;
}

/* States */
.EmptyState {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    flex-direction: column;
    justify-content: center;
}

.EmptyState i {
    color: var(--clr-yellow);
    font-size: 2.4rem;
}

.EmptyState h1 {
    font-size: 1.8rem;
    color: var(--clr-parchment);
}

.EmptyState p {
    color: var(--clr-cipher);
    font-size: .9rem;
}