/* BIOBEY FR CORE — migrated from Customizer Extra CSS */

/* =========================================================
   1. GLOBAL / TYPOGRAPHY
   ========================================================= */

p {
    margin-bottom: 8px;
}

.wp-caption-text {
    font-size: 14px;
    color: #2f2f2f;
}

.entry tr small {
    visibility: hidden;
}


/* Body / gewone tekst */

body,
button,
input,
select,
textarea,
.woocommerce,
.woocommerce-page {
    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;
}

body {
    font-size: 16px;
    line-height: 1.62;
    letter-spacing: 0;
    font-weight: 400;
}


/* Premium editorial headings */

h1,
h2 {
    font-family:
        ui-serif,
        Georgia,
        Cambria,
        "Times New Roman",
        serif;

    font-weight: 500;
    letter-spacing: -0.02em;
    text-transform: none;
}

h1 {
    line-height: 1.08;
}

h2 {
    line-height: 1.15;
}


/* Kleinere headings blijven helder sans-serif */

h3,
h4,
h5,
h6,
.entry-title,
.product_title {
    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;

    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.3;
}

/* =========================================================
   2. TOP BAR / HEADER
   ========================================================= */


/* OceanWP toolbar desktop weg */

@media (min-width: 1025px) {

    #content .oceanwp-toolbar {
        display: none;
    }
}


/* Ongebruikte topbar-zijden */

#top-bar-wrap .oceanwp-top-bar-left,
#top-bar-wrap .oceanwp-top-bar-right {
    display: none;
}


/* Promotionele topbar */

#top-bar-wrap,

#top-bar-wrap {
    position: sticky;
    top: 0;
    z-index: 100;
}

/* WordPress adminbar */

body.admin-bar #top-bar-wrap {
    top: 32px;
}

@media (max-width: 782px) {

    body.admin-bar #top-bar-wrap {
        top: 46px;
    }
}


/* Mobiel */

@media (max-width: 767px) {

    #top-bar-wrap {
        font-size: 13px;
        line-height: 1.35;
    }
}

/* =========================================================
   3. MOBIELE ALGEMENE TEKST
   ========================================================= */

@media (max-width: 540px) {

    body .tablet-col div p {
        text-align: center;
        line-height: 1.4;
        font-size: 14px;
        margin-bottom: 1px;
    }
}

/* =========================================================
   11. SIDEBAR / WIDGETS
   ========================================================= */

.single-post ul.meta a {
    font-size: 14px;
    color: #4f4843;
}

.woocommerce div.product.owp-tabs-layout-section .panel h2:first-child {
    font-size: 17px;
}

.widget-title {
    border: none;
    padding-left: 0;
    text-transform: none;
}

.woocommerce-widget-layered-nav ul li .count {
    display: none;
}

.widget_ocean_custom_links ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.widget_ocean_custom_links li {
    margin-bottom: 10px;
}

.widget_ocean_custom_links a {
    display: inline-block;

    font-size: 16px;
    color: #2a2a2a;

    text-decoration: none;
    line-height: 1.35;

    transition: color .2s ease;

    background: transparent;
    border: 0;

    font-family: inherit;
}

.widget_ocean_custom_links a:hover,
.widget_ocean_custom_links a:focus {
    color: #f58820;
    outline: none;
}

.tagcloud .tag-cloud-link {
    font-size: 14px !important;
    line-height: 1.35 !important;

    font-family: inherit !important;

    text-decoration: none !important;

    background: #F5F1E8 !important;
    color: #2a2a2a !important;

    display: inline-block;

    padding: 6px 10px !important;
    margin: 4px 6px 8px 0 !important;

    border: 1px solid #e5e2db !important;
    border-radius: 0 !important;

    transition: all .25s ease;
    vertical-align: middle;
}

.tagcloud .tag-cloud-link:hover,
.tagcloud .tag-cloud-link:focus {
    background: #f58820 !important;
    color: #fff !important;
    border-color: #f58820 !important;
    outline: none;
}

.sidebar .widget,
.sidebar-box {
    margin-bottom: 28px;
}

/* =========================================================
   12. Z-INDEX / OVERLAYS
   ========================================================= */

.oceanwp-cart-sidebar-overlay,
.oceanwp-off-canvas-overlay {
    z-index: 10001 !important;
    position: fixed !important;
}

.oceanwp-cart-sidebar,
#oceanwp-cart-sidebar-wrap,
#oceanwp-off-canvas-wrap,
.oceanwp-off-canvas-sidebar {
    z-index: 10002 !important;
    position: fixed !important;
}


/* Mobiele menu's altijd vóór sticky topbar */

#sidr,
.sidr,
#mobile-dropdown,
#mobile-fullscreen {
    z-index: 10002 !important;
}

/* =========================================================
   13. LINKS
   ========================================================= */

