
:root{
	/* --container-width:100%;
	--container-margin:calc(100% - var(--container-width) / 2);
	--container-margin-vw:calc(100vw - var(--container-width) / 2); */

	--container-margin:20px;
	--container-width:calc(100% - var(--container-margin) * 2);
	--container-margin-vw:calc(100vw - var(--container-margin) * 2);

	--wp--style--global--content-size: var(--container-width);
	--wp--style--global--wide-size: var(--container-width);



	--rbf-inline-link-color: var(--primary);
	--rbf-inline-link-hovercolor: var(--rpimary-light);
	--rbf-inline-link-text-decoration: underline;
	--rbf-inline-link-text-decoration-thickness: 2px;
	--rbf-inline-link-text-decoration-offset: .2em;


	/*cart-items*/
	--rbf-cart-item-color:#292931;
	--rbf-cart-item-description-fontsize:13px;
	--rbf-cart-item-description-lineheight	:1.18;
}


nav :where(a:focus:not(:focus-visible)) {
    outline:none;
}

main :where(a:focus:not(:focus-visible)) {
    outline:none;
}



.container{
	max-width:var(--container-width);
}

@media(min-width:768px){
	:root{
		    --container-margin:44px;
	}
}
@media(min-width:992px){
	:root{
		    --container-margin:62px;
	}
}
@media(min-width:1400px){
	:root{
		    --container-margin:72px;
	}
}
@media(min-width:1800px){
	:root{
		    --container-margin:92px;
	}
}

@media(max-width:1720px){
	:root{
		--regular-p-size:1.1rem;
	}
}
.container{
	padding:0;
}


body .row{
	margin-right: calc(-0.5 * var(--bs-gutter-x));
    margin-left: calc(-0.5 * var(--bs-gutter-x));
}



body header{
	--rbf-header-logo-max-width:232px;
	--rbf-header-logo-py:6px;
	--rbf-header-logo-ml:-12px;
}



/*HEADER-LOGO*/
header .rbf-site-branding>a {
    display: flex;
    position: absolute;
    height: calc(100% - var(--rbf-header-logo-py,5px));
    width: auto;
    min-width: 220px;
    max-height: calc(100% - 2 * var(--rbf-header-logo-py,5px));
    top: var(--rbf-header-logo-py,5px);
	margin-left:var(--rbf-header-logo-ml,-0px);
}
header .rbf-site-branding>a>img,
header .rbf-site-branding__logo{
	max-height: 100%;
	width: auto;
	height: 100%;
	position: relative;
	display: block;
	    max-width: var(--rbf-header-logo-max-width,232px);
}




body .wc-block-mini-cart__badge {
    font-size: 0.65em;
    top: -0.1em;
    z-index: 10;
    margin-left: -42%;
    background: var(--grey,#bbb);
}

body .rbf-mini-cart-display-count {
    font-size: 0.7em;
    top: -0.1em;
    z-index: 10;
    margin-left: -42%;
    align-items: center;
    border-radius: 1em;
    box-sizing: border-box;
    display: flex;
    font-size: .9em;
    font-weight: 600;
    height: 1.4285714286em;
    justify-content: center;
    left: 100%;
    margin-left: -40%;
    min-width: 1.4285714286em;
    padding: 0 .25em;
    position: absolute;
    transform: translate(20%, 20%);
    white-space: nowrap;
    z-index: 11;
    background: var(--secondary);
}


:root {
	--rbf-btn-border-radius: 4px;
	--rbf-btn-px: 10px;
	--rbf-btn-py: 2px;
}

body .rbf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--rbf-btn-py) var(--rbf-btn-px);
	font-size: 1rem;
	line-height: 1.2;
	font-weight:500;
	/* border: none; */
	border: 2px solid var(--primary);
	border-radius: var(--rbf-btn-border-radius);
	background: var(--primary);
	color: var(--white);
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color .3s ease,
		border-color .3s ease,
		color .3s ease;
}


body .rbf-btn-lg {
	--rbf-btn-border-radius: 0;
	--rbf-btn-px: 4px;
	--rbf-btn-py: 8px;
}

/* body .rbf-hero a:not(.btn):not(.rot-btn):not(.rbf-btn):not(.button):not([class*="button"]){
	text-decoration: underline;
	color: var(--rbf-inline-link-color);
    text-decoration: var(--rbf-inline-link-text-decoration)!important;
    text-decoration-thickness: var(--rbf-inline-link-text-decoration-thickness)!important;
    text-underline-offset: var(--rbf-inline-link-text-decoration-offset);
} */
body .entry-content a:not(:where(
	.rbf-product-family-item__image-link,
	.rbf-product-family-item__title-link,
	.btn,
	.rot-btn,
	.rbf-btn,
	.button,
	[class*="button"]
)) {
	text-decoration: underline;
	color: var(--rbf-inline-link-color);
	text-decoration: var(--rbf-inline-link-text-decoration) !important;
	text-decoration-thickness: var(--rbf-inline-link-text-decoration-thickness) !important;
	text-underline-offset: var(--rbf-inline-link-text-decoration-offset);
}



body .rbf-hero a:not(:where(
	.btn,
	.rot-btn,
	.rbf-btn,
	.button,
	[class*="button"]
)):hover {
	color: var(--rbf-inline-link-hovercolor);
}

body .entry-content a:not(:where(
	.rbf-product-family-item__image-link,
	.rbf-product-family-item__title-link,
	.btn,
	.rot-btn,
	.rbf-btn,
	.button,
	[class*="button"]
)) {
	text-decoration: underline;
	color: var(--rbf-inline-link-color);
	text-decoration: var(--rbf-inline-link-text-decoration) !important;
	text-decoration-thickness: var(--rbf-inline-link-text-decoration-thickness) !important;
	text-underline-offset: var(--rbf-inline-link-text-decoration-offset);
}

body .entry-content a:not(:where(
	.rbf-product-family-item__image-link,
	.rbf-product-family-item__title-link,
	.btn,
	.rot-btn,
	.rbf-btn,
	.button,
	[class*="button"]
)):hover {
	color: var(--rbf-inline-link-hovercolor);
}


body .rbf-btn:hover,
body .rbf-btn:focus-visible {
	background-color: var(--white);
	color: var(--primary);
	border-color: var(--primary);
}





/*************************************
MODALS
*************************************/
body .rbf-wc-modal {
	--modal-margin: .0rem;

	margin-left: var(--modal-margin, 1rem)!important;
	margin-right: var(--modal-margin, 1rem)!important;
	margin-top: var(--modal-margin, 1rem);
	margin-bottom: var(--modal-margin, 1rem);

	padding: calc(var(--modal-margin) * 1.5);

	position: fixed;
	top: var(--admin-bar-height);
	left: 0;

	width: calc(100% - (2 * var(--modal-margin, 1rem)));
	max-width: calc(100% - (2 * var(--modal-margin, 1rem)));

	max-height: calc(
		100vh
		- var(--admin-bar-height)
		- 2 * var(--modal-margin)
	);

	background: #00000085;
	z-index: 100000;

	gap: .2rem;

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

	height: calc(100vh - var(--admin-bar-height) - var(--modal-margin));
}

body .rbf-wc-modal__inner {
	position: relative;

	width: min(100%, 720px);
	max-height: calc(
		100vh
		- 2 * var(--modal-margin)
		- 2 * 3rem
		- var(--admin-bar-height)
	);

	overflow: auto;

	padding: 2rem;

	background: #fff;
	border-radius: .5rem;
	box-shadow: 0 1rem 3rem rgba(0, 0, 0, .3);
}

@media(min-width:992px){
	body .rbf-wc-modal {
		--modal-margin: .0rem;
	}
}


body .rbf-btn.rbf-modal-close {
	font-size: 1.4rem;
	line-height: 0.6;
	padding-bottom: 0.24em;
	margin-bottom: 0.4em;
}

body .is-hidden,
body .rbf-conf-cart-shell.is-hidden{
	display:none;
}
body .rbf-conf-cart-shell.is-open{
	display:block;
}
body .rbf-conf-cart-shell {
    --modal-margin: .2rem;
    margin-left: var(--modal-margin, 1rem)!important;
    margin-right: var(--modal-margin, 1rem)!important;
    margin-top: var(--modal-margin, 1rem);
    margin-bottom: var(--modal-margin, 1rem);
    padding: calc(var(--modal-margin) * 1.5);
    position: fixed;
    top: var(--admin-bar-height);
    background: #00000085;
    width: calc(100% - (2 * var(--modal-margin, 1rem)));
    max-width: calc(100% - (2 * var(--modal-margin, 1rem)));
    left: 0;
    z-index: 100000;
    max-height: calc(100vh - var(--admin-bar-height) - 2 * var(--modal-margin));
    gap:.2rem;
}
body .rbf-conf-cart-shell .shell-inner {
    position: relative;
    max-height: calc(100%);
    height: calc(100vh - 2 * var(--modal-margin) - 2 * 3rem - var(--admin-bar-height));
    overflow: auto;
}
@media(min-width:992px){
    body .rbf-conf-cart-shell {
    --modal-margin: 1rem;
    }
}

.rbf-conf-edit-set-btn{
    margin-top:10px;
}


.rbf-wc-modal__actions{
	margin-top:1rem;
}



