/*
Theme Name: Botiga Child
Theme URI: https://athemes.com/theme/botiga/
Template: botiga

==============================================
  NAUFF Child Theme Stylesheet
==============================================

  INHALTSVERZEICHNIS
  ------------------
  0. (reserviert, Webfont-Import entfernt)
  1. Webfonts (@font-face)
     1a. Host Grotesk
  2. Allgemein (Reset, Body, Typografie)
  3. Header / Mega Menu
     3a. Header Container & Navigation
     3b. Logo
     3c. Rechte Icons (Suche, Account, Warenkorb)
     3d. Mega Menu Dropdown
     3e. Such-Overlay
     3f. Mobile / Responsive Header
  4. Hauptseite (Layout)
  5. Produktlisting (Shop / Kategorie)
     5a. Merkliste (Bookmark-Icon)
  6. Produktdetailseite
  7. Off-Canvas Panel (Filter-Sidebar)
  8. Groessentabelle Modal
  9. Sonstiges (Z-Index, Divi-Fixes)

============================================== */


/* ===========================================
   0. EXTERNE RESSOURCEN
   =========================================== */

/* Tabler Icons Webfont entfernt — Icons werden jetzt als Inline-SVG
   ueber nauff_icon() in functions.php eingebunden. */


/* ===========================================
   1. WEBFONTS
   =========================================== */

/* --- 1a. Host Grotesk (Variable Font) --- */
@font-face { font-family: 'Host Grotesk'; src: url('fonts/HostGrotesk-Variable.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Host Grotesk'; src: url('fonts/HostGrotesk-Variable-Italic.woff2') format('woff2'); font-weight: 100 900; font-style: italic; font-display: swap; }


/* ===========================================
   2. ALLGEMEIN
   =========================================== */

/* WooCommerce / WP Font-Overrides (Cardo, Inter) */
:root {
    --nff-content-width: 1600px;
    --wp--preset--font-family--cardo: var(--nff-font-body);
    --wp--preset--font-family--inter: var(--nff-font-body);
}
.has-cardo-font-family { font-family: var(--nff-font-body) !important; }
.has-inter-font-family { font-family: var(--nff-font-body) !important; }

/* Basis-Typografie */
html, body { font-family: var(--nff-font-body); font-size: 16px; font-feature-settings: "ss03" 1; }
h1, h2, h3, h4, h5, h6, .site-title { font-family: var(--nff-font-heading); font-weight: 500; letter-spacing: -0.02em !important; }
p { font-family: var(--nff-font-body); margin-bottom: var(--bt-paragraph-margin-bottom, 20px); }
b, strong { font-family: var(--nff-font-body); font-weight: 600; }
h3.subHeader {
	font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em !important;
    font-weight: 300;
    margin: 40px 0 4px 0;
}

/* Inline-SVG Icon Hilfsklassen */
.nff-icon { display: inline-block; vertical-align: middle; flex-shrink: 0; }
.nff-icon.small-IF { width: 1.1rem; height: 1.1rem; margin-right: 4px; }
.nff-icon.smaller-IF { width: 1.3rem; height: 1.3rem; margin-right: 4px; }
.nff-icon.medium-IF { width: 1.5rem; height: 1.5rem; margin-right: 4px; }

/* Preise – Roboto Condensed */
.price,
.woocommerce-Price-amount,
.amount,
.woocommerce-variation-price,
.product-gallery-summary .price,
.woocommerce-cart .cart_totals .order-total .amount,
.checkout-wrapper .order-total .amount,
.checkout-wrapper .cart-subtotal .amount,
.woocommerce-mini-cart__total .amount,
.widget_shopping_cart .woocommerce-mini-cart__total .amount,
table.woocommerce-cart-form__contents .product-price,
table.woocommerce-cart-form__contents .product-subtotal,
.shop_table .product-price,
.shop_table .product-subtotal,
.wc-block-grid__product-price,
.botiga-single-sticky-add-to-cart-wrapper .price { font-family: var(--nff-font-price) !important; }
.price { font-weight: 500; font-size: 17px; line-height: 1.2; }
ul.products li.product .price { font-size: 14px; line-height: 1.6; letter-spacing: -0.02em; }
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .botiga-wc-loop-product__title { font-size: 14px; font-weight: 500; text-transform:uppercase; letter-spacing:0.02em; }

/* Preis unterhalb des Titels statt daneben */
ul.products li.product .row { flex-direction: column; }
ul.products li.product .row .col-md-7,
ul.products li.product .row .col-md-5.loop-price-inline { flex: 0 0 100%; max-width: 100%; text-align: left !important; }
.related.products > h2,
.upsells.products > h2,
.recently-viewed-products > h2 { font-size: 1.25rem; margin: 0 0 16px; }

/* Germanized: Versandkosten-Hinweis im Mini-Cart ausblenden */
.botiga-side-mini-cart .shipping-costs-info,
.botiga-side-mini-cart .shipping-costs-cart-info,
.botiga-side-mini-cart .wc-gzd-additional-info.shipping-costs-info,
.widget_shopping_cart .shipping-costs-info,
.widget_shopping_cart .shipping-costs-cart-info { display: none !important; }

/* Sonstiges */
.icon-search { position: relative; top: -2px; }
.header-search-form { top: 0px; }
/*.bhfb-desktop {
    backdrop-filter: blur(24px) saturate(0.8) !important;
    -webkit-backdrop-filter: blur(24px) saturate(0.8) !important;
}*/


/* ===========================================
   3. HEADER / MEGA MENU
   =========================================== */

/* --- 3a. Header Container & Navigation --- */

/* Alten Divi-Header ausblenden */
.et_pb_section_0_tb_header { display: none !important; }
.et_pb_section_1_tb_header { z-index: 999999 !important; }
.et_pb_section_1_tb_header .et_builder_inner_content { z-index: 999998 !important; }
.et_pb_section_1_tb_header .et_pb_fullwidth_code { z-index: 999998 !important; }

.nauff-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
    background: #fff !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    transition: box-shadow 0.3s ease, background 0.3s ease;
}
.nauff-header.scrolled { box-shadow: 0 1px 10px rgba(0,0,0,0.08); }
.bhfb-main_header_row { border-bottom: none !important; }
body:not(.home) .bhfb-header,
body:not(.home) .bhfb-row-wrapper { background: #fff !important; }

.bhfb-header .main-navigation a,
.bhfb-header .main-navigation .menu-item > a,
.bhfb-header .botiga-dropdown-ul > li > a,
.bhfb-header .primary-menu > li > a,
header .main-navigation a { font-size: 18px !important; font-weight: 400 !important; text-transform: none !important; }
.bhfb-header .main-navigation > div > ul > li > a,
.bhfb-header .primary-menu > li > a { position: relative; }
.bhfb-header .main-navigation > div > ul > li > a::after,
.bhfb-header .primary-menu > li > a::after { content: ''; position: absolute; bottom: 8px; left: 0; width: 0; height: 2px; background: currentColor; transition: width 0.3s ease; }
.bhfb-header .main-navigation > div > ul > li > a:hover::after,
.bhfb-header .primary-menu > li > a:hover::after { width: 100%; }

.nauff-header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    max-width: var(--nff-content-width) !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    height: 70px !important;
    position: relative !important;
    box-sizing: border-box !important;
}

