/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/




/* Warenkorb: äußeren Rahmen komplett entfernen */
.header li.cart-item.has-icon {
  border: none !important;
  box-shadow: none !important;
  /* optional: Boxgröße zurücksetzen, wenn sie fest verdrahtet ist */
  width: auto !important;
  height: auto !important;
  text-align: initial !important;
}

/* Falls der Link im Inneren zusätzlich einen Outline-Stil hat, auch den neutralisieren */
.header li.cart-item.has-icon > a {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}




/* --- Single-Produkt: Produktbild nie höher als 500px --- */
html body.single-product .woocommerce-product-gallery,
html body.single-product .woocommerce-product-gallery .flex-viewport,
html body.single-product .woocommerce-product-gallery__wrapper,
html body.single-product .woocommerce-product-gallery__image,
html body.single-product .woocommerce-product-gallery__image a {
  height: 500px !important;
  max-height: 500px !important;
  overflow: hidden !important;
}

/* Bild proportional einpassen, niemals über 500px Höhe */
html body.single-product .woocommerce-product-gallery__image img,
html body.single-product .product-gallery-slider img {
  height: 100% !important;
  max-height: 100% !important;
  width: auto !important;          /* verhindert, dass 100% Breite die Höhe hochzieht */
  max-width: 100% !important;
  object-fit: contain !important;
  display: block;
  margin: 0 auto;
}

/* Responsive niedriger */
@media (max-width: 849px){
  html body.single-product .woocommerce-product-gallery,
  html body.single-product .woocommerce-product-gallery .flex-viewport,
  html body.single-product .woocommerce-product-gallery__wrapper,
  html body.single-product .woocommerce-product-gallery__image,
  html body.single-product .woocommerce-product-gallery__image a { height: 420px !important; }
}
@media (max-width: 549px){
  html body.single-product .woocommerce-product-gallery,
  html body.single-product .woocommerce-product-gallery .flex-viewport,
  html body.single-product .woocommerce-product-gallery__wrapper,
  html body.single-product .woocommerce-product-gallery__image,
  html body.single-product .woocommerce-product-gallery__image a { height: 320px !important; }
}


/* Top-Level der Kopfzeile im Mega-Menü: Blender Pro + Großbuchstaben erzwingen 
#mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
  font-family: 'Blender Pro', 'BlenderPro-Heavy', Arial, sans-serif !important;
  font-weight: 800;            
  text-transform: uppercase !important;
  letter-spacing: .02em;
}

/* optional: Hover/Focus gleich halten 
#mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-primary > li.mega-menu-item > a.mega-menu-link:focus {
  font-family: 'Blender Pro', 'BlenderPro-Heavy', Arial, sans-serif !important;
}*/