/*margin top für main entschärft*/
.wp-site-blocks > main {
	margin-block-start: 0;
	margin-block-end: 0;
}
body .rbf-wc-form {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

body .rbf-wc-form__field {
	display: flex;
	flex-direction: column;
	gap: .3rem;
}
body .rbf-wc-form__field {
	position: relative;
	display: block;
}

body .rbf-wc-form__field label {
	position: absolute;
	top: 0;
	left: .75rem;
	z-index: 2;

	transform: translateY(-50%);

	padding: 0 .35rem;

	font-size: .8rem;
	line-height: 1.2;
	font-weight: 400;

	background: #fff;
}

body .rbf-wc-form__field input,
body .rbf-wc-form__field select,
body .rbf-wc-form__field textarea {
	width: 100%;
	min-height: 3.25rem;

	padding: .65rem .85rem;

	font: inherit;
	line-height: 1.3;

	background: #fff;
	border: 1px solid currentColor;
	border-radius: .25rem;
	box-sizing: border-box;
}

body .rbf-wc-form__field input[type="checkbox"] {
	width: auto;
	min-height: 0;
	padding: 0;
	border-radius: 0;
	box-sizing: content-box;
}


body .rbf-wc-form__field input:focus,
body .rbf-wc-form__field select:focus,
body .rbf-wc-form__field textarea:focus {
	outline: 2px solid currentColor;
	outline-offset: 1px;
}

.rbf-wc-form__field--checkbox{
	margin-top:0px;
	margin-bottom:0px;
}

body .rbf-wc-form__field--checkbox label {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
	cursor: pointer;
	position:relative;
	transform:none;
	left:0;
}

body .rbf-wc-form__field--checkbox input[type="checkbox"] {
	flex: 0 0 auto;
	margin-top: .2rem;
}


body .rbf-wc-form__actions {
	display: flex;
	gap:8px;
}
body .rbf-wc-modal .rbf-wc-form__actions {
	margin-top: .5rem;
}

@media(min-width:768px) {
	body .rbf-endcustomer-form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body .rbf-endcustomer-form__field:nth-child(1),
	body .rbf-endcustomer-form__field:nth-child(4),
	body .rbf-endcustomer-form__field:nth-child(5),
	body .rbf-endcustomer-form__field:nth-child(8),
	body .rbf-endcustomer-form__field:nth-child(9),
	body .rbf-endcustomer-form__field:nth-child(10),
	body .rbf-endcustomer-form__field:nth-child(11),
	body .rbf-endcustomer-form__actions {
		grid-column: 1 / -1;
	}
}


body .rbf-shop-documents-endcustomer-address {
	margin-top: .6rem;
	font-size: .8rem;
	line-height: 1.4;

	display: flex;
	gap: .1rem 0.7rem;
	flex-wrap: wrap;
	flex-direction: column;
}



.rbf-inquiry-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

body .rbf-global-notice {
	position: fixed;
	top: calc(
		var(--admin-bar-height, 0px)
		+ var(--header-height, 0px)
		+ 1rem
	);
	left: 50%;
	transform: translateX(-50%);
	z-index: 100001;
	width: min(calc(100% - 2rem), 720px);
	margin: 0;
}
/*HERO*/
/*HERO*/
/*HERO*/
/*HERO*/
/* ==========================================================================
   RBF Hero
   ========================================================================== */

.rbf-hero {
	--rbf-hero-height: 660px;
	--rbf-hero-content-width: 38%;
	--rbf-hero-cut-ratio: 0.26;
	--rbf-hero-cut-factor: calc(var(--rbf-hero-cut-ratio) * 100%);
	--rbf-hero-cut-left-top: 7%;
	--rbf-hero-cut-top: 56%;
	--rbf-hero-cut-bottom: calc(var(--rbf-hero-cut-top) - var(--rbf-hero-cut-factor));
	--rbf-hero-cut-left-bottom: calc(var(--rbf-hero-cut-left-top) - var(--rbf-hero-cut-factor));
	--rbf-hero-usp-height: 92px;

	--rbf-hero-bg: #fff;
	--rbf-hero-overlay-light: rgba(255, 255, 255, 0.65);
	--rbf-hero-overlay-dark: rgba(50, 50, 55, 0.45);

	--rbf-hero-img-inset: calc(var(--rbf-hero-cut-bottom) - 1%);

	position: relative;
	width: 100%;
	overflow: hidden;

	margin-top:0;
}


.rbf-hero--compact {
	--rbf-hero-cut-ratio: 0.16;
	--rbf-hero-height: 360px;
	--rbf-hero-content-width: 52%;

	--rbf-hero-cut-top: 51%;
	--rbf-hero-cut-offset-start: 0%;
	--rbf-hero-cut-offset-end: 17%;
	--rbf-hero-cut-offset-bottom-end: 17%;
	--rbf-hero-cut-offset-bottom-start: 0%;

	--rbf-hero-cut-offset-figure-end: 55%;
	--rbf-hero-cut-offset-figure-bottom-end: var(--rbf-hero-cut-offset-figure-end);

	--rbf-hero-imgmask-offset-end-top:var(--rbf-hero-cut-offset-figure-end);
	--rbf-hero-imgmask-offset-end-bottom:var(--rbf-hero-cut-offset-figure-bottom-end);

	--rbf-hero-gradient-angle: calc(
		90deg + atan2(
			calc(var(--rbf-hero-cut-ratio) * 100vw),
			var(--rbf-hero-height)
		)
	);


	--rbf-hero-overlay-width-left: 8%;
}

.rbf-hero--compact .rbf-hero__overlay::before {
	--rbf-hero-cut-offset-start: 49%;
	--rbf-hero-cut-offset-end: var(--rbf-hero-cut-offset-figure-end);
	--rbf-hero-cut-offset-bottom-end: var(--rbf-hero-cut-offset-figure-end);
	--rbf-hero-cut-offset-bottom-start: var(--rbf-hero-cut-offset-start);
}

.rbf-hero--compact .rbf-hero__overlay::after {
	--rbf-hero-cut-offset-start: 42%;
	--rbf-hero-cut-offset-end: var(--rbf-hero-cut-offset-figure-end);
	--rbf-hero-cut-offset-bottom-end: var(--rbf-hero-cut-offset-figure-end);
	--rbf-hero-cut-offset-bottom-start: var(--rbf-hero-cut-offset-start);
}

.rbf-hero--compact .rbf-hero__content {
	padding-top: 72px;
	padding-bottom: 32px;
}

.rbf-hero--compact .rbf-hero__title {
	margin-bottom: 0;
	font-size: clamp(2.5rem, 6vw, 4rem);
}


/* .rbf-hero--compact .rbf-hero__media .rot-img-relative{
	clip-path: polygon(
		calc(var(--rbf-hero-cut-left-top) + 1%) 0,
		var(--rbf-hero-imgmask-offset-end-top,88.5%) 0,
		var(----rbf-hero-imgmask-offset-end-bottom,62.3%) 100%,
		calc(var(--rbf-hero-cut-left-bottom) - 1%) 100%);
} */

/*BEI COMPACT KOMMT RIFFLE BLECH AUF DIE STAGE statt auf media und media wird gecroppt*/
/*BEI COMPACT KOMMT RIFFLE BLECH AUF DIE STAGE statt auf media und media wird gecroppt*/
/*BEI COMPACT KOMMT RIFFLE BLECH AUF DIE STAGE statt auf media und media wird gecroppt*/
/*BEI COMPACT KOMMT RIFFLE BLECH AUF DIE STAGE statt auf media und media wird gecroppt*/
 .rbf-hero--compact .rbf-hero__stage::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: url('assets/imgs/riffle.webp');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.55;
	filter: contrast(1.1);
	pointer-events: none;
}
.rbf-hero--compact .rbf-hero__stage::before {
	z-index:2;
	--rbf-hero-cut-offset-end:2%;
	--rbf-hero-cut-offset-bottom-end:2%;
	/* content: none; */
}
.rbf-hero--compact .rbf-hero__media {
	clip-path: polygon(
		calc(var(--rbf-hero-cut-left-top) + 1%) 0,
		calc(var(--rbf-hero-cut-top) + var(--rbf-hero-cut-offset-figure-end, 37%)) 0,
		calc(var(--rbf-hero-cut-bottom) + var(--rbf-hero-cut-offset-figure-bottom-end, 37%)) 100%,
		calc(var(--rbf-hero-cut-left-bottom) - 1%) 100%
	);
	z-index:1;
}

.rbf-hero--compact .rbf-hero__media .rot-img-relative {
	clip-path: none;
}

.rbf-hero--compact .rbf-hero__media::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
	background: var(--rbf-hero-overlay-light);

	clip-path: polygon(
		var(--rbf-hero-img-inset) 0,
		calc(var(--rbf-hero-img-inset) + var(--rbf-hero-overlay-width-left) + var(--rbf-hero-cut-factor)
		) 0,
		calc(var(--rbf-hero-img-inset) + var(--rbf-hero-overlay-width-left)) 100%,
		var(--rbf-hero-img-inset) 100%
	);
}


@media (min-width: 768px) {

	.rbf-hero--compact {
		--rbf-hero-height: 400px;
		--rbf-hero-content-width: 44%;
	}

	.rbf-hero--compact .rbf-hero__content {
		padding-top: 90px;
		padding-bottom: 50px;
	}
}
/* ==========================================================================
   Stage
   ========================================================================== */

.rbf-hero__stage {
	position: relative;
	width: 100%;
	min-height: var(--rbf-hero-height);
	overflow: hidden;
}


/* ==========================================================================
   Image
   ========================================================================== */

.rbf-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

.rbf-hero__media::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;

	background-image: url('assets/imgs/riffle.webp');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;

	opacity: 0.55;
	filter: contrast(1.1);
	pointer-events: none;
}

.rbf-hero__media .rot-img-relative {
	position: absolute;
	inset: 0 0 0 var(--rbf-hero-img-inset,38%);
	width: calc(100% - var(--rbf-hero-img-inset));
	height: 100%;
	margin: 0;
	clip-path: polygon(calc(var(--rbf-hero-cut-left-top) + 1%) 0, 100% 0, 100% 100%, calc(var(--rbf-hero-cut-left-bottom) - 1%) 100%);
	z-index:2;
}

.rbf-hero__media .rot-img-relative,
.rbf-hero__media .rot-img-relative.static-hero-img{
    width: calc(100% - var(--rbf-hero-content-width) + var(--rbf-hero-figure-w-mod,8%));
    left: calc(var(--rbf-hero-content-width) - var(--rbf-hero-figure-w-mod,8%));
}



.rbf-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* ==========================================================================
   White content shape
   ========================================================================== */



body{
	--rbf-hero-cut-offset-start: 0%;
	--rbf-hero-cut-offset-end: 0%;
	--rbf-hero-cut-offset-bottom-end: 0%;
	--rbf-hero-cut-offset-bottom-start: 0%;
}

body.archive{
	--rbf-hero-cut-offset-start: 0%;
	--rbf-hero-cut-offset-end: 17%;
	--rbf-hero-cut-offset-bottom-end: 17%;
	--rbf-hero-cut-offset-bottom-start: 0%;

	--rbf-hero-gradient-angle: calc(
		90deg + atan2(
			calc(var(--rbf-hero-cut-ratio) * 100vw),
			var(--rbf-hero-height)
		)
	);
}

.rbf-hero__stage::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: var(--rbf-hero-bg);
	clip-path: polygon(
		calc(var(--rbf-hero-cut-left-top) + var(--rbf-hero-cut-offset-start,0%)) 0,
		calc(var(--rbf-hero-cut-top) + var(--rbf-hero-cut-offset-end,0%)) 0,
		calc(var(--rbf-hero-cut-bottom) + var(--rbf-hero-cut-offset-bottom-end,0%)) 100%,
		calc(var(--rbf-hero-cut-left-bottom) + var(--rbf-hero-cut-offset-bottom-start,0%)) 100%
	);
}

body.single-product .rbf-hero__stage,
body.archive .rbf-hero__stage{
	background-image: url(assets/imgs/riffle.webp);
    background-size: cover;
    background-position: center;
}
body.single-product .rbf-hero__stage::before,
body.archive .rbf-hero__stage::before {
    background: #FFF;
    background: linear-gradient(
  104deg,
  rgba(255, 255, 255, 1) 0%,
  rgba(255, 255, 255, 1) 40%,
  rgba(255, 255, 255, 0) 51%,
  rgba(255, 255, 255, 0) 74%,
  rgba(255, 255, 255, 1) 74%,
  rgba(255, 255, 255, 1) 100%);
}


