:root {
    --bs-primary: #d4b031;
    --bs-primary-rgb: 212, 176, 49;
    --bs-ochre: #521E22;
    --bs-red: #a41c1c;
    --font-primary: "Great Vibes", sans-serif;
    --font-secondary: 'Quicksand', cursive;
    --space-xxs: 0.25rem;
}

/* Global Styles */
/* COLOR */
.bg-primary { background-color: var(--bs-primary) !important; }
.bg-ochre { background-color: var(--bs-ochre) !important; }

/* TEXT */
.text-primary { color: var(--bs-primary); }
.text-ochre { color: var(--bs-ochre); }
.text-red { color: var(--bs-red); }
.font-primary {
    font-family: var(--font-primary) !important;
}
.font-secondary {
    font-family: var(--font-secondary) !important;
}
.text-formatted a {
    border-color: var(--bs-primary);
}
body, p, a, li{
    font-family: "Quicksand", sans-serif;
}
/* h1 {
    font-family: "Great Vibes", cursive;
} */
.hero-carousel__slide__content .heading-block-title {
    font-size: 2.4rem;
    line-height: 1.05;
}
.fs-1 {
    font-size: 2.4rem !important;
}
.fs-2 {
    font-size: clamp(1.8rem, 10vw, 2rem) !important;
}
@media (min-width: 992px) {
    .hero-carousel__slide__content .heading-block-title {
        font-size: 3rem;
    }
}
@media (min-width: 1580px) {
    .hero-carousel__slide__content .heading-block-title {
        font-size: 4rem;
    }
}
/* SAPCES */
.-space-px-xxs { padding-left: var(--space-xxs) !important; padding-right: var(--space-xxs) !important; }
.-space-py-xxs { padding-top: var(--space-xxs) !important; padding-bottom: var(--space-xxs) !important; }
.-space-mx-xxs { margin-left: var(--space-xxs) !important; margin-right: var(--space-xxs) !important; }
.-space-mt-xxs { margin-top: var(--space-xxs) !important; }
.-space-mb-xxs { margin-bottom: var(--space-xxs) !important; }

/* LAYOUT */
.w-100 { width: 100% !important; }
.h-100 { height: 100% !important; }

@media (min-width: 400px) {
    .d-xs-block { display: block !important; }
    .d-xs-none { display: none !important; }
    .d-xs-flex { display: flex !important; }
    .d-xs-grid { display: grid !important; }
}

.d-grid { grid-template-columns: 1fr; }
.grid-2 { grid-template-columns: 1fr 1fr; }
.grid-3 { grid-template-columns: 1fr 1fr 1fr; }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.grid-2-1 { grid-template-columns: 2fr 1fr; }
.grid-1-2 { grid-template-columns: 1fr 2fr; }
@media (min-width: 576px) {
    .grid-sm-2 { grid-template-columns: 1fr 1fr; }
    .grid-sm-3 { grid-template-columns: 1fr 1fr 1fr; }
    .grid-sm-4 { grid-template-columns: repeat(4, 1fr); }
    .grid-sm-2-1 { grid-template-columns: 2fr 1fr; }
    .grid-sm-1-2 { grid-template-columns: 1fr 2fr; }
}
@media (min-width: 768px) {
    .grid-md-2 { grid-template-columns: 1fr 1fr; }
    .grid-md-3 { grid-template-columns: 1fr 1fr 1fr; }
    .grid-md-4 { grid-template-columns: repeat(4, 1fr); }
    .grid-md-2-1 { grid-template-columns: 2fr 1fr; }
    .grid-md-1-2 { grid-template-columns: 1fr 2fr; }
}
@media (min-width: 992px) {
    .grid-lg-2 { grid-template-columns: 1fr 1fr; }
    .grid-lg-3 { grid-template-columns: 1fr 1fr 1fr; }
    .grid-lg-4 { grid-template-columns: repeat(4, 1fr); }
    .grid-lg-2-1 { grid-template-columns: 2fr 1fr; }
    .grid-lg-1-2 { grid-template-columns: 1fr 2fr; }
}
@media (min-width: 1200px) {
    .grid-xl-2 { grid-template-columns: 1fr 1fr; }
    .grid-xl-3 { grid-template-columns: 1fr 1fr 1fr; }
    .grid-xl-4 { grid-template-columns: repeat(4, 1fr); }
    .grid-xl-2-1 { grid-template-columns: 2fr 1fr; }
    .grid-xl-1-2 { grid-template-columns: 1fr 2fr; }
}

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

/* BUTTONS */
.bubble.-primary {
    background-color: var(--bs-primary);
    color: #000;
}
.btn.-style-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #000;
}
.btn.-style-primary:hover {
    background-color: rgb(from var(--bs-primary) r g b / 0.6 );
    border-color: rgb(from var(--bs-primary) r g b / 0.6 );
}
.btn.style-ochre {
    background-color: var(--bs-ochre);
    border-color: var(--bs-ochre);
    color: #fff;
}
.btn.style-ochre:hover {
    background-color: rgb(from var(--bs-ochre) r g b / 0.8 );
    border-color: rgb(from var(--bs-ochre) r g b / 0.8 );
}
.btn.-style-primary.-outline {
    background: white;
    border: 2px solid var(--bs-primary);
    color: var(--bs-primary);
}
.btn.-style-primary.-outline:hover {
    background: var(--bs-primary);
    color: white;
}

