/* nunito-sans-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/nunito-sans-v19-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* nunito-sans-500 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 500;
    src: url('fonts/nunito-sans-v19-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* nunito-sans-600 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 600;
    src: url('fonts/nunito-sans-v19-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* playfair-display-500 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 500;
    src: url('fonts/playfair-display-v40-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
    --font-nunito: "Nunito Sans", sans-serif;
    --font-playfair: "Playfair Display", serif;

    --wnm-color-text-default: #000;
    --wnm-color-text-minor: #565656;
    --wnm-color-text-inverse: #fff;
    --wnm-color-text-inverse-minor: #979797;
    --wnm-color-background-default: #fff;
    --wnm-color-background-sand: #e5dacd;
    --wnm-color-background-contrast: #e4efed;
    --wnm-color-background-inverse: #2b2421;
    --wnm-color-border-minor: #b2aeaa;
    --wnm-color-border-major: #63615f;
    --wnm-color-attention: #be504b;

    --wnm-font-weight-default: 400;
    --wnm-font-weight-semibold: 500;
    --wnm-font-weight-bold: 600;
    --wnm-font-size: 18px;
    --wnm-font-size--major: 20px;
    --wnm-font-size--minor: 14px;
    --wnm-typography-paragraph: var(--wnm-font-weight-default) var(--wnm-font-size) var(--font-nunito);
    --wnm-typography-paragraph--bold: var(--wnm-font-weight-bold) var(--wnm-font-size) var(--font-nunito);
    --wnm-typography-paragraph--semibold: var(--wnm-font-weight-semibold) var(--wnm-font-size) var(--font-nunito);
    --wnm-typography-paragraph--minor: var(--wnm-font-weight-default) var(--wnm-font-size--minor) var(--font-nunito);
    --wnm-typography-paragraph--major: var(--wnm-font-weight-default) var(--wnm-font-size--major) var(--font-nunito);

    --wnm-bp-smallest: 760px;
    --wnm-bp-small: 1024px;

    --wnm-item-gap: 24px;

    --botiga_content_width: 1255px;
}

/*noinspection CssUnresolvedCustomProperty*/
body {
    --wnm-typography-h1: 600 var(--bt-font-size-h1, 64px) var(--font-playfair);
    --wnm-typography-h2: 600 var(--bt-font-size-h2, 48px) var(--font-playfair);
    --wnm-typography-h3: 600 var(--bt-font-size-h3, 32px) var(--font-playfair);
    --wnm-typography-h4: 600 var(--bt-font-size-h4, 24px) var(--font-playfair);
    --wnm-typography-h5: 600 var(--bt-font-size-h5, 18px) var(--font-playfair);
}

body {
    --bt-color-button:#FFF;
    --bt-color-button-hover:#FFF;
    --bt-color-button-bg:#212121;
    --bt-color-button-bg-hover:#757575;
    --bt-color-button-border: var(--bt-color-button-bg);
    --bt-color-button-border-hover: var(--bt-color-button-bg-hover);
    --bt-color-forms-borders: var(--wnm-color-border-minor);
    --bt-font-size-button:18px;
    --bt-letter-spacing-button:2px;
    --bt-padding-button-top-bottom:13px;
    --bt-padding-button-left-right:24px;
    --bt-border-radius-button:100px;
    --bt-border-width-button: 2px;

    --wnm-content-padding: 60px;

    font-family: var(--font-nunito), sans-serif;
}

@media (width <= 760px) {
    body {
        --wnm-content-padding: var(--wnm-item-gap);
    }
}

h1, h2, h3, h4, h5,
.like-headline {
    font-family: "Playfair Display", serif;
}

.force-like-h2 {
    font: var(--wnm-typography-h2) !important;
}

.like-headline--with-default-font-weight {
    font-weight: var(--wnm-font-weight-default) !important;
}

.container {
    padding-left: var(--wnm-content-padding);
    padding-right: var(--wnm-content-padding);

    /* Wrapped containers should not repeat their horizontal padding */
    .container {
        padding-left: initial;
        padding-right: initial;
    }
}

select:not(:disabled),
button:not(:disabled) {
    cursor: pointer;
}

select,
input,
button {
    font: var(--wnm-typography-paragraph);
}

.wp-block-button.is-style-outline:hover .wp-block-button__link:not(.has-background) {
    background-color: var(--wnm-color-background-inverse);
    border-color: var(--wnm-color-background-inverse);
    color: var(--wnm-color-text-inverse);
}


/** Containers (mostly used in block patterns) */
.wnm-container-wrapper {
    padding-top: var(--wnm-content-padding);
    padding-bottom: var(--wnm-content-padding);
}

.wnm-container--contrast {
    background: var(--wnm-color-background-contrast);
    padding-top: var(--wnm-content-padding);
    padding-bottom: var(--wnm-content-padding);
}

.wnm-container--overlay-gradient {
    position: relative;

    &::before {
        background: linear-gradient(110deg,
        rgba(229, 218, 205, 0.85) 15%,
        rgba(229, 218, 205, 0.85) 40%,
            rgba(229, 218, 205, 0) 66%
        );
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1;
    }
}

.wnm-container--full-width {
    width: 100vw;
    position: relative;
    margin-left: calc(50% - 50vw);

    .wnm-container--full-width-content {
        margin: 0 auto;
        max-width: var(--botiga_content_width);
        padding-left: var(--wnm-content-padding);
        padding-right: var(--wnm-content-padding);
    }
}

@media (width > 760px) {
    .wnm-container--twothirds {
        width: 66%;
    }
}

.wnm-container--full {
    width: 100%;
}