/* ==========================================================================
   Diagonal overlays
   ========================================================================== */

.rbf-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
}

.rbf-hero__overlay::before,
.rbf-hero__overlay::after {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--rbf-hero-overlay-light);
}

body .rbf-hero__overlay::before{
	--rbf-hero-cut-offset-start:0%;
	--rbf-hero-cut-offset-end:6%;
	--rbf-hero-cut-offset-bottom-end:6%;
	--rbf-hero-cut-offset-bottom-start:0%;
}
body.single-product .rbf-hero__overlay::before,
body.archive .rbf-hero__overlay::before {
    --rbf-hero-cut-offset-start: 24%;
    --rbf-hero-cut-offset-end: 37%;
    --rbf-hero-cut-offset-bottom-end: 37%;
    --rbf-hero-cut-offset-bottom-start: 24%;
}

.rbf-hero__overlay::before {
	clip-path: polygon(
		calc(var(--rbf-hero-cut-top) + var(--rbf-hero-cut-offset-start,0%)) 0,
		calc(var(--rbf-hero-cut-top) + var(--rbf-hero-cut-offset-end,0%)) 0,
		calc(var(--rbf-hero-cut-bottom) + var(--rbf-hero-cut-offset-bottom-end,0%)) 100%,
		calc(var(--rbf-hero-cut-bottom) + var(--rbf-hero-cut-offset-bottom-start,0%)) 100%
	);
}

body .rbf-hero__overlay::after{
	--rbf-hero-cut-offset-start:0%;
	--rbf-hero-cut-offset-end:12%;
	--rbf-hero-cut-offset-bottom-end:12%;
	--rbf-hero-cut-offset-bottom-start:0%;
}
body.single-product .rbf-hero__overlay::after,
body.archive .rbf-hero__overlay::after {
    --rbf-hero-cut-offset-start: 30%;
    --rbf-hero-cut-offset-end: 37%;
    --rbf-hero-cut-offset-bottom-end: 37%;
    --rbf-hero-cut-offset-bottom-start: 30%;
}
.rbf-hero__overlay::after {
	clip-path: polygon(
		calc(var(--rbf-hero-cut-top) + var(--rbf-hero-cut-offset-start,0%)) 0,
		calc(var(--rbf-hero-cut-top) + var(--rbf-hero-cut-offset-end,0%)) 0,
		calc(var(--rbf-hero-cut-bottom) + var(--rbf-hero-cut-offset-bottom-end,0%)) 100%,
		calc(var(--rbf-hero-cut-bottom) + var(--rbf-hero-cut-offset-bottom-start,0%)) 100%
	);
}


/* ==========================================================================
   Content
   ========================================================================== */

.rbf-hero__container {
	position: relative;
	z-index: 3;
	min-height: var(--rbf-hero-height);
	display: flex;
	align-items: center;
}
.rbf-hero--product-family .rbf-hero__container {
	margin-top:var(--header-height);
}

.rbf-hero__content {
	width: var(--rbf-hero-content-width);
	padding-top: 80px;
	padding-bottom: 80px;
}

.rbf-hero__eyebrow {
	margin-bottom: 32px;
	font-weight: 700;
	text-transform: uppercase;
}

.rbf-hero__title {
	margin: 0 0 40px;
	font-size: clamp(3rem, 4vw, 5.5rem);
	line-height: 0.95;
	font-weight: 700;
	text-transform: uppercase;
}

.rbf-hero__text {
	max-width: 460px;
	margin-bottom: 30px;
	font-size: 1.17rem;
	line-height: 1.4;
}

.rbf-hero__button {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}
.rbf-hero__button {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;

	min-width: 230px;
	padding: 4px 10px;

	border: 2px solid var(--primary);
	background: transparent;
	color: var(--primary);

	font-weight: 700;
	line-height: 1.1;
	text-decoration: none;

	transition:color .4s, background-color .4s, border-color .4s;
}

.rbf-hero__button::after {
	content: '›';
	display: inline-block;


	font-weight: 300;
	line-height: .7;
	font-size:40px;

	color: var(--secondary);
	transform: translateY(-1px);
	transition:color .4s, background-color .4s, border-color .4s;
}

.rbf-hero__button:hover,
.rbf-hero__button:focus-visible {
	background: var(--primary);
	color: #fff;
}

.rbf-hero__button:hover::after,
.rbf-hero__button:focus-visible::after {
	color: var(--secondary);
}



@media(min-width:768px){
	.rbf-hero--product-family .rbf-hero__container {
		margin-top:0;
	}
	.rbf-hero--product-family .rbf-hero__content {
		margin-top:3rem;
	}
	.rbf-hero--product-family .rbf-hero__xr-viewer {
		margin-top:3rem;
	}
}

/* ==========================================================================
   eyebrow
   ========================================================================== */
.rbf-hero {
	--rbf-hero-cut-angle: atan2(
		calc(var(--rbf-hero-cut-ratio) * 100vw),
		var(--rbf-hero-height)
	);

	--rbf-hero-eyebrow-mark-width: 4px;
	--rbf-hero-eyebrow-mark-height: 28px;
}

.rbf-hero__eyebrow {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 18px;
	font-weight: 700;
	text-transform: uppercase;
	margin-top:1rem;
}

.rbf-hero__eyebrow-mark {
	display: block;
	flex: 0 0 var(--rbf-hero-eyebrow-mark-width);
	width: var(--rbf-hero-eyebrow-mark-width);
	height: var(--rbf-hero-eyebrow-mark-height);
	background: var(--secondary);
	transform: rotate(var(--rbf-hero-cut-angle));
	transform-origin: center;
}

.rbf-hero__breadcrumbs {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: .7rem;
}

.rbf-hero__breadcrumbs a{
	text-decoration: underline;
	color: var(--rbf-inline-link-color);
    text-decoration: var(--rbf-inline-link-text-decoration)!important;
    text-decoration-thickness: var(--rbf-inline-link-text-decoration-thickness)!important;
    text-underline-offset: var(--rbf-inline-link-text-decoration-offset);
}
.rbf-hero__breadcrumbs span {
	color: inherit;
	text-decoration: none;
}

.rbf-hero__breadcrumb-separator {
	opacity: .65;
}




/* ==========================================================================
   USP bar
   ========================================================================== */

.rbf-hero__usp-bar {
    position: relative;
    z-index: 4;
    min-height: var(--rbf-hero-usp-height);
    background: #fff;
    background-image: url('assets/imgs/riffle.webp');
    filter: contrast(1.1);
	background-position:right;
}


.rbf-hero__usp-bar::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    transform: translateX(calc(var(--rbf-hero-usp-bar-after-offset-x,-4%) - var(--container-margin)))  skewX(26deg);
    transform-origin: top right;
}

.rbf-hero__usp-container {
	position: relative;
	z-index: 1;
	min-height: var(--rbf-hero-usp-height);
	display: flex;
	align-items: center;
}

.rbf-hero__usp-item {
	flex: 1 1 0;
	display: flex;
	align-items: center;
	gap: 28px;
	min-width: 0;
	padding: 0 42px;
}

.rbf-hero__usp-item:first-child {
	padding-left: 0;
}

.rbf-hero__usp-item + .rbf-hero__usp-item {
	border-left: 3px solid rgba(40, 40, 45, 0.55);
}

.rbf-hero__usp-icon {
	flex: 0 0 auto;
	width: 90px;
	height: 90px;
}

.rbf-hero__usp-icon .rot-svg-relative,
.rbf-hero__usp-icon .rot-svg-svg {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
}

.rbf-hero__usp-label {
	margin-bottom: 3px;
	font-size: .85rem;
	line-height: 1.2;
	text-transform: uppercase;
	display: block;
}

.rbf-hero__usp-title {
	font-size: 1rem;
	line-height: 1.1;
	font-weight: 700;
	text-transform: uppercase;
	hyphens:auto;
}


.rbf-hero__product-action--products .rbf-hero__usp-title {
	display: flex;
	align-items: baseline;
	gap: .2em;
	white-space: nowrap;
}

.rbf-hero__product-action--inquiry .rbf-btn-inner,
.rbf-hero__product-action--products .rbf-btn-inner {
	background:var(--transparent,transparent);
}
/* .rbf-hero__product-action--products .woocommerce-Price-currencySymbol { */
	/* font-size: .72em; */
	/* font-weight: 600; */
/* } */
.rbf-hero__product-action-icon--price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--rbf-product-action-icon-size, 64px);
    height: var(--rbf-product-action-icon-size, 64px);
    font-size: 3rem;
    font-weight: 300;
    line-height: 1;
}

@media(min-width:1200px){

	.rbf-hero__usp-title {
		font-size: 1.4rem;
	}
	.rbf-hero__usp-label {
		margin-bottom: 5px;
		font-size: 1rem;
	}
}

/* ==========================================================================
   Product Single Hero – Actions
   ========================================================================== */


.rbf-hero__usp-item {
	border:0;
}


.rbf-hero--single-product {
	--rbf-product-actions-height: 90px;
	--rbf-product-action-gap: 20px;
	--rbf-product-action-icon-size: 42px;
	--rbf-hero-usp-bar-after-offset-x:-2%
}

.rbf-hero__product-actions {
	position: relative;
	z-index: 4;
	/* background: #fff; */
}


.rbf-hero__product-actions-container {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
}

.rbf-hero__product-action {
	background: transparent;
}

.rbf-btn-inner{
	display: flex;
    flex-direction: row;
    /* flex-wrap: wrap; */
    align-items: center;
    gap: 20px;
    background: var(--primary);
    padding: 0.8rem 1rem;
	width:100%;

}
.rbf-btn-transparent{
	background: transparent;
	color:var(--text);
}

.rbf-hero__product-action:first-child {
	border-top: 0;
}

.rbf-hero__product-action-icon {
	flex: 0 0 var(--rbf-product-action-icon-size);
	width: var(--rbf-product-action-icon-size);
	height: var(--rbf-product-action-icon-size);
}

.rbf-hero__product-action-label {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
}

.rbf-hero__product-action:hover {
	color: var(--primary);
}

.rbf-hero__product-action:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: -2px;
}

.rbf-hero__product-action:disabled {
	opacity: .55;
	cursor: wait;
}

.rbf-hero__product-action.is-added {
	color: var(--primary);
}