.page:not(.woocommerce-page) .entry .woocommerce a,
.page:not(.woocommerce-page) .entry .woocommerce a:visited,
.page:not(.woocommerce-page) .entry .woocommerce a:hover {
    text-decoration: none !important;
    -webkit-text-decoration: none !important;
    background-image: none !important;
}

.woocommerce-product-details__short-description a:not(.button),
.woocommerce-Tabs-panel a:not(.button),
.woocommerce-Tabs-panel--description a:not(.button),
.entry-content a:not(.button):not(.wp-block-button__link):not(.woocommerce-LoopProduct-link),
.single-product .summary a:not(.button):not(.reset_variations):not(.added_to_cart):not(.qty-btn):not(.plus):not(.minus) {
    text-decoration: underline;
    text-decoration-color: currentColor;
    text-underline-offset: 2px;
}

a.added_to_cart,
a.wc-forward,
.quantity a,
.quantity .plus,
.quantity .minus,
.woocommerce-pagination a,
.page-numbers a,
.single-product .summary .cart a {
    text-decoration: none !important;
}

/* =========================================================
   15. FONTAWESOME VERVANGERS
   ========================================================= */


/* Add to cart */

.woocommerce a.added_to_cart::after,
.woocommerce a.button.added::after,
.woocommerce a.button.loading::after {
    content: none !important;
    font-family: inherit !important;
}


/* Hamburger */

.custom-hamburger-icon,
.custom-hamburger-icon:before,
.mobile-menu-icon .custom-hamburger-icon,
.mobile-menu-toggle .custom-hamburger-icon {
    font-style: normal !important;
    font-weight: normal !important;
    font-family: inherit !important;

    transform: none !important;

    font-size: 0 !important;
}

.custom-hamburger-icon:before {
    content: '';

    display: inline-block;

    width: 34px;
    height: 34px;

    font-size: 32px !important;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Cline x1='3' y1='18' x2='21' y2='18'/%3E%3C/svg%3E");

    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    vertical-align: middle;
}


/* WooCommerce spinner */

.woocommerce .blockUI.blockOverlay::before,
.woocommerce .loader::before,
.woocommerce .loading::before,
.woocommerce .button.loading::after {
    content: '' !important;
    font-family: inherit !important;
}

.woocommerce a.button.loading::after,
.ajax_add_to_cart.loading::after,
.single-product .single_add_to_cart_button.loading::after {
    content: '' !important;

    display: inline-block !important;

    width: 14px !important;
    height: 14px !important;

    margin-left: 8px !important;

    border: 2px solid rgba(255,255,255,.3) !important;
    border-top-color: #fff !important;
    border-radius: 50% !important;

    animation: woo-spinner .3s linear infinite !important;

    vertical-align: middle !important;
}

.woocommerce .blockUI.blockOverlay::before {
    content: '' !important;

    display: block !important;

    width: 40px !important;
    height: 40px !important;

    border: 4px solid rgba(0,0,0,.1) !important;
    border-top-color: #333 !important;
    border-radius: 50% !important;

    animation: woo-spinner .8s linear infinite !important;

    position: absolute !important;

    top: 50% !important;
    left: 50% !important;

    margin: -20px 0 0 -20px !important;

    z-index: 1000 !important;
}

@keyframes woo-spinner {

    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.woocommerce .button.loading,
.single_add_to_cart_button.loading {
    opacity: .7 !important;
    pointer-events: none !important;
    cursor: wait !important;
}


/* Woo meldingen */

.woocommerce-info:before {
    content: 'i' !important;
    font-family: inherit !important;
    font-style: normal !important;

    display: inline-block !important;

    width: 20px !important;
    height: 20px !important;

    line-height: 18px !important;
    text-align: center !important;

    border: 2px solid #000 !important;
    border-radius: 50% !important;

    color: #000 !important;

    font-weight: bold !important;

    margin-right: 10px !important;

    vertical-align: middle !important;
}

.woocommerce-message:before {
    content: '\2713' !important;
    font-family: inherit !important;
    font-style: normal !important;

    display: inline-block !important;

    width: 20px !important;
    height: 20px !important;

    line-height: 18px !important;
    text-align: center !important;

    border: 2px solid #2f6f57 !important;
    border-radius: 50% !important;

    color: #2f6f57 !important;

    font-weight: bold !important;

    margin-right: 10px !important;

    vertical-align: middle !important;
}

.woocommerce-error:before {
    content: '!' !important;
    font-family: inherit !important;
    font-style: normal !important;

    display: inline-block !important;

    width: 20px !important;
    height: 20px !important;

    line-height: 18px !important;
    text-align: center !important;

    border: 2px solid #e2401c !important;
    border-radius: 50% !important;

    color: #e2401c !important;

    font-weight: bold !important;

    margin-right: 10px !important;

    vertical-align: middle !important;
}


/* Select */

.theme-select:after {
    content: '\25BE' !important;
    font-family: inherit !important;
    font-weight: normal !important;
    font-size: 14px;
    line-height: 32px;
}


/* Variaties resetten */

.woocommerce div.product form.cart .variations .reset_variations {
    color: #e2401c !important;
}

.woocommerce div.product form.cart .variations .reset_variations:before {
    content: '\2715' !important;

    font-family: inherit !important;
    font-style: normal !important;
    font-weight: bold !important;

    margin-right: 6px !important;

    color: #e2401c !important;

    font-size: 16px !important;
}

.woocommerce div.product form.cart .variations .reset_variations:hover:before {
    color: #c0361a !important;
}


/* Mobiel submenu */

.sidr-class-dropdown-menu ul a:before {
    content: '\203A' !important;

    font-family: inherit !important;
    font-weight: normal !important;

    display: inline-block !important;

    margin: 0 10px !important;
}


/* Theme heading */

.theme-heading .text::before {
    content: "\2192" !important;
    font-family: inherit !important;
}


/* Scroll top */

#scroll-top {
    opacity: 1 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#scroll-top::after {
    content: "\2191" !important;

    font-family: Arial, sans-serif !important;

    font-size: 26px !important;
    font-weight: 900 !important;

    -webkit-text-stroke: 1.5px currentColor !important;

    color: #333 !important;
}


