/* mobile-first media queries */
/* xs */
/* @media (min-width: 475px) {} */

/* sm */
/* @media (min-width: 640px) {} */

/* md */
/* @media (min-width: 768px) {} */

/* lg */
/* @media (min-width: 1024px) {} */

/* xl */
/* @media (min-width: 1280px) {} */

/* 2xl */
/* @media (min-width: 1536px) {} */

.btn {
    display: inline-block;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: -0.05em;
    background-color: var(--clr-lightgold);
    color: var(--clr-light);
    padding: 0.5em 1em;
    border-radius: 6px;
    box-shadow: 0 10px 20px rgba(202, 138, 4, 0.5), 0 6px 6px rgba(202, 138, 4, 0.5), 0 0 100px -10px var(--clr-lightgold);
    transition: transform 0.3s, box-shadow 0.3s;
    position: relative;
}

.btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(202, 138, 4, 0.25), 0 10px 10px rgba(202, 138, 4, 0.22), 0 0 120px -10px var(--clr-lightgold);
    color: var(--clr-dark);
}

.btn:focus {
    outline: none;
}

.container {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    /* Temporary for styling purposes */
    /* border: 1px solid black;  */
}

.section {
    padding-top: 2rem;
    padding-bottom: 2rem;
    transition: background-color 0.3s ease;
}

/* text-alignment utilities */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

/* margin utilities */
.mt-1 { margin-top: var(--size-xxs); }
.mt-2 { margin-top: var(--size-xs); }
.mt-4 { margin-top: var(--size-base); }
.mt-8 { margin-top: var(--size-xl); }
.mt-16 { margin-top: var(--size-4xl); }

/* mobile-first media queries */
/* xs */
@media (min-width: 475px) {
    .container {
        max-width: 475px;
    }
}

/* sm */
@media (min-width: 640px) {
    .container {
        max-width: 640px;
    }
}

/* md */
@media (min-width: 768px) {
    .container {
        max-width: 768px;
    }

    .md\:text-left { text-align: left; }
    .md\:text-center { text-align: center; }
    .md\:text-right { text-align: right; }
}

/* lg */
@media (min-width: 1024px) {
    .container {
        max-width: 1024px;
    }
}

/* xl */
@media (min-width: 1280px) {
    .container {
        max-width: 1280px;
    }
}

/* 2xl */
@media (min-width: 1536px) {
    .container {
        max-width: 1536px;
        margin-left: auto;
        margin-right: auto;
    }
}