@media (min-width: 576px) {
	.rbf-hero__product-actions-container{
		flex-direction:row;
		flex-wrap:wrap;
	}
	.rbf-hero__product-actions-container>*{
		flex:0 0 50%;
		max-width:calc(50% - 2rem);
	}
	.rbf-hero__product-action:first-child {
		flex:0 0 100%;
		max-width:100%;
	}
}
@media (min-width: 900px) {

	.rbf-hero__product-actions-container {
		flex-direction: row;
		align-items: stretch;
		min-height: var(--rbf-product-actions-height);
	}
	.rbf-hero__product-actions-container>*{
		flex:0 0 calc(33.334% - 0.1rem);
		max-width:calc(33.334% - 0.1rem);
	}
	.rbf-hero__product-action:first-child {
		flex:0 0 calc(33.334% - 0.1rem);
		max-width:calc(33.334% - 0.1rem);
	}

	.rbf-hero__product-action {
		border: 0;
	}
/*
	.rbf-hero__product-action:first-child {
		justify-content: flex-start;
		padding-left: 0;
	} */

	/* .rbf-hero__product-action:last-child {
		justify-content: flex-end;
		padding-right: 0;
	}*/
}



/* ==========================================================================
   Responsive baseline
   ========================================================================== */

@media (max-width: 1199px) {
	.rbf-hero {
		--rbf-hero-height: 540px;
		--rbf-hero-content-width: 44%;
		--rbf-hero-cut: 56%;
		--rbf-hero-cut-ratio:.3;
		/*left top corner*/
		--rbf-hero-cut-left-top: 10%;
		/*figure inset, startX for overlay*/
		--rbf-hero-cut-top: 65%;


	}
	.rbf-hero.rbf-hero--compact {

		--rbf-hero-cut-ratio:.15;
		--rbf-hero-height: 280px;
		--rbf-hero-cut-top: 53.5%;

		--rbf-hero-cut-offset-figure-end: 60%;
	}
	.rbf-hero--compact .rbf-hero__overlay::before {
    	--rbf-hero-cut-offset-start: 52%;
	}
	.rbf-hero--compact .rbf-hero__overlay::after {
		--rbf-hero-cut-offset-start: 44%;
	}



	.rbf-hero__usp-item {
		padding-inline: 25px;
		gap: 18px;
	}

	.rbf-hero__usp-icon {
		width: 70px;
		height: 70px;
	}
}

@media (max-width: 767px) {
	.rbf-hero {
		--rbf-hero-height: 700px;
		--rbf-hero-content-width: 100%;
		--rbf-hero-usp-height: auto;
	}

	.rbf-hero__stage::before {
		clip-path: polygon(
			0 0,
			100% 0,
			100% 58%,
			0 72%
		);
	}

	.rbf-hero__overlay {
		display: none;
	}

	.rbf-hero__container {
		align-items: flex-start;
	}

	.rbf-hero__content {
		width: 100%;
		padding-top: 120px;
		padding-bottom: 40px;
	}

	.rbf-hero__usp-container {
		display: block;
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.rbf-hero__usp-item {
		padding: 8px 0;
		border:0;
	}

	.rbf-hero__usp-item + .rbf-hero__usp-item {
		border-left: 0;
		border-top: 1px solid rgba(40, 40, 45, 0.25);
	}
}

@media(min-width:1921px){
	.rbf-hero.rbf-hero--compact{
		--rbf-hero-cut-ratio:.08;
		--rbf-hero-cut-top:42%;
		--rbf-hero-content-width:34%;
	}
}







/*header*/
/*header*/
/*header*/
/*header*/
@media (min-width: 768px) {
	header.wp-block-template-part {
		position: fixed;
		top: var(--admin-bar-height);
		left: 0;
		width: 100%;
		z-index: 100;

		background: rgba(255, 255, 255, 0.57);
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
	}
}


/*===============================================================================
CARDS
=================================================================================*/
.rbf-product-families,
.rbf-product-family-products {
	--rbf-card-bg: #fff;
	--rbf-card-shadow: 0 8px 22px rgba(0, 0, 0, .06);
	--rbf-card-text: var(--text-light);
	--rbf-card-blue: var(--primary);
	--rbf-card-accent: var(--secondary);
	--rbf-card-muted: #60606a;

	width: 100%;
}


/* ==========================================================================
   Product Family Cards
   ========================================================================== */

.rbf-product-families {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2rem;
	width: 100%;
}

.rbf-product-family-item {
	min-width: 0;
	margin: 0;
	display:flex;
	flex-direction:column;
}

.rbf-product-family-item__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.rbf-product-family-item__image {
	position: relative;
	aspect-ratio: 1.15 / 1;
	overflow: hidden;
}

.rbf-product-family-item__image-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #f2f2f2;
	color: #aaa;
	font-size: .8rem;
	text-transform: uppercase;
}

.rbf-product-family-item__content {
	flex: 1;
	padding: 1rem 1.1rem 1.4rem;
	background: #fff;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .06);
	display:flex;
	flex-direction:column;
}

.rbf-product-family-item__title {
	margin: 0 0 .7rem;
	color: var(--text-light);
	font-size: clamp(1.45rem, 2vw, 2rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: .01em;
	text-transform: uppercase;
}

.rbf-product-family-item__strengths {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
	margin-bottom: .55rem;
	margin-top:1rem;
}

.rbf-product-family-item__strength {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.75rem;
	height: 1.75rem;
	padding: 0 .35rem;
	background: var(--primary);
	color: #fff;
	font-size: .9rem;
	font-weight: 700;
	line-height: 1;
}

.rbf-product-family-item__strengths::after {
	content: '';
	flex: 0 0 100%;
	height: 2px;
	margin-top: .25rem;
	background:
		linear-gradient(
			to right,
			#e3bd21 0,
			#e3bd21 4.4rem,
			transparent 4.4rem,
			transparent 100%
		);
}

.rbf-product-family-item__strengths-label {
	margin: 0;
	color: #60606a;
	font-size: .78rem;
	line-height: 1.35;
}

.rbf-product-family-item__strengths-label span {
	color: var(--text);
	font-weight: 600;
	text-decoration: underline;
}


.rbf-product-family-item__brand {
    position: relative;
    z-index: 2;
    width: fit-content;
    margin-top: -1.9rem;
    margin-left: 0.4rem;
    margin-bottom: .5rem;
    padding: 0.1rem .8rem;
    border-radius: 11px 11px 0 0;
    background: white;
}

.rbf-product-family-item__brand img {
	display: block;
	width: auto;
	height: 1.8rem;
	max-width: 7rem;
}
.rbf-product-family-item__title a {
	position: relative;
	display: inline-block;
	max-width: 100%;
	color: inherit;
	text-decoration: none;
}
.rbf-product-family-item__title a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -7px;
    width: 100%;
    height: 4px;
    background: var(--rbf-card-text);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 220ms ease;
}

.rbf-product-family-item__title a:hover::after,
.rbf-product-family-item__title a:focus-visible::after {
	transform: scaleX(1);
}


.rbf-product-family-item__description-text{
	font-size: .9em;
    line-height: 1.4;
    white-space: pre-line;
}

/*btns*/
/*btns*/
/*btns*/
.rbf-product-family-item__actions {
	display: flex;
	align-items: stretch;
	gap: 8px;
}
.rbf-product-family-item__description-toggle {
	min-width: 44px;
}





/* ==========================================================================
Product CARD
   ========================================================================== */
.rbf-product-item__brand::before {
	content: '';
	display: block;
	width: 7rem;
	height: 1.8rem;
	background: url('./assets/logos/veriga.svg') left center / contain no-repeat;
}




.rbf-product-item {
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	margin: 0;
}

.rbf-product-item__image-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.rbf-product-item__image {
	position: relative;
	aspect-ratio: 1.15 / 1;
	overflow: hidden;
}

.rbf-product-item__img {
	width: 100%;
	height: 100%;
	margin: 0;
}

.rbf-product-item__img img {
	display: block;
	width: 100%;
	height: 100%;
	max-width:200%;
	/* object-fit: contain; */
}

.rbf-product-item__image-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #f2f2f2;
	color: #aaa;
	font-size: .8rem;
	text-transform: uppercase;
}

/* Veriga-Tab wie bei der Family Card */

.rbf-product-item__brand {
	position: relative;
	z-index: 2;
	width: fit-content;
	height: 2.4rem;
	margin-top: -1.9rem;
	margin-left: .4rem;
	padding: .1rem .8rem;
	border-radius: 11px 11px 0 0;
	background: var(--rbf-card-bg);
}

.rbf-product-item__brand::before {
	content: '';
	display: block;
	width: 7rem;
	height: 1.8rem;
	background: url('./assets/logos/veriga.svg') left center / contain no-repeat;
}

/* Card Body */

.rbf-product-item__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1rem 1.1rem 1.4rem;
	background: var(--rbf-card-bg);
	box-shadow: var(--rbf-card-shadow);
}

.rbf-product-item__title {
	margin: 0 0 1.25rem;
	color: var(--rbf-card-text);
	font-size: clamp(1.45rem, 2vw, 2rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: .01em;
	text-transform: uppercase;
}


.rbf-product-item__description {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	line-clamp: 2;
	-webkit-line-clamp: 2;
	margin: 0 0 .8rem;
	color: var(--rbf-card-text);
	font-size: .9rem;
	font-weight:500;
	line-height: 1.3;
	hyphens: auto;
}


.rbf-product-item__title-link {
	position: relative;
	display: inline-block;
	max-width: 100%;
	color: inherit;
	text-decoration: none;
}

.rbf-product-item__title-link::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -8px;
	width: 100%;
	height: 4px;
	/* background: var(--primary); */
	background: var(--rbf-card-text);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 220ms ease;
}

.rbf-product-item__title-link:hover::after,
.rbf-product-item__title-link:focus-visible::after {
	transform: scaleX(1);
}

/* Gliederstärke */

.rbf-product-item__strengths {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem .55rem;
	margin-bottom: .55rem;
}

.rbf-product-item__strengths span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.75rem;
	height: 1.75rem;
	padding: 0 .35rem;
	background: var(--rbf-card-blue);
	color: #fff;
	font-size: .9rem;
	font-weight: 700;
	line-height: 1;
}

.rbf-product-item__description-wrap::after {
	content: '';
	display: block;
	width: 4.4rem;
	height: 2px;
	margin-top: .25rem;
	margin-bottom: 1rem;
	background: var(--rbf-card-accent);
}
.rbf-product-item__strengths::after {
	content: '';
	flex: 0 0 100%;
	height: 2px;
	margin-top: .25rem;
	background:
		linear-gradient(
			to right,
			var(--rbf-card-accent) 0,
			var(--rbf-card-accent) 4.4rem,
			transparent 4.4rem,
			transparent 100%
		);
}

/* Availability */

.rbf-product-item__availability {
	align-self: flex-start;
	margin-bottom: .7rem;
	padding: .25rem .45rem;
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.1;
}

/*
 * Später gibt JS je nach Status eine dieser Klassen dazu.
 */
