/*
Theme Name:HolzLand 2026 v5.0
Theme URI: http://www.cssigniter.com/ignite/themes/sixtyone
Author: Sebastian Auferoth
Author URI: http://www.cssigniter.com/
Description: HolzLand Auferoth (2026). Strategic Relaunch & Reset.
Version: 5.0
License: GNU General Public License
*/

@import url("https://use.typekit.net/lqv5fud.css");



:root {
    --color-red-main: #e2001a;
    --color-red-dark: #A80013;
    --color-red-light: rgba(242,152,104,1);
    --color-red-accent: #d7533f;
    --color-red-signal: #ff3b00;
    
    --color-grey-warm: #F8F6F3;
    --color-beige-accent: #F5EFE6;
    --color-beige-deep: #DFD3C3;
    --color-brown-mid: #A68A64;
    --color-brown: #5D4037;
    --color-brown-text: #2B2D31;

    --color-black: #020000;
    --color-grey-main: #020000;
    --color-grey-middle: #5f5f5f;
    --color-grey-light: #aaa;
    --color-grey-lighter: #eee;
    --grey-light: #aaa;
    --grey-lightest: #f6f7f8;
    --grey-lighter: #e6e8eb;
    --grey-middle: #5f5f5f;
    
    --color-blue-main: #127EB3;
    --color-blue-faded: #222934;
    --color-dark: #2b2b2b;
    --color-blue-light: #b8d8e8;
    --color-blue-dark: #05163C;
    
    --color-green-main: #18921b;
    --color-green-light: #3fa844;
    --color-green-lighter: #bfe2c1;
    
    --color-orange-dark: #ff7518;
    --color-orange-main: #f59721;
    --color-orange-light: #f6ab4e;
    --color-yellow-light: #f4fba9;
    --color-yellow-accent: #fdef7a;
    --color-yellow: #fee271;
    --color-beige: #f8f6f3;
    
    --xs: 10px;
    --s: 20px;
    --m: 30px;
    --l: 40px;
    --xl: 50px;
    
    --grey-main: #333;
    --text-color: white;
    --font-norm: 17px;
    --font-h1: 46px;
    --font-h2: 38px;
    --font-h3: 28px;
    --font-h4: 20px;
    --font-h5: 16px;
    --font-h6: 14px;
    --font-xs: 12px;
    --font-s: 14px;
    --font-m: 20px;
    --font-l: 24px;
    --font-xl: 32px;
    --font-small: 12px;
    --padding-xs: 10px;
    --padding-s: 20px;
    --padding-m: 50px;
    --padding-l: 75px;
    --padding-xl: 100px;
    --padding-std: 150px;
    --padding-add: 50px;
    
    --font-headline: {ff-meta-headline-web-pro, Arial, sans-serif;}
    
    /* Transitions */
    --trans-fast:       .14s ease-in-out;
    --trans-mid:        .3s ease-in-out;
    --trans-slow:       .35s cubic-bezier(.4,0,.2,1);
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, img, ins, kbd, q, s, samp,
small, strike, tt, var, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
	transition: var(--trans-mid);
    transition-delay: none;
}



/* HTML5 display-role reset for older browsers */

* {box-sizing: border-box}

article, details, figcaption, figure, 
header, hgroup, menu  {display: block;}

body{
    color: var(--color-grey-main);
    font-family: ff-meta-web-pro, "Open Sans", Arial, sans-serif;
    line-height: 1.5;
	transition: var(--trans-mid);
}

h1, h2, h3, h4, h5 {color: var(--color-grey-main); font-family: ff-meta-headline-web-pro, Arial, sans-serif; line-height: 1.2;} 
.wpsh-stories-row, .wpsh-overlay-box {font-family: ff-meta-headline-web-pro, Arial, sans-serif; line-height: 1.2;} 