/* BORDERS */
.border { border: 1px solid #dee2e6; }
.border-primary { border-color: var(--bs-primary) !important; }
.border-ochre { border-color: var(--bs-ochre) !important; }
.border-sm { border-width: 2px !important; }
.border-md { border-width: 4px !important; }
.border-lg { border-width: 6px !important; }

/* SPECIALS */
.section-collections .heading-block-header .heading-block-title {
    font-size: 2.6rem;
    margin-bottom: 3rem;
    padding-bottom: 1rem;
    position: relative;
    display: inline-block;
}
.block-shadow-down {
    position: relative;
}
.section-collections .heading-block-header .heading-block-title:after,
.block-shadow-down:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: -20%;
    width: 140%;
    height: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    clip-path: ellipse(100% 100% at 50% 200%);
}
.rounded-top-header {
    margin-top: -3.5rem;
    position: relative;
    padding-top: 1rem;
}
.rounded-top-header::after {
    content: "";
    position: absolute;
    top: 1px;
    transform: translateY(-100%);
    width: 100%;
    height: 4rem;
    background: inherit;
    clip-path: ellipse(50% 4rem at 50% 5rem);
}
@media (width < 576px) {
    .block-shadow-down:after {
        width: 100%;
        left: 0;
    }
    .rounded-top-header {
        margin-top: -1.5rem;
    }
}
@media (width >= 992px) {
    .section-collections .heading-block-header .heading-block-title {
        font-size: 4rem;
    }
    .rounded-top-header {
        margin-top: -3.95rem;
    }
    .rounded-top-header::after {
        clip-path: ellipse(30% 4rem at 50% 5rem);
    }
}

/* HEADER */
.site-header {
    --header-color: #000000;
    --header-background: #fff;
}
.site-header__main__logo .link-logo img {
    width: min(100%, 300px);
}
.spot-prices .price-item__name,
.spot-prices .price-item__symbol,
.spot-prices .price-item div + div {
    font-size: .85rem;
    font-weight: 600;
}
@media (width < 576px) {
    .site-header__secondary {
        height: 5rem;
    }
    .site-header__secondary__prices .spot-prices {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (width >= 992px) {
    .spot-prices .price-item__name,
    .spot-prices .price-item__symbol,
    .spot-prices .price-item div + div {
        font-size: .94rem;
        font-weight: 600;
    }
}
@media (width >= 1200px) {
    .site-header__main__logo { grid-area: logo; }
    .site-header__main__menu {
        grid-area: menu;
        position: relative;
    }
    .site-header__main__actions {
        grid-area: actions;
        width: 100%;
    }
    .site-header__main__actions::before { content: none; }
    .site-header__main {
        display: grid;
        grid-template-columns: 1fr 30%;
        grid-template-rows: 74px 1fr;
        grid-template-areas: "logo actions"
                            "menu menu";
        height: auto;
    }
    .site-header__main__menu .primary-menu {
        justify-content: start;
    }
    .site-header__main__menu::before {
        content: "";
        position: absolute;
        top: 0;
        left: calc(1px - (0.75rem + ((100vw - 1140px) / 2)));
        width: 100vw;
        height: 1px;
        background-color: black;
        opacity: .2;
        border-top: 1px solid;
    }
    .primary-menu > .menu-item {
        position: relative;
    }
    .primary-menu > .menu-item > a {
        padding: 0.7rem 0;
    }
    .primary-menu .mega-menu {
        transform: unset;
        left: 0;
    }
}
@media (width >= 1580px) {
    .site-header__main__menu::before {
        left: calc(1px - (0.75rem + ((100vw - 1554px) / 2)));
    }
}

/* HERO */
.hero-carousel .swiper .swiper-slide > .container {
    padding: 0 !important;
}
.hero-carousel .swiper .swiper-slide > .container:before,
.hero-carousel__slide__image:before{
    content: none;
}
.hero-carousel__slide {
    height: 350px;
    max-height: 350px;
}
@media (min-width: 1200px) {
    .hero-carousel__slide__content .heading-block-title {
        font-size: 4rem;
    }
}
@media (min-width: 1580px) {
    .hero-carousel__slide {
        gap: 4rem;
    }
}
@media (min-width: 1720px) {
    .hero-carousel .container {
        max-width: 1600px;
    }
    .hero-carousel__slide__content .heading-block-title {
        font-size: 5rem;
    }
}


/* FOOTER */
.site-footer {
    background: var(--bs-ochre);
}
.site-footer__primary__about .link-logo {
    filter: invert(1) brightness(10);
    mix-blend-mode: color-dodge;
}
.mobile-menu__header__logo .link-logo {
    filter: invert(1) brightness(10);
}

/* PRODUCTS */
.section-collections {
    padding-top: 0 !important;
}
.product__summary__actions .add-to-cart .btn {
    flex-grow: unset;
    padding-left: 2rem;
    padding-right: 2rem;
}
.product__summary__actions > .btn.-width-full {
    width: unset;
}