/* Lagerbestand Badge  

.my-stock-badge{
  display:inline-block;
  margin-top:6px;
  padding:4px 8px;
  font-size:13px; line-height:1.3;
  border-radius:4px; border:1px solid transparent;
}
.my-stock-badge.in-stock{
  color:#1a7f37; background:#e8f5ec; border-color:#b7e0c7;   
}
.my-stock-badge.out-of-stock{
  color:#b42318; background:#fdecec; border-color:#f2b8b5;   
}
.my-stock-badge.is-loop{ margin-top:4px; }


/* kleinere Schrift für ein UX-Builder-Menü mit Klasse menu-sm
.menu-sm .menu > li > a,
.menu-sm .nav-vertical > .menu > li > a,
.menu-sm .nav > li > a {
  font-size: 8px;
  line-height: 1.35;
} 

/* optional: Uppercase & Spationierung neutralisieren (falls Flatsome das erzwingt)
.menu-sm .menu > li > a {
  text-transform: none;
  letter-spacing: 0;
}

/* mobil noch etwas kleiner
@media (max-width: 549px) {
  .menu-sm .menu > li > a { font-size: 13px; }
}/*

/* Blender Pro – Bold (700) */
@font-face {
  font-family: 'Blender Pro';
  src: url('fonts/blenderpro-bold.woff2') format('woff2'),
       url('fonts/blenderpro-bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Blender Pro – Heavy (800) */
@font-face {
  font-family: 'Blender Pro';
  src: url('fonts/blenderpro-heavy.woff2') format('woff2'),
       url('fonts/blenderpro-heavy.woff') format('woff');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}


/* H1 → Heavy */
body h1, .page-title, .product-title {
  font-family: 'Blender Pro', Montserrat, 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 800;
  font-synthesis-weight: none;
  letter-spacing: 0.1px;
}

/* H2–H6 → Bold */
body h2, body h3, body h4, body h5, body h6,
.section-title, .widget-title {
  font-family: 'Blender Pro', Montserrat, 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 700;
  font-synthesis-weight: none;
  letter-spacing: 0.2px;
}

/* === Utility-Klassen für UX Builder === */

/* Familie setzen */
.font-blender { 
  font-family: 'Blender Pro', Montserrat, 'Helvetica Neue', Arial, sans-serif !important; 
  font-synthesis-weight: none; 
}

/* Gewichte */
.weight-700 { font-weight: 700 !important; }
.weight-800 { font-weight: 800 !important; }

/* Komfort-Kombis für Überschriften */
.hx-h1 { font-family: 'Blender Pro', Montserrat, 'Helvetica Neue', Arial, sans-serif !important; font-weight: 800 !important; }
.hx-h2 { font-family: 'Blender Pro', Montserrat, 'Helvetica Neue', Arial, sans-serif !important; font-weight: 700 !important; }
.hx-h3 { font-family: 'Blender Pro', Montserrat, 'Helvetica Neue', Arial, sans-serif !important; font-weight: 700 !important; }
.hx-h4 { font-family: 'Blender Pro', Montserrat, 'Helvetica Neue', Arial, sans-serif !important; font-weight: 700 !important; }
.hx-h5 { font-family: 'Blender Pro', Montserrat, 'Helvetica Neue', Arial, sans-serif !important; font-weight: 700 !important; }
.hx-h6 { font-family: 'Blender Pro', Montserrat, 'Helvetica Neue', Arial, sans-serif !important; font-weight: 700 !important; }

/* bis hier eigener Input */

body {
    line-height: 1.2;
}

h1, .h1,
h1.is-xlarge,
.banner h1 {
    font-size: 68px;
    line-height: 88px;
}


.post h1,
.archive-page-header h1 {
    font-size: 52px;
    line-height: 62px;
}

h2, .h2, .single-product h1 {
    font-size: 46px;
    line-height: 56px;
}

h3, .h3 {
    font-size: 28px;
    line-height: 38px;
}

ol.flickity-page-dots {
    bottom: -30px;
}

.mobile-sidebar li.html.custom.html_nav_position_text_top {
 display: block;
}

.nav-column>li>a, .nav-dropdown>li>a, .nav-vertical-fly-out>li>a, .nav>li>a {
    color: #000;
}

.off-canvas-left .mfp-content, .off-canvas-right .mfp-content {
    background: #fff;
}

.widget-woo-vpf-ymm-filter.woo-vpf-ymm-filter-horizontal form {
    display: flex;
}

.woo-vpf-ymm-filter-horizontal .woo-vpf-ymm-field {
    flex: 1;
}

form.searchform:before {
    content: "";
    position: absolute;
    z-index: 999;
    margin: -19px;
    width: 40px;
    height: 40px;
    transform: rotate(45deg);
    background-color: #fff;
    border-right: 1px solid #000;
}

form.searchform:after {
    content: "";
    position: absolute;
    z-index: 999;
    margin: -19px;
    width: 41px;
    height: 40px;
    transform: rotate(44deg);
    background-color: #fff;
    bottom: 0;
    right: 0;
     border-left: 1px solid #000;
}

a.account-link.account-login.icon.button.circle.is-outline.is-small {
    border-radius: 0 !important;
}

.mv-header {
    border: 1px solid #000;
    padding: 5px 10px;
    height: 46px;
    width: 46px;
}

li.cart-item.has-icon {
    border: 1px solid #000;
    height: 46px;
    width: 46px;
    text-align: center;
}

.cart-item .image-icon img {
    max-width: 26px;
    min-width: 100%;
}

.account-link i.icon-user {
    font-size: 23px !important;
    line-height: 46px;
}

a.account-link.account-login.icon.button.circle.is-outline.is-small {
height: 46px;
    width: 46px;
}

.woo-vpf-ymm-mv-container > .mv-header::after {
    display: none;
}

/*a.account-link.account-login.icon.button.circle.is-outline.is-small:before {
    content: "";
    position: absolute;
    z-index: 999;
    width: 25px;
    height: 25px;
    transform: rotate(45deg);
    background-color: #fff;
    top: -12px;
    border-right: 1px solid #000;
    left: -12px;
}*/

#masthead .mv-title {
    display: none;
}

/*a.account-link.account-login.icon.button.circle.is-outline.is-small:before {
    content: "";
    position: absolute;
    z-index: 999;
    width: 25px;
    height: 25px;
    transform: rotate(45deg);
    background-color: #fff;
    top: -12px;
    border-right: 1px solid #000;
    left: -12px;
}
*/

i.icon-search {
    right: 20px;
}

@media(max-width: 768px) {
    
    h1, .h1,
h1.is-xlarge,
.banner h1 {
        font-size: 34px;
        line-height: 40px;
    }

    h2, .h2,
    .single-product h1,
    .section.dark.has-mask.mask-arrow h2,
    .section.dark.has-mask.mask-arrow .h2 {
        font-size: 30px;
        line-height: 36px;
    }

    h3, .h3 {
        font-size: 20px;
        line-height: 30px;
    }

    .post h1,
    .archive-page-header h1 {
        font-size: 28px;
        line-height: 38px;
    }

    .post h2 {
        font-size: 24px;
        line-height: 34px;
    }

    .post h3 {
        font-size: 20px;
        line-height: 30px;
    }
}

.col, .columns, .gallery-item {
    padding: 0 15px 0;
}

.banner h5, .banner h6, .banner p {
    margin-bottom: 15px;
    margin-top: 0;    
}

blockquote, dl, figure, form, ol, p, pre, ul {
    margin-bottom: 15px;
}

input#woocommerce-product-search-field-0 {
	background: #fff;
    border-color: #000;
    border-radius: 0;
    padding: 26px 20px;
}