h1 {font-size: var(--font-h1); font-weight: 600; margin: 10px auto 20px auto;}
h1.title {font-size: var(--font-h2);}
div.line h1{display: inline-block;margin: 0;padding: 0 30px;background: #FFF;}

.pretitle {font-size: var(--font-h5); text-transform: uppercase; letter-spacing: 1px;}
#title {text-align: center;}

h2 {font-size: var(--font-h2);margin: 20px 0;padding: 0; font-weight: 600;}
div.line h2{display: inline-block;margin: 0;padding: 0 30px;background: #FFF;}
div.line h2.trans{ background: #FFF;}
div.line h2.gallery_title{background-color: #f0f0f0;}
.entry h2{text-transform: none;}

.mobile-only {display: none;}

img {display: block;}

h3 {font-size: var(--font-h3); margin: 0 0 15px 0; font-weight: 600;}
h4 {font-size: var(--font-h4); margin: var(--padding-s) 0; font-weight: 600;}
h4.service_title {text-transform: uppercase;margin: 0 0 10px 0;}
h5 {font-size: var(--font-h5); color: var(--color-grey-main);margin: 0 0 15px 0;line-height: 1;}
h5.preline {margin: 0 !important;}
h6 {font-size: var(--font-h6);color: #fff !important; background: var(--color-red-main);font-weight: 600;width: 100%;text-transform: uppercase;padding: 5px 3px; margin: 0 0 5px 0; line-height: 1; }

ol, ul {list-style: square inside; font-size: var(--font-norm);}

header#navigation {box-shadow: 0px 0px 30px rgba(0,0,0,0.1);}

p {
	font-size: var(--font-norm);
	color: var(--color-grey-main);
	line-height: 1.5;
	margin: 0 0 var(--padding-s) 0;
    padding: 0 
}
p ul { margin-bottom: 20px;}
P li {font-size: var(--font-norm);}

#qrcode, #preis-datum, #scannen {display: none;}

small {font-size: var(--font-small); line-height: 1.1 !important;}

blockquote, q {quotes: none;}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

::selection { background: var(--color-red-main); color: #fff; }
::-moz-selection { background: var(--color-red-main); color: #fff; }
table {
    border-collapse: collapse;
    border-spacing: 0;
}

hr {border-top: 1px solid #f4f4f5}

*{-webkit-hyphens: none;-moz-hyphens: none;hyphens: none; }

.rowe {max-width: 100%; padding: 0 var(--padding-std);}
.row { margin: 0 auto; }
.row .row {margin: 0;}

.four.columns + .eight.columns,
.eight.columns + .four.columns{
    padding: 0 0 0 30px}

.grid-padding {padding: 0 10px;}
.grid-padding-50 {padding: 0 50px;}
.grid-padding-100 {padding: 0 100px;}
.grid-padding-200 {padding: 0 200px;}
.grid-padding-300 {padding: 0 300px;}
.grid-3-1, .grid-3-2, grid-1-2, .grid-3-3, .grid-2-2, .grid-4-2, .grid-container-2, .grid-4-1, .grid {
    display: grid;
    grid-gap: 20px;}

.grid-40 {display: grid; grid-gap: 40px;}

.grid-2-2, .grid-2-1 {grid-template-columns: repeat(2, 1fr);}
.grid-3-3, .grid-3-2, .grid-3-1 {grid-template-columns: repeat(3, 1fr);}
.grid-4-4, .grid-4-3, .grid-4-2, .grid-4-1 {grid-template-columns: repeat(4, 1fr);}
.grid-5-5, .grid-5-4, .grid-5-3, .grid-5-2, .grid-5-1 {grid-template-columns: repeat(5, 1fr);}
.grid-6-6, .grid-6-5, .grid-6-4, .grid-6-3, .grid-6-2, .grid-6-1 {grid-template-columns: repeat(6, 1fr);}
.grid-container-2 {grid-template-columns: repeat(2, 1fr);}

.grid-gap-40 {display: grid; grid-column-gap: 40px; grid-row-gap: 20px;}
.grid-gapless {display: grid; grid-gap: 0px;}

.merge_2-3 {grid-column: 2 / 4;}
.merge_1-2 {grid-column: 1 / 3;}
.merge_1-3 {grid-column: 1 / 4;}

.merge-1-2_3 {grid-column: 1 / 3;}
.merge-2-3_3 {grid-column: 2 / 4;}
.merge-1-2_5 {grid-column: 1 / 3;}
.merge-3-5_5 {grid-column: 3 / 6;}
.merge-1-3_5 {grid-column: 1 / 4;}
.merge-4-5_5 {grid-column: 4 / 6;}

.columns-1-2 {column-count: 1;column-gap: 10px;} 
.columns-3-1, .columns-3-2, .columns-3-3 {column-count: 3;column-gap: 10px;} 
.columns-4-1, .columns-4-2, .columns-4-3, .columns-4-4 {column-count: 4;column-gap: 10px;} 

.flex {display: flex; justify-content: space-between; align-items: center;}
.flex-column {flex-direction: column;}

.items-start {align-items: flex-start;}
.items-end {align-items: flex-end;}
.items-center {align-items: center;}
.justify-start {justify-content: flex-start;}
.justify-end {justify-content: flex-end;}
.justify-between {justify-content: space-between;}
.justify-center {justify-content: center !important;}

.round {border-radius: 100px;}
.rounded {border-radius: 10px; overflow: hidden; height: 100%; position: relative;}
img.rounded:hover {filter: brightness(0.9);}
.grid imge {width: 100%; height: 100%; object-fit: cover; display: block; /* Removes small spacing under image */ }

.padding-50 {padding: 30px 50px;}
.padding-20 {padding: 20px;}
.padding-10 {padding: 10px;}

.padding-10 p, .padding-20 p, .padding-50 p {margin-bottom: 0; padding-bottom:0;}
.padding-20 h4, .padding-50 h4 {margin-top: 0; padding-top:0;}


.border-light {border: 1px solid #f7f7f7; padding: 30px;}
.border-bottom-1 {border-bottom: 1px solid #f7f7f7;}
.border-light-0 {border: 1px solid #f7f7f7; padding: 0px;}
a:hover .border-light-0 {border: 1px solid var(--grey-light);}

.logo {top: 5px;position: relative; height: 65px !important; overflow: visible; margin: 0 0 15px 0;}

.row.full{width: 100%;background-color: #f9f9f9;margin: 0 0 10px 0;}
.prisoned{max-width: 1260px;margin: 20px auto 0 auto;overflow: hidden;}

details {padding: 20px; margin-bottom: 5px; background: var(--color-beige)}
summary {font-weight: bold; list-style-position: outside; margin-left: 20px; font-size: var(--font-h4); padding-left: 20px; cursor: pointer;}
summary::marker {color: #e2001a;}
details[open] > summary {}
details:hover summary {color: var(--color-red-main); transition-delay: none;}
details:hover summary::marker {}
details ul, details p {padding: 10px 20px;}



.font-medium {font-size: 0.9rem;}


#white {padding: 40px 0;}
#grey {background: #f5f5f5; padding: 50px 0;}
#red {background: var(--color-red-main); padding: 50px 0; color: white;}
#blue {background: var(--color-blue-dark); padding: 50px 0; color: white;}
#wald {background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(img/global/wald.jpg) no-repeat center center; background-size: cover; padding: 60px 0; color: white;}
#katalog {background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.7)), url(img/global/katalog.jpg) no-repeat center center; background-size: cover; padding: 100px 0; color: white;}

.bg-red {background: var(--color-red-main);}
.bg-red-signal {background: var(--color-red-signal);}
.bg-beige-light {background: var(--color-grey-warm);}
.bg-beige {background: var(--color-beige-accent);}
.bg-blue {background: var(--color-blue-dark);}
.bg-beige-deep {background: var(--color-beige-deep);}
.bg-yellow {background: var(--color-yellow);}
.bg-brown {background: #5D4037;}
.bg-grey {background: var(--grey-lightest);}
.bg-white {background: white;}
.bg-wood {background: linear-gradient(rgba(44, 26, 10, 0.8), rgba(44, 26, 10, 0.8)), url(img/global/wood.jpg) no-repeat center center; background-size: cover; padding: 60px 0; color: white;}


.text-line-side {display: flex; align-items: center; gap: 0.75rem;}
.text-line-side::before {content: ""; display: block; width: 5px; height: 0.9em; background-color: var(--color-red-main);border-radius: 9999px; flex-shrink: 0; min-height: 24px;}

.text-line-side-full {display: flex; align-items: stretch; gap: 1rem;}
.text-line-side-full::before {content: ""; display: block; width: 3px; background-color: var(--color-brown-mid);border-radius: 9999px; flex-shrink: 0;}


#block {padding: 85px var(--padding-add);}

#beige {background: var(--color-beige); padding: 85px var(--padding-add);}
#beige-less {background: var(--color-beige); padding: var(--padding-add) 0;}

.room-ausstellung {padding: 0px var(--padding-add);}

#header-mobile {display:none;}
#header-mobile .icofont-2x {font-size: 26px;}
#header-desktop {display:block; padding: 0px 25px;}
.center {text-align: center !important;}
.bold, bold {font-weight: 600;}
.extrabold, extrabold {font-weight: 700;}
    
iframe{
    width: 100%;
    max-width: 1120px;
    height: 600px;
    margin: 0 auto;
    overflow: hidden;
    display: block;
}

.wp-block-image {margin: 20px 0;}

/* ── Smart ───────────────────────────────────────────────────── */

.text-body-secondary {color: var(--color-grey-middle);}
.text-white, .text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white p {color: white;}
.text-red {color: var(--color-red-main) !important;}
.text-red-signal {color: var(--color-red-signal) !important;}
.text-black {color: var(--color-black) !important;}
.text-beige {color: var(--color-beige) !important;}
.text-beige-dark {color: var(--color-beige-deep) !important;}
.text-brown {color: var(--color-brown) !important;}
.text-brown-mid {color: var(--color-brown-mid) !important;}
.text-brown-dark {color: #5D4037 !important;}
.text-brown-text {color: var(--color-brown-text) !important;}
.text-orange {color: var(--color-orange-dark) !important;}
.text-green {color: var(--color-green-main) !important;}
.text-grey {color: var(--color-grey-light);}

.text-opacity {opacity:0.8;}

.gap {gap: var(--radius-std);}
.margin-top {margin-top: var(--radius-std);}
.border-b {border-bottom: 1px solid rgba(255,255,255,.5);}

.display-inline {display: inline;}
.display-block {display: block;}
.position-relative {position: relative;}

.label-stock {font-size: 10px; font-weight: 600; background: rgba(20,180,40,0.9); color: white; display: inline; padding: 1px 3px; border-radius: 2px; position: relative;}
.label-sustainable {font-size: 10px; font-weight: 600; color: var(--color-green-light);display: inline; margin: 5px 0px 2px 0px; position: relative; display: block;}
.label-notavailable {font-size: 10px; font-weight: 600; color: var(--color-orange-dark);display: inline; margin: 5px 0px 2px 0px; }
.feuchtraum-overlay {background: var(--color-blue-main);color: #fff;font-size: 10px;font-weight: 600;padding: 3px;left: 10px;bottom: 15px;z-index: 9;}
.badge-overlay {background: var(--color-red-main);color: #fff;font-size: 12px;font-weight: 600;padding: 3px;position: absolute;z-index: 9;top: 15px;right: 10px;box-shadow: 2px 2px 0px #F3E100;}
.badge-overlay-product {background: var(--color-red-main);color: #fff;font-size: 12px;font-weight: 600;padding: 3px;position: absolute;z-index: 9;top: 15px;left: 0px;box-shadow: 2px 2px 0px #F3E100;}

.badge-nachhaltig, .badge-water {color: #fff;font-size: 10px;font-weight: 600;padding: 2px 5px;border-radius: 3px;margin-right: 10px;margin-bottom: 15px !important;display: inline-block;}
.badge-nachhaltig {background: var(--color-green-light);}
.badge-water {background: var(--color-blue-main);}

.padding-top-xs {padding-top: 10px;} 

.padding-top-xs, .padding-xs-tb {padding-top: var(--xs);} 
.padding-bottom-xs, .padding-xs-tb {padding-bottom: var(--xs);}
.padding-left-xs, .padding-xs-lr {padding-left: var(--xs);} 
.padding-right-xs, .padding-xs-lr {padding-right: var(--xs);}

.padding-top-s, .padding-s-tb {padding-top: var(--s);} 
.padding-bottom-s, .padding-s-tb {padding-bottom: var(--s);}
.padding-left-s, .padding-s-lr {padding-left: var(--s);} 
.padding-right-s, .padding-s-lr {padding-right: var(--s);}

.padding-top-m, .padding-m-tb {padding-top: var(--padding-m);} 
.padding-bottom-m, .padding-m-tb {padding-bottom: var(--padding-m);} 
.padding-left-m, .padding-m-lr {padding-left: var(--padding-m);} 
.padding-right-m, .padding-m-lr {padding-right: var(--padding-m);} 

.padding-top-l, .padding-l-tb {padding-top: var(--padding-l);} 
.padding-bottom-l, .padding-l-tb {padding-bottom: var(--padding-l);} 

.padding-top-xl, .padding-xl-tb {padding-top: var(--padding-xl);} 
.padding-bottom-xl, .padding-xl-tb {padding-bottom: var(--padding-xl);} 

.padding-xs {padding: 5px 10px;} 
.padding-xxs {}
.padding-s {padding: 10px;} 
.padding-m {padding: 15px;} 
.padding-l {padding: var(--l);} 
.padding-20 {padding: var(--s);} 
.padding-std {padding: var(--radius-std);} 

.margin-xs {margin: 5px;} 
.margin-s {margin: 10px;} 
.margin-m {margin: 15px;} 
.margin-20 {margin: 20px;} 
.margin-30 {margin: 30px;}
.margin-0 {margin: 0px;}
.margin-10tb, .margin-xs-tb {margin: var(--xs) 0;}

.margin-s-tb {margin: var(--s) 0;}
.margin-m-tb {margin: var(--m) 0;}
.margin-l-tb {margin: var(--l) 0;}


.grid-center {align-items: center;}

.grid-merge-2c {grid-column: span 2;}
.grid-merge-3c {grid-column: span 3;}
.grid-merge-4c {grid-column: span 4;}
.grid-merge-2r {grid-row: span 2;}
.grid-merge-3r {grid-row: span 3;}
.grid-merge-4r {grid-row: span 4;}

.gap-0 {grid-gap: 0; gap: 0;}
.gap-xs {grid-gap: var(--xs); gap: var(--xs);}
.gap-s {grid-gap: var(--s); gap: var(--s);}
.gap-m {grid-gap: var(--m); gap: var(--m);}
.gap-l {grid-gap: var(--l); gap: var(--l);}
.gap-xl {grid-gap: var(--xl); gap: var(--xl);}

.img-crop {width: 100%; object-fit: cover; object-position: center; height: auto;}
.img-ratio-16x9 {aspect-ratio: 16 / 9;}
.img-ratio-2x1 {aspect-ratio: 2 / 1;}
.img-brand-logo {max-height: 40px; max-width: 100px;}
.img-small {height: 80px; width: auto;}
.img-shadow {border: 2px solid white; box-shadow: 0px 0px 2px rgba(0,0,0,.2), 2px 2px 4px rgba(0,0,0,.1);}

.uppercase {text-transform: uppercase;}
.underline {text-decoration: underline;}
.font-headline {font-family: ff-meta-headline-web-pro, Arial, sans-serif;}

.font-xs {font-size: var(--font-xs);}
.font-s {font-size: var(--font-s);}
.font-norm {font-size: var(--font-norm);}
.font-m {font-size: var(--font-m);}
.font-l {font-size: var(--font-l);}
.font-xl {font-size: var(--font-xl);}

.text-shadow-strong {text-shadow: 1px 1px 2px rgba(0,0,0,.8), 0px 0px 10px rgba(0,0,0,0.3);}

.letter-spacing {letter-spacing: 1px}
.letter-spacing-2 {letter-spacing: 2px}

.line-height-xs {line-height: 1}
.line-height-s {line-height: 1.2}



.overflow-hidden {overflow: hidden;}

.img-gradient {position:relative;}
.img-gradient::after {content: '';position: absolute;left: 0; top: 0px;width: 100%; height: 100%;background: linear-gradient(185deg, rgba(0, 0, 0, 0.0)50%, rgba(0, 0, 0, 0.5) 100%);}

/* ── Smart ───────────────────────────────────────────────────── */
#sortiment-home img{height: 240px;}

/* -----------------------------------------
	Widgets
----------------------------------------- */

/* --- Sortiment Home ---*/
a.img-zoom img {transition: all 0.7s cubic-bezier(0, 0, 0.2, 1);}
a.img-zoom:hover img {transform: scale(1.05); transition: all 0.7s cubic-bezier(0, 0, 0.2, 1); filter: brightness(0.8);}

/* --- Verweis auf Shop ---*/
#container-shop {display: flex; overflow-x: scroll;}
.item {flex: 0 0 auto;}

/* --- Öffnungszeiten ---*/
.widget_opening {background: var(--color-red-main) !important;}
.opening {font-size: 18px;}
.opening-title {font-size: 18px !important; font-weight: 600; color: white;}
.opening-time {background: #bc261b; padding: 3px 5px; border-radius: 8px; display:inline-block; margin: 2px; font-size: 14px; text-align: right; width: 100px;}
.opening-day {font-size: 14px !important; width: 120px; display:inline-block; }
.widget_about {margin: 10px 0; color: white;}
.widget_opening a {color: #fff !important;}
.widget_opening a:hover {color: #ccc !important;}
.widget_opening::before {
	display: block;
	content: '';
	position: absolute;
	border: 6px solid transparent;
	border-top-color: #fff;
	width: 0;
	height: 0;
	opacity: 1;
	right: 50px;
	margin-top:-5px;
	clear: both;
}

/* --- Mitarbeiter ---*/
.widget_staff {background: var(--color-blue-dark) !important; padding: 10px !important;}
.widget_staff img{box-shadow: 5px 5px 10px rgba(0,0,0,0.3)}
.staff-title {font-size: 18px !important; font-weight: 600; color: white;}
.widget_staff a {color: #fff !important;}
.widget_staff a:hover {color: #ccc !important;}
.widget_staff::before {
	display: block;
	content: '';
	position: absolute;
	border: 6px solid transparent;
	border-top-color: #fff;
	width: 0;
	height: 0;
	opacity: 1;
	right: 50px;
	margin-top:-10px;
	clear: both;
}

/* --- Infobox ---*/

#home-categories {display: grid; grid-template-columns: repeat(9, 1fr); grid-column-gap: 20px; margin: 20px 0;}
#home-categories h3 {color: var(--grey-main); font-size: var(--font-h6); text-align: center;}

#home-categories h3 {
  display: inline-block;
  position: relative;
}

#home-categories h3::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 2px;
  bottom: -4px;
  left: 0;
  background-color: var(--grey-main);
  transition: transform 0.3s ease-out;
}
#home-categories div:hover h3::after {transform: scaleX(1);}
#home-categories h3::after {transform-origin: bottom right;}
#home-categories div:hover h3::after {transform-origin: bottom left;}

#home-categories .button {display: none;}

#home-categories div {
    position: relative;
    overflow: hidden;
    text-align: center;
    border-radius: 5px;
}

#home-categories div img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	transition: transform var(--trans-mid);
    
}

#home-categories div:hover img {
    transform: scale(1.05);
}

#home-categories div p {
    margin-top: 5px;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 1024px) {
    #home-categories {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 768px) {
    #home-categories {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        grid-column-gap: 10px;
        white-space: nowrap;
    }

    #home-categories div {
        flex: 0 0 calc(30% - 5px);
        scroll-snap-align: center;
    }
    #home-categories > div:first-of-type {margin-left: 10px !important;}
    #home-categories > div:last-of-type {margin-right: 10px !important;}
}

.service-stacked {display: block;}
    .grid.grid-3-1 #infobox {grid-template-columns: repeat(1, 1fr); display: block;}
    .grid.grid-3-1 #infobox .left-arrow:after {display: none;}
.grid.grid-3-1 #infobox .left-arrow {padding: 20px 20px;}


#infobox {min-height: 300px; display: grid; grid-template-columns: repeat(2, 1fr);grid-gap: 0px; margin: 5px 0;}
#infobox img {object-fit: cover; width: 100%; height: 100%;}
#infobox .image {position: relative;}

#infobox .left-arrow {padding: 60px 30px; display:flex; align-items:center; position: relative;}

#infobox .left-arrow:after {
	content: '';
	display: block;  
	position: absolute;
	right: 100%;
	top: 50%;
	margin-top: -10px;
	width: 0;
	height: 0;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 10px solid transparent;
    z-index: 3;
}
#infobox.blue, #infotile-blue {background: var(--color-blue-dark); color: white;}
#infobox.red, #infotile-red {background: var(--color-red-main); color: white;}
#infobox.grey, #infotile-grey {background: #F9F9F9; color: var(--color-grey-main);}
#infobox.red h3, #infobox.red p, #infobox.blue h3, #infobox.blue p {color: white;}

#infobox.blue .left-arrow:after {border-right: 10px solid var(--color-blue-dark);}
#infobox.red .left-arrow:after {border-right: 10px solid var(--color-red-main);}

#infobox.beige, #infotile-red {background: var(--color-beige);}
#infobox.beige .left-arrow:after {border-right: 10px solid var(--color-beige);}

#infobox.grey a.button4 {background: var(--color-red-main); color: white; border-color: var(--color-red-main);}
#infobox.grey a.button4:hover {background: none; color: var(--color-red-main); border-color: var(--color-red-main);}
#infobox.grey .button4 span:after {color: var(--color-red-main);}
#infobox.grey .left-arrow:after {border-right: 10px solid #F9F9F9;}

/* --- Infoblock ---*/
#infoblock {background: #F9F9F9; color: #333; padding: 20px; margin-bottom: 10px; display: block;}
#infoblock h3 {background: var(--color-red-main); color: white; font-size: 17px; font-weight: 600; display: inline-block; padding: 5px 8px;}
#infoblock p {color: white; text-shadow: 0px 0px 10px rgba(0,0,0,.5);}
#infoblock .content {position: relative;}
#infoblock .button {background: rgba(255,255,255,0.75); padding: 3px 5px; font-size: 12px; text-transform: uppercase; font-weight: 600; position: absolute; top: 140px; right: 0px; display: block;}
a:hover #infoblock {box-shadow: 0px 0px 10px rgba(0,0,0,0.1); opacity: 0.95;}
a:hover #infoblock .button, .flexslider:hover .button {transform: scale(1.05); background: var(--color-red-main); color: white;}

#products li a, #search-result img {
    padding: 0px; display: inline-block; margine: -5px;
	transition: all var(--trans-mid);
	position: relative;
    background: white;
    filter: brightness(0.97);
}
#products li a:hover {filter: brightness(0.94);}
#products li h4 {font-size: 14px !important; margin:0; padding:0; font-weight: 600; color: var(--color-grey-main);}
#products .text {padding: 15px;}
#products .beschreibung, #products .beschreibung p {margin:0; padding:0; font-size: 12px !important;}
#products .unit {margin:0; padding:0; font-size: 12px !important;}
#products .priceinfo {text-align: right; font-size: 16px;margin:0; padding:0; color: var(--color-red-main);}
#products .priceinfo b {font-size: 24px;}
#products .uvpinfo {text-align: right; font-size: 12px;margin:0; padding:0; color: var(--color-grey-main);}
#products .uvpinfo s {text-decoration-color: var(--color-red-main)}
#products .rabatt{
    position: absolute;
    top: 0px;
    right:5px;
    background: var(--color-red-signal);
    padding: 4px 6px;
    font-weight: 600;
    color: white;
    font-size: var(--font-small);
}

:root {--gutter: 15px;}

#app {
  align-content: start;
    position: relative;
  scrollbar-width: none;
    overflow-y: hidden;
    overflow-x: scroll;
    -ms-overflow-style: none; 
    scrollbar-width: none;
    width: 100%;
}
#app::-webkit-scrollbar, #app ul::-webkit-scrollbar {display: none;}
#app ul {
    overflow-x: scroll;
    list-style: none; 
    padding: 15px;
    scroll-padding-left: 1rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    align-items: flex-start;
  display: flex;
  flex-wrap: nowrap;list-style: none;}
#app ul li {padding: 0 1rem 0 0;
  scroll-snap-align: middle; /* or: center */
  scroll-snap-stop: always;
        flex: 0 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
    width: 265px;
    overflow: hidden;
}
#app > * {grid-column: 2 / -2;}
#app > .full {grid-column: 1 / -1;}

#app #container-shop {position: relative; display: flex;
  overflow-x: scroll;
  scroll-behavior: smooth;}

#app #prev, #app #next {
position: absolute;
top: 50%;
transform: translateY(-50%);
z-index: 10;
background-color: white;
border-radius: 3px;
border: none;
font-size: 1rem;
padding: 0.4rem 0.6rem;
box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.1);
cursor: pointer;
transition: all var(--trans-mid);
}

#app #prev {left: 10px;}
#app #next {right: 10px;}
#app #prev:hover, #app #next:hover {background: var(--color-red-main); color: white; 
	transition: all var(--trans-mid);}

.hs {
  display: grid;
  grid-gap: calc(var(--gutter) / 2);
  grid-template-columns: 10px;
  grid-template-rows: minmax(150px, 1fr);
  grid-auto-flow: column;
  grid-auto-columns: calc(25% - var(--gutter) * 2);
  overflow-x: scroll;
    overflow-y: hidden;
  scroll-snap-type: x proximity;
  padding-bottom: calc(.75 * var(--gutter));
  margin-bottom: calc(-.25 * var(--gutter));
  scrollbar-width: none;
    -webkit-overflow-scrolling: touch; /* enables momentum scrolling in iOS */
}

.hs:before,.hs:after {content: '';width: 10px;}

.hs > li, .item {
  scroll-snap-align: center;
  padding: calc(var(--gutter) / 2 * 1.5);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  background: #fff;
  border-radius: 0px;
}

.no-scrollbar {
  scrollbar-width: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.no-scrollbar::-webkit-scrollbar {display: none;}

/* --- FORM FORMULAR --- */

.custom-radio {display: flex; align-items: center; margin: 8px 0; cursor: pointer;}

.custom-radio input[type="radio"] {display: none;}

.radio-circle {
    display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #555;
  border-radius: 50%;
  margin-right: 10px;
  position: relative;
  transition: background-color 0.2s;
}

/* When radio is checked, change the inner circle */
.custom-radio input[type="radio"]:checked + .radio-circle::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background-color: #555;
  border-radius: 50%;
}


/* --- Uni CPO - Preiskonfigurator ---*/

/* Darstellung auf der Seite */

#uni_cpo_options .uni-cpo-option-label__text-content {background: #eee; padding: 5px 10px; margin: 0 5px 10px 0;}
#uni_cpo_options .uni-module-text_input {display: flex;align-items: center; justify-content: space-between;}
#uni_cpo_options .uni-module-text_input, #uni_cpo_options .uni-module-radio, #uni_cpo_options .uni-module-checkbox {margin-bottom: 10px;}
#uni_cpo_options input {margin-left: 1em;padding: 3px;}
#uni_cpo_options label {font-size: 13px; font-weight: bold;}
#uni_cpo_options label.uni-cpo-module-text_input-label {width: 140px !important;}

#uni_cpo_options img.uni-cpo-option-label__image { object-fit: cover; margin-right: 5px; width: 60px; height: 60px; border-radius: 2px;}
#uni_cpo_options .uni-cpo-option-label__image-wrap {  display: flex; align-items: center;justify-content: center;}

label .uni-cpo-option-label__image {border: #eee 2px solid !important; }
label:hover .uni-cpo-option-label__image {filter:opacity(0.85); }

input[type="radio"]:checked + label .uni-cpo-option-label__image {border: var(--color-red-main) 2px solid !important; }

label.uni-cpo-checkbox-option-label .uni-cpo-option-label__text-content {border-radius: 50px !important; background: linear-gradient(to top left,
#eee 0%,
#eee calc(50% - 2px),
#e2001a 50%,
#eee calc(50% + 2px),
#eee 100%) !important; color: #444 !important; border: none !important; font-weight: bold !important; height: 36px !important; width: 36px !important; padding: 0 !important; font-size: 18px !important; display: flex !important; align-items: center !important;justify-content: center !important;}
label:hover .uni-cpo-option-label__text-content{border-radius: 50px !important;background: #333 !important; color: white !important;}
input[type="checkbox"]:checked + label .uni-cpo-option-label__text-content {background: var(--color-red-main) !important; color: white !important;}
input[type="radio"]:checked + label .uni-cpo-option-label__text-content {background: var(--color-blue-dark) !important; color: white !important;}

/* Darstellung im Warenkorb */

dl.variation {display: grid;grid-template-columns: max-content auto;}
dl.variation dt {grid-column-start: 1; margin: 3px 0; padding: 0 10px 0 0; font-weight: bold;}
dl.variation dd {grid-column-start: 2;}
dl.variation dd p {margin: 0; padding: 0;}


/* --- Others ---*/
a.widgetbutton {
    width: 100% !important; 
    text-align: center; 
    background: #e2001a; 
    color: white;
    padding: 5px;
    margin: 10px 10px 10px 10px;
    display: block;
    font-size: 14px;
}
a.widgetbutton:hover {background: #bc261b; color: white;}
#blogposts {margin-left: 0 !important;}

#menu-freisteller {display: grid;
    grid-template-columns: repeat(9, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    margin: 0 30px;
}
#menu-freisteller {text-align: center;}
#menu-freisteller img {width: 100px; text-align: center;}
#menu-freisteller li {display:inline-block; text-align: center; line-height: 1.0 !important;}
#menu-freisteller li a {color: var(--color-blue-dark); font-weight: 600; font-size: 13px;}
#menu-freisteller li a:hover {color: var(--color-red-main);}
#menu-freisteller li a:hover img {transform: translateY(-5px);}

#infokasten {background: var(--color-red-main); padding: 25px; color: #fff !important; margin: 25px 0;}
#infokasten h3 {color: #fff !important; text-transform: uppercase; font-size: 24px; font-weight: lighter;}
#infokasten p {color: #fff !important; font-size: var(--font-norm);}

#infokasten::before {display: block;content: '';position: absolute;border: 6px solid transparent;border-top-color: #fff;width: 0;height: 0;opacity: 1;right: 60px;margin-top:-25px;clear: both;}

.rand {position: relative;left: -20px;margin-right:}
.big {font-size: 18px; font-weight: 600;} 
.tipp{
    margin-bottom: 20px;
	background: var(--color-red-main);
	color: #fff;
	padding: 5px 10px;
    display: inline-block !important;
}
.tippe::after{content: '';position: absolute;left: 20px;top: 100%;width: 0;height: 0;border-left: 7px solid transparent;border-right: 7px solid transparent;border-top: 7px solid var(--color-red-main);clear: both;}


/* = Header & Footer
------------------------------------------------------------------------------------------*/

#header-bar {background: var(--grey-lightest) !important; font-size: var(--font-small); padding: 5px 0; text-align: right;}
#header-bar i {margin-right: 5px;}
#header-bar .gif:hover {cursor: help;}

#header-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding: 0px 35px;
}

header button {background: white; border: none; cursor: pointer;}
header, header a, header .search-trigger {color: var(--color-grey-main);}
header a:hover, header button:hover {color: var(--color-red-main);}

header .cart-wrapper {display: flex; flex-direction: column;  align-items: center; width: fit-content;}
header .icon {position: relative; display: inline-flex; align-items: center; justify-content: center;}
header .itemnumber {position: absolute; z-index: 2; top: -8px; right: -8px; background: var(--color-red-main); color: #fff; font-size: var(--font-xs); border-radius: 20px; padding: 2px 8px; line-height: 1;}

header .title {text-align: center;margin-top: 0; font-size: var(--font-xs);}

.search-container form {background: var(--grey-lightest); color: var(--grey-main); display: flex; border-radius: 20px; padding: 0; border: none;}
.search-container input[type="search"] {
  border: none;
  background: transparent;
  margin: 0;
  padding: 10px 10px;
  font-size: 14px;
  color: inherit;
  border: 1px solid transparent;
  border-radius: inherit;
    border-radius: none !important;}
.search-container button[type="submit"] {
  text-indent: -999px;
  overflow: hidden;
    float: right;
  width: 40px;
  padding: 0;
  margin: 0 10px 0 0;
  border: 1px solid transparent;
  border-radius: inherit;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' class='bi bi-search' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'%3E%3C/path%3E%3C/svg%3E") no-repeat center;
  cursor: pointer;
  opacity: 0.5;}
.search-container button[type="submit"]:hover {opacity: 1;}
.search-container button[type="submit"]:focus, header .search-container input[type="search"]:focus {
  box-shadow: 0 0 3px 0 #1183d6;
  border-color: #1183d6;
  outline: none;}
                
.showonly {display:none;}

/* --- Modern Search Overlay --- */
.search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120px;
    background: rgba(255, 255, 255, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    transform: translateY(-100%);
    visibility: hidden;
    transition: all 0.3s ease-in-out;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.search-overlay.is-active {transform: translateY(0); visibility: visible;}
.search-form-wrapper { width: 100%; display: flex;}
.search-form { width: 100%; display: flex;}
.search-form button {background: none; border: none;}
    
input[type="search"] {
  border: none;
    width: 90%;
  background: transparent;
  margin: 0;
  padding: 15px !important;
  font-size: var(--font-h4);
  color: var(--grey-dark);
  border: 0px solid transparent;
  border-radius: inherit;
    outline: none;
}

input[type="search"]::placeholder {color: var(--grey-mid);}
    
input[type="search"]:focus {background: white;}

button {color: var(--grey-dark);}

.search-close, .close, .menu-close {
    position: absolute;
    cursor: pointer;
    top: 5px;
    right: 30px;
    font-size: 50px;
    cursor: pointer;
    background: none;
    border: none;
}
    
.search-close:hover, .close:hover, .menu-close:hover {color: var(--red-main); cursor: pointer;}
.menu-close {top: 20px;right: 20px;}

/* Backdrop for when side menu is open */
.overlay-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    display: none;
    z-index: 9998;
}
.overlay-backdrop.is-active { display: block; }

/* =footer
------------------------------------------------------------------------------------------*/
footer {background: black; color: white;}

#footer {background: #313131; color: white;}

#footer .widget, #footer .widget p, #footer ul.check li {font-size: var(--font-s); color: white;}
#footer h4 {font-weight: 600; color: white;}
#footer p {margin-bottom: 10px;}

#footer ul {display: block; list-style-type: none; margin: 0; padding: 0;}
#footer ul li, #footer ul li.cat-item {margin: 0 0 5px 0; padding: 0; border: none; }
#footer ul li a {color: white; font-size: var(--font-s);}
#footer ul li a:hover {color: var(--color-red-main);}

#footer .widget_about {font-size: 11px;line-height: 1.5;}
#footer .widget,.footer .columns { margin: 5px 0; }

ul#zahlungsarten li {list-style-type: none; display: inline-block;
  vertical-align: middle; font-size: 11px;}
ul#zahlungsarten img {width: 50px; border-radius: 5px;}
ul#zahlungsarten img.border {outline: 1px solid var(--grey-light);
  outline-offset: -1px;}

/* =other
------------------------------------------------------------------------------------------*/

.containered {width: 100%;margin: 0px auto 80px auto;}
.tooltip {position: relative;display: inline-block;}
.tooltip .tooltiptext {visibility: hidden;width: auto;background-color: var(--color-red-main);color: #fff;text-align: left;border-radius: 6px;padding: 5px 10px;position: absolute;z-index: 1000000000;top: 150%;left: 50%;margin-left: -60px;}
.tooltip .tooltiptext::after {content: "";position: absolute;bottom: 100%;left: 50%;margin-left: -5px;border-width: 5px;border-style: solid;border-color: transparent transparent var(--color-red-main) transparent;}
.tooltip:hover .tooltiptext {visibility: visible;}


.tooltip-container {
            position: relative;
            display: inline-block; /* Allows the container to wrap its content */
            cursor: pointer;
        }

.tooltip-text {
    visibility: hidden;
    background-color: #333;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 8px 12px;
    position: absolute;
    z-index: 1;
    bottom: 125%; /* Position the tooltip above the text */
    left: 50%;
    transform: translateX(-50%); /* Center the tooltip horizontally */
    white-space: nowrap; /* Prevent text from wrapping by default */
    opacity: 0;
    transition: opacity 0.3s, visibility 0.3s;

    /* Flex width properties */
    max-width: 300px; /* Optional: Set a max-width if the content can be very long */
    min-width: fit-content; /* Ensure it wraps the content */
    width: auto; /* Allow width to be determined by content */
}

.tooltip-container:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
}

/* Tooltip arrow */
.tooltip-text::after {
    content: "";
    position: absolute;
    top: 100%; /* At the bottom of the tooltip */
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #333 transparent transparent transparent;
}



/* =WooCommerce
------------------------------------------------------------------------------------------*/

.cart_totals h2 {margin-top: 0px;}
.cart-collaterals_new {background: var(--grey-lightest); border-radius: 10px; padding: 30px;}

@media only screen and (min-width: 768px){
    #sticky-wrapper .four.columns {height: 600px; // experiment with this value, try changing to 110vh
  min-height: 200px;
  overflow: auto;
  position: -webkit-sticky;
  position: sticky;
  top: 3%;
}

#sticky-wrapper .eight.columns {height: auto;display: flex;flex-direction: column;}
#sticky-wrapper {display: flex;justify-content: space-between;}

}
.product_meta {font-size: 13px; color: var(--color-grey-light)}
.posted_in {display:none !important}

.notnrw {font-size: var(--font-small);}

.woocommerce-product-details__short-description p {font-size: 13px !important; margin-top: 20px; margin-bottom: 10px; font-weight: 600;}

.woocommerce .overlay-badges {padding:5px; position:absolute; line-height:1; top:10px; left:10px; margin:0;z-index:9} 
.woocommerce .overlay-badges div {margin-bottom: 3px;}
.woocommerce .overlay-badges div span {padding:5px; line-height:1; margin:0; border-radius: 2px; display: inline-block; box-shadow: 1px 1px 2px rgba(0,0,0,.2);}
.woocommerce .overlay-badges div.rabatt span {font-size:14px; font-weight:700; background-color: var(--color-red-signal);color:#fff;} 

.woocommerce-tabs h2 {font-size: var(--font-h3);}
.woocommerce-tabs .wc-tabs {display: none; /* Hide the tab navigation */}
.woocommerce-tabs .woocommerce-Tabs-panel {display: block !important; /* Ensure all tab content is always visible */}

.woocommerce .col2-set {display: block;}
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 {width: 100%; float: none;}

.woocommerce-info::before {display:none;}
.woocommerce-message {font-size: 12px;}
.woocommerce-message > a.button {text-transform: none; display: inline; float: none;}

.message, .woocommerce-info {border-radius: 10px; padding: 15px; margin-bottom: 15px;}
.success {background: #ebf8ef; border: #cae3d4 1px solid;}

/* Create two-column layout */
.woocommerce form.checkout {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}

/* Left column: Checkout form */
.woocommerce #customer_details {width: 55%;}

/* Right column: Order Review */
.woocommerce #order_review {
    width: 40%;
    margin-left: 0; /* Pushes to the right */
    align-self: flex-start; /* Aligns to the top */
}

/* Full-width Payment Section */
.woocommerce #payment {
    width: 100%;
    margin-top: 30px; /* Adds spacing */
    background: white !important;
}

#payment label {color: var(--grey-main);}
#payment label img {float: right;}

.payment_methods {padding: 0 0 30px 0 !important; border-bottom: none !important;}
li.wc_payment_method {padding: 15px; 
    border-left: 1px solid var(--grey-lighter) !important;
    border-right: 1px solid var(--grey-lighter) !important;
    border-bottom: 1px solid var(--grey-lighter) !important;}
li.wc_payment_method:first-of-type {
    border-top: 1px solid var(--grey-lighter) !important;
    border-radius: 5px 5px 0 0;
}
li.wc_payment_method:last-of-type {border-radius: 0 0 5px 5px;}


li:has(input[type="radio"]:checked) {
    background-color: var(--grey-lightest); /* Change to desired color */
}


.woocommerce-billing-fields .form-row-last, .woocommerce-billing-fields .form-row-first, #billing_postcode_field, #billing_city_field {display: inline-block; width: 49% !important; }

.woocommerce-billing-fields .form-row-last,
.woocommerce-billing-fields .form-row-first {
    margin-right: 0% !important;
}

#billing_postcode_field {
    margin-right: 1% !important;
}

.woocommerce-billing-fields .form-row-last, #billing_city_field {margin-left: 1% !important;}

.woocommerce-billing-fields .form-row-last {margin-right: 0;}

.place-order {padding: 0 !important;}

bdi {color: var(--color-text-main) !important;}

/* Hide default labels */
.woocommerce .woocommerce-billing-fields label,
.woocommerce .woocommerce-shipping-fields label {
    display: none !important;
}

button#place_order {width: 100% !important; padding: 20px !Important; font-size: 1.5rem !important;}

/* Use placeholders for input fields */
.woocommerce .woocommerce-billing-fields input,
.woocommerce .woocommerce-shipping-fields input {
    font-size: 1rem;
    color: var(--color-grey-middle);
    border: 1px solid var(--grey-lighter) !important;
    padding: 15px !important;
}

/* Add placeholder text style */
.woocommerce .woocommerce-billing-fields input::placeholder,
.woocommerce .woocommerce-shipping-fields input::placeholder {
    color: #888;
    font-size: 1rem;
}

/* Specific for WooCommerce checkout */
.woocommerce .woocommerce-checkout #customer_details .form-row input::placeholder {
    color: #666; /* Make placeholder text match the design */
}


/* Ensure proper stacking on smaller screens */
@media (max-width: 768px) {
    .woocommerce form.checkout {
        flex-direction: column;
    }
    .woocommerce #customer_details,
    .woocommerce #order_review,
    .woocommerce #payment {
        width: 100%;
    }
}






ul.products .rabatt {background: var(--color-red-signal); color: white; padding: 3px var(--xs); position: absolute; top: 10px; left: 0px; font-size: var(--font-medium); font-weight: 700; z-index: 10;}

mark.count {background: none!important; color: var(--color-grey-main);}

.single-product div.product form.cart .quantity {float: none; margin: 0;display: inline-block;}

#beratung a.button {font-size: 12px; margin:10px 0;}
#beratung img {float: left; margin-right: 20px;}

.quantity {display: block !important; float: none !important; margin-bottom: 10px !important;}
.menge {display: block; text-transform: uppercase; font-size: 13px;}
button.minus, button.plus {display: none;}
.woocommerce .quantity .qty{
    width:15em;
    text-align:left;
    padding: auto 0px;
    padding-left: 10px;
    border-radius: 0px;
    border: 1px solid var(--color-grey-light);
    height: 30px;
    color: var(--color-grey-main);
    box-shadow: 1px 1px 0px inset rgba(0,0,0,0.1);
}

table#shipping_options td {padding: 5px 0;}

.shop_table .product-thumbnail {width: 100px !important; margin-right: 15px;}
.shop_table.cart img {width: 100px !important; border-radius: 10px; filter: brightness(0.97);}
.shop_table td {font-size: 0.9rem;}

.item-name a {font-size: 0.9rem; color: var(--color-blue-dark) !important; margin-bottom: 10px; }
.item-name a:hover {text-decoration: underline;}
.item-price {white-space: nowrap;}

td.item-price, td.item-subtotal, th.item-price, th.item-subtotal {text-align: right;}
td.item-quantity, th.item-quantity {text-align: center;}

ul#items {font-size: var(--font-small); list-style-type: none; margin-top: 10px;}
ul#items li {padding: 5px 0; display: block; font-size: var(--font-small) !important;}
.item-shortdesc {font-size: var(--font-small) !important; margin: 10px 0 0 0 !important; padding: 10px !important;}
.item-subtotal {color: var(--color-blue-dark); font-weight: 700;}
.includes_tax {font-size: 11px !important; display: block;}
tr.order-total .woocommerce-Price-amount.amount bdi {text-align: left !important; display: inline; font-size: 20px;}
.flex.order-total .right {font-size: 1.2rem;}

#free-delivery {background: var(--color-blue-main); color: white; width: 100%; display: inline-block; padding: 10px 30px;margin: 10px 0px 30px 0px; font-size: 14px;}


#image-box .container {position: relative; color: white; font-size: var(--font-h4);}
#image-box img {filter: brightness(0.4);}
#image-box .centered-left {padding: 30px;}

.centered-left {
  position: absolute;
  top: 50%;
  transform: translate(0%, -50%);
  left: 0px;
}


#shop {width: 100%;text-align: center;}
#image-container {
    display: inline-block;
    vertical-align: middle;
    padding: 50px; 
    margin: 0 auto;
    max-width: 600px;
    position: relative;
}

#image-container:hover {background: #efefef;}
#image-container img { filter: brightness(75%); height: 350px !important}

/* Bottom right text */
#image-container .overlay-text {position:absolute;left:50%;top:50%;transform: translate(-50%,-50%);color: white;}
#image-container .overlay-text i {font-size: 48px;}
#image-container .overlay-text p {text-align: center; color: white; text-shadow: 0px 0px 5px rgba(0,0,0,.5); width: 100%; font-size: 18px;}

p.price {margin-bottom: 10px;}

.input_with_appended_unit input {
    padding-right: 40px;
    text-align: left;
    width:250px;
    text-align:left;
    padding-left: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
    border-radius: 3px;
    border: 2px solid var(--color-grey-light);
    color: var(--color-grey-main);
    position: inline-block;
    font-size: var(--font-norm);
}
.input_with_appended_unit span {
    position: relative;
    text-align: right;
    margin-left: -40px;
    width: 40px;
    z-index: 5;
    font-size: 12px; /* Optional, just styling it so it looks nicer */
}



ul li.product-categorye {padding: 10px !important; background: #fff; margin-bottom: 20px !important; margin-top: 0px !important; border-radius: 4px;}
ul li.product-categorye:hover {box-shadow: 2px 2px 20px rgba(0,0,0,.1);}

td.product-name {text-align: left !important;}

/* Woo PDP —————————————— */
.woocommerce .woocommerce-breadcrumb {margin-top: 15px;}

.woocommerce .woocommerce-breadcrumb a:first-child::before{
    content:'\E13A';display:inline; font-family:"Phosphor"; margin-right: 3px; color: var(--color-red-main)} 



/* ==========================================================================
   MOBILE LAYOUT (Default / < 992px)
   Target visual sequence:
   1. Title & Short Description
   2. Product Gallery
   3. Extra Details
   4. Buy Box (Price & Add to Cart)
   ========================================================================== */

.custom-product-3col-grid {display: grid;grid-template-columns: 1fr;gap: 1.5rem;}
.col-product-info {display: contents; }
.col-product-header {order: 1;}
.col-product-gallery {order: 2;}
.col-product-extra-details {order: 3;}
.col-product-buy {order: 4;}
.col-product-extra-details {margin: var(--xl) 0; display: flex; flex-direction: column; gap: var(--xl);}

@media (min-width: 992px) {
.custom-product-3col-grid {grid-template-columns: 1.2fr 1fr 0.8fr; gap: 2rem; align-items: start;}
.col-product-info {display: block; order: unset;}
.col-product-gallery, .col-product-header, .col-product-extra-details, .col-product-buy {order: unset;}
.col-product-buy { position: sticky; top: 20px; padding: var(--s);}
}

.custom-product-lower-grid {margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid #e5e5e5;}

@media (min-width: 992px) {
  .custom-product-lower-grid .col-product-main-details {
    grid-column: span 2;
  }
}

/* Spacing between description and attributes inside Column 1 */
#tab-additional_information {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid #f0f0f0;
  scroll-margin-top: 30px; /* Smooth scroll padding target */
}

/* Sidebar styling for Brand and Documents */
.block-product-brand,
.block-product-documents {
  background-color: var(--grey-lightest);
  padding: var(--s);
  border-radius: 8px;
  border: 1px solid #eee;
  margin-bottom: var(--s);
}

.block-product-brand p, .block-product-documents p {font-size: var(--font-s);}
.block-product-brand h4, .block-product-documents h4 {margin-top: 0;}

/* Container forces horizontal alignment */
.product-title-brand-header {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 1rem;
  width: 100%;
  margin-bottom: 1rem;
}

/* Prevent h1 title from taking up full width or breaking lines */
.product-title-brand-header .product_title {
  display: inline-block !important;
  margin: 0 !important;
  flex: 1 1 auto;
}

/* Prevent logo from shrinking or wrapping */
.product-header-brand-logo {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.product-header-brand-logo img {
  display: block;
  margin: 0;
}

.summary .pwb-single-product-brands img, .pwb-clearfix img {
    display:inline;
    width: 70px;
    box-shadow: 1px 1px 5px rgba(0,0,0,0.1);
    border: 5px solid white;
    border-radius: 3px;
}

.pwb-single-product-brands , .pwb-clearfix {display: inline; float: right; padding-top: 0px; padding-left: 10px; padding-bottom: 10px;}


.block-product-documents {margin-bottom: 0;}

/* Woo PDP: Gallery */
.single-product div.product .woocommerce-product-gallery {width: 100% !important; float: none !important; margin-right: 0 !important; overflow: hidden !important;}
.woocommerce .woocommerce-product-gallery__wrapper img {filter: brightness(0.97); border-radius: 0px; aspect-ratio: 5 / 4}
ol.flex-control-nav {display: flex; align-items: center; flex-wrap: nowrap; list-style: none; margin: 10px 0 !important; padding: 0px 0px !important; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none;}
ol.flex-control-nav::-webkit-scrollbar {display: none;}
ol.flex-control-nav li {flex: 0 0 80px !important; max-width: 80px !important; margin-right: 4px !important; margin-left: 0 !important; padding: 0 !important; scroll-snap-align: start !important;}
ol.flex-control-nav li:last-child {margin-right: 0 !important;}
ol.flex-control-nav li img {width: 100px; height: 100px; object-fit: cover; filter: brightness(0.95); transition: opacity 0.2s ease, filter 0.2s ease;}
ol.flex-control-nav li {position: relative;}
ol.flex-control-nav li img.flex-active {filter: brightness(1);}
ol.flex-control-nav li:has(img.flex-active)::after { content: ""; position: absolute; inset: 0px; border: 1px solid var(--color-red-main); pointer-events: none;}

/* Woo PDP: Product Bullet Points */
.product-highlights-list {list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--xs);}
.product-highlights-list li {display: flex; align-items: flex-start; gap: var(--xs); font-size: var(--font-s); line-height: 1.2;}
.product-highlights-list li i.ph {color: var(--color-red-main); flex-shrink: 0; margin-top: 2px;}

/* Woo PDP: Product Icons */
.product-icons-wrapper {width: 100%; clear: both;}
.product-icons-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: var(--xs);}
.product-icon-card i {font-size: 1.8rem; line-height: 1; margin-bottom: 10px; display: block; color: var(--color-red-main);}
.product-icon-card .card-label {font-size: 0.8rem; line-height: 1.35; color: var(--color-grey-main);}

/* Woo PDP: Planungstools */
a.single_photo_button {color: var(--color-blue-dark); display: block; text-align:center; background: white; border: 1px solid var(--color-grey-lighter); padding: 10px; width: 100%; margin: 30px 0 10px 0; font-size: var(--font-norm); margin-bottom: 10px; transition: all 0.2s ease-in-out;}
a.single_photo_button:hover {background: var(--color-blue-dark); color: white; transition: all 0.2s ease-in-out;}

/* Woo PDP: Expandable table */
.table-expand-wrapper {position: relative; padding-bottom: 2.5rem;}
.expand-toggle-checkbox {display: none;}
.table-expand-content {max-height: 300px; overflow: hidden; position: relative; transition: max-height 0.4s ease-in-out;}
.table-expand-content::after {content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 100px; background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #ffffff 80%); pointer-events: none; transition: opacity 0.3s ease;}
.expand-toggle-btn {position: absolute; bottom: 0.5rem; left: 50%; transform: translateX(-50%); z-index: 2; display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.5rem 1.25rem; background-color: #ffffff; border: 1px solid var(--color-grey-warm); border-radius: 20px; color: var(--color-grey-main); font-weight: 600; font-size: var(--font-s); cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); transition: all 0.2s ease-in-out;}
.expand-toggle-btn:hover {border-color: var(--color-beige-accent); background-color: var(--color-grey-warm); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);}
.expand-toggle-checkbox:checked + .table-expand-content {max-height: 2500px;}
.expand-toggle-checkbox:checked + .table-expand-content::after {opacity: 0;}
.expand-toggle-checkbox:checked ~ .expand-toggle-btn {position: relative; bottom: auto; left: auto; right: auto; transform: none; display: flex; width: max-content; margin: 1rem auto 0 auto;}
.expand-toggle-checkbox ~ .expand-toggle-btn .label-less {display: none;}
.expand-toggle-checkbox:checked ~ .expand-toggle-btn .label-more {display: none;}
.expand-toggle-checkbox:checked ~ .expand-toggle-btn .label-less { display: inline-flex; align-items: center; gap: 0.5rem;}

/* Woo PDP: Summary */

input::-webkit-outer-spin-button,input::-webkit-inner-spin-button {-webkit-appearance: none;margin: 0;}
input[type=number] {-moz-appearance: textfield;}

.mengenrechner {font-size: 13px;}
.gesamtsumme {font-weight: 600;padding-top: 10px;}


/* Woo PDP: Dokumente & Downloads */
.media-links {display: flex; flex-direction: column; gap: 4px; }
.media-link {display: flex; align-items: center; gap: 9px; color: var(--color-text-main); font-size: var(--font-s); padding: 6px 8px; transition: all var(--trans-mid);}
.media-link i { font-size: 15px; color: var(--color-red-main); flex-shrink: 0; }
.media-link:hover { background: var(--color-beige); color: var(--color-red-main); }


p.stock.available-on-backorder, .woocommerce div.product .out-of-stock {display: none !important;}

.single_add_to_cart_button.button.alt {
    background: var(--color-red-main);
    width: 100%;
    margin-top:10px;
    height: 50px;
    font-size: 18px;
    margin-bottom: 10px;
}
.single_add_to_cart_button.button.alt::before {content:'\E41E'; font-family:"Phosphor"; margin-right:10px; color: rgba(255,255,255,0.5);}


/* Woo PDP: PayPal Info */
.paypal-info {font-size: 14px; text-align: center; color: #888; cursor: pointer; }
.paypal-info i {color: var(--color-blue-main); margin-right: 10px;}
.paypal-info span {text-decoration: underline;}

/* Woo PLP: PayPal Info */

/* 1. Reset product card & prepare container styling */
.woocommerce ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important; /* Pushes content to the TOP */
  overflow: hidden; /* Clean edges at the top */
}

/* 2. Main Link Wrapper */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important; /* Forces image to top of the link */
  align-items: stretch !important; /* Stretches image full width */
  margin: 0 !important;
  padding: 0 !important;
    gap: 5px;
}

/* 3. Ensure the image takes full width with zero padding */
/* 3. Image Pinning */
.woocommerce ul.products li.product img {
  align-self: flex-start !important; /* Pins image to top */
  width: 100% !important;
  height: auto !important;
  margin-top: 0 !important;
  display: block !important;
}

/* 4. Apply padding ONLY to the text content (Title, Price, Rating, etc.) */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .star-rating + span,
.woocommerce ul.products li.product .button ,
.woocommerce ul.products li.product .pill,
.woocommerce ul.products li.product p {
  padding-left: var(--s) !important;
  padding-right: var(--s) !important;
}

/* Adjust top padding for the title (first element below image) */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin-top: 0 !important;
    padding-top: 5px;
}

/* Adjust bottom margin/padding for the button or price */
.woocommerce ul.products li.product .button {
  margin-left: 1.25rem !important;
  margin-right: 1.25rem !important;
  margin-bottom: 1.25rem !important;
  padding-left: 1rem !important; /* Button's internal text padding */
  padding-right: 1rem !important;
  width: calc(100% - 2.5rem) !important; /* Keep button contained inside padding */
}

/* 1. Transform the products list into a CSS Grid container */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  /* Fluid responsive grid: adjusts columns automatically down to 220px */
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important; /* Adjust gap between items here */
  margin-top: 0 !important;
  padding: 0 !important;
}


.woocommerce-page .related ul.products {
  grid-template-columns: repeat(4, 1fr) !important;
}

@media (max-width: 560px) {.woocommerce ul.products {grid-template-columns: repeat(2, 1fr) !important;}}

/* 2. Disable WooCommerce legacy float/width calculations on product cards */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {width: 100% !important; margin: 0 !important; float: none !important; clear: none !important;}

.woocommerce ul.products::before,.woocommerce ul.products::after {content: none !important;display: none !important;}

li.product.type-product {border: 1px solid #f7f7f7; padding: 0px 0px 10px 0px !important; border-radius: 4px;}
li.product.type-product:hover h2 {color: var(--color-red-main);}
li.product img {filter: brightness(0.97);}
li.product.type-product:hover {border-color: #ededed;}


li.product.type-product:hover img {filter: brightness(0.93);}

li.product.type-product > a.button.product_type_simple{display:none;}
h2.woocommerce-loop-product__title {font-size: var(--font-norm) !important; font-weight: 600; line-height:1.2;}
li.type-product p {font-size: 14px !important; line-height:1.2; margin-top: 5px;}
li.product.type-product span.price {text-align: right !important;}
li.product.type-product ins, li.product.type-product bdi  {font-size: 20px; font-weight: 600; text-decoration: none;}
li.product.type-product del bdi {font-size: 15px !important;}
del {opacity: 1 !important; color: var(--color-text-main);}
li.product del {color: var(--color-red-main) !important; }

/* Target original/regular price on discounted products in shop/archive listings */
.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
  color: #000000 !important; /* Original price in black */
  opacity: 0.6; /* Optional: slightly muted/faded so red stands out more */
  text-decoration: line-through;
}

/* Target sale price on discounted products in shop/archive listings */
.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins {
  color: var(--color-red-main) !important; /* Sale price in red */
  background: transparent !important; /* Removes default browser ins background highlight */
  font-weight: bold; /* Optional: make sale price pop */
  text-decoration: none; /* Removes underline if theme adds one */
}

input#coupon_code {width: 200px;}

button.button[name="update_cart"] {background: #ccc; display: none;}
button.button[name="apply_coupon"] {background: white; border: 1px solid var(--color-red-main); color: var(--color-red-main) !important;}
button.button[name="apply_coupon"]:hover {color: white !Important; border: 1px solid var(--color-red-main); background: var(--color-red-main) !important;}
a.checkout-button.button.alt.wc-forward {display: inline-block;width:100%; background: var(--color-red-main); transition: all 0.2s ease;}
a.checkout-button.button.alt.wc-forward:hover {display: inline-block;width:100%; background: var(--color-red-dark);}
a.checkout-button.button::before {content:'\E2FE'; font-family:"Phosphor";margin-right:10px; color: rgba(255,255,255,0.5);}

label {font-size: 13px !important;}
.woocommerce-billing-fields__field-wrapper input:focus.input-text {border: 1px solid var(--color-blue-main);}

.delivery-time {display:block; color: var(--color-green-light); font-size: 12px;}

h2.page-title {color: var(--color-red-main); font-weight: bold; margin-top:0;}
.ui-slider-range.ui-corner-all.ui-widget-header {background: var(--color-red-main) !important;}
#wpfSliderRange {border: solid 1px #ddd !important; }
span.ui-slider-handle.ui-corner-all.ui-state-default {border: solid 1px #ddd !important; border-radius: 3px; }
.wpfPriceInputs input {width: 45px !important; text-align: center;font-size:12px !Important;border:solid 1px #ddd !important; border-radius: 3px!important; background:white !important;}

.wpfFilterButton.wpfButton {border: var(--color-red-main) 1px solid; background: var(--color-red-main);color: white;width:100% !important;border-radius: 3px;}
.wpfFilterButton.wpfButton:hover {border: var(--color-red-main) 1px solid; color: var(--color-red-main);background: white;}
.wpfClearButton.wpfButton {border: var(--color-grey-middle) 1px solid !Important; color: var(--color-grey-middle);background: white;width:100% !important;border-radius: 3px; font-size: 14px !important; text-transform: none !important ;}
.wpfClearButton.wpfButton:hover {border: var(--color-grey-middle) 1px solid; background: var(--color-grey-middle);color: white;}

.showonly a.button.wc-forward, .woocommerce-message > a.button {margin-left: 10px !important;}

input[name="payment_method"] {float:left;}

button#place_order {float:right; font-size: 18px !important; padding: 15px 20px;}
button#place_order::after {content:"\E2FE"; font-family: "Phosphor"; margin-left: 10px;}
button#place_order::before {content:'\E2FE'; font-family:"Phosphor";margin-right:10px; color: rgba(255,255,255,0.5);}

.product {margin-top: 50px !important}

.woocommerce span.scrolldetails {text-decoration:underline; cursor: pointer;}
.woocommerce label {line-height: 1;}

.payment_box p{font-size: 12px;}
.payment_box::before {display: none !important;}
.payment_box {background: none !important; padding: 0 !important;}
.product-quantity {color: var(--grey-light);}
.privacy-policy-text, .privacy-policy-text a {font-size: var(--font-small); color: var(--grey-light);}
.privacy-policy-text {margin-bottom: 15px;}

.term-description p {font-size: var(--font-small); line-height: 1.25;}

.woocommerce-thankyou-order-received {background: var(--color-green-lighter); padding: 20px; border-radius: 3px;}

.woocommerce-MyAccount-navigation ul {list-style-type: none;}

.woocommerce-MyAccount-navigation ul li a {background: #eee; display: block;border-bottom: 1px solid white; padding: 10px; color: var(--color-grey-main);}
.woocommerce-MyAccount-navigation ul li a:hover {background: var(--color-red-main); color: white;}



/* Woo PLP: Filter */
#button-filter-show, #button-filter-close {display: none; padding: 10px; background: #eee; text-align: center; cursor:pointer;}

.wpfFilterTitle, .wfpTitle {font-size: 14px !important;}
.wpfFilterWrapper {margin: 0px 0px 0px 0px !important}

#wpfMainWrapper-1_723051 .wpfFilterWrapper {
    visibility: visible !important;
}

#wpfMainWrapper-1_723051 .wpfLoaderLayout {
    display: none !important;
}

#search-middle {margin: 20px 0 !important;}

/* =nav
------------------------------------------------------------------------------------------*/

.desktop-only {}
.mobile-only {display: none !important;}

.nav{
    font-weight: 600;
    font-size: 15px;
    position: relative;
    margin-top: 20px;
    z-index: 12;
}

#navigation {z-index:101;}

ul#main-nav > li {
    display: inline-block;
    list-style-type: none;
    font-size: 17px;
    margin: 5px 0;
}
ul#main-nav > li > a {
    color: var(--color-grey-main);
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
    position: relative;
    padding: 5px 0;
    margin: 20px 12px !important;
    border-bottom: 2px solid white;
    transition: all 0.25s ease-out;}


ul#main-nav li a:hover, ul#main-nav > li.current_page_item > a:hover {color: var(--color-red-main); color: var(--color-red-main); transition-delay:1s; transition: all 0.25s ease-out;}
ul#main-nav li ul {display: none; font-size: 15px; transition: 1s 1s;}
ul#main-nav > li:hover > ul {
    text-align: center;
    top: 83px;
    display:block;
    position:absolute;
    margin: 0 auto;
    left: 0;
    float: none;
    background: white;
    width: 100%;
    padding: 10px 30px;
    box-shadow: 0 10px 10px rgba(0,0,0,.1);
    border-top: 1px solid white;
    transition: 1s 1s;
}
ul#main-nav li ul li {display: inline-block; padding: 0; margin: 0;}
ul#main-nav li ul li a {font-size: 15px; font-weight: normal; color: var(--color-blue-dark); border-bottom: none; padding: 5px 10px !important;}
ul#main-nav li ul li a:hover {border-bottom: none; color: var(--color-red-main);}

ul#main-nav li.img-menu:hover ul {display: grid;grid-template-columns: repeat(4, 1fr);grid-column-gap: 20px; grid-row-gap: 10px; text-align: left; padding: 10px 15%;}
ul#main-nav li.grid-3 ul {grid-template-columns: repeat(3, 1fr);}

ul#main-nav li.img-menu ul li a {display: flex; align-items: center;}
ul#main-nav li.img-menu img {display: none;}
ul#main-nav li.img-menu .sub-menu img {object-fit: cover; height: 45px; width: 45px;border-radius: 50%; margin-right: 15px; border: 1px solid white; display: block;}
ul#main-nav li.img-menu ul li a:hover img {border: 1px solid var(--color-blue-dark);}

ul#main-nav > li.mega-menu > ul {column-count: 4; padding: 10px 15%; text-align: left;}
ul#main-nav > li.column-3 > ul {column-count: 3;}
ul#main-nav > li.column-5 > ul {column-count: 5;}
ul#main-nav > li.mega-menu > ul > li > a {font-weight: 600;}
ul#main-nav li.mega-menu li, ul#main-nav li.mega-menu ul li ul  {display: block; margin-left: 0;}


ul#main-nav > li.current_page_item > a {color: var(--color-blue-dark); border-bottom: 2px solid var(--color-grey-lighter);}



ul#main-nav > li > a::after, ul#main-nav > li.current_page_item > a:hover::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: var(--color-red-main);
  transition: transform 0.25s ease-out;
    transform-origin: bottom right;
}

ul#main-nav li a:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}

ul.sub-menu > li.highlight-tile {
            display: block;
    width: 100%;
    break-inside: avoid;
    page-break-inside: avoid;
    -webkit-column-break-inside: avoid;
        }
ul.sub-menu > li.highlight-tile a {display: block; font-weight: normal !important;}

ul.sub-menu > li.highlight-tile img {width: 100%; object-fit: cover; object-position: center; height: auto; aspect-ratio: 4 / 3;}
        
        .promo-badge {
            background: var(--color-yellow);
            display: inline-block;
            margin: 5px 0;
            color: black;
            font-family: ff-meta-headline-web-pro, Arial, sans-serif;
            font-size: var(--font-xs);
            font-weight: 700;
            padding: 0.1rem 0.6rem;
            border-radius: 20px;
        }

.hover-underline-animation {
  display: inline-block;
  position: relative;
}

.hover-underline-animation::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: var(--color-red-main);
  transition: transform 0.25s ease-out;
}
.hover-underline-animation:hover::after {transform: scaleX(1);}
.hover-underline-animation::after {transform-origin: bottom right;}
.hover-underline-animation:hover::after {transform-origin: bottom left;}