.rbf-product-item__availability.is-available {
	background: #b8ce98;
}

.rbf-product-item__availability.is-delayed {
	background: var(--rbf-card-accent);
}

.rbf-product-item__availability.is-unavailable {
	background: #b64d48;
	color: #fff;
}

/* Beschreibung + technische Infos */


.rbf-product-item__details {
	margin-bottom: .5rem;
	padding-top: 1rem;
	/* border-top: 2px solid var(--rbf-card-accent); */
	color: var(--rbf-card-muted);
	font-size: .85rem;
	line-height: 1.35;
}

.rbf-product-item__details p {
	margin: 0;
}

.rbf-product-item__details p + p {
	margin-top: .15rem;
}

.rbf-product-item__details strong,
.rbf-product-item__details a {
	color: var(--rbf-card-text);
	font-weight: 600;
}

/* Preis */

.rbf-product-item__price {
    margin-top: auto;
    padding-top: .4rem;
    font-size: 0.9em;
    line-height: 1.27;
    color: var(--rbf-card-text);
}

.rbf-product-item__price-label {
	margin-bottom: .55rem;
	font-size: .85rem;
	font-weight: 700;
}

.rbf-product-item__price-value {
	margin-bottom: .25rem;
	font-size: clamp(1.7rem, 3vw, 2.2rem);
	font-weight: 300;
	line-height: 1.05;
}

.rbf-product-item__sku {
    margin-top: 0.4rem;
    font-size: 0.9rem;
}

/* Actions */

.rbf-product-item__actions {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: .75rem;
	margin-top: 1rem;
}

.rbf-product-item__actions .rbf-btn {
	border-color: var(--rbf-card-accent);
	background: var(--rbf-card-accent);
	color: var(--rbf-card-text);
	font-weight: 700;
}

.rbf-product-item__actions .rbf-btn:hover,
.rbf-product-item__actions .rbf-btn:focus-visible {
	border-color: var(--rbf-card-blue);
	background: var(--rbf-card-blue);
	color: #fff;
}

.rbf-product-item__cart-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 3rem;
	height: 3rem;
	padding: 0;
}
.rbf-product-item__cart-icon {
	display: block;
	width: 1.6rem;
	height: 1.6rem;
}


.rbf-product-family-products__meta {
    position: relative;
    top: 0;
    width: fit-content;
    background: var(--primary);
    z-index: 4;
    padding: 6px 12px;
    border-radius: 8px;
    color: white;
    font-size: .8em;
    line-height: 1.3;
	margin-bottom:1rem;
}
@media(min-width:768px){
	.rbf-product-family-products__meta {
    	position: sticky;
		top: calc(var(--header-height) + var(--admin-bar-height) + 0.3rem);
	}
}

[data-rbf-products-sticky-sentinel] {
	height: 1px;
	margin-bottom: -1px;
	pointer-events: none;
}

.rbf-product-item__dimension.is-match{
	font-weight: 700;
    color: var(--text);
}







/* ==========================================================================
   Dimension Search
   ========================================================================== */

.rbf-dimension-search {
	position: relative;
	width: 100%;
}

.rbf-dimension-search input[type="search"] {
	width: 100%;
	min-height: 3.25rem;
	padding: .75rem 1rem;
	border: 1px solid #d7d7d7;
	border-radius: 0;
	background: #fff;
	color: var(--text);
	font: inherit;
	min-width: 12rem;
}

.rbf-dimension-search input[type="search"]:focus {
	border-color: var(--primary);
	outline: none;
	box-shadow: 0 0 0 1px var(--primary);
}

.rbf-dimension-search__results {
	position: absolute;
	top: calc(100% + .35rem);
	left: 0;
	z-index: 50;

	width: 100%;
	max-height: 22rem;
	margin: 0;
	padding: .35rem;

	overflow-y: auto;

	list-style: none;

	background: #fff;
	border: 1px solid #ddd;
	box-shadow: 0 .75rem 2rem rgba(0, 0, 0, .12);
}

.rbf-dimension-search__results[hidden] {
	display: none;
}

.rbf-dimension-search__results li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rbf-dimension-search__result {
	display: block;
	width: 100%;
	margin: 0;
	padding: .7rem .85rem;

	border: 0;
	border-radius: 0;

	background: transparent;
	color: var(--text);

	font: inherit;
	font-weight: 600;
	line-height: 1.2;
	text-align: left;

	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

.rbf-dimension-search__result:hover,
.rbf-dimension-search__result:focus-visible {
	background: #f2f2f2;
	color: var(--primary);
	outline: none;
}

.rbf-dimension-search__result:active {
	background: #e8e8e8;
}



[data-rbf-family-selected-dimension-input]{
    background: var(--secondary);
    box-shadow: none;
    border: none;
    outline: none;
    margin-left: 4px;
    margin-top: 6px;
    border-radius: 4px;
    padding: 2px 4px;
}

label[for="rbf-family-selected-dimension"]{
	margin-bottom:0px;
}

[data-rbf-dimension-selector],
[data-rbf-dimension-selector] input[type="search"]{
	transition:background-color .4s, border .4s;
}
[data-rbf-dimension-selector].is-highlighted{
	outline:4px solid var(--secondary);
}
[data-rbf-dimension-selector].is-highlighted input[type="search"]{
	background: var(--secondary);
}


#rbf-dimension-selector {
	scroll-margin-top: 120px;
}
/* ==========================================================================
GRID for all CARDS
   ========================================================================== */



/*grid*/
/*grid*/
/*grid*/
.rbf-product-families,
.rbf-product-family-products__results {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	width: 100%;
}

@media (min-width: 480px) {

	.rbf-product-families,
	.rbf-product-family-products__results {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem;
	}
}