/* Linke Navigation */
.nauff-nav-left {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    flex: 1 !important;
}
.nauff-header .nauff-nav-left a,
.nauff-header .nauff-nav-left a:link,
.nauff-header .nauff-nav-left a:visited {
    font-family: var(--nff-font-heading);
    font-size: 21px;
    font-weight: 400;
    letter-spacing: -0.02em;
    text-transform: none;
    color: #1a1a1a !important;
    text-decoration: none !important;
    padding: 24px 0;
    position: relative;
    transition: color 0.2s ease;
}
.nauff-header .nauff-nav-left a:hover,
.nauff-header .nauff-nav-left a.active { color: #1a1a1a !important; }

.nauff-nav-left a::after {
    content: '';
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 0;
    height: 1px;
    background: #1a1a1a;
    transition: width 0.3s ease;
}
.nauff-nav-left a:hover::after,
.nauff-nav-left a.active::after { width: 100%; }

/* Altes Divi-Menu (Fallback) */
.nff-main_menu .et_pb_menu__wrap { justify-content: space-around !important; align-items: baseline !important; }

/* --- 3b. Logo --- */
.nauff-logo {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    padding: 0 !important;
    margin: 0 !important;
}
.nauff-logo img {
    height: 64px !important;
    width: auto !important;
    max-width: none !important;
    display: block !important;
}

/* --- 3c. Rechte Icons --- */
.nauff-nav-right {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex: 1 !important;
    justify-content: flex-end !important;
}
.nauff-header .nauff-nav-right a,
.nauff-header .nauff-nav-right a:link,
.nauff-header .nauff-nav-right a:visited {
    color: #1a1a1a !important;
    text-decoration: none !important;
    font-size: 22px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: color 0.2s ease;
}
.nauff-header .nauff-nav-right a:hover { color: #555 !important; }
.nauff-nav-right a i { font-size: 18px; stroke-width: 1.2; }

/* Warenkorb-Badge */
.nauff-cart-count {
    position: absolute;
    top: -6px;
    right: -8px;
    background: #1a1a1a;
    color: #fff;
    font-size: 9px;
    font-weight: 600;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: inherit;
}
.nauff-cart-count:empty,
.nauff-cart-count[data-count="0"] { display: none; }

/* --- 3d. Mega Menu Dropdown --- */
.nauff-mega-menu {
    position: fixed !important;
    top: 70px !important;
    left: 0 !important;
    width: 100% !important;
    background: #fff !important;
    border-top: 1px solid #f0f0f0 !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
    z-index: 99998 !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.06) !important;
    padding: 0 !important;
    margin: 0 !important;
}
.nauff-mega-menu.open { opacity: 1; visibility: visible; transform: translateY(0); }

.nauff-mega-menu-inner {
    display: flex !important;
    max-width: var(--nff-content-width) !important;
    margin: 0 auto !important;
    padding: 20px !important;
    gap: 40px !important;
    box-sizing: border-box !important;
}

/* Menu-Spalten */
.nauff-mega-col { flex: 0 0 auto !important; min-width: 160px !important; }
.nauff-mega-col h4 { font-size: 16px; font-weight: 500; letter-spacing: -0.02em; color: #1a1a1a !important; margin: 0 0 16px 0; text-transform: none; }
.nauff-mega-col ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.nauff-mega-col ul li { margin-bottom: 10px; }
.nauff-mega-col ul li a,
.nauff-mega-col ul li a:link,
.nauff-mega-col ul li a:visited { font-size: 16px; color: #888 !important; text-decoration: none !important; transition: color 0.2s ease; letter-spacing: -0.02em; }
.nauff-mega-col ul li a:hover { color: #1a1a1a !important; }

/* Sale-Link */
.nauff-mega-col .nauff-sale-link,
.nauff-mega-col .nauff-sale-link:link,
.nauff-mega-col .nauff-sale-link:visited { font-size: 16px; font-weight: 600; color: #1a1a1a !important; text-decoration: none !important; display: inline-block; margin-top: 20px; letter-spacing: -0.02em; }
.nauff-mega-col .nauff-sale-link:hover { color: #888 !important; }

/* Mega Menu Bild */
.nauff-mega-image { flex: 1 !important; display: flex !important; justify-content: flex-end !important; align-items: stretch !important; }
.nauff-mega-image-wrap { position: relative; width: 350px; height: 320px; border-radius: 4px; overflow: hidden; }
.nauff-mega-image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.nauff-mega-image-wrap:hover img { transform: scale(1.03); }
.nauff-mega-image-label { position: absolute; bottom: 20px; left: 20px; color: #fff; font-size: 17px; font-weight: 500; letter-spacing: -0.02em; text-transform: uppercase; }

/* Overlay hinter Mega Menu */
.nauff-mega-overlay {
    position: fixed !important;
    top: 70px !important;
    left: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    background: rgba(0,0,0,0.15) !important;
    z-index: 99997 !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.nauff-mega-overlay.open { opacity: 1; visibility: visible; }

/* --- 3e. Such-Overlay --- */
.nauff-search-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(255,255,255,0.97) !important;
    z-index: 100000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.nauff-search-overlay.open { opacity: 1; visibility: visible; }
.nauff-search-overlay-inner { width: 100%; max-width: 600px; padding: 0 40px; }
.nauff-search-overlay input[type="text"] {
    width: 100%;
    border: none;
    border-bottom: 2px solid #1a1a1a;
    padding: 16px 0;
    font-size: 29px;
    font-family: inherit;
    color: #1a1a1a;
    background: transparent;
    outline: none;
    letter-spacing: -0.02em;
}
.nauff-search-overlay input[type="text"]::placeholder { color: #ccc; }
.nauff-search-close {
    position: absolute;
    top: 30px;
    right: 40px;
    background: none;
    border: none;
    font-size: 34px;
    color: #1a1a1a;
    cursor: pointer;
    padding: 10px;
    line-height: 1;
}

/* --- 3f. Mobile / Responsive Header --- */
@media (max-width: 980px) {
    .nauff-header-inner { padding: 0 20px; height: 60px; }
    /* body:not(.home) padding-top removed — Botiga handles sticky header spacing */
    .nauff-nav-left { display: none; }
    .nauff-logo { position: relative; left: auto; top: auto; transform: none; }
    .nauff-logo img { height: 40px; }
    .nauff-nav-right { gap: 16px; }
    .nauff-nav-right a i { font-size: 20px; }
    .nauff-mobile-toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
        background: none;
        border: none;
        color: #1a1a1a;
        font-size: 24px;
        cursor: pointer;
        padding: 0;
        margin-right: 10px;
    }
    .nauff-mega-menu { top: 60px; height: calc(100vh - 60px); overflow-y: auto; }
    .nauff-mega-menu-inner { flex-direction: column; padding: 20px; gap: 20px; }
    .nauff-mega-image { display: none; }
    .nauff-mega-overlay { top: 60px; }

    /* Mobile Accordion */
    .nauff-mobile-nav-item { border-bottom: 1px solid #f0f0f0; }
    .nauff-mobile-nav-item > a,
    .nauff-mobile-nav-item > a:link,
    .nauff-mobile-nav-item > a:visited {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 0;
        font-size: 19px;
        font-weight: 500;
        color: #1a1a1a !important;
        text-decoration: none !important;
        text-transform: uppercase;
        letter-spacing: -0.02em;
    }
    .nauff-mobile-submenu { display: none; padding: 0 0 16px 0; }
    .nauff-mobile-submenu.open { display: block; }
    .nauff-search-overlay input[type="text"] { font-size: 22px; }
}

@media (min-width: 981px) {
    .nauff-mobile-toggle { display: none !important; }
    .nauff-mobile-menu { display: none !important; }
}


/* ===========================================
   4. HAUPTSEITE (Layout)
   =========================================== */

.site-main.no-sidebar,
.no-sidebar .site-main { max-width: var(--nff-content-width); margin: 0 auto; padding-left: 16px !important; padding-right: 16px !important; }


/* ===========================================
   5. PRODUKTLISTING (Shop / Kategorie)
   =========================================== */

ul.products.columns-3 { grid-template-columns: repeat(6, 1fr); }

@media (max-width: 768px) {
    .nauff-category-tabs { justify-content: center !important; }
}

/* --- 5a. Merkliste (Bookmark-Icon) --- */
.merchant-wishlist-button svg { visibility: hidden; }
.merchant-wishlist-button {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23212121' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 7v14l-6 -4l-6 4v-14a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4'/%3E%3C/svg%3E") !important;
    background-size: 17px 17px;
    background-repeat: no-repeat;
    background-position: center;
}
.merchant-wishlist-button:hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23212121' stroke='%23212121' stroke-width='2'%3E%3Cpath d='M14 2a5 5 0 0 1 5 5v14a1 1 0 0 1-1.555.832L12 18.202l-5.445 3.63A1 1 0 0 1 5 21V7a5 5 0 0 1 5-5z'/%3E%3C/svg%3E") !important;
}
.merchant-wishlist-button[data-type="remove"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23212121' stroke='%23212121' stroke-width='2'%3E%3Cpath d='M14 2a5 5 0 0 1 5 5v14a1 1 0 0 1-1.555.832L12 18.202l-5.445 3.63A1 1 0 0 1 5 21V7a5 5 0 0 1 5-5z'/%3E%3C/svg%3E") !important;
}
.botiga-wishlist-button { top: 5px; right: 5px; }
.botiga-wishlist-button .botiga-wishlist-icon path { stroke-width: 2px; }
.botiga-wishlist-button .botiga-wishlist-icon path:hover,
.botiga-wishlist-button svg path:hover { stroke: #9e9e9e; }


/* ===========================================
   6. PRODUKTDETAILSEITE
   =========================================== */

.woocommerce-breadcrumb { display: none !important; }
.product-template-default .content-wrapper { margin-top: 40px; }
.product-gallery-summary .entry-title { font-family: var(--nff-font-heading); font-size: 40px !important; line-height: 1.1 !important; }
.product-gallery-summary .product_title { margin-bottom: 8px; }
.product-gallery-summary .price { font-family: var(--nff-font-price) !important; font-weight: 500; font-size: 18px; letter-spacing: -0.02em; }
.product-gallery-summary .entry-summary { padding-left: 48px; }
.woocommerce-variation-availability .stock { display: none; }

/* Galerie */
.product-gallery-summary .woocommerce-product-gallery { grid-gap: 12px; -webkit-box-flex: 0; -ms-flex: 0 0 60%; flex: 0 0 60%; max-width: 60%; }
.product-gallery-summary .entry-summary { -webkit-box-flex: 0; -ms-flex: 0 0 40%; flex: 0 0 40%; max-width: 40%; }
.flex-control-thumbs:not(.botiga-slides) { grid-gap: 8px !important; }
.single-product div.product .gallery-vertical .flex-control-thumbs li,
.single-product div.product .gallery-showcase .flex-control-thumbs li { width: 100px; height: 100px !important; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img { padding: 0px; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img:hover,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { border: none; }
li.type-product a img, div.type-product a img, .woocommerce-product-gallery__image--placeholder { border-radius: 0px; overflow: hidden; }

/* Lightbox */
/* Gallery swap: sanfter Übergang statt Blitzer */
.woocommerce-product-gallery { transition: opacity 0.15s ease-in-out !important; }
.woocommerce-product-gallery.hidden { opacity: 0 !important; position: absolute !important; pointer-events: none; }
.product-gallery-summary .woocommerce-product-gallery:not(.hidden) { opacity: 1 !important; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img { border-radius: 0; }

/* Homepage: Full-width Content ermöglichen */
body.home div.container.content-wrapper,
body.home div.content-wrapper { max-width: 100% !important; padding: 0 !important; width: 100% !important; }
body.home div.container.content-wrapper > div.row.main-row,
body.home div.row.main-row { max-width: 100% !important; padding: 0 !important; margin: 0 !important; width: 100% !important; }
body.home #primary.site-main { max-width: 100% !important; padding: 0 !important; width: 100% !important; flex: 0 0 100% !important; }
body.home .entry-content { max-width: 100% !important; }
body.home .alignfull { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; max-width: 100% !important; }
/* Globale Container-Breite */
:root { --botiga_content_width: 1280px !important; }
.container { max-width: 1280px !important; }

body.home .entry-content > *:not(.alignfull):not(.alignwide) { max-width: 1400px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; box-sizing: border-box; }

/* Startseite: SVG-Logo max Content-Breite */
body.home .entry-content > .wp-block-image { max-width: 1280px !important; width: 100%; margin-left: auto; margin-right: auto; box-sizing: border-box; }
body.home .entry-content > .wp-block-image img[src*=".svg"] { width: 100%; max-width: 100%; height: auto; }

/* Homepage: Header transparent über dem Hero */
body.home .bhfb-header { position: fixed !important; top: 0; left: 0; width: 100%; z-index: 99999; }
body.home .bhfb-row-wrapper { background: transparent !important; box-shadow: none !important; }
body.home.admin-bar .bhfb-header { top: 32px; }

/* Botiga Sticky-Animation überschreiben */
body.home .bhfb-header,
body.home .bhfb-header.has-sticky-header,
body.home.sticky-header-active .bhfb-header,
body.home.sticky-header-active .bhfb-header.has-sticky-header { transform: translateY(0) !important; -webkit-transform: translateY(0) !important; transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease !important; }

/* Keine Rows verstecken auf Homepage */
body.home .bhfb-header .bhfb-sticky-hidden { display: flex !important; visibility: visible !important; }

/* Beim Runterscrollen: Header ausblenden */
body.home.sticky-header-active.botiga-scrolling-down .bhfb-header,
body.home.sticky-header-active.botiga-scrolling-down .bhfb-header.has-sticky-header,
body.home.botiga-scrolling-down .bhfb-header.sticky-scrolltop { transform: translateY(-100%) !important; -webkit-transform: translateY(-100%) !important; }

/* Kein Padding-Top-Sprung — Hero geht unter den fixen Header */
body.home.sticky-header-active { padding-top: 0 !important; }
body.home.sticky-header-active .site { padding-top: 0 !important; margin-top: 0 !important; }

/* Unterseiten: gleiche Sticky-Fixes wie Homepage */
body:not(.home) .bhfb-header,
body:not(.home) .bhfb-header.has-sticky-header,
body:not(.home).sticky-header-active .bhfb-header,
body:not(.home).sticky-header-active .bhfb-header.has-sticky-header { transform: translateY(0) !important; -webkit-transform: translateY(0) !important; transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease !important; }
body:not(.home) .bhfb-header .bhfb-sticky-hidden { display: flex !important; visibility: visible !important; }

/* Unterseiten: Header beim Runterscrollen ausblenden */
body:not(.home).sticky-header-active.botiga-scrolling-down .bhfb-header,
body:not(.home).sticky-header-active.botiga-scrolling-down .bhfb-header.has-sticky-header,
body:not(.home).botiga-scrolling-down .bhfb-header.sticky-scrolltop { transform: translateY(-100%) !important; -webkit-transform: translateY(-100%) !important; }

/* Mobile Header: sticky + hide on scroll down, show on scroll up */
@media (max-width: 1024px) {
    .bhfb-mobile {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        z-index: 99999 !important;
        transition: transform 0.3s ease !important;
    }
    body.botiga-scrolling-down .bhfb-mobile {
        transform: translateY(-100%) !important;
    }
    body:not(.botiga-scrolling-down) .bhfb-mobile {
        transform: translateY(0) !important;
    }
}

/* Scrolled: Header weiß + dunkle Schrift */
body.home.sticky-header-active .bhfb-header { background: #fff !important; box-shadow: 0 1px 10px rgba(0,0,0,0.08) !important; }
body.home.sticky-header-active .bhfb-row-wrapper { background: #fff !important; }
body.home.sticky-header-active .bhfb-header .bhfb-row a,
body.home.sticky-header-active .bhfb-header .bhfb-row .header-item,
body.home.sticky-header-active .bhfb-header .bhfb-row svg { color: #1a1a1a !important; fill: #1a1a1a; }
body.home.sticky-header-active .bhfb-header .site-logo img,
body.home.sticky-header-active .bhfb-header .custom-logo { filter: none; }

/* Nicht-scrolled: transparenter Header — weiße Menü-Links + Icons */
body.home:not(.sticky-header-active) .bhfb-header .main-navigation a,
body.home:not(.sticky-header-active) .bhfb-header .bhfb-builder-item > a { color: #fff !important; }

/* Nicht-scrolled: weiße Icons — mask-basiert (Lupe) + SVG fill (Account, Cart) */
body.home:not(.sticky-header-active) .bhfb-header .botiga-image.is-svg { background-color: #fff !important; }
body.home:not(.sticky-header-active) .bhfb-header .bhfb-component-woo_icons .header-item svg,
body.home:not(.sticky-header-active) .bhfb-header .bhfb-component-search svg { fill: #fff !important; }
/* Cart-Dropdown ausgenommen */
body.home:not(.sticky-header-active) .bhfb-header .botiga-side-mini-cart .botiga-image.is-svg { background-color: #1a1a1a !important; }
body.home:not(.sticky-header-active) .bhfb-header .botiga-side-mini-cart svg { fill: #1a1a1a !important; }

/* Nicht-scrolled: weißes Logo */
body.home:not(.sticky-header-active) .bhfb-header .site-logo img,
body.home:not(.sticky-header-active) .bhfb-header .custom-logo { filter: brightness(0) invert(1); }

/* Mini-Cart Dropdown: dunkle Schrift erzwingen */
body.home:not(.sticky-header-active) .botiga-side-mini-cart,
body.home:not(.sticky-header-active) .botiga-side-mini-cart a,
body.home:not(.sticky-header-active) .botiga-side-mini-cart p,
body.home:not(.sticky-header-active) .botiga-side-mini-cart h2,
body.home:not(.sticky-header-active) .botiga-side-mini-cart span,
body.home:not(.sticky-header-active) .botiga-side-mini-cart div { color: #1a1a1a !important; }

/* Homepage Hero */
.nauff-hero { display: flex; align-items: center; justify-content: center; }
.nauff-hero .wp-block-cover__inner-container { max-width: 100% !important; width: 100% !important; padding: 0 !important; }
.nauff-hero .wp-block-cover__inner-container .wp-block-group { max-width: 100% !important; padding: 0 !important; }
.nauff-hero .wp-block-cover__inner-container .wp-block-image { margin: 0 auto !important; width: 95% !important; }
.nauff-hero .wp-block-cover__inner-container .wp-block-image img { width: 100% !important; max-width: 100% !important; height: auto !important; }
.nauff-hero h1 { text-shadow: 0 2px 20px rgba(0,0,0,0.15); }

/* Homepage: Quote-Block Styling */
.wp-block-quote { border-left: none !important; padding-left: 0 !important; }

/* Homepage: Kategorie-Cards Hover */
.front-page .wp-block-cover { transition: transform 0.3s ease; }
.front-page .wp-block-cover:hover { transform: scale(1.01); }

.pswp__bg { background: #f5f4f5 !important; }
.pswp__counter { color: #34473f; opacity: 1; }
.pswp__ui--fit .pswp__top-bar { background-color: rgba(0, 0, 0, 0); }
.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before { filter: brightness(0) saturate(100%) invert(24%) sepia(12%) saturate(1200%) hue-rotate(107deg) brightness(95%) contrast(90%) !important; }

/* Varianten */
.disabled { opacity: .35; }
.single-product .merchant-variations-wrapper .merchant-variation-type-button > a,
.single-product .botiga-variation-item { min-width: 44px; min-height: 44px; }
.single-product .merchant-variations-wrapper .merchant-variation-type-button > a[value="onesize"],
.single-product .botiga-variation-item[value="onesize"] { padding: 0 8px 0 8px !important; pointer-events: none; background-color: transparent !important; color: #34473f !important; border-color: #ccc !important; }
.single-product .merchant-variations-wrapper .merchant-variation-type-button > a.active { --merchant-button-border-hover-color: #34473f; border-width: 2px; border-color: #34473f; background-color: #34473f; color: #fff; }
.reset_variations { display: none !important; }
table.variations { margin-top: 8px; }
.single-product .variations_form.cart .woocommerce-variation-add-to-cart { margin: 4px 0 0; }
.product-gallery-summary form.cart { margin-bottom: 0 !important; }
.woocommerce-variation-availability .stock { display: none; }

/* Ausverkaufte Varianten: durchgestrichen */
.nauff-oos,
.merchant-variation-item[data-stock-status="outofstock"] {
    position: relative !important; opacity: 0.45;
}
.nauff-oos::before,
.merchant-variation-item[data-stock-status="outofstock"]::before {
    content: "" !important; position: absolute; top: 50%; left: -2px; right: -2px; height: 1.5px; background: #999; transform: rotate(-45deg); z-index: 1;
}

/* Vergriffene Variante: Menge + Warenkorb ausblenden */
.woocommerce-variation-add-to-cart-disabled { display: none !important; }
.product-gallery-summary:has(.woocommerce-variation-add-to-cart-disabled) .botiga-single-addtocart-wrapper { display: none !important; }

/* OOS Varianten-Benachrichtigung (eigenes Form ausgeblendet — Merchant Wait List wird stattdessen verwendet) */
#nauff-oos-notify { display: none !important; }
.nauff-oos-notice { font-size: 15px; color: #c0392b; margin-bottom: 12px; }
.nauff-oos-notify-form { display: flex; flex-direction: column; gap: 10px; }
.nauff-oos-notify-email {
    width: 100%; padding: 14px 16px; border: 1px solid #D0CFCB; border-radius: 12px;
    font-size: 15px; font-family: inherit; background: #fff;
}
.nauff-oos-notify-email:focus { outline: none; border-color: #34473f; }
.nauff-oos-notify-btn {
    width: 100%; padding: 16px; border: none; border-radius: 999px;
    background: #34473f; color: #fff; font-size: 15px; font-weight: 600;
    font-family: inherit; cursor: pointer; letter-spacing: 0.5px; text-transform: uppercase;
}
.nauff-oos-notify-btn:hover { background: #1D4B00; }

/* Merchant Wait List — gestylt wie NAUFF Benachrichtigungsformular */
.merchant-wait-list-container { margin-top: 12px; }
.merchant-wait-list-title { font-size: 15px !important; color: #c0392b !important; font-weight: 700 !important; margin-bottom: 12px !important; }
.merchant-wait-list-email label { display: none !important; }
.merchant-wait-list-email input[type="email"] {
    width: 100% !important; padding: 14px 16px !important; border: 1px solid #D0CFCB !important;
    border-radius: 12px !important; font-size: 15px !important; font-family: inherit !important;
    background: #fff !important; box-sizing: border-box !important;
}
.merchant-wait-list-email input[type="email"]:focus { outline: none !important; border-color: #34473f !important; }
.merchant-wait-list-submit {
    width: 100% !important; padding: 16px !important; border: none !important; border-radius: 999px !important;
    background: #34473f !important; color: #fff !important; font-size: 15px !important; font-weight: 600 !important;
    font-family: inherit !important; cursor: pointer !important; letter-spacing: 0.5px !important;
    text-transform: uppercase !important; margin-top: 10px !important;
}
.merchant-wait-list-submit:hover { background: #1D4B00 !important; }

/* Botiga Swatch aktive Border */
.single-product .botiga-variation-item.selected,
.single-product .botiga-variation-item[aria-checked="true"] { border-color: #34473f !important; border-width: 1px !important; }
.single-product .merchant-variation-item.active { border-color: #34473f !important; border-width: 1px !important; }
.single-product .merchant-variation-item:focus,
.single-product .merchant-variation-item.active:focus,
.single-product .botiga-variation-item:focus,
.single-product .botiga-variation-item.selected:focus { outline: none !important; box-shadow: none !important; }
.merchant-variations-wrapper .merchant-variation-type-color > a, .merchant-variations-wrapper .merchant-variation-type-image > a {
    padding: 3px !important;
}

/* SOLD OUT Badge (Shop-Übersicht) — Overlay */
.nauff-sold-out-badge { position: absolute; top: 10px; left: 10px; z-index: 999; background: #e0e0e0; color: #555; font-size: 11px; font-weight: 600; letter-spacing: 0; text-transform: uppercase; padding: 6px 10px; border-radius: 4px; line-height: 1; font-family: var(--nff-font-body); pointer-events: none; }

/* Merchant/WooCommerce "SOLD OUT" Label ausblenden wenn unser Badge da ist */
li.product:has(.nauff-sold-out-badge) .merchant-product-labels,
li.product:has(.nauff-sold-out-badge) .onsale,
li.product:has(.nauff-sold-out-badge) .botiga-sale-badge { display: none !important; }

/* Ausverkauft-Block (Produktseite) */
.nauff-sold-out-block { margin-top: 0; }
.nauff-sold-out .variations_form.cart { margin-bottom: 0 !important; }
.nauff-sold-out .merchant-variations-wrapper { margin-bottom: 0 !important; }
.nauff-sold-out .botiga-variations-wrapper { margin-bottom: 0 !important; }
.nauff-sold-out-heading { font-size: 28px; font-weight: 500; margin: 0 0 6px; color: #1a1a1a; font-family: var(--nff-font-heading, 'Host Grotesk', sans-serif); }
.nauff-sold-out-text { font-size: 15px; color: #555; margin: 0 0 24px; line-height: 1.5; }
.nauff-sold-out-form { display: flex; flex-direction: column; gap: 16px; }
.nauff-sold-out-email,
.single-product .nauff-sold-out-email,
input[type="email"].nauff-sold-out-email {
    width: 100% !important; padding: 16px 18px !important; font-size: 16px !important;
    border: 1px solid #ccc !important; border-radius: 6px !important;
    background: #fff !important; color: #1a1a1a !important;
    font-family: inherit; outline: none !important; box-sizing: border-box;
}
.nauff-sold-out-email::placeholder { color: #888; font-size: 16px; }
.nauff-sold-out-email:focus { border-color: #34473f !important; }
.nauff-sold-out-btn,
button.nauff-sold-out-btn {
    display: flex !important; align-items: center; justify-content: center; gap: 10px;
    width: 100% !important; padding: 16px 24px !important; font-size: 16px !important; font-weight: 600 !important;
    color: #fff !important; background: #34473f !important; border: none !important;
    border-radius: 999px !important; cursor: pointer; font-family: inherit; transition: background .2s;
}
.nauff-sold-out-btn:hover { background: #2a3a33 !important; }
.nauff-sold-out-btn svg { flex-shrink: 0; }
.nauff-sold-out-msg p { font-size: 15px; margin: 0; }

/* Buy Button Farbe */
.single_add_to_cart_button,
.single-product .botiga-single-addtocart-wrapper .single_add_to_cart_button { background-color: #34473f !important; border-color: #34473f !important; }

/* Swatch Label: Variantenname unter Titel verstecken */
.single-product .botiga-single-product-variation-name,
.single-product .botiga-variation-name-on-title { display: none !important; }

/* OffCanvas Tab Trigger Headlines */
.nauff-tab-trigger { font-weight: 500 !important; }

/* Wait List: E-Mail-Feld neutral stylen */
.merchant-wait-list-email input[type="email"] { background-color: #fff !important; border: 1px solid #ccc !important; color: #333 !important; }
.merchant-wait-list-submit { padding: 18px 20px !important; border-radius: 99px !important; background-color: #34473f !important; border-color: #34473f !important; }

/* Menge & Warenkorb */
.quantity { border: 1px solid #cecece; border-radius: 999px; }
.quantity .botiga-quantity-plus,
.quantity .botiga-quantity-minus { font-size: 1.5rem !important; font-family: var(--nff-font-body) !important; font-weight: 300; }
form.cart .quantity { max-width: 25%; }

/* Mobile: Menge + Warenkorb-Button in eine Zeile */
@media (max-width: 768px) {
    .single-product .woocommerce-variation-add-to-cart,
    .single-product .botiga-single-addtocart-wrapper,
    .single-product form.cart {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 10px !important;
    }
    .single-product .woocommerce-variation-add-to-cart .quantity,
    .single-product .botiga-single-addtocart-wrapper .quantity,
    .single-product form.cart .quantity {
        flex: 0 0 auto !important;
        max-width: none !important;
        width: auto !important;
    }
    .single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
    .single-product .botiga-single-addtocart-wrapper .single_add_to_cart_button,
    .single-product form.cart .single_add_to_cart_button {
        flex: 1 !important;
        width: auto !important;
        padding: 16px 20px !important;
    }
}

/* Kurzbeschreibung */
.woocommerce-product-details__short-description { font-size: 16px; }
.woocommerce-product-details__short-description p:last-of-type { margin-bottom: 8px; }
.product_meta { font-size: 16px; }

/* MwSt. / Lieferzeit / GZD */
.woocommerce div.product p.price .nauff-tax-note,
.woocommerce div.product span.price .nauff-tax-note,
.woocommerce div.product p.price .nauff-delivery-time,
.woocommerce div.product span.price .nauff-delivery-time { display: block; font-weight: 300; margin-top: 8px; font-family: var(--nff-font-body); }
.woocommerce div.product p.price .nauff-tax-note { color: #34473f; font-size: 12px !important; letter-spacing: -0.02em; }
.woocommerce div.product p.price .nauff-delivery-time { color: #34473f; font-size: 12px !important; }
.woocommerce div.product p.price .nauff-delivery-time,
.woocommerce div.product span.price .nauff-delivery-time { border-top: 1px solid #e5e5e5; padding-top: 10px; margin-top: 10px; }
.woocommerce div.product .nauff-tax-note a { text-decoration: underline; }
.delivery-time-info { border-top: 1px solid #e0e0e0; padding-top: 8px; }
.product p.wc-gzd-additional-info { font-size: .85em; color: #616161; }

/* Produkt-Labels (Sale, Neu, etc.) */
.merchant-product-labels--multiple,
.merchant-product-labels.show-on-desktop { display: flex; flex-direction: row; flex-wrap: wrap; align-content: flex-start; justify-content: flex-start; gap: 4px; padding: 8px; }
.botiga-recently-viewed-products .merchant-product-labels.show-on-desktop { top: auto; bottom: 0px; }
.merchant-product-labels__label-wrapper { position: static; }
.merchant-product-labels__text .merchant-label { letter-spacing: -0.02em; font-family: var(--nff-font-body); text-transform: uppercase; }

/* Sticky Add-to-Cart */
.merchant-sticky-add-to-cart-item .single_add_to_cart_button { padding-top: 14px !important; padding-bottom: 14px !important; height: 60px !important; }

/* Custom Tabs */
.nauff-custom-tab-content ul, ol { margin: 0 0 16px 0; padding-left: 20px; }

/* Zuletzt angesehen */
.botiga-recently-viewed-products { margin-top: 16px; padding-top: 32px; }

/* Mobile: Ähnliche Produkte + Zuletzt angesehen 3 Spalten */
@media (max-width: 768px) {
    .related.products ul.products,
    .upsells.products ul.products,
    .botiga-recently-viewed-products ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 10px !important;
    }
    .related.products ul.products li.product .woocommerce-loop-product__title,
    .related.products ul.products li.product .botiga-wc-loop-product__title,
    .upsells.products ul.products li.product .woocommerce-loop-product__title,
    .upsells.products ul.products li.product .botiga-wc-loop-product__title,
    .botiga-recently-viewed-products ul.products li.product .woocommerce-loop-product__title,
    .botiga-recently-viewed-products ul.products li.product .botiga-wc-loop-product__title {
        font-size: 12px !important;
    }
    .related.products ul.products li.product .price,
    .upsells.products ul.products li.product .price,
    .botiga-recently-viewed-products ul.products li.product .price {
        font-size: 12px !important;
    }
    .botiga-recently-viewed-products ul.products li.product .woocommerce-loop-product__title,
    .botiga-recently-viewed-products ul.products li.product .botiga-wc-loop-product__title,
    .botiga-recently-viewed-products ul.products li.product .price {
        display: none !important;
    }
}


/* ===========================================
   7. OFF-CANVAS PANEL (Filter-Sidebar)
   =========================================== */

.nauff-offcanvas-panel { box-shadow: none; z-index: 999999 !important; }
.nauff-offcanvas-backdrop { z-index: 999998 !important; }
.nauff-offcanvas-panel.is-open { box-shadow: -4px 0px 24px rgba(0, 0, 0, 0.12); }
.nauff-offcanvas-body ul { list-style: none; padding-left: 0; }
.nauff-offcanvas-body ul:not(.nauff-care-icons) li::before { content: '–'; margin-right: 8px; color: #999; }
.btsf-filter-wrapper h4 { font-size: 17px; letter-spacing: -0.02em !important; font-family: var(--nff-font-heading); font-weight: 500; }
ul li.btsf-filter-list-item { padding: 0; }
.btsf-filter-type-label .btsf-terms-text-link { border: 1px solid #cecece; border-radius: 1px; padding: 12px; min-width: 60px; display: flex; align-items: center; justify-content: center; }
.btsf-filter-type-label .btsf-filter-list { gap: 6px; }
.btsf-filter-type-label .btsf-terms-text-link:hover { color: #34473f; background-color: #fff; border-color: #34473f; }
.nauff-offcanvas-filter .btsf-active-filters { display: none; }


/* ===========================================
   8. GROESSENTABELLE MODAL
   =========================================== */

/* Merchant Size Chart komplett ausblenden — NAUFF hat eigenes Modal */
.merchant-product-size-chart { display: none !important; }

/* Overlay/Backdrop */
.nauff-size-chart-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 999999;
    opacity: 0; visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    backdrop-filter: blur(2px);
}
.nauff-size-chart-overlay.active { opacity: 1; visibility: visible; }

/* Modal */
.nauff-size-chart-modal {
    position: fixed; top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(0.95);
    width: 90%; max-width: 800px; max-height: 85vh;
    background: #fff;
    z-index: 1000000;
    border-radius: 8px;
    overflow-y: auto;
    opacity: 0; visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}
.nauff-size-chart-modal.active { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); }

/* Close Button */
.nauff-size-chart-close {
    position: sticky; top: 0;
    display: flex; justify-content: flex-end;
    padding: 16px 20px 8px;
    background: linear-gradient(to bottom, #fff 60%, transparent);
    z-index: 2;
	float: right;
	margin-bottom: -32px;
}
.nauff-size-chart-close button {
    background: none; border: none; cursor: pointer;
    width: 36px; height: 36px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    transition: background 0.2s ease;
    padding: 0;
}
.nauff-size-chart-close button:hover { background: rgba(0, 0, 0, 0.08); }
.nauff-size-chart-close button svg { width: 20px; height: 20px; }

/* Divi-Inhalt im Modal */
.nauff-size-chart-content { padding: 0 30px 30px; }
.nauff-size-chart-content .et_pb_section { padding: 0 !important; }
.nauff-size-chart-content .et_pb_row { max-width: 100% !important; padding: 0 !important; }

/* Modal Mobile: Bottom-Sheet */
@media (max-width: 768px) {
    .nauff-size-chart-modal {
        width: 95%; max-height: 90vh;
        border-radius: 8px 8px 0 0;
        top: auto; bottom: 0;
        transform: translate(-50%, 20px);
    }
    .nauff-size-chart-modal.active { transform: translate(-50%, 0); }
    .nauff-size-chart-content { padding: 0 20px 20px; }
}

/* Scroll sperren wenn Modal offen */
body.nauff-size-chart-open { overflow: hidden; }

.nauff-sizechart-wrap { padding: 0; }

/* ===========================================
   8b. INHALTSSEITEN (schmales Layout)
   =========================================== */

/* Template: "Inhaltsseite (schmal)" — für Impressum, Datenschutz etc. */
.nauff-narrow-page .entry-content {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* Botiga Shop Filter im OffCanvas: Spiegelstrich-Listmarker ausblenden */
.btsf-filter-list,
.btsf-filter .btsf-filter-list {
    list-style: none !important;
    padding-left: 0 !important;
}
.btsf-filter-list-item {
    list-style: none !important;
}
.btsf-filter-list-item::marker,
.btsf-filter-list-item::before {
    content: none !important;
    display: none !important;
}

/* Mengen-Input: kein eigener Rahmen (Pill-Wrapper hat bereits Border) */
.qty,
input.qty,
input[type="number"].qty,
.quantity .qty,
.woocommerce .quantity .qty,
.woocommerce input.qty,
.single-product .quantity input.qty {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    width: 40px !important;
    text-align: center !important;
    color: #1a1a1a !important;
    font-size: 16px !important;
    -moz-appearance: textfield !important;
}
.single-product .quantity input.qty::-webkit-inner-spin-button,
.single-product .quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Warenkorb: Buttons im NAUFF-Style */
.woocommerce-cart .coupon .button,
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart .merchant-clear-cart-btn,
.woocommerce-cart input[type="submit"] {
    background: #34473f !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    opacity: 1 !important;
}
.woocommerce-cart .coupon .button:hover,
.woocommerce-cart button[name="update_cart"]:hover,
.woocommerce-cart .merchant-clear-cart-btn:hover {
    background: #1D4B00 !important;
}
/* Warenkorb aktualisieren: disabled State */
.woocommerce-cart button[name="update_cart"]:disabled {
    background: #A6A49E !important;
    cursor: not-allowed !important;
}

/* Warenkorb: Gutschein-Input */
.woocommerce-cart .coupon input[type="text"] {
    background: #fff !important;
    border: 1px solid #D0CFCB !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
}

/* PayPal Express-Kasse: sichtbar im Checkout — Pay-Later Werbung ausblenden */
.checkout-layout4 .ppcp-messages,
.woocommerce-checkout .ppcp-messages {
    display: none !important;
}

/* Shop Hero Banner */
.nauff-shop-hero {
    margin: -30px 0 32px;
}
.nauff-shop-hero > .wp-block-cover {
    border-radius: 0 !important;
    min-height: 320px;
}
@media (max-width: 980px) {
    .nauff-shop-hero { margin-top: -16px; }
    .nauff-shop-hero > .wp-block-cover { min-height: 50vh; }
}

/* Mobile Header Fix */
@media (max-width: 980px) {
    .bhfb-mobile .custom-logo-link img,
    .bhfb-mobile .custom-logo,
    .bhfb-mobile img.custom-logo {
        max-height: 28px !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
    }
    .bhfb-mobile .site-title { display: none !important; }
    .bhfb-mobile .site-description { display: none !important; }
    .bhfb-mobile .bhfb-main_header_row .bhfb-row .bhfb-column { display: flex !important; align-items: center !important; }
    .bhfb-mobile .bhfb-main_header_row .bhfb-row {
        padding: 10px 0 !important;
        min-height: auto !important;
    }
    .bhfb-mobile .bhfb-above_header_row { display: none !important; }
    .bhfb-mobile .bhfb-below_header_row { display: none !important; }
}
.nauff-shop-hero > p:empty,
.nauff-shop-hero > p:only-child { display: none; }

/* Germanized Widerrufs-Button im Footer ausblenden */
.wc-gzd-revocation-notice-btn,
.woocommerce-gzd-revocation-notice { display: none !important; }

/* Rezensionen/Reviews ausblenden */
.woocommerce-Reviews,
#reviews,
.woocommerce-review-link,
.comment-form-rating,
#tab-reviews,
.reviews_tab,
.merchant-adv-reviews { display: none !important; }

/* Größentabelle temporär ausgeblendet (wird noch befüllt) */
.merchant-product-size-chart-button { display: none !important; }

/* ===========================================
   8c. CHECKOUT / FORMULARFELDER
   =========================================== */

/* Text-Inputs, Selects, Textareas — Global + Checkout (Botiga Layout4) */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"]:not(.qty),
.woocommerce input[type="password"],
.woocommerce input[type="url"],
.woocommerce input[type="search"],
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.checkout-layout4 input[type="text"],
.checkout-layout4 input[type="email"],
.checkout-layout4 input[type="tel"],
.checkout-layout4 input[type="number"],
.checkout-layout4 input[type="password"],
.checkout-layout4 textarea,
.checkout-layout4 select,
#order_review input[type="text"],
#order_review select {
    background: #fff !important;
    border: 1px solid #D0CFCB !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    font-family: inherit !important;
    color: #34473f !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

/* Fokus: grüner Rahmen + weicher Ring */
.woocommerce input:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.checkout-layout4 input:focus,
.checkout-layout4 textarea:focus,
.checkout-layout4 select:focus {
    border-color: #243F3D !important;
    box-shadow: 0 0 0 3px rgba(36, 63, 61, 0.12) !important;
    outline: none !important;
    background: #fff !important;
}

/* Error: orange Rahmen */
.woocommerce .woocommerce-invalid input.input-text,
.woocommerce .woocommerce-invalid select,
.woocommerce .woocommerce-invalid input {
    border-color: #F95831 !important;
}
.woocommerce .woocommerce-invalid label {
    color: #F95831 !important;
}

/* Disabled */
.woocommerce input:disabled,
.woocommerce select:disabled,
.woocommerce textarea:disabled {
    background: #f2f2f2 !important;
    color: #999 !important;
    cursor: not-allowed;
}

/* Labels */
.woocommerce .form-row label,
.checkout-layout4 label {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #34473f !important;
    margin-bottom: 4px !important;
}

/* Checkboxen & Radio Buttons: Brand Green wenn aktiv */
.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"] {
    accent-color: #34473f !important;
    width: 20px !important;
    height: 20px !important;
}

/* Coupon-Input */
.checkout_coupon input[type="text"],
.botiga-coupon-form input[type="text"],
#coupon_code,
input[name="coupon_code"] {
    background: #fff !important;
    border: 1px solid #D0CFCB !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
}

/* Select Dropdown-Pfeil */
.woocommerce select,
.checkout-layout4 select {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2334473f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 18px !important;
    padding-right: 40px !important;
    background-color: #fff !important;
}

/* ===========================================
   8d. MOBILE RESPONSIVE FIXES
   =========================================== */

/* Checkout: Formularfelder stacken auf Mobile */
@media (max-width: 768px) {
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last,
    .checkout-layout4 .form-row-first,
    .checkout-layout4 .form-row-last {
        float: none !important;
        width: 100% !important;
    }
    .woocommerce-checkout #place_order,
    .checkout-layout4 #place_order {
        width: 100% !important;
    }
}

/* Warenkorb: Mobile Layout Fixes */
@media (max-width: 768px) {
    /* Weniger Abstand oben auf Warenkorb-Seite */
    .woocommerce-cart .woocommerce-page-header {
        padding-top: 0 !important;
        padding-bottom: 16px !important;
    }

    /* Produktname + Lieferzeit: Zeilenumbruch verhindern */
    .woocommerce-cart .shop_table .product-name {
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }

    /* Mengenfeld: Zahl sichtbar */
    .woocommerce-cart .quantity input.qty {
        width: 40px !important;
        text-align: center !important;
        color: #1a1a1a !important;
        font-size: 16px !important;
        -moz-appearance: textfield !important;
    }
    .woocommerce-cart .quantity input.qty::-webkit-inner-spin-button,
    .woocommerce-cart .quantity input.qty::-webkit-outer-spin-button {
        -webkit-appearance: none !important;
        margin: 0 !important;
    }

    /* Gutschein: Buttons nebeneinander, CI-konform */
    .woocommerce-cart .coupon {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        width: 100% !important;
    }
    .woocommerce-cart .coupon input[type=text] {
        flex: 1 1 100% !important;
        width: 100% !important;
    }
    .woocommerce-cart .coupon .button {
        width: 100% !important;
    }

    /* Clear Cart: volle Breite + zentriert */
    .woocommerce-cart .merchant-clear-cart-btn {
        width: 100% !important;
        margin-top: 8px !important;
    }

    /* Alle Cart-Buttons: zentriert + volle Breite */
    .woocommerce-cart .actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
    }
    .woocommerce-cart .actions > * {
        width: 100% !important;
        text-align: center !important;
    }
    .woocommerce-cart .actions button[name="update_cart"] {
        order: -1 !important;
    }
}

/* Warenkorb: WooCommerce Coupon-Button im NAUFF-Style (überschreibt WC rot) */
.woocommerce-cart .coupon .button,
.woocommerce-cart .coupon button[type="submit"],
.woocommerce-cart .coupon input[type="submit"] {
    background: #34473f !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
}
.woocommerce-cart .coupon .button:hover,
.woocommerce-cart .coupon button[type="submit"]:hover {
    background: #1D4B00 !important;
}

/* PDP: Gallery/Summary stacken + Padding fix auf Mobile */
@media (max-width: 768px) {
    .product-gallery-summary .woocommerce-product-gallery {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    .product-gallery-summary .entry-summary {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
    }
}

/* Touch Targets: Mindestens 44px */
@media (max-width: 768px) {
    .nauff-sort-toggle,
    .nauff-filter-toggle {
        min-height: 44px !important;
        padding: 10px 0 !important;
        display: inline-flex !important;
        align-items: center !important;
    }
    .nauff-view-btn {
        min-width: 44px !important;
        min-height: 44px !important;
        padding: 8px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .nauff-tab {
        min-height: 44px !important;
        padding: 10px 12px !important;
        display: inline-flex !important;
        align-items: center !important;
    }
}

/* Mega Menu: dvh statt vh für iOS Safari */
@media (max-width: 980px) {
    .nauff-mega-menu {
        height: calc(100dvh - 60px) !important;
    }
}

/* ===========================================
   9. SONSTIGES (Z-Index, Divi-Fixes)
   =========================================== */

/* Botiga Off-Canvas Filter-Sidebar: ueber dem Fixed Header */
.sidebar-slide + .widget-area { z-index: 100001 !important; }
body.sidebar-slide-opened::before { z-index: 100000 !important; }

/* Mobile: Logo im Header sichtbar machen */
@media (max-width: 1024px) {
    .bhfb-mobile .bhfb-main_header_row .bhfb-row {
        grid-template-columns: auto 1fr auto !important;
    }
    .bhfb-mobile .bhfb-component-logo {
        justify-content: center !important;
        min-width: 80px !important;
    }
    .bhfb-mobile .custom-logo-link {
        display: flex !important;
        align-items: center !important;
    }
    .bhfb-mobile .custom-logo-link img,
    .bhfb-mobile .custom-logo,
    .bhfb-mobile img.custom-logo {
        max-height: 32px !important;
        width: auto !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    .bhfb-mobile .site-branding {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* ===========================================
   10. MEIN KONTO – BESTELLUNGEN
   =========================================== */

/* Tabelle: sauberes Layout */
.woocommerce-MyAccount-orders {
    border-collapse: collapse;
    width: 100%;
}
.woocommerce-MyAccount-orders thead th {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #999;
    padding: 10px 12px;
    border-bottom: 2px solid #e8e6df;
}
.woocommerce-MyAccount-orders tbody td {
    padding: 14px 12px;
    font-size: 14px;
    vertical-align: middle;
    border-bottom: 1px solid #f0eeea;
}
.woocommerce-MyAccount-orders tbody tr:last-child td {
    border-bottom: none;
}

/* Bestellnummer-Link */
.woocommerce-orders-table__cell-order-number a {
    font-weight: 600;
    color: #34473f;
    text-decoration: none;
}
.woocommerce-orders-table__cell-order-number a:hover {
    text-decoration: underline;
}

/* Aktions-Buttons: klein, outlined statt riesig gefüllt */
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions {
    white-space: nowrap;
}
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions .button,
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell .button,
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell .woocommerce-button {
    display: inline-block !important;
    width: auto !important;
    padding: 6px 14px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    border-radius: 4px !important;
    border: 1px solid #d0cfcb !important;
    background: #fff !important;
    color: #34473f !important;
    cursor: pointer;
    transition: all 0.15s ease;
    margin: 2px 4px 2px 0 !important;
    line-height: 1.4 !important;
}
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell .button:hover,
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell .woocommerce-button:hover {
    background: #34473f !important;
    color: #fff !important;
    border-color: #34473f !important;
}

/* Anzeigen-Button: leicht hervorgehoben */
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell .button.view {
    border-color: #34473f !important;
    font-weight: 600 !important;
}

/* Status-Badge */
.woocommerce-orders-table__cell-order-status {
    font-size: 13px;
}

/* Bestelldetails: Aktions-Buttons + Erneut bestellen */
.woocommerce-account .order-actions-button,
.woocommerce-account .order-again .button,
.woocommerce-account .woocommerce-MyAccount-content .order_details + .order-again .button,
.woocommerce-account .woocommerce-MyAccount-content tfoot .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details + .order-again .button {
    display: inline-block !important;
    width: auto !important;
    padding: 6px 14px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    border-radius: 4px !important;
    border: 1px solid #d0cfcb !important;
    background: #fff !important;
    color: #34473f !important;
    cursor: pointer;
    transition: all 0.15s ease;
    margin: 2px 4px 2px 0 !important;
    line-height: 1.4 !important;
}
.woocommerce-account .order-actions-button:hover,
.woocommerce-account .order-again .button:hover,
.woocommerce-account .woocommerce-MyAccount-content tfoot .button:hover {
    background: #34473f !important;
    color: #fff !important;
    border-color: #34473f !important;
}

/* Sendungen-Tabelle + Download-Rechnungen Buttons */
.woocommerce-account .woocommerce-MyAccount-content .shop_table .button,
.woocommerce-account .woocommerce-MyAccount-content .order-actions-button,
.woocommerce-account .woocommerce-MyAccount-content .sab-document-button,
.woocommerce-account .woocommerce-MyAccount-content a.button.sab-download-document {
    display: inline-block !important;
    width: auto !important;
    padding: 6px 14px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    border-radius: 4px !important;
    border: 1px solid #d0cfcb !important;
    background: #fff !important;
    color: #34473f !important;
    cursor: pointer;
    transition: all 0.15s ease;
    margin: 2px 4px 2px 0 !important;
    line-height: 1.4 !important;
}
.woocommerce-account .woocommerce-MyAccount-content .shop_table .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .order-actions-button:hover,
.woocommerce-account .woocommerce-MyAccount-content .sab-document-button:hover,
.woocommerce-account .woocommerce-MyAccount-content a.button.sab-download-document:hover {
    background: #34473f !important;
    color: #fff !important;
    border-color: #34473f !important;
}

/* Lieferzeit in Bestelldetails ausblenden */
.woocommerce-account .shop_table .wc-gzd-item-delivery-time,
.woocommerce-account .shop_table .delivery-time-info,
.woocommerce-account .shop_table .wc-gzd-delivery-time-info,
.woocommerce-account .shop_table p.delivery-time-info {
    display: none !important;
}

/* Produktbild in Bestelldetails */
.woocommerce-account .shop_table.order_details .product-thumbnail {
    width: 50px;
    padding-right: 0;
}
.woocommerce-account .shop_table.order_details .product-thumbnail img {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #e8e6df;
}

/* Responsive: Aktionen stacken */
@media (max-width: 768px) {
    .woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions {
        white-space: normal;
    }
    .woocommerce-MyAccount-orders .woocommerce-orders-table__cell .button,
    .woocommerce-MyAccount-orders .woocommerce-orders-table__cell .woocommerce-button {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        margin: 4px 0 !important;
    }
}