* {box-sizing: border-box}


/* = Homepage
------------------------------------*/

.front-category {background: #ebebeb;color: var(--color-grey-main);padding: 10px;font-weight: 600;font-size: 14px;transition: all 0.18s ease-in;}
.front-category:hover {background: var(--color-red-main);color: white;}

.room-menu-nav {text-align: center;display: flex;align-items: center;justify-content: center;}
ul.room-menu {display: block;float: left;margin: 0;padding: 0;}
ul.room-menu li{float: left;display: inline;margin-bottom: 10px;}
ul.room-menu li:first-child{margin-left: 0;	}
ul.room-menu li a{padding: 5px 10px !important;transition: all 0.18s ease-in;background: #efefef;margin: 0 10px;font-size: 13px;color: var(--color-grey-main);}
ul.room-menu li a:after { margin-left: 5px;content: "\eab8"; font-family: "IcoFont" }
ul.room-menu li a:hover{background: var(--color-red-main);transition: all 0.18s ease;text-decoration: none;color: white;}


.shiftup {top: 0px;position:relative;-webkit-transition: all 0.3s ease;transition: all 0.3s ease;opacity:1;}
.shiftup:hover {top: 10px;position:relative;-webkit-transition: all 0.3s ease;transition: all 0.3s ease;opacity:0.8;}

.offer {position: absolute;background: var(--color-red-main);left:20px;right: 20px;bottom:20px;color: #FFF;font-weight: 600;font-size: 20px;padding: 5px 5px;line-height: normal;-webkit-transition: all 0.3s ease;transition: all 0.3s ease;}
.offer::before{content: '';position: relative;left: 15px;top: -36px;width: 0;height: 0;border-left: 10px solid transparent;border-right: 10px solid transparent;border-bottom: 10px solid var(--color-red-main);clear: both;-webkit-transition: all 0.3s ease;transition: all 0.3s ease;}   

.offer-large {position: absolute;left:0px;right: 0px; bottom:0px;color: #fff;font-weight: 600;text-align: left;padding: 20px !important;line-height: normal;-webkit-transition: all 0.3s ease; transition: all 0.3s ease; } 
.offer-large h3.title {line-height: 1.0; font-weight: 600; padding-bottom: 20px; text-shadow: 3px 3px 5px rgba(0,0,0,.2);}
.offer-large .button {
    line-height: 1.0; 
    background: var(--color-red-main);
    border-radius: 3px;
    border: 2px solid var(--color-red-main);
    transition: all 0.2s;
    cursor: pointer;}
.item-thumb:hover .offer-large .button, .offer-large .button:hover {background: none; border: 2px solid var(--text-color); color: var(--text-color); cursor: pointer;}

#homepage-upper .offer-large h3 {color: white !important; margin-bottom: 0px;}
#homepage-upper .textbox {padding: 15px;}
#homepage-upper .textbox p {margin-bottom: 10px;}
#homepage-upper {background: var(--grey-lightest);}
#homepage-upper .item-thumb {border-radius: 10px;}


.offer-large-button {background: rgbaaa(255,255,255,1);background: var(--color-red-main);color: white;text-shadow: none;padding: 3px 7px;bottom: 10px;-webkit-transition: all 0.3s ease; font-size: 13px;}
.offer-large p {color: white; text-shadow: 0px 0px 10px black !important; margin-bottom: 10px;}


.item-thumb:hover .offer-large-button {background: rgba(255,255,255,0.7);color: var(--color-grey-main);}
.item-thumb:hover img {-webkit-transition: all 0.3s ease; filter: brightness(0.9); transform: scale(1.05);}
.item-thumb {top:0;position: relative;-webkit-transition: all 0.3s ease;transition: all 0.3s ease; overflow: hidden;}
.item-thumb > a {position: relative;display: block; }  

#homepage-lower img { object-fit: cover;}
/* Make sure all divs fully contain the images */
#homepage-lower > div {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden; /* Prevents images from overflowing */
    height: 100%;
}

#homepage-lower > div img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures the image fills the div without distortion */
}
    
#homepage-lower div, #homepage-lower div a, #homepage-lower div a div {width: 100%; height: 100%;}


/* Desktop layout */
@media (min-width: 768px) {
    #homepage-lower > div:nth-of-type(1) {grid-column: 1 / span 2; }
    #homepage-lower > div:nth-of-type(2) {grid-column: 3; }
    #homepage-lower > div:nth-of-type(3) {grid-column: 4;}
}

/* Mobile layout */
@media (max-width: 767px) {
    #homepage-lower > div:nth-of-type(1) {grid-column: 1 / span 2; /* Box 1 spans full width on mobile */}
    #homepage-lower > div:nth-of-type(2) {grid-column: 1; /* Box 2 in first column */}
    #homepage-lower > div:nth-of-type(3) {grid-column: 2; /* Box 3 in second column */}
}

@keyframes example {
  0% {transform: scale(1.2);}
  10% {transform: scale(1.0);}
  90% {transform: scale(1.0);background: none;}
  95% {background: var(--color-red-main);}
  100% {transform: scale(1.2);background: none;}
}



ul#featured_list {list-style:none; font-size: 12px; text-align: left; background: var(--color-beige); padding: 10px 15px;}
ul#featured_list li {display: inline-block; padding-right: 10px; color: var(--color-grey-main) !important;}
ul#featured_list li:before {margin-right: 2px; display: inline-block; content: '\efc0'; font-family: 'IcoFont'; color: var(--color-grey-main) !important;}

ul#featured_list_room li {display:inline-block; margin-right: 30px; }
ul#featured_list_room li:last-child {display:inline-block; margin-right: 0px;}
ul#featured_list_room {text-align: center; list-style:none;}
ul#featured_list_room li:before {margin-right: 5px; display: inline-block; content: '\efc0'; font-family: 'IcoFont'; color: var(--color-green-light);}



/* = Room / Sortiment Page
------------------------------------------------------------------------------------------*/
#hero-home {height: 65vh; width: 100%; position: relative;}
#hero-home img {height: 65vh; object-fit: cover; width: 100%;}
#hero-home .container {top: 0;text-align: center; overflow-y: hidden; display: inline-block;}

#related .container {position: relative; overflow: hidden;}

#content-header {padding: 15px 0;}

#supporter {padding: 20px 0; text-align: center;}
#supporter .text {font-size: var(--font-norm); margin-bottom: 35px;}
#supporter ul, #content-header .intro ul {margin: 10px 0;}
#supporter ul li, #content-header .intro ul li {padding: 0 10px; margin-bottom: 3px; list-style: none; }
#supporter ul li::before, #content-header .intro ul li::before {content: '\eed8'; color: var(--color-green-light); font-family: 'IcoFont'; margin-right: 10px;}

/* Cards */
#room-cards .card {display: block; text-decoration: none; overflow: hidden; background-color: #ffffff; transition: all 0.3s ease; border: 1px solid var(--color-grey-lighter);}
#room-cards .card .text-brown-text, #room-cards .card .text-brown-dark, #room-cards .card i {transition: color 0.3s ease;}
#room-cards .card .container {position: relative; overflow: hidden;}
#room-cards .card .img-crop {display: block;}
#room-cards .card:hover .text-brown-text, #room-cards .card:hover .text-brown-dark, #room-cards .card:hover i {color: var(--color-red-accent) !important; }
#room-cards .card:hover .img-crop {transform: scale(1.05);filter: brightness(0.8);}


/* = Konfiguratoren Page
------------------------------------------------------------------------------------------*/



/* = OTHERS
------------------------------------------------------------------------------------------*/

.textshadow {text-shadow: 0px 0px 15px rgba(0,0,0,.5);}
.white {color: white !important;}
.gradient-blue {position: absolute; top: 0; left: 0; background: linear-gradient(5deg, rgba(0,0,0, 0.5) 0%, rgba(0,0,0, 0) 60%);width: 100%; height:100%;}

.bottom-centered {position: absolute;bottom: 60px;left: 50%;transform: translate(-50%, 0%); }


#hero {max-height: 500px; width: 100%; position: relative; color: white !important; text-shadow: 1px 1px 25px rgba(0,0,0,2), 0px 0px 5px rgba(0,0,0,1); text-align: center;}
#hero img {max-height: 400px; object-fit: cover; filter: brightness(65%);width: 100%;}
#hero h1, #hero h3 {color: white; text-shadow: 1px 1px 25px rgba(0,0,0,2);}
#hero .preline {text-transform: uppercase; letter-spacing: 1px;}
#hero .copy {color: white;}

#breaker {min-height: 500px; margin: 0 !important;}
#breaker .container {
    background: var(--color-blue-dark);
    padding: 50px;
    display: flex;
   align-items: center;
    float: right;
}
#breaker img {object-fit: cover; height: 100%; vertical-align: middle;}

#breaker .slideshow-container {
  max-width: 1400px;
  position: relative;
  margin: auto;
    height: 100%;
}
#breaker .container h1, #breaker .container h2, #breaker .container h3, #breaker .container h4, #breaker .container h5, #breaker .container p {color: white !important;}
#breaker .content {max-width: 510px; text-align: left; position: relative; margin-left: auto; margin-right: 0;}


