:root {
    --n-blue: #070747;
    --n-blue-light: #2b2ba0;
    --n-blue-dark: #1B1C3B;
    --n-yellow-light: #ecd5a9;
    --n-yellow: #f9d949;
    --n-yellow-dark: #E7B55C;
    --n-text-primary: #d4af36;
    --n-border-color: #e1e1e1;
    --n-yellow-gradient: linear-gradient(45deg, #d4be69, #e0d47c, #eadf89, #e0d47c, #d4be69);
    --lora-font: 'Lora', Georgia, "Times New Roman", serif;
}

/* LAYOUTS */
.divisor-primary {
    background-color: var(--n-text-primary);
    height: 5px !important;
    opacity: 1;
    margin: calc(2rem + 2vw) auto;
    width: max(27%, 180px);
}
.w-100 { width: 100%; }
.h-100 { height: 100%; }
@media (max-width: 767.98px) {
    .grid-blocks-4 > *:nth-last-child(n + 2) {
        border-bottom: 1px solid var(--n-border-color);
    }
}
@media (min-width: 768px) {
    .d-grid.-col-md-2 { grid-template-columns: repeat(2, 1fr); }
    .d-grid.-col-md-3 { grid-template-columns: repeat(3, 1fr); }
    .d-grid.-col-md-1-2 { grid-template-columns: 1fr 2fr; }
    .d-grid.-col-md-2-1 { grid-template-columns: 2fr 1fr; }

    .justify-content-md-start {
        justify-content: flex-start !important;
    }
    .justify-content-md-center {
        justify-content: center !important;
    }
    .justify-content-md-end {
        justify-content: flex-end !important;
    }
    .grid-blocks-4 {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    .grid-blocks-4 > * {
        border-left: 1px solid var(--n-border-color);
    }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .grid-blocks-4 > *:nth-child(2n + 1) {
        border-left: none;
    }
    .grid-blocks-4 > *:nth-last-child(n + 3) {
        border-bottom: 1px solid var(--n-border-color);
    }
}
@media (min-width: 992px) {
    .d-grid.-col-lg-2 { grid-template-columns: repeat(2, 1fr); }
    .d-grid.-col-lg-3 { grid-template-columns: repeat(3, 1fr); }
    .d-grid.-col-lg-1-2 { grid-template-columns: 1fr 2fr; }
    .d-grid.-col-lg-2-1 { grid-template-columns: 2fr 1fr; }

    .d-grid.-col-lg-2.-col-lg-invert > *:nth-child(2),
    .d-grid.-col-lg-2-1.-col-lg-invert > *:nth-child(2),
    .d-grid.-col-lg-1-2.-col-lg-invert > *:nth-child(2) {
        grid-column-start: 1;
        grid-column-end: 2;
        grid-row-start: 1;
        grid-row-end: 2;
    }

    .justify-content-lg-start {
        justify-content: flex-start !important;
    }
    .justify-content-lg-center {
        justify-content: center !important;
    }
    .justify-content-lg-end {
        justify-content: flex-end !important;
    }
    .grid-blocks-4 {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .grid-blocks-4 > *:nth-child(3n + 1) {
        border-left: none;
    }
    .grid-blocks-4 > *:nth-last-child(n + 3) {
        border-bottom: 1px solid var(--n-border-color);
    }
}
@media (min-width: 1200px) {
    .grid-blocks-4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .grid-blocks-4 > *:nth-child(4n + 1) {
        border-left: none;
    }
    .grid-blocks-4 > *:nth-last-child(n + 5) {
        border-bottom: 1px solid var(--n-border-color);
    }
}

/* SPACES */
@media (min-width: 1200px) {
    .gap-xl-0 { gap: 0 !important; }
    .gap-xl-1 { gap: 0.25rem !important; }
    .gap-xl-2 { gap: 0.5rem !important; }
    .gap-xl-3 { gap: 1rem !important; }
    .gap-xl-4 { gap: 1.5rem !important; }
    .gap-xl-5 { gap: 2rem !important; }
    .gap-xl-6 { gap: 3rem !important; }
    .gap-xl-7 { gap: 4.5rem !important; }
    .gap-xl-8 { gap: 6rem !important; }
    .gap-xl-9 { gap: 8rem !important; }
}

/* IMAGES */
.img-fluid { object-fit: cover; }
.img-contain { object-fit: contain; }

/* FONTS */
/* LORA IS VARIABLE IN WEIGHT */
.lora-font,
.lora-font-medium,
.lora-font-semibold,
.lora-font-bold {
    font-family: var(--lora-font);
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
.lora-font-medium {
    font-weight: 500;
}
.lora-font-semibold {
    font-weight: 550;
}
.lora-font-bold {
    font-weight: 700;
}

/* TEXT */
.text-primary { color: var(--n-text-primary) !important; }
.text-blue-dark { color: var(--n-blue-dark); }
.text-yellow-dark { color: var(--n-yellow-dark); }
.letter-spacing-1 { letter-spacing: .1rem; }
.letter-spacing-2 { letter-spacing: .2rem; }
.letter-spacing-3 { letter-spacing: .3rem; }
.letter-spacing-4 { letter-spacing: .4rem; }
.letter-spacing-5 { letter-spacing: .5rem; }

.decorative-number-box {
    font-family: var(--lora-font);
    line-height: 1;
    font-size: 1.5rem;
    color: var(--n-text-primary);
    border: 1px solid var(--n-text-primary);
    padding: .7rem;
    display: inline-block;
}

@media (min-width: 992px) {
    .fs-lg-md { font-size: 1.125rem !important; }
    .fs-lg-lg { font-size: 1.25rem !important; }
}
@media (min-width: 768px) {
    .fs-md-md { font-size: 1.125rem !important; }
    .fs-md-lg { font-size: 1.25rem !important; }
}

/* BG */
.bg-yellow { background-color: var(--n-yellow); }
.bg-blue { background-color: var(--n-blue) !important; }

/* BUTTONS */
.btn {
    border-radius: 20px;
    padding-left: 2rem;
    padding-right: 2rem;
    transition-duration: 0s;
}
.btn.-style-gold,
.btn.-style-primary-light {
    border: none;
    background: var(--n-yellow-gradient);
    --button-hover-background: var(--n-blue-dark);
    --button-color: var(--n-blue-dark);
    --button-hover-color: white;
}
.btn.-style-primary-light {
    border: none;
    background: var(--n-yellow-gradient);
    --button-hover-background: white;
    --button-color: var(--n-blue-dark);
    --button-hover-color: var(--n-blue-dark);
}
.btn.-style-primary-light:hover {
    background: white;
}
.btn.-style-gold:hover {
    background: var(--n-blue-dark);
    color: white;
}
.bubble.-primary {
    background-color: var(--n-text-primary);
}

/* ANIMATIONS */
.fade-in { opacity: 0; }
.fade-in.-shown { animation: fade-in 0.6s ease-in-out 0.3s forwards; }
@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
.fade-out { opacity: 1; }
.fade-out.-shown { animation: fade-out 0.6s ease-in-out 0.3s forwards; }
@keyframes fade-out {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
.fade-in-up { opacity: 0; }
.fade-in-up.-shown { animation: fade-in-up 1s ease-in-out 0.3s forwards; }
@keyframes fade-in-up {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
.fade-in-left { opacity: 0; }
.fade-in-left.-shown { animation: fade-in-left 1s ease-in-out 0.3s forwards; }
@keyframes fade-in-left {
    0% {
        opacity: 0;
        transform: translateX(-50px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}
.fade-in-right { opacity: 0; }
.fade-in-right.-shown { animation: fade-in-right 1s ease-in-out 0.3s forwards; }
@keyframes fade-in-right {
    0% {
        opacity: 0;
        transform: translateX(50px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}
.-shown.delay-1 { animation-delay: 0.1s; }
.-shown.delay-2 { animation-delay: 0.2s; }
.-shown.delay-3 { animation-delay: 0.3s; }
.-shown.delay-4 { animation-delay: 0.4s; }
.-shown.delay-5 { animation-delay: 0.5s; }
.-shown.delay-6 { animation-delay: 0.6s; }
.-shown.delay-7 { animation-delay: 0.7s; }
.-shown.delay-8 { animation-delay: 0.8s; }
.-shown.delay-9 { animation-delay: 0.9s; }
.-shown.delay-10 { animation-delay: 1s; }
.-shown.delay-11 { animation-delay: 1.1s; }
.-shown.delay-12 { animation-delay: 1.2s; }
.-shown.delay-13 { animation-delay: 1.3s; }
.-shown.delay-14 { animation-delay: 1.4s; }
.-shown.delay-15 { animation-delay: 1.5s; }
.-shown.delay-16 { animation-delay: 1.6s; }
.-shown.delay-17 { animation-delay: 1.7s; }
.-shown.delay-18 { animation-delay: 1.8s; }
.-shown.delay-19 { animation-delay: 1.9s; }
.-shown.delay-20 { animation-delay: 2s; }


/* HEADER */
.site-header {
    display: grid;
    grid-template-rows: 1fr 1px 1fr;
    background-image: linear-gradient(180deg, #070747 50%, transparent 50% )
}
.site-header .site-header__main {
    color: #1B1C3B;
}
.site-header .site-header__divider:last-child {
    display: none
}
.spot-prices::before,
.spot-prices .price-item__name {
    font-weight: bold;
}
.site-header~.section-hero .container:before,
.site-header~.section-page-hero .container:before {
    content: none;
}
.site-header__main__logo .link-logo {
    max-width: 200px;
}

@media (max-width: 991.98px) {
    .site-header__main__logo .link-logo {
        max-width: 210px;
    }
}
@media (max-width: 767.98px) {
    .site-header {
        align-items: center;
    }
    .site-header .container:first-child {
        padding-top: .7rem;
        padding-bottom: .7rem;
    }
    .site-header .site-header__main {
        width: 100%;
    }
    .site-header__secondary__prices .spot-prices {
        row-gap: 0.1rem;
    }
    .site-header .site-header__secondary {
        gap: .3rem;
    }
    .site-header__main__logo .link-logo {
        max-width: 150px;
    }
}
@media (max-width: 374.98px) {
    .site-header .container:first-child {
        padding-bottom: 1.3rem;
    }
    .site-header__main__logo .link-logo {
        max-width: 110px;
    }
}
@media (min-width: 992px) {
    .site-header {
        display: grid;
        grid-template-rows: 35px 1px 1fr;
        background-image: linear-gradient(180deg, #070747 35px, transparent 35px )
    }
    .site-header .site-header__main {
        height: 100px;
    }
    .site-header a,
    .site-header__secondary__prices .spot-prices {
        font-size: .8rem;
        white-space: nowrap;
    }
    .spot-prices .price-item:nth-last-child(n + 2) { 
        border-right: 1px solid white;
    }
    .spot-prices::before {
        content: "live prices: ";
        color: var(--n-yellow-light);
    }
    .site-header__main__logo .link-logo {
        max-width: 260px;
    }
    .site-header__main__logo .link-logo img {
        width: 100%;
    }
}
@media (min-width: 1200px) {
    .site-header .site-header__main__actions {
        width: 210px;
    }
    .site-header .site-header__main__actions button.-search .action__label {
        display: none;
    }
}
@media (min-width: 1580px) {
    .site-header .site-header__main__actions {
        width: 280px;
    }
}

/* PRODUCTS */
.products-grid .card-product .btn {
    border-radius: 0;
    background: var(--n-yellow-gradient);
    border: none;
    color: black;
}
.products-grid .card-product .btn:hover {
    background: var(--n-blue-dark);
    color: white;
}
@media (min-width: 576px) {
    .products-grid .card-product .btn:first-child {
        border-right: 1px solid black;   
    }
}

/* FOOTER */
.site-footer {
    background: var(--n-blue);
}
.site-footer .link-logo img {
    filter: invert(1) brightness(2);
}
.site-footer .site-footer__primary__menus__column h2 {
    color: var(--n-text-primary);
    font-family: var(--lora-font) !important;
    font-weight: 500;
}
.site-footer .site-footer__primary__menus__column a {
    color: white;
}

/* CART */
.cart .cart__header .bubble {
    background-color: var(--n-text-primary);
}
.cart > .btn {
    background: var(--n-yellow-gradient);
    border-radius: 0;
    border-color: white;
    color: black;
}