/*
Theme Name:   FBH Theme
Theme URL:
Description:  FBH Theme
Author:       Bernardo Bär
Author URL:
Template:     storefront
Version:      1.0.0
Tags:
Text Domain:  fbh_theme
*/

/* cyrillic-ext */


@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ptsans/v17/jizaRExUiTo99u79D0-ExdGM.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ptsans/v17/jizaRExUiTo99u79D0aExdGM.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* latin-ext */
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ptsans/v17/jizaRExUiTo99u79D0yExdGM.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ptsans/v17/jizaRExUiTo99u79D0KExQ.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* cyrillic-ext */
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ptsans/v17/jizfRExUiTo99u79B_mh0OOtLQ0Z.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ptsans/v17/jizfRExUiTo99u79B_mh0OqtLQ0Z.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* latin-ext */
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ptsans/v17/jizfRExUiTo99u79B_mh0OCtLQ0Z.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/ptsans/v17/jizfRExUiTo99u79B_mh0O6tLQ.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body {
    font-family: PT Sans, sans-serif;
    font-size: 16px;
}

a:focus, button:focus, .button.alt:focus, input:focus, textarea:focus, input[type="button"]:focus, input[type="reset"]:focus, input[type="submit"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus {
    outline: unset;
}

input[type=text], input[type=number], input[type=email], input[type=tel], input[type=url], input[type=password], input[type=search], textarea, .input-text {
    box-shadow: unset;
}

.main-navigation ul.menu ul li.menu-item-has-children > a::after, .main-navigation ul.menu ul li.page_item_has_children > a::after, .main-navigation ul.nav-menu ul li.menu-item-has-children > a::after, .main-navigation ul.nav-menu ul li.page_item_has_children > a::after {
    content: unset;
}

input, button, select, textarea {
    font-family: inherit;
}

.site-header {
    padding-top: 0;
}

.site-header > .col-full {
    max-width: 1170px;
    display: flex;
}

.site-header .site-branding img {
    height: 60px;
    width: auto;
}

.woocommerce-active .site-header .main-navigation .menu-item .sub-menu {
    background: #fff;
    box-shadow: 0 3px 5px 0 rgb(0 0 0 / 20%);
    max-height: 80vh;
}

.woocommerce-active .site-header .main-navigation .menu-item .sub-menu .sub-menu {
    top: 0 !important;
}

.woocommerce-active .site-header .main-navigation .menu-item .sub-menu .menu-item a {
    transition: all .1s linear;

    display: flex;
    white-space: nowrap;

    padding: 10px;
    font-size: 16px;
    font-weight: normal;
    line-height: 24px;

    color: #333;
}

.woocommerce-active .site-header .main-navigation .menu-item .sub-menu .menu-item a:hover {
    background-color: #f8f9fa;

    color: #26aae1;
}

.main-navigation ul ul li a {
    width: unset;
}

.site-header .custom-logo-link {
    margin-top: 10px;
}

.storefront-primary-navigation {
    background-color: #0c2254;
}

.woocommerce-active .site-header .main-navigation ul.nav-menu > li > a {
    color: #0c2254;
    font-size: 18px;
    text-transform: uppercase;
}

.storefront-primary-navigation .site-search {
    margin: auto;
}

.storefront-primary-navigation .site-search .search-field {
    background-color: unset;
    color: white;
    font-size: 19px;
}

.widget_product_search form:not(.wp-block-search)::before {
    content: unset;
}

.widget_product_search form:not(.wp-block-search) input[type=search] {
    padding-left: 37px;
    padding-top: 0;
    padding-bottom: 0;
    min-height: 40px;
}

.widget_product_search form:not(.wp-block-search) input[type=submit] {
    clip: unset;
    clip-path: unset;
}

.woocommerce-active .site-header .site-search .glyphicon-search {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 19px;
    width: 19px;
}

.woocommerce-active .site-header .site-search .glyphicon-search input[type="submit"] {
    background: url(https://shop.fbh.ch/abauserimage/design/img/icon-search.svg) no-repeat center;
    background-size: contain;
    width: 18px;
    height: 18px;
    border: none;
}

.storefront-primary-navigation .site-search .search-field::placeholder {
    color: white;
    font-weight: 400;
}

.storefront-primary-navigation > .col-full {
    display: flex;
    height: 85px;
    max-width: 1134px;
}

.woocommerce-active .site-header .main-navigation {
    width: 100%;
    margin-right: 0;

    text-align: right;
}

.woocommerce-active .site-header .site-branding {
    margin-bottom: 0;
    width: 40%;
    margin-left: 10px;
}

.site-branding .site-title a {
    line-height: 75px;
}


.woocommerce-active .site-header .site-search {
    width: 25%;
}

.woocommerce-active .site-header .right-wrapper {
   
    margin-left: auto;
    display: flex;
    gap: 40px;
    justify-content: end;
}

.woocommerce-active .site-header .right-wrapper > div {
    width: auto;
}

.woocommerce-active .site-header .site-header-language {
    line-height: 85px;
    margin-right: 20px;
    white-space: nowrap;
}

.woocommerce-active .site-header .site-header-language a {
    margin-left: 10px;
    display: inline-block;
    color: #fff;
    font-size: 18px;
    text-transform: uppercase;
}

.woocommerce-active .site-header .site-header-language a.active {
    color: #26aae1 !important;
}

.woocommerce-active .site-header .site-header-account .toggle {
    display: flex;
    white-space: nowrap;

    line-height: 85px;
    color: white;
    text-transform: uppercase;

    cursor: pointer;
}

.woocommerce-active .site-header .site-header-account .main-navigation .sub-menu {
    padding: 10px 0;
    background: #f5f5f5;
}

.woocommerce-active .site-header .site-header-account .main-navigation .sub-menu .menu-item a {
    color: #26aae1;
    display: flex;
    align-items: center;
    padding: 6px 16px;

    font-size: 18px;
    text-transform: uppercase;
}

.woocommerce-active .site-header .site-header-account .main-navigation .sub-menu .menu-item a .material-icons-outlined {
    margin-right: 17px;
    color: #26aae1;
}

.woocommerce-active .site-header .site-header-account .toggle span {
    padding-left: 18px;
    font-size: 18px;
}

.woocommerce-active .site-header .site-header-account .account-icon .material-icons-outlined {
    margin-top: 30px;
    font-size: 25px;
}

.woocommerce-active .site-header .site-header-account .arrow-icon {
    color: #ffffff;
    position: absolute;
    bottom: -24px;
    left: 0;
}

.woocommerce-active .site-header .site-header-cart a {
    display: flex;
    line-height: 85px;

    color: white;
    text-transform: uppercase;
    justify-content: end;
}

.woocommerce-active .site-header .site-header-cart a .basket-icon {
    position: relative;
}

.woocommerce-active .site-header .site-header-cart .basket-icon .material-icons-outlined {
    margin-top: 32px;
    font-size: 20px;
}

.woocommerce-active .site-header .site-header-cart span {
    padding-left: 18px;
    font-size: 18px;
}

.woocommerce-active .site-header .site-header-cart .amount, .woocommerce-active .site-header .site-header-cart .cart-contents::after {
    color: white;
    opacity: 1;
}

.woocommerce-breadcrumb a:first-of-type::before {
    content: unset;
}


.woocommerce-active .site-header .site-header-cart .count {
    position: absolute;
    background-color: white;
    height: 15px;
    width: 15px;
    top: calc(50% - 8px);
    left: 10px;
    transform: translateY(-50%);
    line-height: 15px;
    border-radius: 30px;
    text-align: center;

    color: #0c2254;
}

.woocommerce-breadcrumb {
    color: #8f8f8f;
}

.woocommerce-breadcrumb a {
    color: #B9B9B9;
}

.woocommerce-breadcrumb a:hover {
    color: #8f8f8f;
    text-decoration: underline;
}

.woocommerce-breadcrumb, .woocommerce-breadcrumb a {
    font-size: 15px;
    line-height: 18px;
    text-decoration: none;
    background: none;
    border-radius: 0;
    padding: 0
}

.storefront-breadcrumb {
    margin-top: 18px;
    margin-bottom: 20px;
    padding: 0;
}

.storefront-breadcrumb > .col-full {
    max-width: 1170px;
    padding-left: 70px;
}

.storefront-full-width-content .woocommerce-products-header {
    text-align: left;
    padding: 0 0 0 15px;
    margin-bottom: 50px;
}

.tax-product_cat:has(.product-category) .storefront-sorting {
    display: none;
}

.tax-product_cat .woocommerce-products-header__title {
    font-weight: 700;
    color: #0c2254;
}

.storefront-full-width-content .site-main ul.products.columns-3:has(.type-product) {
    display: flex;
    flex-direction: column;
}

.storefront-full-width-content .site-main ul.products.columns-3 li.product.type-product {
    width: 100%;
    display: flex;

    margin: 0 0 26px 0;
    border-top: 1px solid #cbcbcb;
    padding: 30px 0 0 0;
}

.storefront-full-width-content .site-main ul.products.columns-3 li.product.type-product .block {
    text-align: left;
}

.storefront-full-width-content .site-main ul.products.columns-3 li.product.type-product .block .sku {
    color: #26aae1;
    font-size: 20px;
    font-weight: 700;
}

.storefront-full-width-content .site-main ul.products.columns-3 li.product.type-product .block .woocommerce-loop-product__title {
    margin-bottom: 0;
}

.storefront-full-width-content .site-main ul.products.columns-3 li.product.type-product .block .detail {
    color: #26aae1;
    font-size: 16px;
    font-weight: 400;
    background: url(https://shop.fbh.ch/abauserimage/design/img/arrow_right.svg) no-repeat right 8px;
    background-size: 10px;
    padding: 0 18px 0 0;

    margin-top: 16px;
    display: inline-block;
}

.storefront-full-width-content .site-main ul.products.columns-3 li.product.type-product .block .detail:hover {
    color: #0C2254;
}

.storefront-full-width-content .site-main ul.products.columns-3 li.product.type-product .block .sku:hover {
    color: #0c2254;
}

.storefront-full-width-content .site-main ul.products.columns-3 li.product.type-product .product-info {
    width: 100%;
    display: flex;
    justify-content: space-between;

    padding: 0 15px 0 30px;
}

.storefront-full-width-content .site-main ul.products.columns-3 li.product.type-product img {
    margin: 0;
    object-fit: contain;

    width: 80px;
}

.storefront-full-width-content .site-main ul.products.columns-3 li.product.product-category {
    padding-right: 15px;
    padding-left: 15px;

    margin-right: 0;
    margin-bottom: 30px;

    height: 340px;
    width: 33.33333333%;
}

.storefront-full-width-content .site-main ul.products.columns-3 li.product.product-category a {
    display: block;
    height: 340px;
    background: #f5f5f5;

    align-items: center;
    padding-top: 20px;
}

.storefront-full-width-content .site-main ul.products.columns-3 li.product.product-category .category-image {
    height: 240px;
    background: white;
    margin: 0 20px 0 20px;
    display: flex;
    align-items: center;
}

.storefront-full-width-content .site-main ul.products.columns-3 li.product.product-category img {
    max-width: 100%;
    margin: 0 auto;
    max-height: 150px;
    width: auto;
    display: flex;
    align-items: center;
}

.storefront-full-width-content .site-main ul.products.columns-3 li.product.product-category .woocommerce-loop-category__title {
    font-weight: 700;
    color: #0c2254;
    font-size: 24px;
    line-height: 1.5;
    height: 80px;
    align-content: center;
}

.site-content > .col-full {
    max-width: 1170px;
}

.product-block .woocommerce-Price-amount {
    color: #0c2254;
    font-weight: 700;

    font-size: 24px;
    line-height: 24px;
}

.product-block .woocommerce-Price-currencySymbol {
    font-size: 16px;
}

.product-block .salesunit {
    font-size: 16px;
    text-transform: lowercase;

    color: #0c2254;
    font-weight: 700;
}

.product-block .add_to_cart_button {
    position: relative;

    color: #ffffff;
    background-color: #26aae1;
    font-size: 20px;
    line-height: 24px;
    font-weight: 700;
    text-align: left;
    border-radius: 5px;
    padding: 10px 70px 10px 11px;
    width: 58%;
    height: auto;
    float: right;

    margin: 0;
}

.product-block .add_to_cart_button::after {
    content: "";
    display: block;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background-image: url("https://shop.fbh.ch/abauserimage/design/img/panier.svg");
    background-repeat: no-repeat;
    background-size: contain;
}

.product-block .stock-price, .product-block .quantity-button {
    display: flex;
    justify-content: space-between;
}

.product-block .quantity-button {
    margin-top: 15px;
}

.product-block .stock-price .product-stock {
    text-align: start;
    align-content: end;

    margin-left: 20px;
}

.product-block .stock-price .price {
    width: 58%;
    text-align: end;
    margin-bottom: 0 !important;
}

.product-block .stock-price .price .tax {
    font-size: 16px;
    color: #333333;
    font-weight: 400;
    margin-top: -2px;
}

.product-block .stocktitle {
    position: relative;
}

.product-block .stocktitle::before {
    position: absolute;
    left: -20px;
    top: 0;

    content: "";
    border-radius: 25px;

    display: inline-block;

    width: 15px;
    height: 15px;
}

.product-block .stocktitle.error::before {
    background-color: #ff2100;
}

.product-block .stocktitle.success::before {
    background-color: #55ca1b;
}

.product-block .stocktitle.warning::before {
    background-color: #ffca1b;
}

.product-info .product-right {
    width: 40%;
}

.quantity {
    display: flex;

    position: relative;
    border: 1px solid #f5f5f5;
    border-radius: 5px;
    margin: 0 0 0 2px;
    overflow: hidden;

    height: 50px;
}

.quantity .qty {
    background-color: unset;
    font-size: 20px;
    font-weight: 700;
    color: #0c2254;

    padding-right: 0;
    padding-left: 0;

    width: 50px;
}

.quantity span {
    line-height: 50px;
    font-size: 20px;
    color: #0c2254;
    font-weight: 700;
    display: inline-block;
    padding: 0 10px;
    width: auto !important;
    height: auto !important;
}

.quantity .arrows {
    display: flex;
    flex-direction: column;
    padding: 5px 10px;
}

.quantity .dashicons {
    color: black;

    cursor: pointer;
}

.hentry .entry-content a {
    text-decoration: unset;
}