body {
    background: #0b0b0d;
    color: #f5f5f5;

    font-family: Arial, Helvetica, sans-serif;
    text-align: center;

    min-height: 100vh;
    position: relative;
    isolation: isolate;
    overflow-x: clip;
}

/* =========================
   ANIMATED MOTORSPORT BACKGROUND
   ========================= */

/* Soft metallic light and red ambient glow */
body::before {
    content: "";
    position: fixed;
    inset: -30%;
    z-index: -1;
    pointer-events: none;

    background:
        radial-gradient(
            ellipse at 20% 30%,
            rgba(210, 215, 225, 0.07),
            transparent 35%
        ),
        radial-gradient(
            ellipse at 80% 65%,
            rgba(220, 25, 48, 0.10),
            transparent 30%
        ),
        radial-gradient(
            ellipse at 55% 5%,
            rgba(255, 255, 255, 0.035),
            transparent 35%
        );

    animation: ambientGlow 16s ease-in-out infinite alternate;
}

/* Diagonal racing streaks */
body::after {
    content: "";
    position: fixed;
    inset: -60%;
    z-index: -1;
    pointer-events: none;

    background:
        repeating-linear-gradient(
            112deg,
            transparent 0px,
            transparent 95px,
            rgba(255, 255, 255, 0.018) 97px,
            rgba(255, 255, 255, 0.055) 98px,
            transparent 100px,
            transparent 175px
        ),
        linear-gradient(
            112deg,
            transparent 43%,
            rgba(195, 200, 210, 0.07) 49%,
            transparent 51%
        ),
        linear-gradient(
            112deg,
            transparent 57%,
            rgba(220, 25, 48, 0.11) 58%,
            transparent 59%
        );

    transform: translate3d(-2%, 0, 0);
    animation: racingStreaks 24s linear infinite;
    opacity: 0.8;
}

/* Slow-moving background glow */
@keyframes ambientGlow {
    0% {
        transform: translate3d(-2%, -1%, 0) scale(1);
    }

    100% {
        transform: translate3d(2%, 2%, 0) scale(1.05);
    }
}

/* Continuous, subtle diagonal movement */
@keyframes racingStreaks {
    0% {
        transform: translate3d(-3%, -1%, 0);
    }

    50% {
        transform: translate3d(2%, 1%, 0);
    }

    100% {
        transform: translate3d(-3%, -1%, 0);
    }
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    body::before,
    body::after {
        animation: none;
    }
}






button {
    padding: 10px 20px;
    font-size: 18px;
}

.product-list-container {
    display: flex;
    justify-content: center;
}

.merchProduct {
    position: relative;
    width: 100%;
    max-width: 400px;
    padding: 10px 12px 28px;
    box-sizing: border-box;
    color: #111;
}

/* Product image */
.merchProduct > a:first-child {
    display: block;
    width: 100%;
}
.merchProduct img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Product title */
.merchProductTitle {
    display: block;
    margin-top: 4px;
    color: #e9e9e9;
    font-size: 24px;
    line-height: 1.5;
    font-weight: 400;
    text-decoration: none;
    text-align: left;
}
.merchProductTitle:hover {
    text-decoration: underline;
}

/* Price */
.merchPrice {
    margin: 8px 0 0;
    color: #828282;
    font-size: 22px;
    line-height: 1.3;
    text-align: left;
}

/* Colour circles */
.merchColours {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
    padding-right: 2px;
}
.colour {
    display: block;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    box-sizing: border-box;
    border: 1px solid rgba(0, 0, 0, 0.08);
}
.colour.blue {
    background: #0864a7;
}
.colour.red {
    background: #c81732;
}
.colour.black {
    background: #050505;
}

.PriceAndColoursAlign {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Subtle interaction */
.merchProduct img {
    transition: opacity 0.2s ease;
}
.merchProduct > a:first-child:hover img {
    opacity: 0.92;
}

/*  Button to merch store at bottom  */
.merchStoreLink {
    display: inline-block;
    margin-top: 20px;
    padding: 12px 22px;
    background: #b71c1c;
    color: #fff;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
}
.merchStoreLink:hover {
    background: #e21b23;
    transform: translateY(-2px);
}


/* =========================
   NAVBAR
   ========================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* Main navbar */
.navbar {
    width: 100%;
    height: 72px;
    background: rgba(15, 15, 18, 0.95);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);

    display: flex;
    align-items: center;

    position: sticky;
    top: 0;
    z-index: 1000;

    backdrop-filter: blur(12px);
}

/* Container */
.navbar_container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;

    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 8px;
}

/* Navigation links */
.navbar_container a {
    color: #e8e8e8;
    text-decoration: none;

    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.2px;

    padding: 11px 17px;
    border-radius: 8px;

    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        transform 0.25s ease;
}

/* Hover */
.navbar_container a:hover {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.08);
    transform: translateY(-1px);
}

/* Click */
.navbar_container a:active {
    transform: translateY(0);
}

/* Contact button */
.navbar_container a:last-child {
    margin-left: 8px;

    background-color: #ffffff;
    color: #111114;

    padding: 11px 20px;
    font-weight: 600;
}

/* Contact hover */
.navbar_container a:last-child:hover {
    background-color: #e9e9e9;
    color: #000000;
}


/* =========================
   MOBILE
   ========================= */

@media screen and (max-width: 700px) {
.navbar {
        height: 72px;
    }

    .navbar_container {
        padding: 0 10px;
        justify-content: flex-start;
        flex-wrap: nowrap;
        gap: 4px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .navbar_container::-webkit-scrollbar {
        display: none;
    }

    .navbar_container a {
        flex: 0 0 auto;
        white-space: nowrap;
        font-size: 13px;
        padding: 9px 10px;
    }

    .navbar_container a:last-child {
        margin-left: 0;
        flex-shrink: 0;
    }
}
