﻿@font-face {
    font-family: 'Akko Pro';
    src: url('../fonts/akko-pro-regular.ttf') format('truetype');
}

:root{
    --aurora-green:#3DFE90;
    --aurora-purple: #9325EE;
    
    --primary-bg: #131010;
    
    --topnav-height: 100px;
}

/* --- ROOT --- */
html,body{
    font-family: 'Akko Pro', sans-serif !important;
}

.page-wrapper{
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    flex-grow: 1;
    overflow-x:hidden;

    background-color: var(--primary-bg);
    color:white;
}

.page-content{
    min-height: calc(100vh - var(--topnav-height));
    padding-top: var(--topnav-height);
}

/* --- Home --- */
.hero {
    min-height: calc(100vh - var(--topnav-height));
    display: flex;
    align-items: center; /* vertically center content */
    justify-content: center; /* horizontally center content */
    text-align: center;
    background: linear-gradient(
            to bottom right,
            var(--aurora-green),
            var(--aurora-purple)
    );
    color: white;
    padding: 2rem;
}

.scroll-indicator {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    animation: fadeIn 2s ease-in-out;
}

.scroll-indicator i {
    color: var(--aurora-green);
    display: inline-block;
    animation: bounceInfinite 1.5s infinite ease-in-out;
}

/* Extra bouncy infinite animation */
@keyframes bounceInfinite {
    0%,
    100% {
        transform: translateY(0);
    }
    25% {
        transform: translateY(10px);
    }
    50% {
        transform: translateY(-6px);
    }
    75% {
        transform: translateY(10px);
    }
}

/* Fade in effect */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translate(-50%, 20px);
    }
    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

.py-7 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
}

.mb-6 {
    margin-bottom: 4.5rem !important;
}

/* --- Top Nav --- */
.topnav{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--topnav-height);
    z-index: 1000;
    
    background-color: black;
}

.topnav-logo{
    height:75px;
    width:auto;
}

.topnav-button {
    position: relative;

    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.5rem;
    color: white;
    padding-bottom: 5px;

    text-decoration: none;
    display: inline-block;
    margin-right: 10px;
}

.topnav-button::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: 0;

    width: 100%;
    height: 2px;
    background-color: #3DFE90;

    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease-out;
}

.topnav-button:hover::after,
.topnav-button.active::after {
    transform: scaleX(1);
}

/* --- Footer --- */
.footer-link {
    color: #aaa;
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

.footer-link:hover {
    color: var(--aurora-green);
}

.footer-social {
    color: #aaa;
    transition: color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

.footer-social:hover {
    color: var(--aurora-purple);
    transform: translateY(-3px);
}

/* --- Containers --- */
.a-container{
    background-color: black;
}

/* --- Shop --- */
.regular-price{
    color: var(--aurora-green);
}

.regular-price-strike{
    color: var(--bs-secondary-color);
    text-decoration: line-through;
}

.sale-price{
    color: var(--aurora-green);
}

.product-cover-image{
    max-width:250px;
    height:auto;
}

.product-tag{
    background-color: var(--aurora-purple);
    color:black;
}

.sticky-col {
    position: fixed;
    top: var(--topnav-height);
}

.product-image{
    max-height: 300px;
    width:auto;
}

/* --- Buttons --- */
.a-btn-solid-green{
    background-color: var(--aurora-green);
    color: black;
    
    border: none;
    
    letter-spacing: 3px;
    
    transition: all 0.3s ease-in-out;
}

.a-btn-solid-green:hover{
    transform: scale(1.05);
}