@media (min-width: 900px) {

	.rbf-product-families,
	.rbf-product-family-products__results {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {

	.rbf-product-families,
	.rbf-product-family-products__results {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 1800px) {

	.rbf-product-families,
	.rbf-product-family-products__results {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

@media (min-width: 2100px) {

	.rbf-product-families,
	.rbf-product-family-products__results {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}






/* ==========================================================================
Product Family Hero – Dimensions
   ========================================================================== */


 .rbf-hero__dimensions {
	margin-top: 1rem;
	max-width: 36rem;
}

 .rbf-hero__dimensions-label {
	margin-bottom: 0.35rem;
	font-size: 0.8rem;
	font-weight: 600;
}

.rbf-hero__dimensions-list {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.25rem 0.65rem;
}

.rbf-hero__dimension {
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: underline;
	text-underline-offset: 0.15em;
	white-space: nowrap;
}


 .rbf-hero__dimensions-toggle {
	appearance: none;
	/* padding: 0; */
	border: 0;
	/* background: transparent; */
	/* color: inherit; */
	font: inherit;
	font-size: 1.1rem;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
}
[data-rbf-family-dimension-item] {
	cursor: pointer;
}

.rbf-product-family-item__description{
	margin-top:auto;
	padding-top:8px;
}

.rbf-hero__vehicle-fits{
	margin-top:8px;
}

.rbf-hero__dimensions-toggle:hover,
.rbf-hero__dimensions-toggle:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

@media (min-width: 768px) {

	.rbf-hero__dimensions {
		margin-top: 1.25rem;
	}

	.rbf-hero__dimensions-label {
		font-size: 0.85rem;
	}

	.rbf-hero__dimension {
		font-size: 1rem;
	}
}


/* XR Viewer */


.rbf-hero__xr-viewer {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	touch-action: none;
	user-select: none;
	cursor: grab;
}


.rbf-xr-viewer__auto-rotate.btn{
	position: absolute;
    top: 3rem;
    z-index: 200000;
}

.rbf-hero__xr-viewer.is-dragging {
	cursor: grabbing;
}

.rbf-hero__xr-viewer::after {
	content: '';
	position: absolute;
	left: 46%;
	bottom: 9%;
	width: min(70%, 32rem);
	height: min(10%, 4.5rem);
	transform: translateX(-50%);
	border-radius: 50%;
	background: radial-gradient(
		ellipse at center,
		rgba(0, 0, 0, 0.55) 0%,
		rgba(0, 0, 0, 0.78) 42%,
		rgba(0, 0, 0, 0.14) 58%,
		rgba(0, 0, 0, 0) 75%
	);
	filter: blur(18px);
	pointer-events: none;
	z-index: 0;
}

.rbf-hero__xr-image {
	position: relative;
	z-index: 1;
	display: block;
	width: min(92%, 38rem);
	max-width: 100%;
	max-height: 88%;
	height: auto;
	object-fit: contain;
	-webkit-user-drag: none;
	user-select: none;
	filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.14));
}



/*fallback*/
.rot-img-relative.static-hero-img, .rbf-hero__xr-viewer {
	position: absolute;
    display: block;
    width: calc(100% - var(--rbf-hero-content-width));
	/* width: calc(100% - var(--rbf-hero-content-width) - var(--rbf-product-thumb-size)); */
    height: calc(100% - var(--header-height));
    left: var(--rbf-hero-content-width);
    top: var(--header-height);
	/*gscheiter*/
	height: calc(100%);
    top: 0;
}


.rbf-hero--product-family .rot-img-relative.static-hero-img img{
	object-position: 60% 5%;
}


@media (min-width: 768px) {

	.rbf-hero__xr-viewer::after {
		bottom: 16%;
		width: min(62%, 34rem);
		height: min(9%, 5rem);
		filter: blur(22px);
	}

	.rbf-hero__xr-image {
		width: min(88%, 42rem);
		max-height: 99%;
		filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.16));
	}
}

@media (min-width: 1200px) {

	.rbf-hero__xr-viewer::after {
		bottom: 16%;
		width: min(58%, 36rem);
		height: min(8%, 5.5rem);
	}

	.rbf-hero__xr-image {
		width: min(100%, 80rem);
	}
}


.rbf-product-item .rot-img-relative,
.rbf-product-family-item .rot-img-relative{
	position:absolute;
}
.rbf-product-item .rot-img-relative img,
.rbf-product-family-item .rot-img-relative img{
	top: 0;
    left: 75%;
    width: 150%;
    height: 150%;
    transform: translate(-65%, 0%);
}

.rbf-product-item .rot-img-relative img.is-fallback-image,
.rbf-product-family-item .rot-img-relative img.is-fallback-image {
    width: 120%;
    height: 120%;
    transform: translate(-75%, 13%);
}


/* ==========================================================================
   Product Single Hero
   ========================================================================== */

.rbf-hero--single-product {
	--rbf-product-media-gap: 1rem;
	--rbf-product-gallery-gap: .6rem;
	--rbf-product-thumb-size: 4.5rem;
	--rbf-product-media-width: calc(100% - var(--rbf-hero-content-width));
	--prod-img-y-offset:4%;
	--single-xr-img-scale-factor:1;
	--rbf-hero-figure-w-mod:0%;
	--rbf-hero-stage-bottom:0%;

	--rbf-hero-img-img-bottom:9%;
	--rbf-hero-img-img-h:100%;

	--rbf-hero-figure-h:400px;
	--rbf-hero-figure-top:auto;
	--rbf-hero-figure-bottom:0%;

	--rbf-hero-figure-w:300px;
	--rbf-hero-img-img-w:400px;
}

@media(min-width:1200px){
	.rbf-hero--single-product {
		--rbf-hero-figure-h:540px;
	}
}
.rbf-hero--single-product .rbf-hero__product-media-main{
	--rbf-hero-img-img-top:calc(50% + var(--prod-img-y-offset));

}


.rbf-hero--single-product .static-hero-img {
	height:var(--rbf-hero-figure-h);
	top:var(--rbf-hero-figure-top);
	bottom:var(--rbf-hero-figure-bottom);

	/* background: red; */
    margin-bottom: 1rem;
    border-radius: 20px;
}



.rbf-hero--single-product .rbf-hero__container {
	flex-direction: column;
	align-items: stretch;
	gap: 1.5rem;
	min-width: 0;
}

.rbf-hero--single-product .rbf-hero__content {
	width: 100%;
	min-width: 0;
}

.rbf-hero--single-product .rbf-hero__product-media {
	display: flex;
	flex-direction: column;
	gap: var(--rbf-product-media-gap);
	width: 100%;
	min-width: 0;
}


/* .rbf-hero--single-product .rbf-hero__product-media-main .rbf-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: 60% 130%;
} */
.rbf-hero--single-product .rbf-hero__product-media-main .rbf-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}


.rbf-hero--single-product .rbf-hero__product-media-main[data-active-image-source="gallery"] .rbf-hero__image,
.rbf-hero--single-product .rbf-hero__product-media-main[data-active-image-source="xr"] .rbf-hero__image {
	object-fit: cover;
	object-position: 50% 10%;
    /* max-height: calc(100% - var(--header-height) + var(--prod-img-y-offset, 2%)); */
	max-height:var(--rbf-hero-img-img-h,100%);
	max-width: var(--rbf-hero-img-img-w);
    left: 50%;
    transform: translateX(-50%) translateY(-50%) scale(var(--single-xr-img-scale-factor,1.15));
	top:var(--rbf-hero-img-img-top);
	bottom:var(--rbf-hero-img-img-bottom);
}


.rbf-hero--single-product .rbf-hero__product-media-main[data-active-image-source="gallery"]  {
	--single-xr-img-scale-factor:.9;
	--prod-img-y-offset:6%
}


.rbf-hero--single-product .rot-img-relative.static-hero-img{
	width: var(--rbf-hero-figure-w);
}



.rbf-hero--single-product .rbf-hero__product-gallery {
	display: flex;
	flex-direction: row;
	gap: var(--rbf-product-gallery-gap);
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: .25rem;
	scrollbar-width: thin;
	z-index:2;
}

.rbf-hero--single-product .rbf-hero__product-gallery-item {
	flex: 0 0 var(--rbf-product-thumb-size);
	width: var(--rbf-product-thumb-size);
	height: var(--rbf-product-thumb-size);
	padding: .25rem;
	border: 2px solid transparent;
	border-radius: 4px;
	background: var(--rbf-hero-bg);
	cursor: pointer;
	overflow: hidden;
}

.rbf-hero--single-product .rbf-hero__product-gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.rbf-hero--single-product .rbf-hero__product-gallery-item.is-active {
	border-color: var(--secondary);
}

.rbf-hero--single-product .rbf-hero__product-gallery-item:hover,
.rbf-hero--single-product .rbf-hero__product-gallery-item:focus-visible {
	border-color: var(--primary);
	outline: none;
}

.rbf-hero--single-product .rbf-hero__product-price {
	margin-top: 1rem;
	color: var(--text);
	font-size: clamp(1.8rem, 4vw, 3rem);
	font-weight: 300;
	line-height: 1;
}
.rbf-product-single__price,
.rbf-hero__product-price-value {
	display: inline-flex;
	align-items: baseline;
	gap: .5rem;
	flex-wrap: wrap;
}

.rbf-product-single__price del,
.rbf-hero__product-price-value del {
	order: 2;
	font-size: .55em;
	font-weight: 400;
	opacity: .55;
	text-decoration-thickness: 1px;
}
.rbf-product-family-products del {
	width:100%;
	text-decoration-thickness: 1px;
	display:block;
	position:relative;
	font-size: .5em;
	margin-bottom: 3px;
}
.rbf-product-family-products del bdi {
	color: var(--wp--preset--color--contrast-2, #777);
}


.rbf-product-single__price ins,
.rbf-hero__product-price-value ins {
	order: 1;
	font-size: inherit;
	font-weight: inherit;
	text-decoration: none;
}

.rbf-hero--single-product .rbf-hero__product-tax,
.rbf-hero--single-product .rbf-hero__product-sku {
	margin-top: .35rem;
	color: var(--text-light);
	font-size: .85rem;
}

.rbf-hero--single-product .rbf-hero__product-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem;
	margin-top: 1rem;
}

.rbf-hero--single-product .rbf-hero__product-strengths {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem;
}

/* .rbf-hero--single-product .rbf-hero__product-strength { */
.rbf-hero__product-strength {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	height: 2rem;
	padding: 0 .45rem;
	background: var(--primary);
	color: #fff;
	font-weight: 700;
	line-height: 1;
}


.rbf-hero__product-strength {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	height: 2rem;
	padding: 0 .45rem;
	border: 0;
	background: var(--primary);
	color: #fff;
	font: inherit;
	font-weight: 700;
	line-height: 1;
}

.rbf-hero__product-strength--filter {
	cursor: pointer;
	transition:
		filter .15s ease,
		box-shadow .15s ease;
}

.rbf-hero__product-strength--filter:hover {
	filter: brightness(.88);
}

.rbf-hero__product-strength--filter.is-active {
	background: var(--secondary);
	color: var(--primary);
}

.rbf-hero__strengths{
	margin-top: 4px;
}
.rbf-hero__strengths-list{
	display: flex;
    gap: 5px;
}
.rbf-product-item__availability,
.rbf-hero--single-product .rbf-hero__product-stock {
	display: inline-flex;
	align-items: center;
	padding: .35rem .65rem;
	border-radius: 999px;
	background: var(--secondary);
	color: var(--text);
	font-size: .8rem;
	font-weight: 700;
}

@media (min-width: 768px) {
	.rbf-hero--single-product  {
		--rbf-hero-figure-w:calc(100% - var(--rbf-hero-content-width) - var(--rbf-hero-figure-w-mod,0%));
	}
}
@media (min-width: 900px) {
	.rbf-hero--single-product  {
		--rbf-hero-figure-w-mod:var(var(--rbf-product-thumb-size));
		--rbf-hero-stage-bottom:3%;

		/* --rbf-hero-img-img-top:calc(var(--header-height) + var(--prod-img-y-offset)); */
		/* --rbf-hero-img-img-top:50%; */
		--rbf-hero-img-img-bottom:auto;

		--rbf-hero-figure-w:calc(100% - var(--rbf-hero-content-width) - var(--rbf-hero-figure-w-mod,0%));
	}
	.rbf-hero--single-product .rbf-hero__product-media-main {
		--single-xr-img-scale-factor:1.15;
	}
	.rbf-hero--single-product .rbf-hero__product-media-main[data-active-image-source="gallery"] {
		--prod-img-y-offset:9%;
	}
	.rbf-hero--single-product .rbf-hero__product-media-main[data-active-image-source="xr"] {
		--prod-img-y-offset:-1%;
	}

	.rbf-hero--single-product .rbf-hero__container {
		flex-direction: row;
		align-items: center;
		gap: 2rem;
	}

	.rbf-hero--single-product .rbf-hero__content {
		flex: 0 0 var(--rbf-hero-content-width);
		width: var(--rbf-hero-content-width);
	}

	.rbf-hero--single-product .rbf-hero__product-media {
		flex: 1 1 var(--rbf-product-media-width);
		display: grid;
		grid-template-columns: minmax(0, 1fr) var(--rbf-product-thumb-size);
		align-items: center;
		gap: var(--rbf-product-media-gap);
		min-width: 0;
	}

	.rbf-hero--single-product .rbf-hero__product-gallery {
		flex-direction: column;
		width: var(--rbf-product-thumb-size);
		max-height: calc(
			var(--rbf-hero-height)
			- 10rem
			);
		overflow-x: hidden;
		overflow-y: auto;
		padding-bottom: 0;
		padding-right: .15rem;
	}

	.rbf-hero--single-product .rbf-hero__product-media-main {
		min-width: 0;
	}
}

@media (min-width: 1600px) {
	.rbf-hero--single-product .rbf-hero__product-media-main {
		--single-xr-img-scale-factor:1.25;
	}
	.rbf-hero--single-product .rbf-hero__product-media-main[data-active-image-source="xr"] {
		--prod-img-y-offset:-1%;
	}
}

/*SVGBÜHNE*/
/*SVGBÜHNE*/
/*SVGBÜHNE*/
.rbf-hero--single-product .rbf-hero__product-stage {
    position: absolute;
    bottom: var(--rbf-hero-stage-bottom);
    z-index: 0;
    width: calc(100% - var(--rbf-hero-content-width) - var(--rbf-hero-figure-w-mod,6.5rem));
    left: calc(var(--rbf-hero-content-width));
    height: 24%;
    color: #2b2b6b;
    opacity: .28;
    /* transform: translateX(-50%); */
    pointer-events: none;
}

.rbf-hero--single-product .rbf-hero__product-stage svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.rbf-hero--single-product .rbf-hero__product-stage path {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	vector-effect: non-scaling-stroke;
}

.rbf-hero--single-product .rbf-hero__product-media-main .static-hero-img,
.rbf-hero--single-product .rbf-hero__product-media-main .rbf-hero__xr-viewer {
	z-index: 1;
}

.rbf-hero--single-product .rbf-hero__product-stage-front path {
	fill: none;
	stroke: var(--secondary);
	stroke-width: 3;
	vector-effect: non-scaling-stroke;
}



/* ==========================================================================
   RBF Icons
   ========================================================================== */

.rbf-icon {
	display: inline-block;
	flex: 0 0 auto;
	width: var(--rbf-icon-size, 2.7rem);
	height: var(--rbf-icon-size, 2.7rem);
	background-color: currentColor;

	-webkit-mask-image: var(--rbf-icon);
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;

	mask-image: var(--rbf-icon);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
}

.rbf-icon--cart {
	--rbf-icon: url('assets/icons/cart.svg');
}

.rbf-icon--dimension {
	--rbf-icon: url('assets/icons/dimension.svg');
}

.rbf-icon--handshake {
	--rbf-icon: url('assets/icons/handshake.svg');
	--rbf-product-action-icon-size:64px;
}

.rbf-icon--forest {
	--rbf-icon: url('assets/icons/forest.svg');
}

.rbf-icon--tractor {
	--rbf-icon: url('assets/icons/tractor.svg');
}
.rbf-icon--trailer {
	--rbf-icon: url('assets/icons/trailer.svg');
}

.rbf-icon--personal {
	--rbf-icon: url('assets/icons/handshake.svg');
}

.rbf-icon--pkw {
	--rbf-icon: url('assets/icons/pkw.svg');
}

.rbf-icon--suv-4x4-transporter {
	--rbf-icon: url('assets/icons/suv-4x4-transporter.svg');
}

.rbf-icon--nutzfahrzeuge-bus {
	--rbf-icon: url('assets/icons/nutzfahrzeuge-bus.svg');
}

.rbf-icon--atv-stapler-kleintraktoren-schneefraesen {
	--rbf-icon: url('assets/icons/kleintraktor-line.svg');
}
.rbf-icon--kleintraktor-line {
	--rbf-icon: url('assets/icons/kleintraktor-line.svg');
}

.rbf-icon--gelaendefahrzeuge {
	--rbf-icon: url('assets/icons/gelaendefahrzeuge.svg');
}

.rbf-icon--schwere-arbeitsmaschinen {
	--rbf-icon: url('assets/icons/schwere-arbeitsmaschinen.svg');
}

.rbf-icon--ketten-forstwirtschaft {
	--rbf-icon: url('assets/icons/ketten-forstwirtschaft.svg');
}

.rbf-icon--greentrack {
	--rbf-icon: url('assets/icons/greentrack.svg');
}

/* Product Single Actions */

.rbf-hero__product-action-icon {
	--rbf-icon-size: var(--rbf-product-action-icon-size);
	color: var(--primary);
}

.rbf-hero__product-action:hover .rbf-hero__product-action-icon,
.rbf-hero__product-action:focus-visible .rbf-hero__product-action-icon {
	color: var(--secondary);
}
.rbf-hero__product-action.rbf-hero__product-action--products:hover .rbf-hero__product-action-icon,
.rbf-hero__product-action.rbf-hero__product-action--products:focus-visible .rbf-hero__product-action-icon {
	color: var(--primary);
}


/*hero into cart button*/
.rbf-hero__product-action.rbf-hero__product-action--cart:first-child,
.rbf-hero__product-action.rbf-hero__product-action--cart {
	/* background: var(--primary); */
    margin-right: 2rem;
    /* max-width: calc(33.34% - 3rem); */
    position: relative;
    color: var(--white);
    /* padding: .5rem 1rem; */
    text-align: center;
}
.rbf-hero__product-action--cart .rbf-hero__product-action-icon {
	color: var(--white);
}

.rbf-hero__product-action.rbf-hero__product-action--cart:hover .rbf-btn-inner,
.rbf-hero__product-action.rbf-hero__product-action--cart:focus-visible .rbf-btn-inner{
	background-color:var(--text);
	color:var(--white);
}
.rbf-hero__product-action.rbf-hero__product-action--cart:hover .rbf-hero__product-action-icon,
.rbf-hero__product-action.rbf-hero__product-action--cart:focus-visible .rbf-hero__product-action-icon {
	color: var(--white);
}

@media(min-width:900px){
	.rbf-hero__product-action.rbf-hero__product-action--cart:first-child,
	.rbf-hero__product-action.rbf-hero__product-action--cart {
		max-width: calc(33.34% - 3rem);
		padding-right:0;
	}
}


.rbf-product-family-products__filters{
	position:relative;
	z-index: 222;
}




.rbf-filters-wrap {
    display: flex;
    justify-content: flex-start;
    gap: 2px 35px;
	flex-wrap:wrap;
}



/* ==========================================================================
   Vehicle / Fit Icons
   ========================================================================== */

:root {
	--rbf-fit-size: 2.6rem;
	--rbf-fit-icon-size: 1.8rem;

	--rbf-fit-color: var(--primary, #34344f);
	--rbf-fit-muted: #9c9ca6;

	--rbf-fit-bg: transparent;
	--rbf-fit-active-bg: var(--rbf-fit-color);
	--rbf-fit-active-color: #fff;

	--rbf-fit-radius: .3rem;
	--rbf-fit-gap: .55rem;
}


/* ==========================================================================
   Vehicle Fit Filter
   ========================================================================== */


.rbf-vehicle-fit-filter {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--rbf-fit-gap);
    flex-direction: row;
    background: var(--grey-lightest,#f0f0f0);
    border-radius: 8px;
    padding: 6px 12px;
	margin-bottom: 1rem;
	position:relative;
}

.rbf-vehicle-fit-filter__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;

	width: var(--rbf-fit-size);
	height: var(--rbf-fit-size);
	padding: 0;

	color: var(--rbf-fit-muted);
	background: var(--rbf-fit-bg);

	border: 0;
	border-radius: var(--rbf-fit-radius);

	cursor: pointer;
	transition:
		color .15s ease,
		background-color .15s ease,
		transform .15s ease;
}

.rbf-vehicle-fit-filter__item:hover {
	color: var(--rbf-fit-color);
}

.rbf-vehicle-fit-filter__item:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.rbf-vehicle-fit-filter__item.is-active,
.rbf-vehicle-fit-filter__item[aria-pressed="true"] {
	color: var(--rbf-fit-active-color);
	background: var(--rbf-fit-active-bg);
}

.rbf-vehicle-fit-filter__item:active {
	transform: scale(.96);
}

.rbf-vehicle-fit-filter__item .rbf-icon {
	--rbf-icon-size: var(--rbf-fit-icon-size);

	display: block;
}


/*
 * Text bleibt für Screenreader erhalten,
 * ist visuell aber ausgeblendet.
 */
.rbf-vehicle-fit-filter__label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}


