
: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;
}

.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);
}




body .rbf-btn {
    padding: 2px 10px;
    font-size: 1rem;
    border: none;
    border-radius: 4px;
    background: var(--primary);
    color: var(--white);
}


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 .rbf-hero a:not(.btn):not(.rot-btn):not(.rbf-btn):not(.button):not([class*="button"]):hover{
	color:var(--rbf-inline-link-hovercolor);
}
body .entry-content a:not(.rbf-product-family-item__link):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(.rbf-product-family-item__link):not(.btn):not(.rot-btn):not(.rbf-btn):not(.button):not([class*="button"]):hover{
	color:var(--rbf-inline-link-hovercolor);
}



body .rbf-btn.rbf-modal-close{
    font-size:2.4rem;
    line-height:.6;
}

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;
}


/*margin top für main entschärft*/
.wp-site-blocks > main {
	margin-block-start: 0;
	margin-block-end: 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: 160px;

	--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__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.archive .rbf-hero__stage{
	background-image: url(assets/imgs/riffle.webp);
    background-size: cover;
    background-position: center;
}
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.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.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__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.25rem;
	line-height: 1.4;
}

.rbf-hero__button {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}



/* ==========================================================================
   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;
}

.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;
}

.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;
}

.rbf-hero__usp-bar::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 14%;
	height: 100%;
	background: #fff;
	transform: 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: 5px;
	font-size: 1rem;
	line-height: 1.2;
	text-transform: uppercase;
}

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


/* ==========================================================================
   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: 20px 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);
	}
}






/* ==========================================================================
   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;
}

.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);
}

.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;
}

.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: #2d3065;
	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;
}




@media (max-width: 1100px) {

	.rbf-product-families {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 900px) {

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

@media (max-width: 480px) {

	.rbf-product-families {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}



@media (min-width: 1800px) {

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

@media (min-width: 2100px) {

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





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


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

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

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

.rbf-hero--product-family .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--product-family .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;
}

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

@media (min-width: 768px) {

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

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

	.rbf-hero--product-family .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-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));
}

@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: 90%;
		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(84%, 46rem);
	}
}



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



/*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%;
}