#room-hero {max-height: 70vh; overflow: none; display: block;}
#room-hero img {height: 70vh; width: 100%; object-fit: cover; }
#room-hero .container {position: relative; text-align: center;}
#room-hero h1 {color: white; text-align: left; font-weight: bold; width: 100%;}
#room-hero .gradient {position: absolute;bottom: 0px;left: 0px;width: 100%; height: 100%;background: linear-gradient(rgba(0, 0, 0, 0.0)60%, rgba(0, 0, 0, 0.6) 100%);}
#room-hero .gradient-dark {position: absolute;top: 50%;left: 0;transform: translateY( -50%); width: 100%; height: 100%; background: linear-gradient(250deg, rgba(5, 22, 60, 0.0)30%, rgba(5, 22, 60, 0.9) 70%);}
#room-hero .gradient-beige {position: absolute;top: 50%;left: 0;transform: translateY( -50%); width: 100%; height: 100%; background: linear-gradient(250deg, rgba(245, 239, 230, 0.0)35%, rgba(245, 239, 230, 0.97) 60%);}
#room-hero .bottom-left {position: absolute; bottom: 0; left: 0;}
#room-hero .bottom-centered {position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%;}



/* = Jobs
------------------------------------------------------------------------------------------*/

ul.job-info {display: flex; flex-wrap: wrap; gap: 25px; justify-content: left; margin: 10px 0 20px 0; padding: 0;}
ul.job-info li {list-style-type: none;margin: 0; padding: 0; font-weight: mnormal; font-family: ff-meta-headline-web-pro, "Open Sans";}
.job-tile {border-top: 2px solid var(--grey-lighter); padding: 20px 0px;}