ul.header-nav.header-nav-main.nav.nav-left.nav-uppercase {
    justify-content: center;
}

#top-bar img {
    width: 20px;
    margin-top: -3.5px;
}

.banner-bg.fill:before,
.product-small.box:before {
    content: "";
    position: absolute;
    z-index: 999;
    margin: -20px;
    width: 40px;
    height: 40px;
    transform: rotate(45deg);
    background-color: #fff;
}

.banner-bg.fill:after,
.product-small.box:after {
    content: "";
    position: absolute;
    z-index: 999;
    margin: -20px;
    width: 40px;
    height: 40px;
    transform: rotate(45deg);
    background-color: #fff;
    bottom: 0;
    right: 0;
}

  .ktm-banner-animated .img-inner img {
    display: block;
    max-width: 100%;
    backface-visibility: hidden;
    transform: translateZ(0);
    will-change: transform, filter;
  }

.box-image img, .has-format img, .image-cover img, .video-fit iframe, .video-fit video, img.back-image {
    object-fit: contain !important;
    mix-blend-mode: multiply;
    bottom: 0;
    font-family: "object-fit: cover;";
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
}

.box-image {
    height: 339px;
}

.product-small.box {
    background: #f8f8fa;
}

.box-text.box-text-products {
    padding: 15px 20px 30px;
}

.nav > li > a, .mobile-sidebar-levels-2 .nav > li > ul > li > a {
    font-weight: normal !important;
}

.badge-inner {
    border-radius: 0 !important;
}

.badge-container.absolute {
    left: 10px;
}

a.chosen-single {
    padding: 10px !important;
    border-radius: 0 !important;
    border-color: #000 !important;
    line-height: 40px !important;
    height: 50px !important;
    color: #000 !important;
    background: #FFF !important;
    /* font-size: 20px !important; */
}

.chosen-container-single .chosen-single span {
    margin-top: -5px;
    font-size: 16px;
}

.chosen-container-single .chosen-single div b {
    margin-top: 15px;
}

.chosen-container .chosen-results {
    color: #000 !important;
}


li.active-result {
    padding: 10px 10px !important;
    font-size: 16px;
}

.chosen-container .chosen-drop {
    border-radius: 0 !important;
    border-color: #000 !important;
    padding-bottom: 15px !important;
}

.chosen-container .chosen-results li.highlighted {
    background-color: #000 !important;
    background-image: none !important;
    color: #fff;
}

.chosen-container-single .chosen-search input[type=text] {
    padding: 10px !important;
}

.chosen-container-single .chosen-search {
    padding: 0 15px !important;
}


.header-nav .mv-inner {
    position: absolute !important;
    width: 400px;
}

a.woo-vpf-ymm-reset-search {
    text-align: center !important;
    font-weight: normal !important;
    display: block;
    margin-top: 5px;
    position: relative !important;
}

h3.product-section-title.container-width.product-section-title-related.pt-half.pb-half.uppercase {
    display: none;
}

.product-section {
    border-top: none;
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}