.rbf-product-family-item__vehicle-fits {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem;
    margin-bottom: 0.35rem;
    margin-top: .35rem;
}

.rbf-product-family-item__vehicle-fit {
    --rbf-icon-size: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.95rem;
    height: 1.95rem;
    color: var(--primary);
    background: var(--secondary);
    border-radius: var(--rbf-fit-radius);
}

.rbf-product-family-item__vehicle-fit .rbf-icon {
    --rbf-icon-size: 1.6rem;
}


.rbf-vehicle-fit-filter__head {
	position: relative;
	display: flex;
	align-items: center;
	gap: .4rem;
	margin-bottom: .55rem;
	margin-top: .55rem;
}

.rbf-vehicle-fit-filter__title {
	font-size: .8rem;
	font-weight: 600;
}

.rbf-vehicle-fit-filter__info {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 1.25rem;
	height: 1.25rem;
	padding: 0;

	font-size: .7rem;
	font-weight: 700;
	line-height: 1;

	color: var(--rbf-fit-muted);
	background: transparent;

	border: 1px solid currentColor;
	border-radius: 50%;

	cursor: pointer;
}

.rbf-vehicle-fit-filter__info:hover,
.rbf-vehicle-fit-filter__info[aria-expanded="true"] {
	color: var(--rbf-fit-color);
}

.rbf-vehicle-fit-filter__legend {
	position: absolute;
    z-index: 20;
    top: calc(00% + 2.4rem);
    left: auto;
    right: 0;

	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .5rem .9rem;

	min-width: 20rem;
	max-width: min(32rem, 90vw);
	padding: .85rem;

	background: #fff;
	border: 1px solid rgba(0, 0, 0, .1);
	border-radius: var(--rbf-fit-radius);
	box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .12);
}

.rbf-vehicle-fit-filter__legend[hidden] {
	display: none;
}

.rbf-vehicle-fit-filter__legend-item {
	display: flex;
	align-items: center;
	gap: .45rem;

	font-size: .75rem;
	line-height: 1.25;
	color: var(--rbf-fit-color);
}

.rbf-vehicle-fit-filter__legend-item .rbf-icon {
	--rbf-icon-size: 1.05rem;

	flex: 0 0 auto;
}

@media(min-width:768px){
	.rbf-vehicle-fit-filter__legend {
		right: auto;
		left:0;
		top: calc(50% + 0.6rem);
	}
}
@media(min-width:992px){
	:root{
		--rbf-fit-icon-size:2.6rem;
		--rbf-fit-size:2.6rem;
	}
}

/* ==========================================================================
   Product Single Content
   ========================================================================== */

.rbf-product-single {
	padding-block: 2rem 4rem;
}

.rbf-product-single__dimension-selector {
	margin-bottom: 2.5rem;
	display:none;
}

.rbf-product-single__content {
	display: grid;
	gap: 2.5rem;
}

.rbf-product-single__main,
.rbf-product-single__aside {
	min-width: 0;
}

.rbf-product-single__section,
.rbf-product-single__suitable,
.rbf-product-single__video,
.rbf-product-single__xr {
	margin-bottom: 2.5rem;
}

.rbf-product-single__suitable{
	background: #f0f0f0;
	padding: 12px 16px;
	border-radius: 8px;
}

.rbf-product-single__section-title {
	margin: 0 0 .75rem;
	font-size: clamp(1.6rem, 2vw, 1.8rem);
	font-weight: 700;
	line-height: 1.1;
}

.rbf-product-single__short-description {
	margin-bottom: 1rem;
	font-weight: 600;
	font-size:1.2em;
}

.rbf-product-single__description > :first-child {
	margin-top: 0;
}

.rbf-product-single__description > :last-child {
	margin-bottom: 0;
}

.rbf-product-single__price {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.1;
}

.rbf-product-single__product-group{
	margin-bottom:12px;
}




.rbf-product-single__suitable-items {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

.rbf-product-single__suitable-item {
	display: flex;
	align-items: center;
	gap: .5rem;
	background: var(--secondary);
	padding: 6px 12px;
	border-radius: 8px;
}

.rbf-product-single__suitable-icon {
	--rbf-icon-size: 2.5rem;
}

.rbf-product-single__video-embed {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
}

.rbf-product-single__video-embed iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.rbf-product-single__xr-stage {
	min-height: 320px;
	background: #f1f1f1;
	border-radius: .5rem;
}

@media (min-width: 900px) {

	.rbf-product-single__content {
		grid-template-columns: minmax(0, 2fr) minmax(280px, .85fr);
		gap: 3rem;
		align-items: start;
	}

	.rbf-product-single__aside {
		position: relative;
	}
}

@media (min-width: 1200px) {

	.rbf-product-single__content {
		grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
		gap: 4rem;
	}
	.rbf-product-single__section-title {
		font-size: clamp(2rem, 2vw, 2.6rem);
	}
}
@media (min-width: 1500px) {

	.wc-block-components-sidebar{
		width:500px;
		flex:0 0 500px;
	}
}


@media (min-width: 1800px) {
	.rbf-product-single__content {
		grid-template-columns: minmax(0, 1.45fr) minmax(520px, 1fr);
		gap: 5rem;
	}
	.rbf-product-single__section-title {
		font-size: clamp(1.4rem, 2vw, 2.6rem);
	}
	.wc-block-components-sidebar{
		width:700px;
		flex:0 0 700px;
	}
}















/*=================================================================================================
CART CART CART CART
=================================================================================================*/
.rbf-cart-item-note-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 12px;

	width:100%;
}