.wnm-fix--product-carousel-wrapper {
    .wc-block-components-notices {
        display: none;
    }

    .is-layout-flex {
        margin-block-start: 0;
    }

    ul {
        margin-top: var(--wnm-item-gap) !important;
    }
}

/** Some fixes required by weird styles applied from woocommerce/botiga/wordpress that can't be customized otherwise */
.wnm-fix--product-carousel-chevrons {
    svg {
        padding: 0;
    }
}

body:not(.botiga-page-builder-mode) .no-sidebar .entry-content .alignwide,
body:not(.botiga-page-builder-mode) .no-sidebar .blocks-content .alignwide {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/** Header **/
.bhfb-main_header_row {
    background: var(--wnm-color-background-sand);
    border-bottom: 2px solid var(--wnm-color-background-inverse);
}

.bhfb-above_header_row {
    background: var(--wnm-color-background-inverse);
    color: var(--wnm-color-text-inverse);
    font-size: 14px;
}

.woocommerce-breadcrumb {
    margin-bottom: 20px;
    font-size: 14px;
    text-transform: uppercase;
}

/** Product Lists Header **/
.woocommerce-page-header-wnm {
    .page-title,
    .term-description{
        text-align: left;
    }

    .term-description {
        max-width: 100%;
        margin: var(--wnm-item-gap) 0;
    }

    .categories-wrapper {
        justify-content: start;
    }
}

/** Footer **/
.wnm-footer {
    --footer-text: var(--wnm-color-text-inverse);
    --footer-item-gap: var(--wnm-item-gap);
    --footer-background: #000;

    background: var(--footer-background);
    color: var(--wnm-color-text-inverse);

    .wnm-footer-wrapper {
        max-width: var(--botiga_content_width);
        margin: 0 auto;
        padding: var(--wnm-content-padding);
    }

    .wnm-footer-top,
    .wnm-footer-columns {
        margin-bottom: var(--wnm-content-padding);
    }

    /** Social icons **/
    .social-profile {
        display: flex;
        justify-content: end;
        gap: calc(var(--footer-item-gap) / 2);

        a {
            margin: 0;
        }

        .ws-svg-icon {
            width: 28px;
            height: 28px;
        }

        svg {
            fill: var(--footer-text);
        }
    }

    /** Main columns **/
    .wnm-footer-columns {
        display: flex;
        justify-content: space-between;
        gap: var(--footer-item-gap);
    }

    .wnm-footer-column {
        flex: 1;

        a, strong {
            color: var(--footer-text);
            display: block;
        }

        strong {
            font-weight: var(--wnm-font-weight-bold);
        }

        a {
            margin-top: calc(var(--footer-item-gap) / 2);
            &:hover {
                text-decoration: underline;
            }
        }
    }

    /** Legal and copyright line **/
    .wnm-footer-sub {
        display: flex;
        justify-content: space-between;
    }

    .wnm-footer-legal {
        display: flex;
        gap: var(--footer-item-gap);

        a {
            color: var(--wnm-color-text-inverse-minor);
            &:hover {
                color: var(--wnm-color-text-inverse-minor);
                text-decoration: underline;
            }
        }
    }

    /** Smallest breakpoint adjustments **/
    --_bp: var(--wnm-bp-smallest); /* just for reference */
    @media (width <= 760px) {
        .wnm-footer-columns {
            flex-wrap: wrap;
        }

        .wnm-footer-column {
            width: 100%;
            flex: initial;
        }

        .wnm-footer-legal {
            flex-wrap: wrap;
            gap: calc(var(--footer-item-gap) / 2);

            a {
                display: block;
                width: 100%;
            }
        }
    }
}

/** Mini Cart **/
.wnm-mini-cart {
    .widget_shopping_cart_content .wnm-mini-cart-footer,
    .widget_shopping_cart .woocommerce-mini-cart__buttons::before,
    .woocommerce-mini-cart__total {
        display: none !important;
    }

    li.wnm-mini-cart-item {
        justify-content: space-between;
        align-items: center;

        .remove.remove_from_cart_button {
            top: 50%;
            transform: translateY(-50px);

            &:hover {
                transform: translateY(-50px) scale(1.1);
            }
        }

        .wnm-mini-cart-item__name {
            font: var(--wnm-typography-h1);
            font-size: var(--wnm-font-size--major);
            font-weight: var(--wnm-font-weight-default);
        }

        .wnm-mini-cart-item__image {
            flex-shrink: 0;
        }

        .wnm-mini-cart-item__details {
            width: 100%;
        }

        .wnm-mini-cart-item__price {
            font: var(--wnm-typography-paragraph--semibold);
            text-align: right;

            .quantity {
                display: block;
            }

            .wc-gzd-cart-info.unit-price-cart {
                display: block;
                margin-top: 0;
                white-space: nowrap;

                font: var(--wnm-typography-paragraph--minor);
                color: var(--wnm-color-text-minor);
            }
        }
    }

    .side-mini-cart-actions-wrapper .wnm-mini-cart-footer {
        background: var(--bt-color-content-cards-bg, #f5f5f5);
        display: flex;
        flex-wrap: wrap;
        gap: var(--wnm-item-gap);
        padding: var(--wnm-item-gap) 30px 0 30px;

        > div {
            &.phat {
                font-weight: var(--wnm-font-weight-bold);
            }

            display: flex;
            justify-content: space-between;
            width: 100%;

            .wnm-mini-cart__value.wnm-mini-cart__freeshipping {
                font-weight: var(--wnm-font-weight-bold);
                text-transform: uppercase;
            }

            .wnm-mini-cart__label > span {
                font-size: 14px;
                font-weight: var(--wnm-font-weight-default);
                display: block;
                line-height: normal;
            }
        }
    }
}