ul#service-amenities {display: flex; flex-wrap: wrap; gap: 15px; justify-content: flex-start; padding: 0; margin: 25px 0;}
ul#service-amenities li {
    display: flex;
  align-items: center;
  gap: 10px;
    background: var(--color-green-lighter);
    list-style: none;
    font-weight: bold;
    border-radius: 20px; 
    padding: 15px 20px; font-size: var(--font-h5); line-height: 1.2;}
ul#service-amenities li i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; 
  height: 40px;
  border-radius: 50%;
  background: #fff;
  font-size: var(--font-h3);
  flex-shrink: 0; 
}
ul#service-amenities li small {display: block; font-size: 10px; font-weight: normal; line-height: 1.0;}


/* = Anderes
------------------------------------------------------------------------------------------*/


.image-wrapper span {
        position: absolute;
    top: 25%; /* Position it at the top */
    right: 40%; z-index: 4;}

.image-wrapper {
    position: relative; /* Enables absolute positioning of child elements */
    width: 100%; /* Full width of the container */
    height: 100%;
        display: block;
}

img.image-1 {
    width: 50%; /* First image 50% width */
    position: absolute;
    top: 25%; /* Position it at the top */
    left: 0%;
    z-index: 2;
    object-fit: cover; width: 35%; height: 60%;
}