.wc-block-cart-items__row textarea{
	font-size:var(--wp--preset--font-size--x-small, calc(var(--wp--preset--font-size--small, 14px) * .875));
}

.wc-block-components-product-metadata .wc-block-components-product-metadata__description{
	margin-bottom:4px;
}
.wc-block-cart-items__row textarea,
 .wc-block-components-product-metadata .wc-block-components-product-metadata__description>p{
	font-size:var(--rbf-cart-item-description-fontsize,14px);
	line-height:var(--rbf-cart-item-description-lineheight,1.14);
	color:var(--rbf-cart-item-color);
}


.wc-block-cart-item__wrap {
	display: grid!important;
	grid-template-columns: max-content minmax(0, 1fr);
	column-gap: 12px;
	align-items: center;
}

.wc-block-cart-item__wrap > .wc-block-components-product-name,
.wc-block-cart-item__wrap > .wc-block-cart-item__prices,
.wc-block-cart-item__wrap > .wc-block-components-product-metadata {
	grid-column: 1 / -1;
}

.wc-block-cart-item__quantity {
	grid-column: 1;
}

.rbf-cart-item-note {
	grid-column: 2;
	min-width: 0;
}





.rbf-cart-item-note {
	flex: 1 1 auto;
	min-width: 0;
}

.rbf-cart-item-note__input {
	display: block;
	width: 100%;
	min-height: 52px;
	padding: 7px 11px;
	    border: 1px solid color-mix(in srgb, currentColor 30%, transparent);
    border-radius: 4px;
	background: #fff;
	font: inherit;
	line-height: 1.35;
	color: inherit;
	resize: vertical;
	box-sizing: border-box;
}

/* Quote form */
[name="order_reference"],
[name="quote_note"] {
	width: 100%;
	max-width: 420px;
	padding: 10px 12px;
	border: 1px solid rgba(0, 0, 0, 0.18);
	border-radius: 2px;
	background: #fff;
	color: var(--text-dark);
	font: inherit;
	box-sizing: border-box;
}

[name="order_reference"] {
	max-width: 280px;
}

[name="quote_note"] {
	min-height: 100px;
	resize: vertical;
}

[name="order_reference"]:focus,
[name="quote_note"]:focus {
	outline: 2px solid var(--secondary);
	outline-offset: 2px;
}

.rbf-btn.rbf-btn-secondary {
	background-color: var(--secondary);
	color: var(--text-dark);
	border: 0;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.rbf-btn.rbf-btn-secondary:hover,
.rbf-btn.rbf-btn-secondary:focus-visible {
	background-color: var(--primary);
	color: #fff;
}

.rbf-shop-documents-cart-actions{
	display: flex;
}
.rbf-shop-documents-cart-actions form {
    /* padding-right: 4.5283018868%; */
    /* width: 65%; */
    font-size: var(--wp--preset--font-size--small, 14px);
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: wrap;
}
.rbf-shop-documents-cart-actions__field {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    flex: 0 0 100%;
}


.rbf-actions-td{
	display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px;
}



.rbf-form-splitfield {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.rbf-form-splitfield input{
	flex: 1 1 calc(100% - 80px);
	max-width: calc(100% - 80px);
}
.rbf-form-splitfield select{
	flex: 1 0 80px;
	max-width: 72px;
}



body.rbf-soma-manual-freight
.wc-block-components-totals-shipping
.wc-block-components-totals-item__value {
	display: none;
}
body.rbf-soma-manual-freight
.wc-block-checkout__shipping-option--free {
	display: none;
}



[data-rbf-use-endcustomer-shipping]{
	display:inline-block;
	margin-bottom:1.3rem;
}




.rbf-ek {
	grid-column: 1 / -1;
	font-size:.8rem;
}
.rbf-ek .rbf-ek__value{
	display: inline-block;
    background: var(--secondary);
    padding: 0 4px;
    font-weight: 500;
    margin: 0 0 0 4px;
}
.rbf-ek {
	display: none;
	grid-column: 1 / -1;
}

.rbf-dealer-price-compare-active .rbf-ek {
	display: block;
}

.rbf-btn-toggle-ek{
	font-size:.8rem;
}



/********************************************
FOOTER FOOTER
*********************************************/

.rbf-footer {
	margin-top: 4rem;
	padding: 3rem 0 2rem;
	border-top: 1px solid #ddd;
}

.rbf-footer .rbf-footer__inner {
	gap: 3rem;
	align-items: flex-end;
}

.rbf-footer__brand {
	flex: 1 1 32rem;
	min-width: 0;
}

.rbf-footer__logo {
	width: fit-content;
}

.rbf-footer__logo img {
	display: block;
	width: auto;
	max-width: 220px;
	max-height: 64px;
	object-fit: contain;
	min-height: 3rem;
}

.rbf-footer__separator {
    width: min(100%, 36rem);
    margin: 0.5rem 0 0.5rem;
    border: 0;
    border-top: 2px solid var(--secondary);
    color: inherit;
    opacity: 1;
}

.rbf-footer__meta {
	margin: 0;
	font-size: .8rem;
	line-height: 1.5;
}

.rbf-footer__meta a,
.rbf-footer__legal a {
	color: inherit;
	text-decoration: none;
}

.rbf-footer__meta a:hover,
.rbf-footer__legal a:hover {
	text-decoration: underline;
}

.rbf-footer__meta-separator {
	margin: 0 .35rem;
}

.rbf-footer__legal {
	display: flex;
	flex: 0 0 auto;
	gap: 1.5rem;
	align-items: center;
	font-size: .9rem;
	font-weight: 600;
}

@media (max-width: 700px) {
	.rbf-footer {
		margin-top: 3rem;
		padding: 2.5rem 0 1.5rem;
	}

	.rbf-footer .rbf-footer__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 2rem;
	}

	.rbf-footer__brand {
		flex-basis: auto;
	}

	.rbf-footer__separator {
		width: 100%;
	}

	.rbf-footer__legal {
		flex-wrap: wrap;
		gap: .75rem 1.25rem;
	}
}


/************************************
TABLE
************************************/

.rbf-table-wrap {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.rbf-table,
.rbf-table-wrap>.rbf-table {
	width: 100%;
	min-width: 620px;
	table-layout: fixed;
}


.rbf-table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	font-size: .85rem;
}

.rbf-table th,
.rbf-table td {
	padding: .45rem .55rem;
	vertical-align: middle;
}

.rbf-quote-history__number {
	max-width: 8rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.rbf-quote-history__total {
	width: 110px;
	min-width: 110px;
	white-space: nowrap;
}

.rbf-table .rbf-actions-td {
	width: 11rem;
	min-width: 11rem;
}

.rbf-table th:first-child,
.rbf-table td:first-child {
	width: 2.2rem;
}

/*******
sonder
******/
.rbf-quote-history__table {
	table-layout: fixed;
}

.rbf-quote-history__table th:nth-child(1),
.rbf-quote-history__table td:nth-child(1) {
	width: 2.2rem;
}

.rbf-quote-history__table th:nth-child(2),
.rbf-quote-history__table td:nth-child(2) {
	width: 4.5rem;
}

.rbf-quote-history__table th:nth-child(3),
.rbf-quote-history__table td:nth-child(3) {
	width: 5.5rem;
}
.rbf-quote-history__table th:nth-child(4),
.rbf-quote-history__table td:nth-child(4) {
	width: 6.5rem;
}

.rbf-quote-history__table th:nth-child(5),
.rbf-quote-history__table td:nth-child(5) {
	width: 6.5rem;
	white-space: nowrap;
}

.rbf-quote-history__table th:nth-child(6),
.rbf-quote-history__table td:nth-child(6) {
	width: 5rem;
  	hyphens: auto;
}

.rbf-quote-history__table th:nth-child(7),
.rbf-quote-history__table td:nth-child(7) {
	width: 9rem;
}



/***********************************
einzelfälle
***********************************/


body.woocommerce-order-received main{
	padding-top:var(--header-height);
}








/*************************************
ACCOUNT SEITE
*************************************/
body.woocommerce-account h1.wp-block-post-title,
body.woocommerce-account .entry-content > .woocommerce,
body.logged-in.woocommerce-account .entry-content > .woocommerce{
	width: var(--container-width);
	max-width: var(--container-width);
	margin-left: auto;
	margin-right: auto;
}
body.woocommerce-account .woocommerce:before {
	display:none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

body.logged-in.woocommerce-account .entry-content > .woocommerce{
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}

body.woocommerce-account .woocommerce-MyAccount-content {
	min-width: 0;
}


body.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:first-child {
	padding-top: .35em;
}


body.logged-in.woocommerce-account .entry-content > .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

body.logged-in.woocommerce-account .entry-content > .woocommerce > .woocommerce-notices-wrapper:empty {
	display: none;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login {
	width: 100%;
	max-width: 28rem;
}

@media (min-width: 768.02px) {
	.woocommerce-account .woocommerce-MyAccount-navigation li:first-child {
		padding-top: 1em;
	}
}
@media (min-width: 1200px) {
	.woocommerce-account .woocommerce-MyAccount-navigation li {
		padding-top: 0em;
	}
	body.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: block;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation li + li {
		margin-top: 1rem;
	}





	body.logged-in.woocommerce-account .entry-content > .woocommerce {
		grid-template-columns: 220px minmax(0, 1fr);
		align-items: start;
		gap: 3rem;
	}
}






/*************************
color swatches
`********************/
.rbf-b2b-branding__colors {
	margin-top: 1.5rem;
}

.rbf-b2b-branding__colors p {
	margin: 0 0 .5rem;
}

.rbf-b2b-color-options {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-bottom: 1rem;
}

.rbf-b2b-color-option {
	position: relative;
	display: inline-flex;
	cursor: pointer;
}

.rbf-b2b-color-option input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.rbf-b2b-color-swatch {
	display: block;
	width: 2rem;
	height: 2rem;
	border: 2px solid transparent;
	border-radius: 4px;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .15);
}

.rbf-b2b-color-option input:checked + .rbf-b2b-color-swatch {
	border-color: var(--text, #222);
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--text, #222);
}

.rbf-b2b-color-option input:focus-visible + .rbf-b2b-color-swatch {
	outline: 2px solid var(--primary);
	outline-offset: 3px;
}