/* Wachtwoord */

.show-password-input {
    font-size: 0 !important;

    width: 30px !important;
    height: 30px !important;

    cursor: pointer;

    opacity: .5;

    transition: opacity .2s ease;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important;

    background-size: 20px 20px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-color: transparent !important;
}

.show-password-input:hover {
    opacity: 1;
}

/* =========================================================
   17. GUTENBERG BUTTONS
   Geen globale kleur meer forceren
   ========================================================= */

.wp-block-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.wp-block-buttons .wp-block-button {
    margin: 4px 0 !important;
}

.wp-block-buttons .wp-block-button__link {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    border-radius: 0;
}

/* =========================================================
   21. MOBILE HEADER OCEANWP
   ========================================================= */


/* Zoekicoon */

.oceanwp-mobile-menu-icon .search-icon-dropdown .owp-icon,
.oceanwp-mobile-menu-icon .search-icon-dropdown svg.owp-icon,
a.search-icon-dropdown svg.owp-icon-search {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
}


@media (max-width: 1280px) {

    #site-header #site-header-inner {
        display: grid !important;

        grid-template-columns: 1fr auto 1fr !important;

        align-items: center !important;

        min-height: 72px !important;

        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }


    /* Links hamburger + zoek */

    #site-header .oceanwp-mobile-menu-icon.mobile-left {
        position: static !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        gap: 14px !important;

        height: 72px !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: none !important;
    }


    /* Knoppen */

    #site-header .oceanwp-mobile-menu-icon .mobile-menu,
    #site-header .oceanwp-mobile-menu-icon .search-icon-dropdown {
        display: inline-flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 32px !important;
        height: 32px !important;

        min-width: 32px !important;
        min-height: 32px !important;

        margin: 0 !important;
        padding: 0 !important;

        line-height: 1 !important;

        position: static !important;

        top: auto !important;

        transform: none !important;
    }


    /* SVG */

    #site-header .oceanwp-mobile-menu-icon svg,
    #site-header .search-icon-dropdown svg,
    #site-header svg.owp-icon {
        display: block !important;

        margin: 0 !important;
        padding: 0 !important;

        vertical-align: middle !important;

        position: static !important;

        top: auto !important;

        transform: none !important;
    }


    /* Zoekicoon */

    #site-header
    .oceanwp-mobile-menu-icon
    .search-icon-dropdown
    svg.owp-icon {
        width: 22px !important;
        height: 22px !important;

        min-width: 22px !important;
        min-height: 22px !important;
    }


    /* Hamburger */

    #site-header
    .oceanwp-mobile-menu-icon
    .mobile-menu
    svg {
        width: 28px !important;
        height: 28px !important;
    }


    /* Logo midden */

    #site-header #site-logo {
        position: static !important;

        grid-column: 2 !important;

        align-self: center !important;
        justify-self: center !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: none !important;
    }

    #site-header #site-logo #site-logo-inner,
    #site-header #site-logo a {
        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        height: 72px !important;

        margin: 0 !important;
        padding: 0 !important;

        line-height: 1 !important;
    }


    /* Winkelmand rechts */

    #site-header .oceanwp-mobile-menu-icon.mobile-right,
    #site-header .oceanwp-shopping-cart,
    #site-header .wcmenucart,
    #site-header .wcmenucart-toggle-drop_down,
    #site-header .current-shop-items-dropdown {
        align-self: center !important;
        justify-self: end !important;

        margin-top: 0 !important;
        margin-bottom: 0 !important;

        top: auto !important;

        transform: none !important;
    }

    #site-header .wcmenucart,
    #site-header .wcmenucart a,
    #site-header .oceanwp-shopping-cart a {
        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        line-height: 1 !important;
    }
}