img.image-2 {
    width: 50%; /* Second image 30% width */
    height: 90%;
    position: absolute;
    top: 0; /* 50px from the top */
    left: 25%; /* Align with the left side of the first image */
    z-index: 1;
}

img.image-3 {
    width: 40%; /* Third image 40% width */
    height: 90%;
    position: absolute;
    right: 0%;
    bottom: 0;
}
    
 .handwritten-box {
  font-family: "lumios-marker", sans-serif;
    left: 0;
    bottom:0;
    width: 45%;
    font-weight: 400;
    font-style: normal;
    font-size: 36px;
    line-height: 0.8;
    text-align: center;
  display: inline-block;
  position: absolute;
  transform: rotate(-5deg);
    z-index: 4;
    text-shadow: 0 0 20px var(--color-beige), 5px -5px 5px var(--color-beige);
}

/* Adding the SVG arrow as a ::after element */
.handwritten-box::after {
  content: '';
  position: absolute;
  width: 120px; /* Adjust size as needed */
  height: 30px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 50"><path d="M0,1.94C.14,1.46.43.49.57,0c3.2,0,6.14,1.47,9.18,2.32,31.78,8.52,65.12,13.34,97.97,9.27-.93-2.7-1.82-5.4-2.7-8.11,3.23-2.29,7.19-.55,10.76-.3,7.23,1.24,14.56,1.62,21.88,1.6,2.37.36,2.83,3.18,1.07,4.58-8.03,6.38-17.59,10.4-26.63,15.12-1.5-2.37-2.35-5.07-3.22-7.72-29.3,3.78-59.2.81-87.79-6.13C13.9,8.41,5.53,7.51,0,1.94Z" fill="black" stroke="none" /></svg>') no-repeat;
  background-size: contain;
  bottom: -40px;
  right: -30px;
  transform: rotate(10deg);
}


.handwritten-box-down {
  font-family: "lumios-marker", sans-serif;
    right: 0;
    bottom:0;
    font-weight: 400;
    width: 80%;
    font-style: normal;
    font-size: 36px;
    line-height: 0.8;
    text-align: center;
      display: inline-block;
      transform: rotate(-5deg);
    z-index: 4;
}

/* Adding the SVG arrow as a ::after element */
.handwritten-box-down::before {
  content: '';
  position: absolute;
  width: 120px; /* Adjust size as needed */
  height: 30px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 50"><path d="M0,1.94C.14,1.46.43.49.57,0c3.2,0,6.14,1.47,9.18,2.32,31.78,8.52,65.12,13.34,97.97,9.27-.93-2.7-1.82-5.4-2.7-8.11,3.23-2.29,7.19-.55,10.76-.3,7.23,1.24,14.56,1.62,21.88,1.6,2.37.36,2.83,3.18,1.07,4.58-8.03,6.38-17.59,10.4-26.63,15.12-1.5-2.37-2.35-5.07-3.22-7.72-29.3,3.78-59.2.81-87.79-6.13C13.9,8.41,5.53,7.51,0,1.94Z" fill="black" stroke="none" /></svg>') no-repeat;
  background-size: contain;
    top: 50px;
    left: -120px;
  transform: scaleX(1) rotate(130deg);
}


#toc {margin-bottom: 20px;}
#toc ul {list-style: none; display: inline-block; text-align: left;}
#toc ul li {padding: 5px;display: inline-block; white-space: nowrap;}
#toc ul li a {border-bottom: 2px solid white; color: white; font-weight: 600; font-size: var(--font-norm);}
#toc ul li a:hover {border-bottom: 2px solid var(--color-red-main);}


#sidebar #beratung { background: var(--color-blue-dark); padding: 30px 150px 30px 30px; color: white !important; background-size: auto 100%, 100%;}
#sidebar #beratung p, #beratung h3, #sidebar #karte p, #karte h3 {color: white !important;}
#sidebar #beratung, #sidebar #karte {border-radius: 10px;}
#sidebar #karte { background: linear-gradient(to right, rgba(5,22,60,1) 50%, rgba(5,22,60,0)), url("img/global/holzland.jpg") no-repeat center right; padding: 30px 150px 30px 30px; color: white !important; background-size: auto 100%, auto 100%;}
    
.bottom-right {position: absolute; bottom: 0px; right: 0px;}
.centered {position: absolute; top: 50%; left: 50%; max-width: 100%; transform: translate(-50%, -50%);}

#room-beratung {background: #eee; margin-bottom: 50px; padding: 30px 0;}
#room-beratung .row {background: #eee;}
#room-beratung a.button {font-size: 22px; display: inline-block;}
#room-beratung img {float: left; width: 300px; margin:0 100px;}


#room-gallery .container {position: relative !important; overflow: hidden;}
#room-gallery {background: #F8F6F3; grid-gap: 0px !important;}
#room-gallery .content-slide {position: absolute; bottom: 5px; left: 5px; display: none; color: white;}

#room-gallery .container img {width: 100%; height: 100%;}
#room-gallery .container:hover .content-slide {display: block; }
#room-gallery .container:hover img {filter: brightness(0.75); cursor: zoom-in;}




#gallery {margin: 0px;}
#gallery #image-boxx {
  align-items: flex-start;
  display: flex;
  flex-wrap: nowrap;
  list-style: none;
  margin: 0;
  overflow-x: scroll;
  padding: 0;
  scroll-padding-left: 1rem;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
#gallery #image-boxx::-webkit-scrollbar {
  display: none;
}
#gallery #image-boxx .card {
  padding: 0 0 0 0;
    margin: 10px 10px;
  scroll-snap-align: start; /* or: center */
  scroll-snap-stop: always;
}
#gallery #image-boxx .card .container {
  width: 350px;
}
#image-boxx .container {position: relative; color: white; font-size: var(--font-h4);}
#image-boxx .centered-left {padding: 30px;}

#image-boxx .card {background: white;}
#image-boxx .card .content-slide {padding: 10px 20px; font-size: var(--font-h6);}

#gallery #prevx, #gallery #nextx {
position: absolute;
top: 50%;
transform: translateY(-50%);
    width: 35px; height: 35px;
z-index: 10;
background-color: white;
border-radius: 20px;
border: none;
font-size: 0.8rem;
padding: 0.8rem;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
color: var(--green-main);
cursor: pointer;
    display:flex;justify-content: center;
  align-items: center;
}

#gallery #prevx {left: 4px;}
#gallery #nextx {right: 4px;}
#gallery #prevx:hover, #gallery #nextx:hover {background: var(--color-red-main); color: white; transition: all 200ms ease-in;}

.top-left {position: absolute;top: 3px;left: 3px; }
.counter {font-size: var(--font-small); color: white; background: rgba(0,0,0,.2); padding: 1px 3px;border-radius: 3px;}



.top-right {position: absolute;top: 3px;right: 5px; }
.copyright {text-shadow: 0px 0px 3px rgba(0,0,0,.5); font-size: 8px; color: white; opacity: 0.75;}

/* = Tables
------------------------------------------------------------------------------------------*/

dl dt{
    display: block;
    float: left;
    width: 100%;   
    padding: 20px 0 0 0;
}

dl dd{
    display: block;
    float: right;    
    width: 100%;
}

/* =services
------------------------------------------------------------------------------------------*/
ul.redpoints {margin: 10px 0 !important; display: grid;}
ul.redpoints li {background: var(--color-red-main) !important; color: white; padding: 15px !important; box-shadow: 2px 2px 5px rgba(0,0,0,.2); font-size: var(--font-h5); list-style-type: none; text-align: center; border-radius: 15px; line-height: 1.2;}
ul.redpoints strong {font-size: var(--font-h4); display: block; font-weight: 700;}

.service-entry .entry {padding: 15px;}
.service-entry .entry p {font-size: 0.9rem;}
.service-entry a:hover img {transform: scale(1.05);}
.service-entry .image {overflow: hidden;}
.service-entry a:hover h3 {color: var(--color-red-main);}
.service-entry:has(a:hover) h3 { color: var(--color-red-main); }
.service-entry:has(a:hover) .image img { transform: scale(1.05); }

ul#tinynav-sticky {margin-top: 0px; text-align: center; padding: 10px 0; background: #f5f5f5; box-shadow: 0px 3px 10px rgba(0,0,0,.1); width: 100% !important; overflow: scroll; display: block; white-space:nowrap; overflow-scrolling: touch; scroll-snap-type: x mandatory; scrollbar-width: none; z-index: 100000;}
ul#tinynav-sticky li {display: inline; font-weight: bold;}
ul#tinynav-sticky li a {padding: 2px 12px; color: var(--color-blue-dark); border-radius: 5px;}
ul#tinynav-sticky li a:hover {background: var(--color-red-main); color: white;}
.sticky {
  position: fixed;
  top: 0;
  width: 100%;
}

ul#tinynav {text-align: center; margin-top: 20px; font-size: var(--font-h6);}
ul#tinynav li {display: inline; }
ul#tinynav li a {padding: 2px 8px; font-weight: bold; color: var(--color-grey-main); border-radius: 50px; background: #f5f5f5; border: 1px solid #eee;}
ul#tinynav li a:hover {color: white; background: var(--color-red-main); border: 1px solid var(--color-red-main);}

.entry-service {}
.entry-thumb {
  padding: 0;
  transition: 0.18s;
  margin: 0; }
  
.entry-thumb img.alignnone {
    margin: 0; }

.entry-service img {margin:0 !important;
width: 100% !important;}

.special-title {
    font-size: 20px;
    text-transform: uppercase;
    color: #fff;
    font-weight: 600;
    margin: 0 !important;
    padding: 7px 5px;
    background: var(--color-red-main);
    top: -6px;
    position: relative;
}

.special-title::before {
    content: '';
    position: relative;
    left: 14px;
    top: -30px;
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid var(--color-red-main);
}

.entry-excerpt {
    padding: 0px 5px;}

::-webkit-input-placeholder{color: #686868;}
:-moz-placeholder{color: #686868;}
input[placeholder], [placeholder], *[placeholder]{color:#686868}

#image-header {position: relative;text-align: center;}
#image-header img {object-fit: cover; height: 450px; width: 100%; margin-bottom: 20px;}
#image-header h1 {color: white; font-size: var(--font-h1); background: var(--color-blue-dark); padding: 5px 20px; margin: 0;}

.container {position: relative;}
.bottom-left-25 {position: absolute; bottom: 25px; left: 25px;}
.bottom-left {position: absolute; bottom: 0px; left: 0px;}
.bottom-left- {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.ausstellung-block {border-bottom: 1px solid #efefef; padding: 30px 0; display: inline-block;}

.grid-3-1 > * , .border-light-0, .simple-slider { min-width: 0;}

/* =blog
------------------------------------------------------------------------------------------*/
.flex-left {display: flex; align-items: center; gap: 20px;}
ul.details {list-style-type: none;}
ul.details li {padding: 10px 0; line-height: 1.2;}

#entry{box-shadow: 2px 2px 15px rgba(0,0,0,.1); padding: 15px; border-radius: 2px;}
#entry h4 {margin-top: 10px;}
#entry:hover h4 {}

#categories {margin: 30px 0;}
img a:hover, a img:hover {}

#room #categories a {background: none; color: white;padding: 2px 4px;font-size: 10px; border: 1px solid white; border-radius: 3px;}
#room #categories a:hover {background: var(--color-red-main);color: white; border: 1px solid var(--color-red-main);}

.divider{clear: both;float: left;width: 100%;height: 50px;background: url(img/global/basement.png) no-repeat center center;    }
.divider-50{clear: both;float: left;width: 100%;height: 50px;  }

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {margin: 5px 20px 20px 0;}
.aligncenter,div.aligncenter {display: block;margin: 5px auto 5px auto;}
.alignright {float:right;margin: 5px 0 20px 20px;}
.alignleft {float: left;margin: 5px 20px 20px 0;}
.aligncenter {display: block;margin: 5px auto 5px auto;}
.wp-caption {max-width: 100%; padding: 0px 0px 0px;text-align: left;background: var(--color-red-main);color: white;}
.wp-caption a {color: #fff !important;}
.wp-caption.alignnone {margin: 5px 20px 20px 0;}
.wp-caption.alignleft {margin: 5px 20px 20px 0;}
.wp-caption.alignright {margin: 5px 0 20px 20px;}
.wp-caption img {border: 0 none;height: auto;margin: 0;padding: 0;width: 100%;}
.wp-caption p.wp-caption-text, .wp-caption-text {font-size: 15px;line-height: 17px;margin: 0;color: #fff !important;padding: 8px;}
.wp-caption p.wp-caption-text::before, .wp-caption-text::before {content: '';position: relative;left: 20px;top: -32px;width: 0;height: 0;border-left: 7px solid transparent;border-right: 7px solid transparent;border-bottom: 7px solid var(--color-red-main);clear: both;}

/* =sidebar
------------------------------------------------------------------------------------------*/
aside{float: left;width: 100%;margin: 20px 0 10px 0;}
.aside_container{float: left;width: 100%;font-size: 13px;color: var(--color-grey-main);line-height: 1.5;margin: 0 0 0px 0;}
.aside_container h3{font-size: 18px;}
.aside_container h3:after {content: ''; display: block; width: 30px; height: 3px; margin-top: 10px; background-color: var(--color-red-main);}
.aside_container p+p{margin: 0;}
.aside_container .menu-item {display: block;}
.aside_container .menu-item a {
	display: block;
	margin-bottom: 1px;
	background-color: var(--color-grey-lighter);
	color: var(--color-grey-main);
	font-size: 15px;
	font-weight: 600;
	line-height: normal;
	padding: 10px 15px;
	position: relative;
}

.aside_container .menu-item a::before {
	content: '';
	position: absolute;
	border: 6px solid transparent;
	border-left-color: #FFFFFF;
	width: 0;
	height: 0;
	top: 50%;
	margin-top: -6px;
	opacity: 0;
	left: -10px;
	-webkit-transition: opacity .18s ease, left .28s ease;
	transition: opacity .18s ease, left .28s ease;
}

.aside_container .menu-item a:hover {background-color: var(--color-red-main);color: #fff;text-decoration: none;}
.aside_container .menu-item a:hover::before {opacity: 1;left: 0;}
.widget_distance_30top {top: 0px; text-align: right; display: block; float: right;}
.distance-20 {height: 20px;}
.distance-30 {height: 30px;}
.distance-50 {height: 50px;}

#header-widget, #header-widget .widget {font-size: 12px; color: var(--color-red-main);}
#header-widget {}
#header-widget .widget {position:absolute; bottom:0px; right: 0px;}
#top-header-widget {display: inline-block !important;margin:0; padding: 0;}
#top-header-widget .textwidget {
    display: inline-block !important; 
    margin: 0;}
#top-header-widget p, #top-header-widget {font-size: 11px; margin:0px 0px 10px 0px;
    padding: 0 10px;  line-height: 1; color: var(--color-grey-middle);}

.widget_search {margin-right: 50px;}
.widget_search input{
    font-size: 13px !important;
    color: var(--color-grey-main) !important;
    border: 1px solid #f8f8f8 !important;
    background: #f8f8f8;
    width: 420px;
    outline: none;
	height: auto;
    font-weight: normal;
    padding: 10px 10px;
    cursor: pointer;
    -webkit-transition: all .2s linear;
    -moz-transition: all .2s linear;
    -o-transition: all .2s linear;
    transition: all .2s linear;
    margin: 10px 0;
    position: relative;
    top:-14px !important;
}

.magnifier {position:absolute; right:10px;top:20px;font-size: 20px !important; color: #999 !Important; cursor: pointer;}
.widget_search input:focus{background: #fff;color: var(--color-grey-main) !important; border: 1px solid var(--color-red-main) !important;}
.widget_search input.searchsubmit{display: none;}
.widget_search #submit_magnifier {top:6px !important;}

.search404 input{
    font-size: 18px;
    border-radius: 100px;
    padding: 10px;
    background: #fff url(img/sidebar/magnifier.svg) no-repeat right;
    background-origin: content-box;
    background-size: 20px 20px;
    outline: none;
	height: auto;
	width: 350px;
}
.search404 input.searchsubmit{display: none;}

#search-result {border-radius: 4px;}
#search-result .uvp {font-size: 14px; text-align: right; text-decoration: line-through; color:var(--color-grey-main)}
#search-result .price {font-size: 20px; text-align: right; color:var(--color-red-main)}
#search-result .status {font-size: 12px; color: var(--color-green-main);}
#search-result .container {position: relative;}
#search-result .rabatt {
  position: absolute;
  top: var(--xs);
  left: var(--xs);
    background: var(--color-red-signal); color: white;
    padding: 2px 6px;
    font-size: var(--font-s);
    font-weight: 600;
    z-index: 10;
}

#search-middle {margin-top: 20px;}
#search-middle .inner {border: 1px solid var(--color-blue-dark); padding: 7px 20px; display: inline; border-radius: 30px;font-size: 16px;font-weight: 600; cursor: pointer; background: white; color: var(--color-blue-dark);}
#search-middle .inner:hover {background: var(--color-red-main); color: white; border: 1px solid var(--color-red-main); box-shadow: 5px 5px 15px rgba(0,0,0,.1);}

#search-middle .navigation ul li {display: inline-block; }
#search-middle ul li a {border: 1px solid var(--color-blue-dark); padding: 5px 10px; border-radius: 3px; color: var(--color-blue-dark);
    box-shadow: 1px 1px 3px rgba(0,0,0,0.1); font-size: 12px;}
#search-middle ul li.active a {background: var(--color-red-main); color: white; border: 1px solid var(--color-red-main);}
#search-middle ul li a:hover {background: #efefef;}

.status {font-size: var(--font-h6);}
.available {color: var(--color-green-main);}
.notavailable {color: var(--color-orange-dark);}

.widget_about img {max-width: 135px;height: auto;}
.widget_about .alignleft,.widget_about .alignright {margin-bottom: 8px;}
aside .textwidget, aside .widget_about {font-style: normal;}
aside .textwidget p {line-height: 1.3;}
.tul{font-size: 13px;color: var(--color-grey-main);}
.tul li{
    clear: both;
    float: left;
    width: 100%;
    margin: 0 0 10px 0;
    padding: 0 0 10px 0;
    border-bottom: 1px solid #d2d2d2;
}
.tul li:last-child{border-bottom: none;}
.tul span{float: left;width: 100%;color: #686868;}

.woocommerce-ordering {display: block;}
select[name="orderby"] {padding: 5px; border: 1px solid var(--grey-lighter);}
.woocommerce-result-count {display: none;}

input[type=text], input[type=tel],input[type=number], input[type=email], input[type=password], textarea, select, input, button {
    padding: 15px; border: 1px solid var(--grey-lighter); border-radius: 3px;font-family: ff-meta-headline-web-pro, "Open Sans"; font-size: 14px;}
textarea {min-height: 150px;}

button[type=submit].button {color:white;}

input[type=button], input[type=submit], input[type=reset] {
    background: var(--color-red-main);
  color: #fff;
  padding: 10px 20px 10px 20px;
  border: 0px;
  text-decoration: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid var(--color-red-main);
}
input:hover[type=button], input:hover[type=submit], input:hover[type=reset] {
    background: #fff;
  color: var(--color-red-main);
  text-decoration: none;
}





ul.check {list-style: none; padding: 0;}
ul.check li {display: grid; grid-template-columns: 20px 1fr; gap: 0px;}
ul.check li::before {content: "\e182"; font-family: "Phosphor"; color: var(--color-red-main); line-height: 1; margin-top: 4px;}

ul.columns-2 {column-count: 2; column-gap: 20px;}
ul.columns-2 li {break-inside: avoid-column;}

.basement{
    text-align: center;
    font-size: 11px;
    font-style: normal;
    overflow: hidden;
    line-height: 2;
    margin: 10px 0 0 0;
    padding: 10px 0 0 0;
    float: left;
}

.basement span{color: #adadad;}

/* = SHOP PLP EXTRA ELEMENTS Product Listing Page
------------------------------------------------------------------------------------------*/

ul.column-3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr); /* 3 columns by default (desktop) */
}

li.span-all {
  grid-column: span 3 !important;
    margin-bottom: 20px;
}

@media (max-width: 767px) {
    
ul.column-3 {
  grid-template-columns: repeat(2, 1fr);
}
  
li.span-all {
    grid-column: span 2 !important;
  }
}

#list-breaker-planer {
    width: 100%;
    background: linear-gradient(105deg, #E5DFD9, #EDE6E0); 
    padding: 10px 20px; 
    font-size: var(--font-norm); 
    margin: 5px 0; 
    display: flex; align-items: center; justify-content: space-between; gap: 10px; 
    border-radius: 10px;
}
.red {color: var(--color-red-main);}
span.white-round {background: white; border-radius: 80px; padding: 0px 15px; font-weight: bold; white-space: nowrap; color: var(--color-grey-main);}
#list-breaker-planer h3 {font-size: 1.4rem; line-height: 1.2; color: var(--color-grey-main); }

#list-breaker-ausstellung {
    width: 100%;
    background: linear-gradient(105deg, #05163C, #222934); 
    padding: 10px 20px; 
    font-size: var(--font-norm); 
    margin: 5px 0; line-height: 1.1; 
    display: flex; align-items: center; justify-content: space-between; gap: 10px; 
    border-radius: 10px;
}

#list-breaker-ausstellung h3 {font-size: 1.4rem; line-height: 1.5; color: white; }

#shop_ausstellung {background: var(--color-blue-dark); color: white; text-align: center; padding: 30px; font-size: var(--font-norm); line-height: 1.1; border-radius: 2px; display: flex; align-items: center; justify-content: space-between; box-shadow: 2px 2px 4px rgba(0,0,0,.25);}
#shop_ausstellung span {font-weight: bold; font-size: 110%;}
#shop_ausstellung span i.red {color: var(--color-red-main); font-style: normal;}

/* =typo
------------------------------------------------------------------------------------------*/




.special_offer p{margin: 0 20px 20px 0;}

/* =blog =typo
---------*/

.entry ul, ul #list, ul.list {list-style-type: square;float: none;margin: 0 0 15px 20px;}
.entry ol {list-style-type: decimal;float: none;margin: 0 0 15px 20px;}
.entry ul li, .entry ol li {float: none;background: none;width: auto;margin: 0 0 5px 0;padding: 0 0 0 0;}
.entry strong, strong, b {font-weight: 600;}
.entry em {font-style: italic;}

/* =faq
------------------------------------------------------------------------------------------*/
.faq-item {border-bottom: 1px solid var(--color-beige-deep); border-radius: 0px; margin-bottom: 0px; overflow: hidden; transition: all 0.3s ease;}
.faq-item.is-active {}
.faq-trigger {width: 100%; padding: 20px 0; display: flex; justify-content: space-between; align-items: center; background: none; border: none; cursor: pointer; text-align: left; outline: none;}
.faq-title { font-weight: 600; font-size: 1rem; }
.faq-icon {position: relative; width: 20px; height: 20px; flex-shrink: 0;}

.faq-icon::before, .faq-icon::after {content: ''; position: absolute; background: var(--color-beige-deep); transition: transform 0.3s ease;}
.faq-icon::before { width: 100%; height: 2px; top: 9px; left: 0; }
.faq-icon::after { width: 2px; height: 100%; top: 0; left: 9px; }

.is-active .faq-icon::after { transform: rotate(90deg); opacity: 0; }
.is-active .faq-icon::before { transform: rotate(180deg); }

.faq-content {max-height: 0; overflow: hidden; transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);}
.faq-content p {font-size: var(--font-s); margin: 0; padding: 0 0 20px 0;}




/* =linkage
------------------------------------------------------------------------------------------*/
a {color: var(--color-red-main);text-decoration: none;transition: text-decoration .2s ease;}
p a {color: var(--color-red-main);}

a:hover, li.selected a{
	text-decoration: none;
	color: #bc261b;
    transition: text-decoration .2s ease;
}
h1 a, h2 a, h3 a, h4 a {color: var(--color-red-main) !important;}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover{
    border-bottom: none;
	text-decoration: none;
	color: #cc0003 !important;
}

body a.button, .button, a.button, .woocommercee a.button, .woocommerce #list-breaker-planer a.button, .woocommerce #list-breaker-ausstellung a.button, .woocommerce .promo-banner a.button {
    font-size: var(--font-norm);
    font-weight: 600;
    color: #fff;
    padding: 9px 18px;
    background: var(--color-red-main); 
    margin: 0px 0;
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    border: none;
    transition: all .2s ease;
    cursor: pointer;
}

body a.button:hover, .button:hover, a.button:hover, .woocommerce a.button:hover, .woocommerce #list-breaker-planer a.button:hover, .woocommerce #list-breaker-ausstellung a.button:hover, .woocommerce .promo-banner a.button:hover {
    text-decoration: none;
    background: var(--color-red-dark);
    transition: all .2s ease;
    color: white;
}

.no-shadow {text-shadow: none;}

.button.is-small {font-size: 0.8rem; padding: 6px 12px;}

.button.is-red {background: var(--color-red-main); color: #fff;}
.button.is-red:hover {background: var(--color-red-dark);}

.button.is-red-signal {background: var(--color-red-signal); color: #fff;}
.button.is-red-signal:hover {background: var(--color-red-dark);}

.button.is-yellow {background: var(--color-yellow-light); color: var(--color-red-signal);}
.button.is-yellow:hover {background: var(--color-orange-main); color: white;}

.button.is-accent {background: var(--color-red-accent); color: var(--color-yellow-accent);}
.button.is-accent:hover {background: var(--color-red-light); color: var(--color-red-dark);}

.button.is-black {background: var(--color-grey-main); color: #fff;}
.button.is-black:hover {background: var(--color-grey-middle);}

.button.is-white {color: var(--color-grey-main); background: white; border-color: white;}
.button.is-white:hover {color: var(--color-red-main); background: white;}

.button.is-blue {background: var(--color-blue-dark); color: #fff;}
.button.is-blue:hover {background: var(--color-blue-main);}

.button.is-grey {background: var(--color-grey-lighter); color: var(--color-grey-light);}
.button.is-grey:hover {color: white; background: var(--color-grey-light);}

.button.is-round {border-radius: 50px;}
.button.is-round-light {border-radius: 3px;}
.button.is-round-10, .is-round-10 {border-radius: 10px;}
.button.is-round-std, .is-round-std {border-radius: 7px;}

.button span {cursor: pointer; display: inline-block; position: relative;}
.button span:after {content: '→'; position: absolute; opacity: 0; top: 0; right: -20px; transition: 0.5s;}
.button:hover span {padding-right: 25px; transition: 0.3s;}
.button:hover span:after {opacity: 1;right: 0; transition: 0.3s;}

.button.is-secondary {background: none; border-style: solid; border-width: 1px; padding: 8px 16px;}
.button.is-secondary.is-black {color: var(--color-grey-main); border-color: var(--color-grey-main);}
.button.is-secondary.is-red {color: var(--color-red-main); border-color: var(--color-red-main);}
.button.is-secondary.is-blue {color: var(--color-blue-dark); border-color: var(--color-blue-dark);}
.button.is-secondary.is-grey {color: var(--color-grey-light); border-color: var(--color-grey-lighter);}
.button.is-secondary.is-red:hover {border-color: var(--color-red-dark); color: white;}
.button.is-secondary.is-black:hover {border-color: var(--color-red-main); background: var(--color-red-main); color: white;}
.button.is-secondary.is-white:hover {border-color: white;}
.button.is-secondary.is-blue:hover {border-color: var(--color-blue-dark); background: var(--color-blue-dark); color: white;}
.button.is-secondary.is-grey:hover {border-color: var(--color-grey-light); color: white;}

.button.is-outline.is-red {border-color: var(--color-red-main); color: var(--color-red-main); padding: 9px 17px;}
.button.is-outline.is-red:hover { background: var(--color-red-main); color: white;}

.button.is-special {background: white; border: 2px solid white; color: var(--color-grey-main);}
.button.is-special:hover{background: none; color: white;}

table .button{float: none;width: 100px;font-size: 13px;margin: 10px auto;padding: 3px 0;}

/*pagination links */

.woocommerce nav.woocommerce-pagination, .pagination{text-align:center} 
.woocommerce nav.woocommerce-pagination ul{display:inline-block;white-space:nowrap;padding:0;clear:both;border:0; margin:1px}

#sticky-wrapper img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {width:200px !important; border: none;}

.woocommerce nav.woocommerce-pagination ul li{
    margin-right: 5px !important;
    border:0 !important;
    float:left;
    display:inline;
    overflow:hidden;
    border-radius: 3px;
}

.woocommerce-shipping-destination {font-size: 11px;}

#benefits {margin-top: 30px;}
#product-flex {display: flex; width: 100%;}

.woocommerce ul.products li.product p {margin-bottom: 5px;}

.star-rating {color: var(--color-red-main);}
.woocommerce nav.woocommerce-pagination ul li a{
    text-decoration:none;padding:0;line-height:1;font-size:1em;font-weight:400;
    padding:10px 15px !important; display:block;
    background: #eee;}
.woocommerce nav.woocommerce-pagination ul li a:hover {background: var(--color-red-main)!important; color: white !important;}
.woocommerce nav.woocommerce-pagination ul li span.current{background: #eee!important; font-weight: 600 !important; 
    padding:10px 15px !important;}