/* =====================================================================
 * BioBling Composite Product Regulator — Combined styles
 * Source: Composite code 1 + Composite code 3
 * ===================================================================== */

/* ============================================================
		 * [CSS-01] CONFIG VARIABLES (safe to edit)
		 * ============================================================ */
		.bb-configurator{
			--bb-rpc-card-radius: 18px;
			--bb-rpc-card-border: 1px solid rgba(0,0,0,.06);
			--bb-rpc-card-shadow: 0 10px 30px rgba(0,0,0,.05);

			/* DEBUG COLORS: 1 = on, 0 = off */
			--bb-rpc-debug-on: 0;

			/* Warm background (light) */
			--bb-rpc-details-bg: #FAF7F2;
			--bb-rpc-details-radius: 14px;
			--bb-rpc-details-pad: 18px;

			/* Separators */
			--bb-rpc-sep-color: rgba(0,0,0,.08);

			/* Two-column layout */
			--bb-rpc-img-col: 305px;
			--bb-rpc-col-gap: 18px;

			/* Main product image size */
			--bb-rpc-img-width: 300px;

			/* LABEL/VALUE geometry */
			--bb-rpc-label-width: 270px;
			--bb-rpc-label-gap: 0px;

			/* Row spacing (vertical padding per row) */
			--bb-rpc-row-pad-y: 10px;

			/* Price spacing */
			--bb-rpc-price-top: 18px;

			/* Restore spacing */
			--bb-rpc-reset-top: 10px;

			/* Image swatch base size (used as DEFAULT) */
			--bb-rpc-image-swatch: 40px;

			/* Per-attribute image swatch computed size defaults */
			--bb-rpc-image-swatch-w: var(--bb-rpc-image-swatch);
			--bb-rpc-image-swatch-h: var(--bb-rpc-image-swatch);

			/* Image swatch caption sizing */
			--bb-rpc-swatch-caption-size: 12px;
			--bb-rpc-swatch-caption-maxw: 92px;
			--bb-rpc-swatch-tile-gap: 6px;

			/* Caption legibility spacing */
			--bb-rpc-swatch-caption-pad-x: 4px;
			--bb-rpc-swatch-caption-pad-y: 2px;

			/* Label font sizing */
			--bb-rpc-label-font: 15px;
			--bb-rpc-label-font-mobile: 14px;
		}

/* BB_CPR_PREVIEW_LAYOUT_STABILITY_2026_04
 * Canonical layout ownership is defined later in BB_CPR_LAYOUT_STABLE_LOAD_2026_04.
 * Keep early variables neutral to avoid breakpoint overlap races. */


		.bb-configurator #cp-no-js-msg{ display:none !important; }

		/* ============================================================
		 * [CSS-02] DEBUG OVERLAYS (optional)
		 * ============================================================ */
		.bb-configurator .composite_component .composited_product_details_wrapper > *:nth-child(1){
			background: rgba(255, 0, 0, calc(0.10 * var(--bb-rpc-debug-on))) !important;
		}
		.bb-configurator .composite_component .composited_product_details_wrapper > *:nth-child(2){
			background: rgba(0, 0, 255, calc(0.10 * var(--bb-rpc-debug-on))) !important;
		}
		.bb-configurator .composite_component .composited_product_details_wrapper > *{
			outline: calc(2px * var(--bb-rpc-debug-on)) dashed rgba(0,0,0,0.25) !important;
			outline-offset: -6px !important;
		}

		/* ============================================================
		 * [CSS-03] REMOVE UNWANTED MIDDLE CARD LAYERS
		 * ============================================================ */
		.bb-configurator form.cart.composite_form,
		.bb-configurator .composite_form{
			background: transparent !important;
			border: 0 !important;
			box-shadow: none !important;
			padding: 0 !important;
			margin: 0 !important;
		}
		.bb-configurator .composite_form .component_inner{
			background: transparent !important;
			border: 0 !important;
			box-shadow: none !important;
			padding: 0 !important;
			margin: 0 !important;
		}

		/* ============================================================
		 * [CSS-04] CARD STYLING FOR COMPONENTS + BOTTOM WRAP
		 * ============================================================ */
		.bb-configurator .composite_form > .composite_component{
			background: #fff !important;
			border: var(--bb-rpc-card-border) !important;
			border-radius: var(--bb-rpc-card-radius) !important;
			box-shadow: var(--bb-rpc-card-shadow) !important;

			padding: 44px 44px 34px !important;
			margin: 0 0 32px !important;
			overflow: hidden !important;
		}
		.bb-configurator .composite_form .composite_wrap{
			background: #fff !important;
			border: var(--bb-rpc-card-border) !important;
			border-radius: var(--bb-rpc-card-radius) !important;
			box-shadow: var(--bb-rpc-card-shadow) !important;

			padding: 26px 28px !important;
			margin-top: 18px !important;
		}

		.bb-configurator .bb-cpr-tabs{
			display: grid !important;
			grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
			gap: 0 !important;
			margin: 0 !important;
			position: relative !important;
			z-index: 2 !important;
		}

		.bb-configurator .bb-cpr-tabs__tab{
			appearance: none !important;
			border: 1px solid rgba(17, 24, 39, .13) !important;
			border-bottom-color: transparent !important;
			background: #fbfaf8 !important;
			color: #111827 !important;
			border-radius: 8px 8px 0 0 !important;
			min-height: 44px !important;
			padding: 8px 14px 9px !important;
			display: flex !important;
			align-items: center !important;
			justify-content: center !important;
			gap: 7px !important;
			cursor: pointer !important;
			box-shadow: none !important;
			text-transform: none !important;
			letter-spacing: 0 !important;
			line-height: 1.15 !important;
		}

		.bb-configurator .bb-cpr-tabs__tab + .bb-cpr-tabs__tab{
			margin-left: 8px !important;
		}

		.bb-configurator .bb-cpr-tabs__tab.is-active{
			background: #f6f2ed !important;
			border-color: rgba(17, 24, 39, .12) !important;
			border-bottom-color: #f6f2ed !important;
			color: #111827 !important;
		}

		.bb-configurator .bb-cpr-tabs__tab.is-empty:not(.is-active){
			background: #fff !important;
			color: #6b7280 !important;
		}

		.bb-configurator .bb-cpr-tabs__label{
			font-weight: 800 !important;
			font-size: 15px !important;
			white-space: nowrap !important;
		}

		.bb-configurator .bb-cpr-tabs__status{
			font-size: 11px !important;
			font-weight: 700 !important;
			opacity: .58 !important;
			white-space: nowrap !important;
		}

		.bb-configurator.bb-cpr-tabs-enabled .composite_form > .composite_component.bb-cpr-tab-panel--inactive{
			display: none !important;
		}

		/* BB_CPR_SUMMARY_TWO_COL_FALLBACK_2026_04
		 * Runtime: .composited_product_details_wrapper is often absent under .composite_component; then
		 * BB_CPR_LAYOUT_STABLE_LOAD grid does not apply and the card spans full width. When the AJAX
		 * summary shell has image + details as direct children but no wrapper, apply the same 40/60 split. */
		@media (min-width: 750px){
			.bb-configurator.bb-cpr-tabs-enabled .composite_component.bb-cpr-tab-panel--active .component_summary .product.content.summary_content.populated:not(:has(.composited_product_details_wrapper)),
			.bb-configurator.bb-cpr-tabs-enabled .composite_component.bb-cpr-tab-panel--active .component_summary .summary_content.populated:not(:has(.composited_product_details_wrapper)){
				display: grid !important;
				grid-template-columns: minmax(0, 40%) minmax(0, 1fr) !important;
				column-gap: var(--bb-rpc-col-gap) !important;
				align-items: start !important;
				width: 100% !important;
				max-width: 100% !important;
				min-width: 0 !important;
				box-sizing: border-box !important;
			}
			.bb-configurator.bb-cpr-tabs-enabled .composite_component.bb-cpr-tab-panel--active .component_summary .product.content.summary_content.populated:not(:has(.composited_product_details_wrapper)) > .composited_product_images,
			.bb-configurator.bb-cpr-tabs-enabled .composite_component.bb-cpr-tab-panel--active .component_summary .summary_content.populated:not(:has(.composited_product_details_wrapper)) > .composited_product_images{
				grid-column: 1 !important;
				min-width: 0 !important;
			}
			.bb-configurator.bb-cpr-tabs-enabled .composite_component.bb-cpr-tab-panel--active .component_summary .product.content.summary_content.populated:not(:has(.composited_product_details_wrapper)) > .details.component_data,
			.bb-configurator.bb-cpr-tabs-enabled .composite_component.bb-cpr-tab-panel--active .component_summary .summary_content.populated:not(:has(.composited_product_details_wrapper)) > .details.component_data{
				grid-column: 2 !important;
				min-width: 0 !important;
				max-width: 100% !important;
			}
		}

		/* BB_CPR_FORM_LEVEL_TWO_COL_2026_04
		 * Only when BOTH gallery and details are direct children of the form. Using :has(> .details) alone
		 * matched themes that hoist only .details to the form while the gallery stays inside .composite_component,
		 * which broke the grid (missing column-1 direct child) and hid or mangled the gallery. */
		@media (min-width: 750px){
			.bb-configurator.bb-cpr-tabs-enabled form.composite_form:has(> .composited_product_images):has(> .details.component_data){
				display: grid !important;
				grid-template-columns: minmax(0, 40%) minmax(0, 1fr) !important;
				column-gap: var(--bb-rpc-col-gap) !important;
				align-items: start !important;
				width: 100% !important;
				max-width: 100% !important;
				min-width: 0 !important;
				box-sizing: border-box !important;
			}
			.bb-configurator.bb-cpr-tabs-enabled form.composite_form:has(> .composited_product_images):has(> .details.component_data) > .bb-cpr-tabs{
				grid-column: 1 / -1 !important;
			}
			.bb-configurator.bb-cpr-tabs-enabled form.composite_form:has(> .composited_product_images):has(> .details.component_data) > .composite_wrap{
				grid-column: 1 / -1 !important;
			}
			.bb-configurator.bb-cpr-tabs-enabled form.composite_form:has(> .composited_product_images):has(> .details.component_data) > .composite_component{
				grid-column: 1 / -1 !important;
			}
			.bb-configurator.bb-cpr-tabs-enabled form.composite_form:has(> .composited_product_images):has(> .details.component_data) > .composited_product_images{
				grid-column: 1 !important;
				min-width: 0 !important;
				max-width: 100% !important;
			}
			.bb-configurator.bb-cpr-tabs-enabled form.composite_form:has(> .composited_product_images):has(> .details.component_data) > .details.component_data{
				grid-column: 2 !important;
				min-width: 0 !important;
				max-width: 100% !important;
			}
		}

		.bb-configurator .bb-cpr-tabs + .bb-card-group[data-bb-card-group="1"]{
			border-top-left-radius: 0 !important;
			border-top-right-radius: 0 !important;
		}

		@media (max-width: 767px){
			.bb-configurator .bb-cpr-tabs__tab{
				min-height: 42px !important;
				padding-left: 10px !important;
				padding-right: 10px !important;
			}
			.bb-configurator .bb-cpr-tabs__tab + .bb-cpr-tabs__tab{
				margin-left: 6px !important;
			}
			.bb-configurator .bb-cpr-tabs__label{
				font-size: 14px !important;
			}
			.bb-configurator .bb-cpr-tabs__status{
				font-size: 10px !important;
			}
		}

		/* ============================================================
		 * [CSS-05] TITLES
		 * ============================================================ */
.bb-configurator .composite_component .component_title_wrapper{
	position: relative;
	text-align: center !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0 !important;
	margin: 0 0 14px !important;
	/* Keep the title visually centered even when the toggle/fav UI exists on the right */
	padding-left: 24px;
	padding-right: 24px;
}

@media (max-width: 980px){
  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr){
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    row-gap:6px !important;
  }

  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.label{
    width:auto !important;
    flex:0 0 auto !important;
    margin-bottom:0 !important;
    padding-right:10px !important;
  }

  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.value{
    width:auto !important;
    flex:1 1 auto !important;
    min-width:0 !important;
  }

  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.value .cfvsw-swatches-container{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    width:auto !important;
    max-width:100% !important;
    gap:8px !important;
  }

  .bb-configurator .bb-engrave-block table.variations tr.attribute_options{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    row-gap:6px !important;
  }

  .bb-configurator .bb-engrave-block table.variations tr.attribute_options td.label{
    width:auto !important;
    flex:0 0 auto !important;
    margin-bottom:0 !important;
    padding-right:10px !important;
  }

  .bb-configurator .bb-engrave-block table.variations tr.attribute_options td.value{
    width:auto !important;
    flex:1 1 auto !important;
    min-width:0 !important;
  }
}
		.bb-configurator .composite_component .component_title_wrapper .component_title,
		.bb-configurator .composite_component .component_title_wrapper h2{
			margin: 0 !important;
			padding: 0 !important;
			border: 0 !important;
			line-height: 1.08 !important;
			text-align: center !important;
			font-size: clamp(28px, 2.4vw, 44px) !important;
			font-weight: 700 !important;
			flex: 0 1 auto !important;
		}
		.bb-configurator .composite_component .component_summary,
		.bb-configurator .composite_component .component_description_wrapper{
			text-align: center !important;
		}

.bb-configurator .composite_component .bb-comp-toggle{
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: 12px;
}

.bb-configurator .composite_component .component_title_wrapper > .bb-comp-toggle__fav{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	margin: 0 0 0 30px;
}

@media (max-width: 767px){
  .bb-configurator form.cart.composite_form.small_width,
  .bb-configurator .composite_form.small_width{
    width: calc(100% + 20px) !important;
    max-width: none !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
  }

  .bb-configurator .composite_form > .composite_component{
    padding-left: 6px !important;
    padding-right: 6px !important;
    padding-top: 18px !important;
    padding-bottom: 20px !important;
  }

  .bb-configurator .composite_component.component.single{
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .bb-configurator .composite_component .component_title_wrapper{
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    margin-bottom: 8px !important;
  }

  .bb-configurator .composite_component .component_title_wrapper .component_title,
  .bb-configurator .composite_component .component_title_wrapper h2{
    text-align: left !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .bb-configurator .composite_component .component_title_wrapper > .bb-comp-toggle__fav{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 0 0 8px !important;
  }

  .bb-configurator .composite_component .component_title_wrapper > .bb-comp-toggle__fav .bb-fav-btn--composite{
    margin: 0 !important;
  }

  .bb-configurator .composite_component .bb-comp-toggle{
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    width: auto !important;
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
    margin: 0 0 0 auto !important;
  }

  .bb-configurator .composite_component [data-bb-comp-toggle="1"]{
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
  }

  .bb-configurator .composite_component .component_title_wrapper .bb-comp-toggle .bb-comp-toggle__fav{
    display: none !important;
  }

.bb-configurator .composite_component .bb-fav-mobile-row{
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
}

@media (max-width: 767px){
  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.value .cfvsw-swatches-container{
    gap: 4px !important;
  }
  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.value .cfvsw-swatches-option{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 5px 8px !important;
    border-radius: 3px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }
  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.value .cfvsw-swatches-option .cfvsw-swatch-inner{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    line-height: 1.1 !important;
    box-sizing: border-box !important;
  }
}

/* Final mobile header/layout override for ring component cards:
 * - Move favorite into the live title row created by JS
 * - Remove the now-unused mobile favorite row spacing
 * - Tighten outer card inset and top spacing on mobile
 */
@media (max-width: 767px){
  .bb-configurator .composite_form > .composite_component{
    padding-left: 6px !important;
    padding-right: 6px !important;
    padding-top: 18px !important;
    padding-bottom: 20px !important;
  }

  .bb-configurator .composite_component.component.single{
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .bb-configurator .composite_component .component_title_wrapper{
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    margin-bottom: 8px !important;
  }

  .bb-configurator .composite_component .component_title_wrapper .component_title,
  .bb-configurator .composite_component .component_title_wrapper h2{
    text-align: left !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .bb-configurator .composite_component .component_title_wrapper > .bb-comp-toggle__fav{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
  }

  .bb-configurator .composite_component .component_title_wrapper > .bb-comp-toggle__fav .bb-fav-btn--composite{
    margin: 0 !important;
  }

  .bb-configurator .composite_component .bb-comp-toggle{
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    width: auto !important;
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
    margin: 0 0 0 auto !important;
  }

  .bb-configurator .composite_component [data-bb-comp-toggle="1"]{
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
  }

  .bb-configurator .composite_component .component_title_wrapper .bb-comp-toggle .bb-comp-toggle__fav{
    display: none !important;
  }

  .bb-configurator .composite_component .bb-fav-mobile-row{
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Keep the reset code path in JS/PHP, but hide the visible control again. */
  .bb-configurator .composite_component .bb-rpc-reset-row,
  .bb-configurator .composite_component .bb-rpc-reset-row a.reset_variations{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
}

/* Final override: keep the reset path intact, but hide the visible control globally. */
.bb-configurator .composite_component .bb-rpc-reset-row,
.bb-configurator .composite_component .bb-rpc-reset-row a.reset_variations{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

@media (max-width: 767px){
  .bb-configurator .bb-card--top tr.attribute_options td.label > label,
  .bb-configurator .bb-size-block tr.attribute_options td.label > label,
  .bb-configurator .bb-engrave-block tr.attribute_options td.label > label{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    line-height:1.08 !important;
    white-space:normal !important;
  }

  .bb-configurator .bb-card--top tr.attribute_options td.label > label:before,
  .bb-configurator .bb-size-block tr.attribute_options td.label > label:before,
  .bb-configurator .bb-engrave-block tr.attribute_options td.label > label:before{
    display:block !important;
    margin:0 0 2px 0 !important;
    width:auto !important;
  }

  .bb-configurator .bb-farbvariante-row td.label .cfvsw-selected-label{
    display:block !important;
  }

  .bb-configurator .bb-size-block table.variations tr.attribute_options{
    display:grid !important;
    grid-template-columns:minmax(0, var(--bb-cpr-compact-label-w)) minmax(0, 1fr) !important;
    column-gap:12px !important;
    align-items:flex-start !important;
  }

  .bb-configurator .bb-size-block table.variations tr.attribute_options td.label{
    width:auto !important;
    padding-right:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:2px !important;
  }

  .bb-configurator .bb-size-block table.variations tr.attribute_options td.value{
    min-width:0 !important;
    width:auto !important;
  }

  .bb-configurator .bb-size-ui .bb-size-toggle{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
    width:max-content !important;
    max-width:100% !important;
  }

  .bb-configurator .bb-size-ui .bb-size-toggle > .bb-size-opt{
    flex:0 0 164px !important;
    width:164px !important;
    min-width:164px !important;
    max-width:164px !important;
    box-sizing:border-box !important;
  }

  .bb-configurator .bb-size-ui .bb-size-opt,
  .bb-configurator .bb-size-ui .bb-size-opt span,
  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.value .cfvsw-swatches-option,
  .bb-configurator .bb-engrave-swatches .cfvsw-swatches-option,
  .bb-configurator .bb-engrave-swatches .cfvsw-swatches-option .cfvsw-swatch-inner{
    font-size:13px !important;
    line-height:1.15 !important;
  }

  .bb-configurator .bb-rpc-reset-row,
  .bb-configurator .bb-rpc-reset-row a.reset_variations{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }
}

@media (max-width: 767px){
  .bb-configurator .bb-card--top tr.attribute_options td.label > label,
  .bb-configurator .bb-size-block tr.attribute_options td.label > label,
  .bb-configurator .bb-engrave-block tr.attribute_options td.label > label{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    line-height:1.08 !important;
    white-space:normal !important;
  }

  .bb-configurator .bb-card--top tr.attribute_options td.label > label:before,
  .bb-configurator .bb-size-block tr.attribute_options td.label > label:before,
  .bb-configurator .bb-engrave-block tr.attribute_options td.label > label:before{
    display:block !important;
    margin:0 0 2px 0 !important;
    width:auto !important;
  }

  .bb-configurator .bb-farbvariante-row td.label .cfvsw-selected-label{
    display:block !important;
  }

  .bb-configurator .bb-size-block table.variations tr.attribute_options{
    display:grid !important;
    grid-template-columns:minmax(0, var(--bb-cpr-compact-label-w)) minmax(0, 1fr) !important;
    column-gap:12px !important;
    align-items:flex-start !important;
  }

  .bb-configurator .bb-size-block table.variations tr.attribute_options td.label{
    width:auto !important;
    padding-right:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:2px !important;
  }

  .bb-configurator .bb-size-block table.variations tr.attribute_options td.value{
    min-width:0 !important;
    width:auto !important;
  }

  .bb-configurator .bb-size-ui .bb-size-toggle{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
    width:max-content !important;
    max-width:100% !important;
  }

  .bb-configurator .bb-size-ui .bb-size-toggle > .bb-size-opt{
    flex:0 0 164px !important;
    width:164px !important;
    min-width:164px !important;
    max-width:164px !important;
    box-sizing:border-box !important;
  }

  .bb-configurator .bb-size-ui .bb-size-opt,
  .bb-configurator .bb-size-ui .bb-size-opt span,
  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.value .cfvsw-swatches-option,
  .bb-configurator .bb-engrave-swatches .cfvsw-swatches-option,
  .bb-configurator .bb-engrave-swatches .cfvsw-swatches-option .cfvsw-swatch-inner{
    font-size:13px !important;
    line-height:1.15 !important;
  }

  .bb-configurator .bb-rpc-reset-row,
  .bb-configurator .bb-rpc-reset-row a.reset_variations{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }
}

@media (max-width: 767px){
  .bb-configurator .composite_component .bb-rpc-reset-row,
  .bb-configurator .composite_component .bb-rpc-reset-row a.reset_variations{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .bb-configurator .bb-card--top tr.attribute_options td.label > label,
  .bb-configurator .bb-size-block tr.attribute_options td.label > label,
  .bb-configurator .bb-engrave-block tr.attribute_options td.label > label,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options td.label > label{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    line-height:1.08 !important;
    white-space:normal !important;
  }

  .bb-configurator .bb-card--top tr.attribute_options td.label > label:before,
  .bb-configurator .bb-size-block tr.attribute_options td.label > label:before,
  .bb-configurator .bb-engrave-block tr.attribute_options td.label > label:before,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options td.label > label:before{
    display:block !important;
    margin:0 0 2px 0 !important;
    width:auto !important;
  }

  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] td.label > label.bb-ring-label-split{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }

  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] td.label > label.bb-ring-label-split .bb-ring-label-line{
    display:block !important;
  }

  .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"] td.label > label.bb-cellstones-label-split{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }

  .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"] td.label > label.bb-cellstones-label-split .bb-cell-label-line{
    display:block !important;
  }

  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.value .cfvsw-swatches-option,
  .bb-configurator .bb-engrave-swatches .cfvsw-swatches-option,
  .bb-configurator .bb-size-ui .bb-size-opt,
  .bb-configurator .bb-size-ui .bb-size-opt span,
  .bb-configurator .bb-engrave-swatches .cfvsw-swatches-option .cfvsw-swatch-inner{
    font-size:13px !important;
    line-height:1.15 !important;
  }

  .bb-configurator .bb-size-ui .bb-size-toggle{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    gap:6px !important;
    justify-content:flex-start !important;
    width:auto !important;
    max-width:100% !important;
  }

  .bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] .bb-size-toggle > .bb-size-opt,
  .bb-configurator .bb-size-ui .bb-size-toggle > .bb-size-opt{
    flex:0 0 164px !important;
    width:164px !important;
    min-width:164px !important;
    max-width:164px !important;
    box-sizing:border-box !important;
    padding:6px 10px !important;
  }

  .bb-configurator .bb-size-ui .bb-size-opt{
    white-space:normal !important;
  }
}

/* Keep the reset code path available, but hide the visible control globally. */
.bb-configurator .composite_component .bb-rpc-reset-row,
.bb-configurator .composite_component .bb-rpc-reset-row a.reset_variations{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

/* Final mobile configurator shell override:
 * - keep the component header/title spacing
 * - let only the inner configurator card bleed to the full mobile card width
 * - remove the remaining inner top gap above "1. Farbe"
 */
@media (max-width: 767px){
  .bb-configurator .composite_component > .component_inner{
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .bb-configurator .composite_component > .component_inner > .component_selections{
    width: calc(100% + 12px) !important;
    max-width: none !important;
    margin-left: -6px !important;
    margin-right: -6px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .bb-configurator .composite_component > .component_inner > .component_selections > .details.component_data,
  .bb-configurator .composite_component > .component_inner > .component_selections > .details.component_data > .bb-card-group[data-bb-card-group="1"]{
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .bb-configurator .bb-card-group[data-bb-card-group="1"]{
    overflow: hidden !important;
  }

  .bb-configurator .bb-card-group .bb-card--top{
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .bb-configurator .bb-card--top .bb-sec-title--config{
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .bb-configurator .bb-card--top table.variations,
  .bb-configurator .bb-card--top .bb-sec-title + table.variations{
    margin-top: 0 !important;
  }

  .bb-configurator .bb-card--top table.variations tbody tr:first-child th,
  .bb-configurator .bb-card--top table.variations tbody tr:first-child td,
  .bb-configurator .bb-card--top tr.attribute_options:first-child td.label,
  .bb-configurator .bb-card--top tr.attribute_options:first-child td.value{
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .bb-configurator .bb-card--top table.variations tr.attribute_options:first-child{
    padding-top: 0 !important;
  }
}

@media (max-width: 767px){
  .bb-configurator .composite_form > .composite_component{
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
  }

  .bb-configurator .composite_component .component_selections,
  .bb-configurator .composite_component .component_selections .details,
  .bb-configurator .composite_component .component_selections .details.component_data{
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .bb-configurator .bb-card-group[data-bb-card-group="1"]{
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .bb-configurator .bb-card-group .bb-card--top{
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .bb-configurator .bb-card--top .bb-sec-title--config{
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .bb-configurator .bb-card--top table.variations,
  .bb-configurator .bb-card--top .bb-sec-title + table.variations{
    margin-top: 0 !important;
  }

  .bb-configurator .bb-card--top table.variations tbody tr:first-child th,
  .bb-configurator .bb-card--top table.variations tbody tr:first-child td{
    padding-top: 0 !important;
  }
}

@media (max-width: 767px){
  .bb-configurator .composite_form > .composite_component{
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
  }

  .bb-configurator .composite_component .component_selections,
  .bb-configurator .composite_component .component_selections .details,
  .bb-configurator .composite_component .component_selections .details.component_data,
  .bb-configurator .bb-card-group[data-bb-card-group="1"]{
    width: calc(100% + 20px) !important;
    max-width: none !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
    box-sizing: border-box !important;
  }

  .bb-configurator .bb-card-group[data-bb-card-group="1"]{
    overflow: hidden !important;
  }

  .bb-configurator .bb-card-group .bb-card--top{
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .bb-configurator .bb-card--top .bb-sec-title--config{
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .bb-configurator .bb-card--top table.variations,
  .bb-configurator .bb-card--top .bb-sec-title + table.variations{
    margin-top: 0 !important;
  }

  .bb-configurator .bb-card--top table.variations tbody tr:first-child th,
  .bb-configurator .bb-card--top table.variations tbody tr:first-child td{
    padding-top: 0 !important;
  }
}

/* =========================================================
 * MOBILE HEADER LAYOUT (Ring für sie/ihn + Aktiv on one row)
 * - Title left (with +30px offset)
 * - Aktiv right
 * - Heart on its own centered row below
 * ========================================================= */
@media (max-width: 767px){
  .bb-configurator .composite_component .component_title_wrapper{
    /* override desktop centering/padding */
    text-align: left !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
  }
  .bb-configurator .composite_component .component_title_wrapper .component_title,
  .bb-configurator .composite_component .component_title_wrapper h2{
    text-align: left !important;
    margin: 0 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    /* Keep on one line; reduce size instead of truncating for "Ring für sie/ihn" */
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: clamp(20px, 6vw, 28px) !important;
  }
  .bb-configurator .composite_component .bb-comp-toggle{
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    margin: 0 !important;
    width: auto !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
  }
  .bb-configurator .composite_component .bb-fav-mobile-row{
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .bb-configurator .composite_component .bb-fav-mobile-row .bb-comp-toggle__fav{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    margin: 0 !important;
  }
  .bb-configurator .composite_component .bb-fav-mobile-row .bb-fav-feedback{
    display: none !important;
  }
  .bb-configurator .composite_component .composited_product_images{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* Desktop/Tablet: hide mobile heart row */
@media (min-width: 600px){
  .bb-configurator .composite_component .bb-fav-mobile-row{display:none!important;}
  .bb-configurator .composite_component .component_title_wrapper .bb-comp-toggle .bb-comp-toggle__fav{display:inline-flex!important;}
}

.bb-comp-toggle{
	gap: 12px;
}
.bb-configurator .composite_component .bb-fav-btn--composite{
	width: 32px;
	height: 32px;
	min-width: 32px;
	min-height: 32px;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	position: static !important;
	top: auto !important;
	right: auto !important;
}
.bb-configurator .composite_component .bb-fav-btn--composite svg{
	width: 24px;
	height: 24px;
}
.bb-configurator .composite_component .bb-comp-toggle__action{
	display: none !important;
	align-items: center;
	font-size: 14px;
	line-height: 1;
	font-weight: 500;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	color: #1f2937;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
	white-space: nowrap;
	-webkit-appearance: none;
	appearance: none;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.bb-configurator .composite_component .bb-comp-toggle__action:hover,
.bb-configurator .composite_component .bb-comp-toggle__action:focus,
.bb-configurator .composite_component .bb-comp-toggle__action:active,
.bb-configurator .composite_component .bb-comp-toggle__action:focus-visible{
	color: #1f2937;
	text-decoration: underline;
	outline: none;
	box-shadow: none;
}
.bb-configurator .composite_component .component_title_wrapper .component_title{
	display: inline-block;
	margin: 0 auto;
}
.bb-configurator .composite_component .component_summary .component_option_label,
.bb-configurator .composite_component .component_summary .component_option_title,
.bb-configurator .composite_component .component_option_selection,
.bb-configurator .composite_component .component_option_summary,
.bb-configurator .composite_component .component_option_selection_title,
.bb-configurator .composite_component .component_option_reset,
.bb-configurator .composite_component .component_option_reset_wrapper,
.bb-configurator .composite_component a.component_option_reset,
.bb-configurator .composite_component .component_option_reset_link{
	display: none !important;
}

/* Hide 'Deine Auswahl:' label */
.bb-configurator .composite_component .composited_product_title_wrapper > p.component_section_title:first-child{
	display: none !important;
}

/* Hide 'Auswahl aufheben' row */
.bb-configurator .composite_component .composited_product_title_wrapper .clear_component_options_wrapper{
	display: none !important;
}

/* Optional: remove extra spacing created by hidden rows */
.bb-configurator .composite_component .composited_product_title_wrapper{
	margin-top: 0 !important;
}
.bb-configurator .composite_component .composited_product_title_wrapper .composited_product_title{
	display: none !important;
	margin: 0 !important;
}
		.bb-configurator .composite_component .component_summary h3,
		.bb-configurator .composite_component .component_summary .product_title,
		.bb-configurator .composite_component .component_description_wrapper h3{
			margin: 10px 0 26px !important;
			line-height: 1.2 !important;
			font-size: clamp(18px, 1.6vw, 26px) !important;
			font-weight: 600 !important;
		}

		/* ============================================================
		 * [CSS-06] TWO-COLUMN LAYOUT
		 * ============================================================ */
		.bb-configurator .composite_component .composited_product_details_wrapper{
			display: grid !important;
			grid-template-columns: 1fr !important;
			column-gap: var(--bb-rpc-col-gap) !important;
			align-items: start !important;
			width: 100% !important;
			max-width: 100% !important;
			margin: 0 !important;
		}

		.bb-configurator .composite_component .composited_product_images{
			align-self: start !important;
			margin-top: 6px !important;
			display: flex !important;
			justify-content: flex-start !important;
			align-items: flex-start !important;
			width: 100% !important;
			min-width: 0 !important;
		}


		.bb-configurator .composite_component .composited_product_images img,
		.bb-configurator .composite_component .composited_product_images .wp-post-image,
		.bb-configurator .composite_component .composited_product_images img.attachment-woocommerce_thumbnail,
		.bb-configurator .composite_component .composited_product_images img.attachment-woocommerce_single{
			width: var(--bb-rpc-img-width) !important;
			max-width: var(--bb-rpc-img-width) !important;
			height: auto !important;
			display: block !important;
			margin: 0 !important;
		}

		/* --- RESTORE width guards so beige details box does NOT shrink --- */
		.bb-configurator .composite_component .component_selections{
			align-self: start !important;
			width: 100% !important;
			max-width: none !important;
			min-width: 0 !important;
			text-align: left !important;
			overflow: visible !important;
			justify-self: stretch !important;
		}

		.bb-configurator .composite_component .component_selections .details.component_data,
		.bb-configurator .composite_component .component_selections .details{
			width: 100% !important;
			max-width: none !important;
			min-width: 0 !important;
			display: block !important;
			box-sizing: border-box !important;
		}

		/* Warm background container */
		.bb-configurator .composite_component .component_selections .details.component_data{
			background: transparent !important;
			border-radius: 0 !important;
			padding: 0 !important;
			box-sizing: border-box !important;
		}

		/* ============================================================
		 * [CSS-07] VARIATIONS ROW LAYOUT
		 * ============================================================ */
		.bb-configurator .composite_component table.variations{
			width: 100% !important;
			max-width: 100% !important;
			margin: 0 !important;
			border: 0 !important;
			border-collapse: separate !important;
			border-spacing: 0 !important;
			table-layout: auto !important;
		}

		.bb-configurator .composite_component table.variations tbody{
			display: block !important;
			width: 100% !important;
		}

		.bb-configurator .composite_component table.variations tr.attribute_options{
			display: flex !important;
			width: 100% !important;
			align-items: center !important;
			padding: var(--bb-rpc-row-pad-y) 0 !important;
			box-sizing: border-box !important;
		}
		/* Cap row must touch separator and card edges without row-level gutters. */
		.bb-configurator .composite_component table.variations tr.attribute_options.bb-dummy-at-home-cap-tr{
			padding: 0 !important;
			align-items: stretch !important;
		}

		.bb-configurator .composite_component table.variations tr.attribute_options:not(:last-child){
			border-bottom: 1px solid var(--bb-rpc-sep-color) !important;
		}

		.bb-configurator .composite_component table.variations tr.attribute_options:not(.bb-dummy-at-home-cap-tr) > td{
			display: block !important;
			padding: 0 !important;
			margin: 0 !important;
			box-sizing: border-box !important;
			min-width: 0 !important;
		}

		.bb-configurator .composite_component table.variations td.label{
			flex: 0 0 var(--bb-rpc-label-width) !important;
			width: var(--bb-rpc-label-width) !important;
			padding-right: var(--bb-rpc-label-gap) !important;
			text-align: left !important;
			white-space: normal !important;
		}

		/* PDP: Farbvariante ("1. Goldfarben") label should be tighter than other rows (tablet/desktop only). */
		@media (min-width: 768px){
			.bb-configurator .composite_component table.variations tr.bb-farbvariante-row > td.label{
				flex: 0 0 120px !important;
				width: 120px !important;
			}
		}

		/* Tablet+desktop: rows 2–5 (Gold..Gravur) label width should match Goldfarben. */
		@media (min-width: 768px){
			.bb-configurator .bb-addon-block table.variations tr.bb-compact-attr-row > td.label,
			.bb-configurator .bb-size-block table.variations tr.attribute_options > td.label,
			.bb-configurator .bb-engrave-block table.variations tr.attribute_options > td.label,
			.bb-configurator .bb-cellstone-place-block table.variations tr.attribute_options > td.label{
				flex: 0 0 125px !important;
				width: 125px !important;
			}
		}

		.bb-configurator .composite_component table.variations td.label label{
			display: block !important;
			margin: 0 !important;
			line-height: 1.25 !important;
			font-weight: 600 !important;
			font-size: var(--bb-rpc-label-font) !important;
		}

		.bb-configurator .composite_component table.variations td.label .cfvsw-selected-label{
			display: none !important;
		}

		.bb-configurator .composite_component table.variations td.value,
		.bb-configurator .composite_component table.variations td.value.disable-to-select{
			flex: 1 1 auto !important;
			width: auto !important;
			max-width: none !important;
			text-align: left !important;
			overflow: visible !important;
		}

		/* ============================================================
		 * [CSS-08] SWATCH CONTAINER LAYOUT
		 * ============================================================ */
		.bb-configurator .composite_component table.variations td.value .cfvsw-swatches-container{
			width: 100% !important;
			max-width: 100% !important;
			display: flex !important;
			flex-direction: row !important;
			flex-wrap: wrap !important;
			justify-content: flex-start !important;
			align-items: center !important;
			align-content: flex-start !important;
			gap: 10px 12px !important;
		}

@media (min-width: 768px){
	.bb-configurator .composite_component table.variations td.value .cfvsw-swatches-container{
		gap: 6px 10px !important;
	}
}

		.bb-configurator .composite_component table.variations td.value .cfvsw-swatches-option{
			flex: 0 0 auto !important;
			width: auto !important;
			max-width: none !important;
			margin: 0 !important;
			float: none !important;
			vertical-align: middle !important;
		}

		.bb-configurator .composite_component table.variations td.value .cfvsw-swatches-option .cfvsw-swatch-inner{
			display: inline-flex !important;
			align-items: center !important;
			justify-content: center !important;
			box-sizing: border-box !important;
		}

		/* ============================================================
		 * [CSS-09a] BORDER THICKNESS FIX — make image swatches inherit plugin border width
		 * CFVSW sets 1px for .cfvsw-image-option; label swatches use the variable.
		 * ============================================================ */
		.bb-configurator .cfvsw-swatches-option.cfvsw-image-option{
			border-width: var(--cfvsw-swatches-border-width, 1px) !important;
		}

		/* ============================================================
		 * [CSS-09b] GREY-OUT FALLBACK — ensure ALL disabled/out-of-stock image swatches grey
		 * If plugin blur classes are present, do nothing (plugin already overlays via ::before).
		 * Otherwise, add same overlay as plugin blur uses.
		 * ============================================================ */
		.bb-configurator .cfvsw-swatches-option.bb-is-image-swatch.cfvsw-swatches-disabled
		:not(.cfvsw-swatches-blur):not(.cfvsw-swatches-blur-disable)
		:not(.cfvsw-swatches-blur-cross):not(.cfvsw-swatches-blur-cross-disable)
		:not(.cfvsw-swatches-hide-disable)::before,
		.bb-configurator .cfvsw-swatches-option.bb-is-image-swatch.cfvsw-swatches-out-of-stock
		:not(.cfvsw-swatches-blur):not(.cfvsw-swatches-blur-disable)
		:not(.cfvsw-swatches-blur-cross):not(.cfvsw-swatches-blur-cross-disable)
		:not(.cfvsw-swatches-hide-disable)::before{
			content: "" !important;
			width: 100% !important;
			height: 100% !important;
			position: absolute !important;
			top: 0 !important;
			left: 0 !important;
			background-color: #fff !important;
			opacity: 0.4 !important;
			pointer-events: none !important;
		}

		/* ============================================================
		 * [CSS-09] IMAGE SWATCH TILES ONLY (layout; keeps plugin border system intact)
		 * ============================================================ */
		.bb-configurator .cfvsw-swatches-option.bb-is-image-swatch{
			display: inline-flex !important;
			flex-direction: column !important;
			align-items: center !important;
			justify-content: flex-start !important;
			gap: var(--bb-rpc-swatch-tile-gap) !important;

			/* reduce perceived “pulsing” */
			transition: none !important;
			transform: none !important;
		}
		.bb-configurator .cfvsw-swatches-option.bb-is-image-swatch .cfvsw-swatch-inner{
			transition: none !important;
			transform: none !important;
		}

		/* Remove checkmark safely: only suppress ::after, never ::before (plugin uses ::before for blur) */
		.bb-configurator .cfvsw-swatches-option.bb-is-image-swatch::after{
			content: none !important;
			display: none !important;
		}

		/* ============================================================
		 * [CSS-10] DEFAULT IMAGE SWATCH SIZING (ONLY image swatches)
		 * ============================================================ */
		.bb-configurator .cfvsw-swatches-option.bb-is-image-swatch .cfvsw-swatch-inner{
			width: var(--bb-rpc-image-swatch-w) !important;
			height: var(--bb-rpc-image-swatch-h) !important;
			padding: 0 !important;
			background-size: cover !important;
			background-position: center !important;
			background-repeat: no-repeat !important;

			/* prevent inner “double border” */
			border: 0 !important;
			outline: 0 !important;
			box-shadow: none !important;
		}

		.bb-configurator .cfvsw-swatches-option.bb-is-image-swatch .cfvsw-swatch-inner img{
			width: var(--bb-rpc-image-swatch-w) !important;
			height: var(--bb-rpc-image-swatch-h) !important;
			max-width: var(--bb-rpc-image-swatch-w) !important;
			max-height: var(--bb-rpc-image-swatch-h) !important;
			display: block !important;
			object-fit: cover !important;

			border: 0 !important;
			outline: 0 !important;
			box-shadow: none !important;
		}

		/* ============================================================
		 * [CSS-10b] PER-ATTRIBUTE OVERRIDES (safe to edit)
		 * Requirement: first 2 attribute rows should be 50% smaller vertically.
		 * ============================================================ */
		.bb-configurator .cfvsw-swatches-container[swatches-attr="attribute_pa_ring-grundmaterial"]{
			--bb-rpc-image-swatch-w: var(--bb-rpc-image-swatch);
			--bb-rpc-image-swatch-h: calc(var(--bb-rpc-image-swatch) * 0.5);
		}
		.bb-configurator .cfvsw-swatches-container[swatches-attr="attribute_pa_ring-zweitmaterial-einsatz"]{
			--bb-rpc-image-swatch-w: var(--bb-rpc-image-swatch);
			--bb-rpc-image-swatch-h: calc(var(--bb-rpc-image-swatch) * 0.5);
		}

		/* ============================================================
		 * [CSS-11] IMAGE SWATCH CAPTION (ONLY for image swatches)
		 * Keep it neutral so plugin overlays/disabled classes can affect it.
		 * ============================================================ */
		.bb-configurator .cfvsw-swatches-option .bb-swatch-caption{
			display: none !important;
		}

		.bb-configurator .cfvsw-swatches-option.bb-is-image-swatch .bb-swatch-caption{
			display: inline-block !important;
			font-size: var(--bb-rpc-swatch-caption-size) !important;
			line-height: 1.25 !important;
			font-weight: 400 !important;
			max-width: var(--bb-rpc-swatch-caption-maxw) !important;
			text-align: center !important;
			white-space: normal !important;
			word-break: break-word !important;

			margin-top: 2px !important;
			padding: var(--bb-rpc-swatch-caption-pad-y) var(--bb-rpc-swatch-caption-pad-x) !important;

			/* Do NOT override plugin text color. */
			color: inherit !important;
			background: transparent !important;

			/* avoid hover tooltips / selection conflicts */
			pointer-events: none !important;
		}

		/* ============================================================
		 * [CSS-12] TOOLTIP REMNANTS — HARD DISABLE
		 * ============================================================ */
		.bb-configurator .cfvsw-tooltip,
		.bb-configurator .cfvsw-tooltip-text,
		.bb-configurator .cfvsw-swatch-tooltip,
		.bb-configurator .cfvsw_tooltip,
		.bb-configurator .cfvsw_tooltip_text{
			display: none !important;
			visibility: hidden !important;
			opacity: 0 !important;
			pointer-events: none !important;
		}

		.bb-configurator .cfvsw-swatches-option[data-tooltip]::before,
		.bb-configurator .cfvsw-swatches-option[data-tooltip]::after,
		.bb-configurator .cfvsw-swatches-option[title]::before,
		.bb-configurator .cfvsw-swatches-option[title]::after,
		.bb-configurator .cfvsw-swatch-inner[data-tooltip]::before,
		.bb-configurator .cfvsw-swatch-inner[data-tooltip]::after,
		.bb-configurator .cfvsw-swatch-inner[title]::before,
		.bb-configurator .cfvsw-swatch-inner[title]::after{
			content: none !important;
			display: none !important;
		}

		/* ============================================================
		 * [CSS-13] RESET LINK ROW (Wiederherstellen)
		 * ============================================================ */
		.bb-configurator .composite_component .bb-rpc-reset-row{
			display: block !important;
			width: 100% !important;
			box-sizing: border-box !important;
			margin-top: var(--bb-rpc-reset-top) !important;
			text-align: right !important;
			padding: 0 !important;
		}
		.bb-configurator .composite_component .bb-rpc-reset-row a.reset_variations{
			display: inline-block !important;
			margin: 0 !important;
			text-align: right !important;
			font-size: var(--bb-rpc-label-font) !important;
			font-weight: 400 !important;
		}

		/* ============================================================
		 * [CSS-14] PRICE ROW (centered)
		 * ============================================================ */
		.bb-configurator .composite_component .single_variation_wrap .woocommerce-variation-price{
			display: none !important;
		}
		.bb-configurator .composite_component .woocommerce-variation ul,
		.bb-configurator .composite_component .woocommerce-variation ol{
			display: none !important;
		}
		.bb-configurator .composite_component .bb-rpc-price-row{
			width: 100% !important;
			margin-top: var(--bb-rpc-price-top) !important;
			display: flex !important;
			justify-content: center !important;
			align-items: center !important;
			clear: both !important;
		}
		.bb-configurator .composite_component .bb-rpc-price-row .bb-rpc-price-target,
		.bb-configurator .composite_component .bb-rpc-price-row .bb-rpc-price-target .price{
			margin: 0 !important;
			text-align: center !important;
			display: inline-block !important;
		}
		.bb-configurator .bb-rpc-mobile-top-price{
			display: none;
			text-align: center;
			font-weight: 700;
			margin: 6px 0 8px;
			padding: 0;
		}
		.bb-configurator .bb-rpc-mobile-top-price .price{
			margin: 0 !important;
		}
		@media (max-width: 767px){
			.bb-configurator .bb-rpc-mobile-top-price{
				display: block;
				margin: 0 !important;
				padding: 0 !important;
			}
			.bb-configurator .bb-rpc-mobile-top-price .bb-rpc-mobile-price-side{
				display:inline !important;
				font-size:0.86em !important;
				font-weight:400 !important;
				font-family:inherit !important;
				color:#4b5563 !important;
				text-transform:none !important;
				letter-spacing:0 !important;
				margin-left:2px !important;
				vertical-align:baseline !important;
			}
			.bb-configurator .bb-rpc-price-row{
				display: none !important;
			}
			.bb-configurator .bb-sec-title{
				font-size: 16px !important;
				line-height: 1.25;
			}
			.bb-configurator{
				--bb-rpc-label-font: var(--bb-rpc-label-font-mobile);
			}
		}

		/* ============================================================
		 * [CSS-15] RESPONSIVE
		 * ============================================================ */
		@media (max-width: 980px){
			.bb-configurator{
				--bb-rpc-col-gap: 18px;
				--bb-rpc-img-width: 280px;

				--bb-rpc-label-width: 100%;
				--bb-rpc-label-gap: 0px;

				--bb-rpc-row-pad-y: 10px;
				--bb-rpc-reset-top: 6px;

				/* ✅ RESTORE inner beige padding (we changed the wrong thing before) */
				--bb-rpc-details-pad: 14px;

				--bb-rpc-swatch-caption-maxw: 110px;
			}

			/* ✅ Reduce OUTSIDE white-space so beige card can be wider */
			.bb-configurator .composite_form > .composite_component{
				/* was 44px sides → huge on mobile; tighten hard */
				padding-left: 34px !important;
				padding-right: 10px !important;

				/* keep top/bottom comfortable */
				padding-top: 26px !important;
				padding-bottom: 22px !important;
			}

			/* kill any sneaky side padding from intermediate wrappers */
			.bb-configurator .composite_component .component_selections,
			.bb-configurator .composite_component .component_selections .details,
			.bb-configurator .composite_component .component_selections .details.component_data{
				margin-left: 0 !important;
				margin-right: 0 !important;
			}

			/* ensure the beige box spans full available width */
			.bb-configurator .composite_component .component_selections .details.component_data{
				width: 100% !important;
				max-width: 100% !important;
			}

			/* thumbnails: remove extra outer whitespace above/below */
			.bb-configurator .composite_component .composited_product_images{
				justify-content: center !important;
				margin-top: 0 !important;
				padding: 0 !important;
			}

			.bb-configurator .composite_component table.variations tr.attribute_options{
				display: block !important;
				padding: var(--bb-rpc-row-pad-y) 0 !important;
			}

			.bb-configurator .composite_component table.variations td.label{
				width: 100% !important;
				flex: none !important;
				margin-bottom: 6px !important;
			}

			.bb-configurator .composite_component table.variations td.value{
				width: 100% !important;
			}

			.bb-configurator .composite_component .bb-rpc-reset-row{
				padding-left: 0 !important;
				text-align: right !important;
			}
		}

		/* =========================================================================
		 * BB_CPR_LAYOUT_BREAKPOINT_GUARD_2026_04
		 * - Viewport >=750px: two columns (see BB_CPR_LAYOUT_STABLE_LOAD — canonical).
		 * - Viewport <=749px: single column.
		 * ======================================================================= */
		@media (min-width: 750px){
			.bb-configurator .composite_component .composited_product_details_wrapper{
				display: grid !important;
				/* BB_CPR_DESKTOP_GRID_HARD_SPLIT_2026_04
				 * Hard-code desktop split to avoid fallback to legacy 305px var path. */
				grid-template-columns: minmax(0, 40%) minmax(0, 1fr) !important;
				column-gap: var(--bb-rpc-col-gap) !important;
				row-gap: 0 !important;
			}
		}
		@media (max-width: 749px){
			.bb-configurator .composite_component .composited_product_details_wrapper{
				grid-template-columns: 1fr !important;
				row-gap: 0 !important;
			}
		}

/* =====================================================================
 * UI blocks / ring-size / availability / tech-data styles (scoped)
 * ===================================================================== */

/* =====================================================================
 * Tablet (600–1024px) – Fix large "white gap" under the gallery
 *
 * Cause:
 * - BB CPR forces a fixed image width via --bb-rpc-img-width (e.g. 280px at <=980px).
 * - BB CP Variation Gallery reserves a stable figure height via aspect-ratio.
 * - When the <img> is forced smaller than its <figure>, the reserved space
 *   becomes a visible empty block between gallery and configurator.
 *
 * Fix:
 * - Only when the BB variation gallery is active (.bb-vg-has-gallery), let the
 *   main image fill its figure and prefer the gallery's own alignment rules.
 * ===================================================================== */
@media (min-width: 600px) and (max-width: 1024px){
  /* Let the variation gallery control its own sizing on tablet. */
  .bb-configurator .composite_component .composited_product_images.bb-vg-has-gallery img,
  .bb-configurator .composite_component .composited_product_images.bb-vg-has-gallery .wp-post-image,
  .bb-configurator .composite_component .composited_product_images.bb-vg-has-gallery img.attachment-woocommerce_thumbnail,
  .bb-configurator .composite_component .composited_product_images.bb-vg-has-gallery img.attachment-woocommerce_single{
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* Prevent BB CPR's generic alignments from overriding the gallery layout.
     With flex-direction:column (variation gallery), justify-content:center vertically centers
     the gallery inside the grid row when the configurator column is taller — main image drops
     to align with mid-card content. Keep everything pinned to the top. */
  .bb-configurator .composite_component .composited_product_images.bb-vg-has-gallery{
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }
}

/* BB_CPR_DESKTOP_TABLET_ROW_CENTERING_PARSE_SAFE_2026_04:
   Final simple-selector fallback so the browser cannot drop the whole
   non-mobile centering pass because of a complex state selector. */
@media (min-width: 768px){
  body.single-product .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"],
  body.single-product .bb-configurator .bb-size-block tr.attribute_options,
  body.single-product .bb-configurator .bb-engrave-block tr.attribute_options,
  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr){
    min-height: 62px !important;
    height: 62px !important;
    align-items: center !important;
    overflow: visible !important;
  }

  body.single-product .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] > td.label,
  body.single-product .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] > td.value,
  body.single-product .bb-configurator .bb-size-block tr.attribute_options > td.label,
  body.single-product .bb-configurator .bb-size-block tr.attribute_options > td.value,
  body.single-product .bb-configurator .bb-engrave-block tr.attribute_options > td.label,
  body.single-product .bb-configurator .bb-engrave-block tr.attribute_options > td.value,
  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr) > td.label,
  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr) > td.value{
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    height: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    vertical-align: middle !important;
    transform: none !important;
  }

  body.single-product .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] > td.value > *,
  body.single-product .bb-configurator .bb-size-block tr.attribute_options > td.value > *,
  body.single-product .bb-configurator .bb-engrave-block tr.attribute_options > td.value > *,
  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr) > td.value > *{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  body.single-product .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] .bb-compact-info-toggle,
  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr) .bb-compact-info-toggle{
    transform: translateY(7px) !important;
  }
}

@media (min-width: 768px){
  body.single-product .bb-configurator .bb-addon-block .bb-cpr-addon-row.is-help-open,
  body.single-product .bb-configurator .bb-size-block tr.attribute_options:has(.bb-size-select-wrap:not(.bb-size-hidden)),
  body.single-product .bb-configurator .bb-size-block tr.attribute_options:has(.bb-size-help[data-bb-size-help-visible="1"]),
  body.single-product .bb-configurator .bb-size-block tr.attribute_options.is-help-open,
  body.single-product .bb-configurator .bb-engrave-block tr.attribute_options.is-help-open,
  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options.is-help-open,
  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options:has(.bb-cellstone-place[data-bb-cellstone-tier1-state="with"]){
    height: auto !important;
    min-height: 0 !important;
  }

  body.single-product .bb-configurator .bb-addon-block .bb-cpr-addon-row.is-help-open .bb-compact-info-toggle,
  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options.is-help-open .bb-compact-info-toggle{
    transform: none !important;
  }
}

/* BB_CPR_DESKTOP_TABLET_VISUAL_ROW_BANDS_2026_04:
   Collapse the spacer margins between the separate option blocks so the
   visible Steine-to-Cellstones bands match Gold's row rhythm. */
@media (min-width: 768px){
  body.single-product .bb-configurator .bb-before-size-sep{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  body.single-product .bb-configurator .bb-size-block,
  body.single-product .bb-configurator .bb-engrave-block{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  body.single-product .bb-configurator .bb-cellstone-place-block{
    margin-top: -10px !important;
    margin-bottom: 0 !important;
  }

  body.single-product .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] .bb-compact-info-toggle{
    transform: translateY(6px) !important;
  }

  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr) .bb-compact-info-toggle{
    transform: translateY(7px) !important;
  }
}

	/* ---------- Section titles (German) ---------- */
	.bb-configurator .details.component_data .bb-sec-title{
		font-weight: 900;
		font-size: 18px !important;
		margin: 6px 0 8px 0;
		line-height: 1.25;
	}
	.bb-configurator .bb-sec-title{
		font-size: 18px !important;
		line-height: 1.25;
	}
	.bb-configurator .details.component_data .bb-sec-title--config{ margin-top: 0; }
	.bb-configurator .details.component_data .bb-sec-title--avail{
		margin-top: 0 !important;
		margin-bottom: 12px !important;
	}
	.bb-configurator .details.component_data .bb-sec-title--tech{ margin: 6px 0 8px 0; }

	/* Keep your existing attribute layout intact */
	.bb-configurator .details.component_data table.variations{ margin-top: 0 !important; }

	/* separator above “Ringgröße” */
	.bb-configurator .details.component_data .bb-before-size-sep{
		height: 1px !important;
		width: 100% !important;
		background: rgba(0,0,0,.08) !important;
		margin: 14px 0 10px 0 !important;
	}

	/* ---------- Ring size block (above Wiederherstellen) ---------- */
	.bb-configurator .details.component_data .bb-size-block{ margin: 6px 0 0 0 !important; padding: 0 !important; }
	.bb-configurator .details.component_data .bb-engrave-block{ margin: 10px 0 0 0 !important; padding: 0 !important; }
	.bb-configurator .details.component_data .bb-cellstone-place-block{
		margin: 0 !important;
		padding: 0 !important;
		border-top: 1px solid var(--bb-rpc-sep-color) !important;
	}

@media (max-width: 767px){
	body.single-product .bb-configurator .bb-cpr-info-panel--cellstones .bb-cpr-info-close-wrap{
		display: block !important;
		padding-top: 18px !important;
	}
	body.single-product .bb-configurator .bb-cpr-info-panel--cellstones .bb-cpr-info-close{
		margin-top: 0 !important;
	}
}

	/* Desktop/tablet compact block rhythm: keep the separate option modules
	   visually aligned with the Gold/Steine table row height. */
	@media (min-width: 768px){
		body.single-product .bb-configurator .details.component_data .bb-before-size-sep,
		body.single-product .bb-configurator .bb-before-size-sep{
			margin-top: 0 !important;
			margin-bottom: 0 !important;
		}

		body.single-product .bb-configurator .details.component_data .bb-size-block,
		body.single-product .bb-configurator .details.component_data .bb-engrave-block,
		body.single-product .bb-configurator .bb-size-block,
		body.single-product .bb-configurator .bb-engrave-block{
			margin-top: 0 !important;
			margin-bottom: 0 !important;
		}

		body.single-product .bb-configurator .details.component_data .bb-cellstone-place-block,
		body.single-product .bb-configurator .bb-cellstone-place-block{
			margin-top: -10px !important;
			margin-bottom: 0 !important;
		}

		body.single-product .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] .bb-compact-info-toggle{
			transform: translateY(6px) !important;
		}

		body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr) .bb-compact-info-toggle{
			transform: translateY(7px) !important;
		}

		body.single-product .bb-configurator .bb-addon-block .bb-cpr-addon-row.is-help-open .bb-compact-info-toggle,
		body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options.is-help-open .bb-compact-info-toggle{
			transform: none !important;
		}

		body.single-product .bb-configurator .bb-addon-block .bb-cpr-addon-row.is-help-open > td.value,
		body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options.is-help-open > td.value{
			display: block !important;
			height: auto !important;
			align-self: start !important;
		}
	}

	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] td.value{
		text-align: left !important;
		vertical-align: top !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] td.label{
		vertical-align: top !important;
		padding-top: 0 !important;
	}

	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] td.value .bb-size-ui{
		--bb-size-pill-w: 280px;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		gap: 0 !important;
	}

	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] td.value .bb-size-toggle{
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		gap: 6px !important;
		width: auto !important;
		max-width: 420px !important;
	}

	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] .bb-size-opt{
		width: auto !important;
		max-width: 420px !important;
		box-sizing: border-box !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 8px !important;
		padding: 6px 10px !important;
		border: 1px solid rgba(0,0,0,.12) !important;
		border-radius: 3px !important;
		background: #fff !important;
		cursor: pointer !important;
		font-size: 13px !important;
		line-height: 1.15 !important;
		margin: 0 !important;
	}

	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] .bb-size-help{ display:block !important; font-size:13px !important; opacity:0.85 !important; margin:0 !important; line-height:1.3 !important; width:auto !important; max-width:100% !important; }

	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] .bb-size-select-wrap{
		margin-top: 0 !important;
		width: 240px !important;
		max-width: 100% !important;
	}
	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] .bb-size-select-wrap:not(.bb-size-hidden){
		margin-top: 8px !important;
	}
	.bb-size-hidden{ display:none !important; }

	/* Row 4 + row 6: shared native <select> — white background, custom chevron (replaces OS arrow). */
	.bb-configurator select.bb-cpr-select{
		appearance: none !important;
		-webkit-appearance: none !important;
		-moz-appearance: none !important;
		width: 100% !important;
		box-sizing: border-box !important;
		background-color: #fff !important;
		color: #111 !important;
		border: 1px solid rgba(0,0,0,.12) !important;
		border-radius: 3px !important;
		font-size: 14px !important;
		line-height: 1.2 !important;
		height: 34px !important;
		cursor: pointer !important;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23222' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5l3 3 3-3'/%3E%3C/svg%3E") !important;
		background-repeat: no-repeat !important;
		background-position: right 10px center !important;
		background-size: 12px 12px !important;
		padding: 6px 32px 6px 10px !important;
	}

	/* ---------- Compact native rows: Steine / Gold ---------- */
.bb-configurator{
	--bb-cpr-compact-label-w: clamp(76px, 22vw, 96px);
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

/* Tablet+desktop: keep label columns aligned (rows 2–5) */
@media (min-width: 768px){
	.bb-configurator .bb-addon-block,
	.bb-configurator .bb-size-block,
	.bb-configurator .bb-engrave-block,
	.bb-configurator .bb-cellstone-place-block{
		--bb-cpr-compact-label-w: 125px;
	}
}
	.bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr){
		display:grid !important;
		grid-template-columns:minmax(0, var(--bb-cpr-compact-label-w)) minmax(0, 1fr) !important;
		column-gap:12px !important;
		align-items:flex-start !important;
	}
	.bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.label{
		display:flex !important;
		flex-direction:column !important;
		align-items:flex-start !important;
		align-self:start !important;
		gap:2px !important;
		width:auto !important;
		padding-right:0 !important;
	}
	.bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.label > label{
		display:block !important;
		width:100% !important;
		line-height:1.15 !important;
		white-space:normal !important;
	}
	.bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.value{
		min-width:0 !important;
		width:auto !important;
	}
	.bb-configurator .bb-compact-info-toggle{
		display:inline-flex !important;
		align-items:center !important;
		justify-content:center !important;
		flex:0 0 auto !important;
		min-width:26px !important;
		min-height:26px !important;
		width:26px !important;
		height:26px !important;
		margin:0 !important;
		padding:0 !important;
		border:1px solid rgba(0,0,0,.1) !important;
		border-radius:999px !important;
		background:#fff !important;
		color:#1a1a1a !important;
		line-height:0 !important;
		box-shadow:none !important;
		cursor:pointer !important;
		-webkit-tap-highlight-color:transparent !important;
	}
	.bb-configurator .bb-compact-info-toggle .bb-cpr-info-icon{
		display:block !important;
		width:18px !important;
		height:18px !important;
		margin:0 !important;
		pointer-events:none !important;
	}
	.bb-configurator .bb-compact-info-toggle:hover,
	.bb-configurator .bb-compact-info-toggle:focus-visible{
		border-color:rgba(0,0,0,.28) !important;
		background:#fafafa !important;
	}
	/* Mobile: pin toggle to top when it sits in flow (non-absolute edge cases) */
	@media (max-width: 599px){
		.bb-configurator .bb-compact-info-toggle{
			align-self:flex-start !important;
		}
	}
	.bb-configurator .bb-compact-help{
		display:none !important;
		width:100% !important;
		margin-top:6px !important;
		font-size:13px !important;
		line-height:1.35 !important;
		opacity:.9 !important;
	}
	.bb-configurator .composite_component table.variations tr.bb-compact-attr-row.is-help-open td.value > .bb-compact-help{
		display:block !important;
	}
	.bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.value .cfvsw-swatches-container{
		display:flex !important;
		flex-wrap:wrap !important;
		justify-content:flex-start !important;
		width:auto !important;
		max-width:100% !important;
		gap:4px !important;
	}
	.bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.value .cfvsw-swatches-option{
		display:inline-flex !important;
		align-items:center !important;
		justify-content:center !important;
		-webkit-appearance:none !important;
		appearance:none !important;
		box-sizing:border-box !important;
		flex:0 0 auto !important;
		min-width:0 !important;
		min-height:0 !important;
		padding:6px 10px !important;
		margin:0 !important;
		border-radius:3px !important;
		font-size:13px !important;
		line-height:1.1 !important;
		white-space:nowrap !important;
	}
	.bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.value .cfvsw-swatches-option .cfvsw-swatch-inner{
		display:inline-flex !important;
		align-items:center !important;
		justify-content:center !important;
		min-width:0 !important;
		min-height:0 !important;
		padding:0 !important;
		line-height:1.1 !important;
		box-sizing:border-box !important;
	}
	.bb-configurator .bb-size-block table.variations tr.attribute_options{
		display:grid !important;
		grid-template-columns:minmax(0, var(--bb-cpr-compact-label-w)) minmax(0, 1fr) !important;
		column-gap:12px !important;
		align-items:start !important;
	}
	.bb-configurator .bb-size-block table.variations tr.attribute_options td.label{
		width:auto !important;
		padding-right:0 !important;
		display:flex !important;
		flex-direction:column !important;
		align-items:flex-start !important;
		gap:2px !important;
	}
	.bb-configurator .bb-size-block table.variations tr.attribute_options td.value{
		min-width:0 !important;
		width:auto !important;
	}
	.bb-configurator .bb-size-block table.variations tr.attribute_options td.label > label{
		display:block !important;
		width:100% !important;
		line-height:1.15 !important;
		white-space:normal !important;
	}
	.bb-configurator .bb-engrave-block table.variations tr.attribute_options{
		display:grid !important;
		grid-template-columns:minmax(0, var(--bb-cpr-compact-label-w)) minmax(0, 1fr) !important;
		column-gap:12px !important;
		align-items:start !important;
	}
	.bb-configurator .bb-engrave-block table.variations tr.attribute_options td.label{
		width:auto !important;
		padding-right:0 !important;
		display:flex !important;
		flex-direction:column !important;
		align-items:flex-start !important;
		gap:2px !important;
		align-self:start !important;
	}
	.bb-configurator .bb-engrave-block table.variations tr.attribute_options td.label > label{
		display:block !important;
		width:100% !important;
		line-height:1.15 !important;
		white-space:normal !important;
	}
	.bb-configurator .bb-engrave-block table.variations tr.attribute_options td.value{
		min-width:0 !important;
		width:auto !important;
		vertical-align:top !important;
	}
	.bb-configurator .bb-engrave-ui{
		display:flex !important;
		flex-direction:column !important;
		gap:10px !important;
		width:100% !important;
	}
	.bb-configurator .bb-engrave-swatchwrap{
		width:100% !important;
	}
	.bb-configurator .bb-engrave-swatches{
		display:flex !important;
		flex-wrap:wrap !important;
		justify-content:flex-start !important;
		gap:6px !important;
		width:auto !important;
		max-width:100% !important;
	}
	.bb-configurator .bb-engrave-swatches .cfvsw-swatches-option{
		padding:6px 9px !important;
		font-size:13px !important;
		line-height:1.15 !important;
		min-width:0 !important;
	}
	.bb-configurator .bb-engrave-panel-shell{
		width:100% !important;
		margin-top:10px !important;
	}
	.bb-configurator .bb-engrave-panel-shell .bb-engrave-panel{
		margin-top:0 !important;
	}
	.bb-configurator .bb-size-ui .bb-size-toggle{
		display:flex !important;
		flex-direction:row !important;
		flex-wrap:nowrap !important;
		align-items:stretch !important;
		gap:5px !important;
		width:100% !important;
		max-width:none !important;
	}
	.bb-configurator .bb-size-ui .bb-size-opt{
		position:relative !important;
		display:flex !important;
		flex:0 0 auto !important;
		align-items:center !important;
		justify-content:center !important;
		padding:6px 10px !important;
		border:1px solid rgba(0,0,0,.18) !important;
		border-radius:3px !important;
		background:#fff !important;
		font-size:13px !important;
		line-height:1.15 !important;
		width:clamp(150px, 46vw, 180px) !important;
		max-width:clamp(150px, 46vw, 180px) !important;
		min-width:0 !important;
		text-align:center !important;
		white-space:normal !important;
	}
	.bb-configurator .bb-size-ui .bb-size-opt.is-selected{
		border:2px solid #000 !important;
		padding:5px 9px !important;
	}
	.bb-configurator .bb-size-ui .bb-size-opt span{
		display:block !important;
		width:100% !important;
		text-align:center !important;
		font-size:13px !important;
		line-height:1.15 !important;
	}
	.bb-configurator .bb-size-ui .bb-size-opt input[type="radio"]{
		position:absolute !important;
		width:1px !important;
		height:1px !important;
		margin:-1px !important;
		padding:0 !important;
		border:0 !important;
		overflow:hidden !important;
		clip:rect(0 0 0 0) !important;
		clip-path:inset(50%) !important;
	}
	.bb-configurator .bb-size-ui .bb-size-help{
		width:100% !important;
		display:block !important;
		margin:0 !important;
		font-size:13px !important;
		line-height:1.35 !important;
		opacity:.9 !important;
	}
	.bb-configurator .bb-size-ui .bb-size-help[data-bb-size-help-visible="1"]{
		margin:6px 0 0 0 !important;
	}
	.bb-configurator .bb-size-ui .bb-size-select{
		font-size:14px !important;
	}
	.bb-configurator .bb-size-ui .bb-size-select-wrap{
		width:min(260px, 100%) !important;
		margin-top:0 !important;
	}
	.bb-configurator .bb-size-ui .bb-size-select-wrap:not(.bb-size-hidden){
		margin-top:8px !important;
	}
	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] td.value .bb-size-toggle{
		display:flex !important;
		flex-direction:row !important;
		flex-wrap:nowrap !important;
		align-items:stretch !important;
		gap:8px !important;
		width:100% !important;
		max-width:none !important;
	}
	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] .bb-size-opt{
		display:flex !important;
		flex:1 1 0 !important;
		width:auto !important;
		max-width:none !important;
		min-width:0 !important;
		justify-content:center !important;
		text-align:center !important;
	}
	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] .bb-size-opt span{
		display:block !important;
		width:100% !important;
		text-align:center !important;
	}
	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] .bb-size-toggle > .bb-size-opt,
	.bb-configurator .bb-size-ui .bb-size-toggle > .bb-size-opt{
		-webkit-appearance:none !important;
		appearance:none !important;
		border:1px solid rgba(17,24,39,.22) !important;
		box-shadow:inset 0 0 0 1px rgba(17,24,39,.08) !important;
		background:#fff !important;
		color:#111 !important;
		border-radius:3px !important;
	}
	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] .bb-size-toggle > .bb-size-opt.is-selected,
	.bb-configurator .bb-size-ui .bb-size-toggle > .bb-size-opt.is-selected{
		border:2px solid #111 !important;
		box-shadow:none !important;
		background:#fff !important;
	}
	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] .bb-size-help{
		display:block !important;
		width:100% !important;
		margin:0 !important;
	}
	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] .bb-size-help[data-bb-size-help-visible="1"]{
		margin:6px 0 0 0 !important;
	}
	/* Overrides display:block !important above when no tier-1 choice or „Bekannt“ — set via data-bb-size-help-visible in JS */
	.bb-configurator .bb-size-ui .bb-size-help[data-bb-size-help-visible="0"],
	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] .bb-size-help[data-bb-size-help-visible="0"]{
		display:none !important;
		margin:0 !important;
		padding:0 !important;
		height:0 !important;
		overflow:hidden !important;
	}
	.bb-configurator .bb-rpc-reset-row{
		display:grid !important;
		grid-template-columns:minmax(0, var(--bb-cpr-compact-label-w)) minmax(0, 1fr) !important;
		column-gap:12px !important;
		align-items:start !important;
		padding-left:0 !important;
	}
	.bb-configurator .bb-rpc-reset-row a.reset_variations{
		grid-column:2 !important;
		justify-self:end !important;
	}

	/* =========================================================
	   Engraving UI (matches existing configurator visual language)
	   ========================================================= */
	.bb-configurator .bb-engrave-ui{ width:100% !important; }
	/* Engraving enable control: CFVSW-style label swatches */
	.bb-configurator .bb-engrave-swatchwrap{ width:100% !important; }
	
	/* --- Engraving swatches: match CFVSW selected look (like Diamant) --- */
	.bb-configurator .bb-engrave-swatches .cfvsw-swatches-option{
		box-sizing:border-box !important;
		border:1px solid rgba(0,0,0,0.22) !important;
		box-shadow:none !important;
		background:#fff !important;
		padding:7px 10px !important;
		font-size:13px !important;
		line-height:1.15 !important;
	}
	.bb-configurator .bb-engrave-swatches .cfvsw-swatches-option.cfvsw-selected-swatch{
		border:2px solid #000 !important;
		box-shadow:none !important;
	}
	.bb-configurator .bb-engrave-swatches .cfvsw-swatches-option .cfvsw-swatch-inner{ border:none !important; }

	/* --- Cellstones (step 6): tier 1 (Ohne / Mit) + tier 2 placement --- */
	/* Match Gravur / compact rows: padding + line-height (see .bb-engrave-swatches .cfvsw-swatches-option). */
.bb-configurator .bb-cellstone-tier1-swatches{
	display:flex !important;
	flex-wrap:wrap !important;
	width:100% !important;
	gap:6px !important;
	align-content:flex-start !important;
	margin-top:0 !important;
}
.bb-configurator .bb-cellstone-tier1-swatches .bb-cellstone-tier1-swatch{
	flex:0 0 calc(50% - 3px) !important;
	max-width:calc(50% - 3px) !important;
	margin:0 !important;
	box-sizing:border-box !important;
	border:1px solid rgba(0,0,0,0.22) !important;
	box-shadow:none !important;
	background:#fff !important;
	padding:6px 9px !important;
	font-size:13px !important;
	line-height:1.15 !important;
	min-width:0 !important;
}
.bb-configurator .bb-cellstone-tier1-swatches .bb-cellstone-tier1-swatch.cfvsw-selected-swatch{
	border:2px solid #000 !important;
	box-shadow:none !important;
}
.bb-configurator .bb-cellstone-tier2.bb-cellstone-tier2--collapsed{
	display:none !important;
}
.bb-configurator .bb-cellstone-tier2:not(.bb-cellstone-tier2--collapsed){
	margin-top:6px !important;
}
/* Tier 2: placement dropdown (aligned with Ringgröße select). */
.bb-configurator .bb-cellstone-select-wrap{
	width:min(260px, 100%) !important;
	max-width:100% !important;
	margin-top:4px !important;
}
.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Cellstones"] .bb-cellstone-select-wrap{
	margin-top:4px !important;
	width:240px !important;
	max-width:100% !important;
}

.bb-configurator .bb-cellstone-place-block{ margin-bottom: 0 !important; }

tr.attribute_options[data-attribute_label="Cellstones"] > td{
	vertical-align: middle !important;
}

/* --- Font dropdown with font previews (custom list) --- */
	html.bb-cpr-js .bb-configurator .bb-engrave-select.bb-fontpick__native{
		position:absolute !important;
		left:-9999px !important;
		width:1px !important;
		height:1px !important;
		opacity:0 !important;
		pointer-events:none !important;
	}
	.bb-configurator .bb-fontpick{ position:relative !important; width:100% !important; }
	.bb-configurator .bb-fontpick__btn{
		width:100% !important;
		display:flex !important;
		align-items:center !important;
		justify-content:space-between !important;
		gap:10px !important;
		min-height:58px !important;
		padding:14px 12px !important;
		border:1px solid rgba(0,0,0,0.25) !important;
		border-radius:10px !important;
		background:#fff !important;
		cursor:pointer !important;
		color:#000 !important;
		text-transform:none !important;
	}
	.bb-configurator .bb-fontpick__btn:hover,
	.bb-configurator .bb-fontpick__btn:focus{ color:#000 !important; background:#fff !important; }
	.bb-configurator .bb-fontpick__btntxt{ font-size:16px !important; line-height:1.1 !important; color:#000 !important; text-transform:none !important; }
	.bb-configurator .bb-fontpick__caret{ opacity:.7 !important; font-size:16px !important; line-height:1 !important; color:#000 !important; }
	.bb-configurator .bb-fontpick__list{
		position:absolute !important;
		left:0 !important; right:0 !important;
		top:calc(100% + 6px) !important;
		z-index:9999 !important;
		background:#fff !important;
		border:1px solid rgba(0,0,0,0.18) !important;
		border-radius:12px !important;
		box-shadow:0 10px 30px rgba(0,0,0,0.12) !important;
		max-height:320px !important;
		overflow:auto !important;
		padding:6px !important;
		display:none !important;
	}
	.bb-configurator .bb-fontpick.is-open .bb-fontpick__list{ display:block !important; }
	.bb-configurator .bb-fontpick__opt{
		padding:10px 10px !important;
		border-radius:10px !important;
		cursor:pointer !important;
		font-size:18px !important;
		line-height:1.2 !important;
		color:#000 !important;
		text-transform:none !important;
	}
	.bb-configurator .bb-fontpick__opt:hover{
		background: rgba(0,0,0,0.06) !important;
		color:#000 !important;
	}
	.bb-configurator .bb-fontpick__meta{
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
		font-size:14px !important;
		opacity:0.7 !important;
		margin-left:6px !important;
		color:#000 !important;
		text-transform:none !important;
	}
	.bb-configurator .bb-fontpick__opt.is-selected{
		background: rgba(0,0,0,0.08) !important;
		font-weight:700 !important;
	}

	.bb-configurator .bb-engrave-swatches{ display:flex !important; flex-wrap:wrap !important; gap:6px !important; width:100% !important; }
	.bb-configurator .bb-engrave-block table.variations tr.attribute_options td.value{ vertical-align:top !important; }
	.bb-configurator .bb-engrave-swatches .bb-engrave-swatch,
	.bb-configurator .bb-cellstone-tier1-swatches .bb-cellstone-tier1-swatch,
	.bb-configurator table.variations .cfvsw-swatches-option{ cursor:pointer !important; touch-action:manipulation !important; -webkit-tap-highlight-color:transparent !important; }
	.bb-configurator .bb-engrave-swatches .cfvsw-swatches-option{ padding:6px 9px !important; line-height:1.15 !important; min-width:0 !important; }
	.bb-configurator .bb-engrave-help{ display:none !important; }
	.bb-configurator .bb-engrave-panel{ margin-top:10px !important; padding:14px !important; border:1px solid rgba(0,0,0,0.08) !important; border-radius:14px !important; background:#fff !important; }
	.bb-configurator .bb-engrave-row{ margin:0 0 14px 0 !important; }
	.bb-configurator .bb-engrave-row--preview{ margin:0 0 8px 0 !important; }
	.bb-configurator .bb-engrave-row--preview .bb-engrave-row__labelOnly{ margin:0 0 2px 0 !important; }
	.bb-configurator .bb-engrave-row__head{ display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; margin-bottom:6px !important; flex-wrap:wrap !important; }
	.bb-configurator .bb-engrave-row__label{ font-weight:700 !important; }
	.bb-configurator .bb-engrave-row__charsline{ display:flex !important; justify-content:flex-end !important; align-items:center !important; gap:10px !important; flex-wrap:wrap !important; margin-top:10px !important; font-size:13px !important; }
	.bb-configurator .bb-engrave-row__charslabel{ opacity:.9 !important; }
	/* Special char chips: slightly smaller + tighter padding so they fit on one line */
	.bb-configurator .bb-engrave-row__charsline{ gap:8px !important; }
	/* Special character chips: slightly smaller and tighter so they fit one line */
	.bb-configurator .bb-engrave-char{ appearance:none !important; border:1px solid rgba(0,0,0,0.18) !important; background:#fff !important; color:#000 !important; border-radius:8px !important; padding:2px 6px !important; margin:0 !important; font-size:15px !important; line-height:1 !important; cursor:pointer !important; }
	.bb-configurator .bb-engrave-char:hover{ background: var(--e-global-color-primary, #0ea5e9) !important; color:#000 !important; }
	.bb-configurator .bb-engrave-input,
	.bb-configurator .bb-engrave-select,
	.bb-configurator .bb-engrave-textarea{ width:100% !important; box-sizing:border-box !important; border:1px solid rgba(0,0,0,0.22) !important; border-radius:10px !important; padding:10px 12px !important; }
	/* Engraving input: a bit smaller font so long names don't look oversized */
	.bb-configurator .bb-engrave-input{ height:54px !important; font-size:14px !important; line-height:1.2 !important; }
	/* Dropdown: avoid bottom clipping on script fonts */
	.bb-configurator .bb-engrave-select{
		height:58px !important;
		line-height:1.2 !important;
		padding:14px 12px !important;
	}
	/* Remarks same visual height as engraving input (still resizable) */
	.bb-configurator .bb-engrave-textarea{ min-height:54px !important; resize:vertical !important; }

	/* Engraving enable swatches: mirror Variation Swatches (CFVSW) selected styling */
	.bb-configurator .bb-engrave-swatches{
		/* Make the selected border “bold” like your Diamant swatch */
		--cfvsw-swatches-border-width: 2px;
		--cfvsw-swatches-border-color: #000;
		--cfvsw-swatches-border-color-hover: #00000090;
	}
	.bb-configurator .bb-engrave-swatches .cfvsw-swatches-option{
		border-style: solid !important;
		border-color: rgba(0,0,0,0.22) !important;
		border-width: 1px !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
		padding:7px 10px !important;
		font-size:13px !important;
		line-height:1.15 !important;
	}
	.bb-configurator .bb-engrave-swatches .cfvsw-swatches-option:not(.cfvsw-swatches-disabled, .cfvsw-swatches-out-of-stock):hover{
		border-color: var(--cfvsw-swatches-border-color-hover, #00000090) !important;
	}
	.bb-configurator .bb-engrave-swatches .cfvsw-swatches-option.cfvsw-selected-swatch{
		border-color: var(--cfvsw-swatches-border-color, #000) !important;
		border-width: var(--cfvsw-swatches-border-width, 2px) !important;
		box-shadow: none !important;
	}
	.bb-configurator .bb-engrave-row__labelOnly{ font-weight:700 !important; margin: 0 0 6px 0 !important; }
	.bb-configurator .bb-engrave-note{ margin-top:8px !important; font-size:12.5px !important; opacity:0.8 !important; line-height:1.35 !important; }

	/* Live preview (plain DIV, NOT an input) */
	.bb-configurator .bb-engrave-preview{
		width:100% !important;
		min-height:70px !important; /* tighter vertical space */
		border:none !important;
		border-radius:0 !important;
		padding:0 !important;
		box-sizing:border-box !important;
		background:transparent !important;
		display:flex !important;
		align-items:center !important;
		justify-content:center !important;
	}
	.bb-configurator .bb-engrave-preview .bb-engrave-preview__text{
		font-size:56px !important;
		letter-spacing:2px !important;
		line-height:1.05 !important;
		color:#000 !important;
		text-align:center !important;
		max-width:100% !important;
		word-break: break-word !important;
	}

	.bb-configurator .details.component_data table.variations tr.attribute_options[data-attribute_label="Ringgröße"] .bb-size-opt{
		box-sizing: border-box !important;
	}

	/* ---------- Availability cards (restored) ---------- */
	.bb-avail-block{ margin-top: 12px !important; }
	.bb-configurator .bb-cellstone-suitable{
		margin-top: 0 !important;
		margin-bottom: 4px !important;
		padding: 12px 14px !important;
		border-radius: 12px !important;
		background: #F4FBF7 !important;
		border: 1px solid rgba(47,163,107,.22) !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}
	.bb-configurator .bb-cellstone-suitable__left{ display:flex; align-items:center; gap:10px; min-width:0; }
	.bb-configurator .bb-cellstone-suitable__text{ font-weight:400 !important; line-height:1.25 !important; font-size:14px !important; text-align:left !important; width:auto !important; margin:0 !important; }
	.bb-configurator .bb-cellstone-suitable__text span{ font-weight:500 !important; opacity:.9 !important; }
	.bb-configurator .bb-cellstone-suitable__link{ font-weight:800 !important; text-decoration: underline !important; white-space: nowrap !important; font-size: 14px !important; }

	.bb-dummy-available{
		margin-top: 0 !important;
		margin-bottom: 18px !important;
		padding: 12px 14px !important;
		border-radius: 12px !important;
		background: #F5F5F5 !important;
		border: 1px solid rgba(0,0,0,.10) !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}
	.bb-dummy-available__text{ font-weight:700 !important; line-height:1.25 !important; font-size:14px !important; }
	.bb-dummy-available__text span{ font-weight:500 !important; opacity:.9 !important; }
	.bb-dummy-inline-note{ font-weight:500 !important; opacity:.85 !important; }
	.bb-dummy-available__link{ font-weight:800 !important; text-decoration: underline !important; white-space: nowrap !important; font-size: 14px !important; }

	/* spacing under cards before tech separator */
	.bb-configurator .bb-cellstone-suitable{ margin-bottom: 10px !important; }
	.bb-dummy-available{ margin-bottom: 22px !important; }

	/* ---------- Technical data ---------- */
	.bb-specs-block{ margin-top: 14px; }
	.bb-specs-top-sep{ display:none !important; }
.bb-specs-title{ font-weight: 900; font-size: 14px; margin: 0 0 8px 0; }
	.bb-specs-block table.variations td.value{ font-size: 14px !important; line-height: 1.35 !important; }
	.bb-specs-block table.variations td.label label{ font-size: var(--bb-rpc-label-font) !important; }

	.bb-configurator .bb-gold-note{ margin-top: 6px !important; font-size: 13px !important; line-height: 1.35 !important; opacity: .9 !important; }
	.bb-configurator .bb-gold-note-line{
		display: block !important;
	}

	.bb-configurator .reset_variations_wrapper,
	.bb-configurator .reset_variations_wrapper_fixed{
		display: none !important;
	}

	.bb-configurator table.variations .required,
	.bb-configurator table.variations .woocommerce-required,
	.bb-configurator table.variations .required:before{
		display: none !important;
	}

	.bb-configurator .bb-cellstones-cta-wrap{
		margin-top: 12px;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		--bb-secondary-font-size: 18px;
	}

	/* Secondary path: outlined gold — distinct from primary solid #f2da86 */
	.single-product .bb-cellstones-cta{
		background: #FFFDF8 !important;
		background-color: #FFFDF8 !important;
		color: #1A1A1A !important;
		border: 2px solid #B8942E !important;
		border-radius: 12px;
		padding: 15px 20px;
		font-weight: 900;
		font-size: var(--bb-secondary-font-size) !important;
		letter-spacing: .2px;
		text-transform: none !important;
		display: inline-flex !important;
		width: auto !important;
		align-self: flex-start !important;
		box-sizing: border-box !important;
		transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	}
	.single-product .bb-cellstones-cta:hover,
	.single-product .bb-cellstones-cta:focus,
	.single-product .bb-cellstones-cta:focus-visible,
	.single-product .bb-cellstones-cta:active{
		background: #FFF6E0 !important;
		background-color: #FFF6E0 !important;
		color: #1A1A1A !important;
		border-color: #8F7220 !important;
	}

	.bb-configurator .bb-cellstones-card{
		max-width: 720px;
		background: #FFFDF5;
		border: 1px solid rgba(0,0,0,.08);
		border-radius: 14px;
		padding: 14px 16px;
		color: #1A1A1A;
	}
	.bb-configurator .bb-cellstones-card__title{
		font-weight: 900;
		font-size: 1.05em;
		margin-bottom: 8px;
		color: #1A1A1A;
	}
	.bb-configurator .bb-cellstones-card__note{
		font-weight: 400;
		font-size: .98em;
		line-height: 1.4;
		margin: 0 0 10px 0;
		opacity: .95;
	}
	.bb-configurator .bb-cellstones-card__list{ margin:0; padding-left:18px; }
	.bb-configurator .bb-cellstones-card__list li{ margin:6px 0; line-height:1.35; }
	.bb-configurator .bb-muted{ opacity:.85; }

	.single-product .bb-dummy-cta{
		background: #A8C0D4 !important;
		color: #14232F !important;
		border: 1px solid rgba(20,35,47,.12) !important;
		border-radius: 12px;
		padding: 16px 20px;
		font-weight: 900;
		font-size: var(--bb-secondary-font-size) !important;
		letter-spacing: .2px;
		text-transform: none !important;
		display: inline-flex !important;
		width: auto !important;
		align-self: flex-start !important;
		transition: background-color 0.2s ease, border-color 0.2s ease;
	}
	.single-product .bb-dummy-cta:hover,
	.single-product .bb-dummy-cta:focus,
	.single-product .bb-dummy-cta:focus-visible,
	.single-product .bb-dummy-cta:active{
		background: #96B2C9 !important;
		color: #14232F !important;
		border-color: rgba(20,35,47,.18) !important;
	}
	.single-product .bb-dummy-cta:disabled{
		opacity: .58;
		cursor: not-allowed;
	}
	.single-product .bb-dummy-cta--standalone{
		background: transparent !important;
		color: #4b5563 !important;
		border: 0 !important;
		border-radius: 0 !important;
		padding: 0 !important;
		font-weight: 500 !important;
		font-size: 14px !important;
		letter-spacing: 0 !important;
		text-transform: none !important;
		display: inline !important;
		width: auto !important;
		align-self: center !important;
		text-decoration: underline !important;
		text-underline-offset: 2px;
		transition: color 0.2s ease;
		box-shadow: none !important;
	}
	.single-product .bb-dummy-cta--standalone:hover,
	.single-product .bb-dummy-cta--standalone:focus,
	.single-product .bb-dummy-cta--standalone:focus-visible,
	.single-product .bb-dummy-cta--standalone:active{
		background: transparent !important;
		color: #111827 !important;
		border-color: transparent !important;
		box-shadow: none !important;
	}

	.bb-configurator .bb-dummy-section{
		max-width: 720px;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		margin-top: 4px;
	}
	.bb-configurator .bb-dummy-section{
		display: none !important;
	}
	.bb-configurator .bb-dummy-section.is-ready{
		display: flex !important;
	}
	.bb-configurator .bb-dummy-card{
		max-width: 720px;
		background: #EEF4FA;
		border: 1px solid rgba(20,35,47,.10);
		border-radius: 14px;
		padding: 14px 16px;
		color: #1A1A1A;
	}
	.bb-configurator .bb-dummy-card__title{
		font-weight: 900;
		font-size: 1.05em;
		margin-bottom: 8px;
		color: #14232F;
	}
	.bb-configurator .bb-dummy-card__text{ font-size: 1em !important; line-height: 1.45 !important; opacity: .95 !important; color: #1A1A1A !important; }

	/* Dummy-at-home cap row: one full-width outer band, with inner 2-column layout (text + info icon). */
	.bb-configurator .composite_component table.variations tr.bb-dummy-at-home-cap-tr,
	.bb-configurator .bb-card--top table.variations tr.bb-dummy-at-home-cap-tr,
	.bb-configurator .bb-dummy-at-home-fallback table.variations tr.bb-dummy-at-home-cap-tr{
		display: block !important;
		width: calc(100% + 2 * var(--bb-rpc-details-pad, 18px) + 2px) !important;
		max-width: none !important;
		margin-left: calc(-1 * var(--bb-rpc-details-pad, 18px) - 1px) !important;
		margin-right: calc(-1 * var(--bb-rpc-details-pad, 18px) - 1px) !important;
		margin-top: 0 !important;
		margin-bottom: calc(-1 * var(--bb-rpc-details-pad, 18px)) !important;
		box-sizing: border-box !important;
		background: #EEF4FA !important;
		border-radius: 0 0 var(--bb-rpc-details-radius, 14px) var(--bb-rpc-details-radius, 14px) !important;
		position: relative !important;
	}
	/* Desktop/tablet keep the native separator path; mobile restores a centered custom line below. */
	.bb-configurator .composite_component table.variations tr.bb-dummy-at-home-cap-tr::before,
	.bb-configurator .bb-card--top table.variations tr.bb-dummy-at-home-cap-tr::before,
	.bb-configurator .bb-dummy-at-home-fallback table.variations tr.bb-dummy-at-home-cap-tr::before{
		content: none !important;
	}
	/* Fallback (no Cellstones): restore top separator on desktop/tablet. */
	@media (min-width: 768px){
		.bb-configurator .bb-dummy-at-home-fallback table.variations tr.bb-dummy-at-home-cap-tr::before{
			content: "" !important;
			position: absolute !important;
			top: 0 !important;
			left: var(--bb-rpc-details-pad, 18px) !important;
			right: var(--bb-rpc-details-pad, 18px) !important;
			height: 1px !important;
			background: rgba(0,0,0,.06) !important;
			pointer-events: none !important;
		}
	}
	.bb-configurator .composite_component table.variations tr.bb-dummy-at-home-cap-tr > td.value{
		flex: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	/* Keep card clipping predictable: cap sits inside the card edges. */
	.bb-configurator .bb-card-group[data-bb-card-group="1"]:has(tr.bb-dummy-at-home-cap-tr),
	.bb-configurator .bb-card.bb-card--top:has(tr.bb-dummy-at-home-cap-tr){
		overflow: hidden !important;
	}

	/* Outer full-width colored band. */
	.bb-configurator tr.bb-dummy-at-home-cap-tr td.value.bb-dummy-at-home-cap__td,
	.bb-configurator tr.bb-dummy-at-home-cap-tr td.value{
		display: grid !important;
		position: relative !important;
		/* Keep a dedicated icon rail so text centers in main column, not full row. */
		grid-template-columns: minmax(0, 1fr) 36px !important;
		grid-template-areas:
			"main toggle"
			"help help" !important;
		position: relative !important;
		max-width: none !important;
		min-height: 56px !important;
		box-sizing: border-box !important;
		background: transparent !important;
		border: 0 !important;
		border-top: 0 !important;
		border-radius: 0 !important;
		padding: 0 !important;
		vertical-align: middle !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		column-gap: 0 !important;
		row-gap: 0 !important;
		align-items: center !important;
	}
	/* Inner two-column alignment shell: content column + icon rail column. */
	/* Fallback path (Cellstones row missing, cap placed under Gravur): keep row fully inside card. */
	.bb-configurator .bb-dummy-at-home-fallback tr.bb-dummy-at-home-cap-tr td.value.bb-dummy-at-home-cap__td,
	.bb-configurator .bb-dummy-at-home-fallback tr.bb-dummy-at-home-cap-tr td.value{
		padding-bottom: 0 !important;
	}
	.bb-configurator tr.bb-dummy-at-home-cap-tr td.value > .bb-cpr-info-main{
		display: block !important;
		grid-area: main !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 14px 0 14px 14px !important;
		text-align: center !important;
		box-sizing: border-box !important;
	}
	.bb-configurator tr.bb-dummy-at-home-cap-tr td.value > .bb-compact-info-toggle{
		position: absolute !important;
		grid-area: toggle !important;
		right: calc(var(--bb-rpc-details-pad, 18px) + 1px) !important;
		top: 50% !important;
		bottom: auto !important;
		left: auto !important;
		height: 26px !important;
		margin: 0 !important;
		transform: translateY(-50%) !important;
		z-index: 3 !important;
		justify-self: auto !important;
		align-self: auto !important;
		/* Keep the icon in the dedicated right rail and vertically centered with the title. */
	}
	.bb-configurator tr.bb-dummy-at-home-cap-tr td.value > .bb-compact-help{
		grid-area: help !important;
		margin: 0 !important;
	}
	.bb-configurator tr.bb-dummy-at-home-cap-tr td.value > .bb-compact-help{
		position: relative !important;
		width: 100% !important;
		max-width: none !important;
		margin-top: 6px !important;
		padding: 0 14px 14px 14px !important;
		box-sizing: border-box !important;
		clear: both !important;
	}
	.bb-configurator tr.bb-dummy-at-home-cap-tr .bb-dummy-at-home-cap__shell{
		min-height: 44px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}
	.bb-configurator tr.bb-dummy-at-home-cap-tr .bb-dummy-at-home-cap__title{
		color: #000 !important;
		text-transform: none !important;
		font-weight: 600 !important;
		font-size: 15px !important;
		line-height: 1.35 !important;
		text-align: center !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 6px !important;
		box-sizing: border-box !important;
	}
	/* Hide legacy in-table "Erst zuhause ansehen" row; replaced by standalone card. */
	.bb-configurator tr.bb-dummy-at-home-cap-tr,
	.bb-configurator tr[data-bb-dummy-at-home-cap="1"],
	.bb-configurator tr[data-attribute_label="Erst zuhause ansehen"]{
		display: none !important;
	}
	/* Standalone "Erst zuhause ansehen" card below technical-data card. */
	.bb-configurator .bb-dummy-at-home-card{
		display: block;
		margin-top: 12px !important;
		border: 1px solid rgba(0,0,0,.06) !important;
		border-radius: 12px !important;
		background: #eef5ff !important;
		overflow: hidden !important;
	}
	.bb-configurator .bb-dummy-at-home-card .bb-dummy-at-home-cap__shell{
		min-height: 44px !important;
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		padding: 10px 12px !important;
		box-sizing: border-box !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
	}
	.bb-configurator .bb-dummy-at-home-card .bb-cpr-info-main{
		display: block !important;
		width: 100% !important;
		text-align: center !important;
	}
	.bb-configurator .bb-dummy-at-home-card .bb-dummy-at-home-cap__head{
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 6px !important;
		min-height: 28px !important;
	}
	.bb-configurator .bb-dummy-at-home-card .bb-dummy-at-home-cap__head .bb-compact-info-toggle{
		position: static !important;
		right: auto !important;
		top: auto !important;
		transform: none !important;
		flex: 0 0 auto !important;
	}
	.bb-configurator .bb-dummy-at-home-card .bb-dummy-at-home-cap__cta-wrap{
		margin: 10px 0 2px 0 !important;
		display: flex !important;
		justify-content: center !important;
		width: 100% !important;
	}
	.bb-configurator .bb-dummy-at-home-card .bb-dummy-cta--panel{
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		width: 324px !important;
		max-width: 324px !important;
		white-space: normal !important;
		margin: 0 auto !important;
		box-sizing: border-box !important;
	}
	.bb-configurator .bb-dummy-at-home-card .bb-dummy-cta--standalone{
		width: auto !important;
		max-width: 100% !important;
		font-size: 14px !important;
	}
	.bb-configurator .bb-dummy-at-home-card .bb-dummy-at-home-cap__more-wrap{
		margin: 6px 0 0 0 !important;
		display: flex !important;
		justify-content: center !important;
	}
	.bb-configurator .bb-dummy-at-home-card .bb-dummy-at-home-more-info{
		display: inline !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: none !important;
		font: inherit !important;
		font-size: 13px !important;
		font-weight: 500 !important;
		color: rgba(0,0,0,.65) !important;
		text-decoration: underline !important;
		text-transform: none !important;
		letter-spacing: normal !important;
		font-variant: normal !important;
		box-shadow: none !important;
		cursor: pointer !important;
	}
	.bb-configurator .bb-dummy-at-home-card .bb-compact-help{
		display: none !important;
		margin: 0 !important;
		padding: 10px 12px 12px 12px !important;
		border-top: 1px solid rgba(0,0,0,.08) !important;
		background: transparent !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}
	.bb-configurator .bb-dummy-at-home-card.is-help-open .bb-compact-help{
		display: block !important;
	}
	.bb-configurator .bb-dummy-at-home-card .bb-cpr-info-panel--dummy-at-home{
		background: transparent !important;
	}
	.bb-configurator .bb-dummy-at-home-card .bb-dummy-at-home-cap__title{
		color: #000 !important;
		text-transform: none !important;
		font-weight: 600 !important;
		font-size: 15px !important;
		line-height: 1.35 !important;
		text-align: center !important;
		width: auto !important;
		max-width: calc(100% - 34px) !important;
		flex: 0 1 auto !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}
	@media (max-width: 767px){
		.bb-configurator .bb-dummy-at-home-card{
			margin-top: 10px !important;
		}
	}
	.bb-configurator .bb-cpr-info-panel--dummy-at-home{
		text-align: left !important;
	}
	.bb-configurator .bb-cpr-info-panel--dummy-at-home .bb-dummy-at-home-cap__intro{
		font-weight: 700 !important;
		margin: 0 0 8px 0 !important;
		color: #14232F !important;
	}
	.bb-configurator tr.bb-dummy-at-home-cap-tr.is-help-open .bb-cpr-info-panel--dummy-at-home .bb-dummy-at-home-cap__intro{
		margin-top: -20px !important;
	}
	.bb-configurator .bb-cpr-info-panel--dummy-at-home .bb-cpr-info-close-wrap{
		margin-top: 10px !important;
		display: flex !important;
		justify-content: flex-end !important;
		align-items: center !important;
		text-align: right !important;
		width: 100% !important;
	}

	.bb-configurator .bb-card{
		background: var(--bb-rpc-details-bg) !important;
		border-radius: var(--bb-rpc-details-radius) !important;
		padding: var(--bb-rpc-details-pad) !important;
		box-sizing: border-box !important;
	}
	.bb-configurator .bb-card--bottom{ margin-top: 12px !important; }

	.bb-configurator .bb-card-group[data-bb-card-group="1"]{
		border: 1px solid rgba(0,0,0,.08);
		border-radius: 18px;
		overflow: visible;
		padding: 0;
		background: transparent;
	}
	.bb-configurator .bb-card-group .bb-card--top,
	.bb-configurator .bb-card-group .bb-card--middle,
	.bb-configurator .bb-card-group .bb-card--bottom{
		border-radius: 16px !important;
		box-shadow: none !important;
		margin-left: 0;
		margin-right: 0;
	}
		.bb-configurator .bb-card-group .bb-card--middle{ margin-top: 4px !important; }
		.bb-configurator .bb-card-group .bb-card--bottom{ margin-top: 4px !important; }

/* BB_CPR_INLINE_PURCHASE_TOPLEVEL_2026_04: must stay before the legacy mobile media tail. */
body.single-product .bb-configurator form.cart.composite_form .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline,
body.single-product .bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline{
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
}

body.single-product .bb-configurator form.cart.composite_form .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline > .composite_wrap,
body.single-product .bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline > .composite_wrap{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_price,
body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_availability,
body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_button,
body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .e-atc-qty-button-holder{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .single_add_to_cart_button{
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_availability{
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* BB_CPR_INLINE_PURCHASE_SPACING_FINAL_2026_04: keep the relocated CTA visually tied to the dummy panel. */
body.single-product .bb-configurator form.cart.composite_form .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline,
body.single-product .bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline{
  margin-top: 20px !important;
  margin-bottom: -8px !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline > .composite_wrap{
  gap: 8px !important;
  padding: 0 !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_availability{
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_price{
  align-items: center !important;
  line-height: 1.15 !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-caption,
body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-suffix{
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
  top: 1px !important;
  line-height: 1 !important;
}

@media (max-width: 767px){
  body.single-product .bb-configurator form.cart.composite_form .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline,
  body.single-product .bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline{
    margin-bottom: -8px !important;
  }

  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-caption,
  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-suffix{
    top: 15px !important;
  }

  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .single_add_to_cart_button.composite_add_to_cart_button,
  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_button .e-atc-qty-button-holder > button.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button.button.alt{
    width: calc(100% - 36px) !important;
    max-width: calc(100% - 36px) !important;
    flex-basis: calc(100% - 36px) !important;
  }
}

@media (min-width: 768px){
  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline{
    --bb-cpr-inline-atc-width: 360px;
  }

  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .single_add_to_cart_button.composite_add_to_cart_button,
  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_button .e-atc-qty-button-holder > button.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button.button.alt{
    width: 360px !important;
    max-width: min(360px, 100%) !important;
    flex-basis: 360px !important;
    white-space: nowrap !important;
  }
}

body.single-product .bb-configurator form.cart.composite_form .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline,
body.single-product .bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline{
  margin-top: 20px !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline > .composite_wrap{
  gap: 4px !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_price{
  align-items: center !important;
  line-height: 1.15 !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-caption,
body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-suffix{
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
  top: 1px !important;
  line-height: 1 !important;
}

@media (max-width: 767px){
  body.single-product .bb-configurator form.cart.composite_form .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline,
  body.single-product .bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline{
    margin-top: 20px !important;
  }

  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-caption,
  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-suffix{
    top: 7px !important;
  }

  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .single_add_to_cart_button.composite_add_to_cart_button,
  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_button .e-atc-qty-button-holder > button.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button.button.alt{
    width: calc(100% - 36px) !important;
    max-width: calc(100% - 36px) !important;
    flex-basis: calc(100% - 36px) !important;
  }
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline{
  --bb-cpr-inline-atc-gutter: 0px;
  --bb-cpr-inline-atc-width: 360px;
}

@media (max-width: 767px){
  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline{
    --bb-cpr-inline-atc-gutter: 36px;
    --bb-cpr-inline-atc-width: calc(100% - 36px);
  }
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline{
  margin-top: 20px !important;
}

body.single-product .bb-configurator .details.component_data > .bb-dummy-at-home-card + .cart.composite_data.bb-cpr-composite-data-inline{
  margin-top: 20px !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline > .composite_wrap{
  gap: 8px !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_price{
  line-height: 1.15 !important;
  align-items: center !important;
  margin-bottom: 0 !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_price > .price,
body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_price > p.price{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  line-height: 1.15 !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-caption,
body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-suffix{
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
  top: 1px !important;
  line-height: 1 !important;
  vertical-align: baseline !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_button{
  margin-top: 0 !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .single_add_to_cart_button{
  margin-top: 0 !important;
}

@media (min-width: 768px){
  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline{
    margin-top: 22px !important;
  }
}

@media (max-width: 767px){
  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline{
    margin-top: 18px !important;
    margin-bottom: -8px !important;
  }

  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline > .composite_wrap{
    gap: 4px !important;
  }

  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .single_add_to_cart_button{
    width: calc(100% - 36px) !important;
    max-width: calc(100% - 36px) !important;
    min-width: 0 !important;
  }
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_message,
body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_message.inactive{
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline{
  margin-top: 20px !important;
}

body.single-product .bb-configurator .details.component_data > .bb-dummy-at-home-card + .cart.composite_data.bb-cpr-composite-data-inline{
  margin-top: 20px !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline > .composite_wrap{
  gap: 8px !important;
  padding-top: 8px !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_price{
  align-items: center !important;
  line-height: 1.15 !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-caption,
body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-suffix{
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
  top: 1px !important;
  line-height: 1 !important;
}

@media (max-width: 767px){
  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-caption,
  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-suffix{
    top: 15px !important;
  }
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .single_add_to_cart_button{
  margin-top: 0 !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .single_add_to_cart_button.composite_add_to_cart_button{
  width: var(--bb-cpr-inline-atc-width, 284px) !important;
  max-width: var(--bb-cpr-inline-atc-width, 284px) !important;
  min-width: 0 !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_button .e-atc-qty-button-holder > button.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button.button.alt{
  width: var(--bb-cpr-inline-atc-width, 284px) !important;
  max-width: var(--bb-cpr-inline-atc-width, 284px) !important;
  min-width: 0 !important;
  flex: 0 0 var(--bb-cpr-inline-atc-width, 284px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_message{
  display: none !important;
}

@media (max-width: 767px){
	.bb-configurator .bb-dummy-at-home-card .bb-dummy-cta--panel{
		width: 324px !important;
		max-width: 324px !important;
		justify-content: center !important;
	}
	.bb-configurator table.variations tr.attribute_options{
		display: block !important;
	}
		.bb-configurator table.variations td.label,
		.bb-configurator table.variations td.value{
			display: block !important;
			width: 100% !important;
			padding-left: 0 !important;
			padding-right: 0 !important;
		}
		.bb-configurator table.variations td.label{
			margin-bottom: 6px !important;
		}
		.bb-configurator table.variations td.value{
			margin-left: 0 !important;
		}
		.bb-configurator table.variations td.value > *{
			margin-left: 0 !important;
		}
	.bb-configurator .cfvsw-swatches-container{
		margin-left: 0 !important;
		padding-left: 0 !important;
	}
	.bb-configurator .bb-card-group .bb-card--bottom{ margin-top: 4px !important; }

	.bb-configurator .bb-card--top tr.bb-farbvariante-row,
	.bb-configurator .bb-card--top tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr),
	.bb-configurator .bb-size-block,
	.bb-configurator .bb-engrave-block{
		margin-left: -12px !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
	}

	/* Mobile: keep tr full width; bleed is on td (see base cap rules — uses --bb-rpc-details-pad 14px in this range) */
	.bb-configurator .bb-card--top tr.bb-dummy-at-home-cap-tr.bb-compact-attr-row{
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		box-sizing: border-box !important;
	}
	.bb-configurator .bb-card--top tr.bb-dummy-at-home-cap-tr td.value.bb-dummy-at-home-cap__td,
	.bb-configurator .bb-card--top tr.bb-dummy-at-home-cap-tr td.value,
	.bb-configurator .bb-dummy-at-home-fallback tr.bb-dummy-at-home-cap-tr td.value{
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 36px !important;
		grid-template-areas:
			"main toggle"
			"help help" !important;
		border-radius: 0 0 var(--bb-rpc-details-radius, 14px) var(--bb-rpc-details-radius, 14px) !important;
		padding-top: 0 !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
		min-height: 58px !important;
		row-gap: 0 !important;
		align-items: center !important;
	}
	.bb-configurator .bb-cpr-info-panel--dummy-at-home{
		padding-left: 16px !important;
		padding-right: 16px !important;
		box-sizing: border-box !important;
	}


/* BB-CARD BASE FONT */
.bb-configurator .bb-card-group{ font-size: 14px !important; }
.bb-configurator .bb-card{ font-size: inherit !important; }

@media (max-width: 767px){
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-card--top tr.bb-farbvariante-row,
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-card--top tr.bb-compact-attr-row,
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-size-block,
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-engrave-block{
    outline: 3px solid rgba(168,85,247,.95) !important;
    background: linear-gradient(90deg, rgba(250,204,21,.30) 0 18px, rgba(168,85,247,.08) 18px 100%) !important;
    box-shadow: inset 18px 0 0 rgba(250,204,21,.26) !important;
  }
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-card--top tr.bb-farbvariante-row td.label,
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-card--top tr.bb-compact-attr-row td.label,
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-size-block td.label,
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-engrave-block td.label{
    outline: 2px solid rgba(239,68,68,.96) !important;
    background: rgba(239,68,68,.12) !important;
  }
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-card--top tr.bb-farbvariante-row td.value,
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-card--top tr.bb-compact-attr-row td.value,
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-size-block td.value,
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-engrave-block td.value{
    outline: 2px solid rgba(59,130,246,.96) !important;
    background: rgba(59,130,246,.08) !important;
  }
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-card--top tr.bb-farbvariante-row td.label > label,
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-card--top tr.bb-farbvariante-row td.label .cfvsw-selected-label,
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-card--top tr.bb-compact-attr-row td.label > label,
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-size-block td.label > label,
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-engrave-block td.label > label{
    outline: 2px solid rgba(34,197,94,.96) !important;
    background: rgba(34,197,94,.12) !important;
  }
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-size-ui,
  html.bb-cpr-debug-goldfarben .bb-configurator .bb-engrave-ui{
    outline: 2px solid rgba(249,115,22,.96) !important;
    background: rgba(249,115,22,.10) !important;
  }
  html.bb-cpr-debug-goldfarben .bb-configurator::after{
    content:"PURPLE = section row/block\A YELLOW = left inset being lost\A RED = label column\A GREEN = label text\A BLUE = value/control column\A ORANGE = custom control shell" !important;
    position: fixed !important;
    left: 8px !important;
    bottom: 8px !important;
    z-index: 999999 !important;
    white-space: pre-line !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    color: #111827 !important;
    background: rgba(255,255,255,.96) !important;
    border: 2px solid rgba(17,24,39,.22) !important;
    border-radius: 8px !important;
    padding: 8px 10px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.14) !important;
    pointer-events: none !important;
  }
}


@media (max-width: 767px){
  /* Reduce gap between gallery thumbnails and price */
  .single-product div.product .woocommerce-product-gallery{ margin-bottom: 0 !important; }
  .single-product div.product .woocommerce-product-gallery__wrapper{ margin-bottom: 0 !important; }
  .single-product div.product .summary .price,
  .single-product div.product .summary p.price{ margin-top: 0 !important; margin-bottom: 0 !important; }
}

.bb-configurator .bb-cellstone-suitable__text strong{ font-weight:800 !important; }

/* (removed invalid @media block: selectors had no { } — broke CSS parse; mobile price rows are hidden below) */

@media (max-width: 767px){
  .bb-configurator{
    --bb-rpc-label-font: 15px;
  }
}


@media (max-width: 767px){
  .bb-configurator .bb-rpc-reset-row a.reset_variations{
    font-size: var(--bb-rpc-label-font) !important;
    opacity: 1 !important;
  }
}


@media (max-width: 767px){
  .bb-configurator .bb-rpc-price-row{ display:none !important; }
}


@media (max-width: 767px){
  .bb-configurator .bb-dummy-available__text{ text-align:left !important; }
  .bb-configurator .bb-dummy-inline-note{ display:inline !important; }
}


/* FINAL OVERRIDE: mobile should NOT show the secondary per-component price row */
@media (max-width: 767px){
  body.single-product .bb-configurator .bb-rpc-price-row,
  body.single-product .bb-configurator .composite_component .bb-rpc-price-row{
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}


/* Mobile: tighten gap between gallery thumbnails and main price under thumbnails */
@media (max-width: 767px){
  body.single-product div.product .woocommerce-product-gallery{
    margin-bottom: 0 !important;
  }
  body.single-product div.product .woocommerce-product-gallery__wrapper{
    margin-bottom: 0 !important;
  }
  body.single-product div.product .summary .price,
  body.single-product div.product .summary p.price{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}


/* Mobile: improve multiline text spacing on CTA buttons */
@media (max-width: 767px){
  body.single-product button.button.bb-cellstones-cta,
  body.single-product a.button.bb-cellstones-cta,
  body.single-product button.button.bb-dummy-cta,
  body.single-product a.button.bb-dummy-cta{
    line-height: 1.35 !important;      /* fixes the gap between the 2 lines */
    height: auto !important;
    padding-top: 10px !important;      /* restore tighter vertical padding */
    padding-bottom: 10px !important;
    white-space: normal !important;
    text-align: center !important;
  }
}


/* Mobile: remove empty/duplicate top-price placeholders that create extra vertical space */
@media (max-width: 767px){
  .bb-configurator .composite_component .composited_product_title_wrapper{
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
  }
  .bb-configurator .bb-rpc-mobile-top-price:empty{
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
  }
  /* If multiple top-price nodes exist, only the one that actually contains a .price should remain visible */
  .bb-configurator .bb-rpc-mobile-top-price:not(:has(.price)){
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
  }
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] .cfvsw-hidden-select{
    padding-left: 34px !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
}

.bb-configurator .bb-farbvariante-row td.label .cfvsw-selected-label{
  display: none !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .bb-farbvariante-note,
.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .bb-farbvariante-help{
  display: none !important;
}

.bb-configurator .bb-farbvariante-ui{
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  margin-top: 2px;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.bb-configurator .bb-farbvariante-types{
  width: 100%;
}

.bb-configurator .bb-farbvariante-type-track{
  position: relative;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}

.bb-configurator .bb-farbvariante-type-track:before{
  content: '';
  position: absolute;
  left: 18px;
  right: 18px;
  top: 15px;
  height: 2px;
  background: rgba(17, 24, 39, .12);
  z-index: 0;
}

.bb-configurator .bb-farbvariante-type{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #374151;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: color .18s ease;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.bb-configurator .bb-farbvariante-type-dot{
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 2px solid rgba(17, 24, 39, .18);
  background: #fff;
  box-shadow: 0 0 0 5px #faf7f2;
}

.bb-configurator .bb-farbvariante-type-text{
  display: block;
  min-height: 30px;
}

.bb-configurator .bb-farbvariante-type:hover,
.bb-configurator .bb-farbvariante-type:focus,
.bb-configurator .bb-farbvariante-type:focus-visible,
.bb-configurator .bb-farbvariante-type:active{
  color: #111827;
  outline: none;
  box-shadow: none;
  background: transparent !important;
  -webkit-tap-highlight-color: transparent;
}

.bb-configurator .bb-farbvariante-type,
.bb-configurator .bb-farbvariante-type .bb-farbvariante-type-dot,
.bb-configurator .bb-farbvariante-type .bb-farbvariante-type-text{
  -webkit-tap-highlight-color: transparent;
}

.bb-configurator .bb-farbvariante-type:active .bb-farbvariante-type-dot{
  border-color: rgba(17, 24, 39, .18) !important;
  background: #fff !important;
  box-shadow: 0 0 0 6px #faf7f2 !important;
}

.bb-configurator .bb-farbvariante-type.is-active:active .bb-farbvariante-type-dot{
  border-color: #111827 !important;
  background: #111827 !important;
}

.bb-configurator .bb-farbvariante-type.is-unavailable{
  color: rgba(55, 65, 81, .45);
  cursor: default;
}

.bb-configurator .bb-farbvariante-type.is-unavailable .bb-farbvariante-type-dot{
  border-color: rgba(17, 24, 39, .1);
  background: #f5f3ef;
}

.bb-configurator .bb-farbvariante-type.is-active{
  color: #111827;
}

.bb-configurator .bb-farbvariante-type.is-active .bb-farbvariante-type-dot{
  border-color: #111827;
  background: #111827;
}

.bb-configurator .bb-farbvariante-current{
  display: block;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container{
  gap: 3px !important;
}

.bb-configurator .bb-farbvariante-swatch-icon{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bb-configurator .bb-farbvariante-swatch-icon img{
  display: block;
  width: 34px;
  height: 34px;
}

.bb-configurator .bb-farbvariante-current-label{
  color: #111827;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.35;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: opacity .18s ease !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch:hover,
.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch:focus,
.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch:focus-visible{
  box-shadow: none !important;
  background: transparent !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch.cfvsw-selected-swatch{
  box-shadow: none !important;
  outline: 0 !important;
  background: transparent !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch.cfvsw-swatches-disabled,
.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch.cfvsw-swatches-out-of-stock{
  opacity: .48 !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-hidden{
  display: none !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .bb-farbvariante-row-break{
  flex-basis: 100% !important;
  width: 100% !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch .cfvsw-swatch-inner{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: box-shadow .18s ease, background-color .18s ease !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch:hover .cfvsw-swatch-inner,
.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch:focus .cfvsw-swatch-inner,
.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch:focus-visible .cfvsw-swatch-inner{
  box-shadow: 0 0 0 1px rgba(17, 24, 39, .16) !important;
  background: rgba(17, 24, 39, .03) !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch.cfvsw-selected-swatch .cfvsw-swatch-inner{
  box-shadow: 0 0 0 1.5px #111827 !important;
  background: rgba(17, 24, 39, .04) !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch .bb-farbvariante-native-letter{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch .bb-swatch-caption{
  display: none !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch .cfvsw-swatch-inner img{
  display: block !important;
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  margin: 0 auto !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.bb-configurator .bb-farbvariante-swatch-fallback{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  min-height: 24px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.bb-configurator .bb-farbvariante-note{
  margin-top: 6px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  opacity: .9 !important;
}

.bb-configurator .bb-farbvariante-help{
  margin-top: 6px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  opacity: .9 !important;
}

@media (max-width: 767px){
  .bb-configurator .details.component_data,
  .bb-configurator .bb-card-group[data-bb-card-group="1"]{
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .bb-configurator .bb-card-group[data-bb-card-group="1"]{
    width: calc(100% + 12px) !important;
    margin-left: -6px !important;
    margin-right: -6px !important;
    overflow: hidden !important;
    background: var(--bb-rpc-details-bg) !important;
  }

  .bb-configurator .bb-card-group .bb-card--top{
    margin-top: 0 !important;
    border-top-left-radius: 17px !important;
    border-top-right-radius: 17px !important;
  }

  .bb-configurator .bb-farbvariante-ui{
    gap: 8px;
    margin-top: 0;
  }

  .bb-configurator .bb-farbvariante-type-track{
    gap: 8px;
  }

  .bb-configurator .bb-farbvariante-type-track:before{
    left: 16px;
    right: 16px;
    top: 14px;
  }

  .bb-configurator .bb-farbvariante-type{
    font-size: 13px;
  }

  .bb-configurator .bb-farbvariante-type-dot{
    width: 26px;
    height: 26px;
    box-shadow: 0 0 0 4px #faf7f2;
  }

  .bb-configurator .bb-farbvariante-type-text{
    min-height: 28px;
  }

  .bb-configurator .bb-farbvariante-current{
    padding: 0;
    transform: translateY(-5px);
  }

  .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"]{
    padding-left: 0 !important;
  }

  .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] .bb-farbvariante-current{
    padding-left: 18px !important;
  }

  .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container{
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
    align-items: flex-start !important;
    width: calc(100% - 18px) !important;
    max-width: calc(100% - 18px) !important;
    box-sizing: border-box !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 0 0 18px !important;
  }

  .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch{
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    flex: 0 0 48px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch .cfvsw-swatch-inner{
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
  }

  .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch .cfvsw-swatch-inner img{
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    margin: 0 auto !important;
    object-fit: cover !important;
  }

  .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .bb-farbvariante-row-break{
    flex-basis: 100% !important;
    width: 100% !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }

  .bb-configurator .bb-farbvariante-current-label{
    font-size: 13px;
  }

  .bb-configurator .details.component_data .bb-size-block{
    margin: 6px 0 0 -12px !important;
    padding: 0 !important;
  }


  .bb-configurator .bb-card--top .bb-sec-title--config{
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .bb-configurator .bb-card--top{
    padding-top: 6px !important;
    padding-bottom: 2px !important;
  }

  .bb-configurator .bb-card--top table.variations,
  .bb-configurator .bb-card--top .bb-sec-title + table.variations{
    margin-top: 0 !important;
  }

  .bb-configurator .bb-card--top table.variations tbody tr:first-child th,
  .bb-configurator .bb-card--top table.variations tbody tr:first-child td{
    padding-top: 0 !important;
  }

  .bb-configurator .bb-card--top table.variations td.label{
    margin-bottom: 2px !important;
  }
}

@media (max-width: 767px){
  .bb-cpr-ios-touch .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container,
  .bb-cpr-ios-touch .bb-configurator .composite_component table.variations tr.bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container{
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
    align-items: flex-start !important;
    width: calc(100% - 18px) !important;
    max-width: calc(100% - 18px) !important;
    box-sizing: border-box !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 0 0 18px !important;
  }
  .bb-cpr-ios-touch .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .bb-farbvariante-row-break,
  .bb-cpr-ios-touch .bb-configurator .composite_component table.variations tr.bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .bb-farbvariante-row-break{
    flex-basis: 100% !important;
    width: 100% !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }
}

/* =========================================================
   Total price label: append “Gesamtpreis” to composite total
   ========================================================= */
.single-product .composite_price .price .amount,
.single-product .bb-configurator .composite_price .price .amount{
  white-space: nowrap;
}
.single-product .composite_price .price .amount:before,
.single-product .bb-configurator .composite_price .price .amount:before{
  content: none;
  margin-right: 0;
  color: #374151;
  font-weight: 500;
  font-size: 0.92em;
}
.single-product .composite_price .price .bb-cpr-total-suffix,
.single-product .bb-configurator .composite_price .price .bb-cpr-total-suffix{
  color: inherit;
  font-weight: 400;
  font-size: 0.82em;
  white-space: nowrap;
}
.single-product .bb-cpr-total-caption,
.single-product .bb-configurator .bb-cpr-total-caption{
  display: inline-block;
  color: currentColor;
  font-weight: 400;
  font-size: 0.86em;
  line-height: 1.2;
  margin-left: 8px;
  align-self: baseline;
}
.single-product .composite_price,
.single-product .bb-configurator .composite_price{
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
}
.single-product .composite_price > .price,
.single-product .bb-configurator .composite_price > .price{
  margin: 0 !important;
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  float: none !important;
}
.single-product .composite_wrap .composite_price > p.price,
.single-product .bb-configurator .composite_wrap .composite_price > p.price{
  width: auto !important;
  max-width: none !important;
}
@media (min-width: 768px){
  .single-product .bb-configurator .composite_wrap .composite_price{
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    width: auto !important;
  }
  .single-product .bb-configurator .composite_wrap .composite_price > .price,
  .single-product .bb-configurator .composite_wrap .composite_price > p.price{
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
  .single-product .bb-configurator .composite_wrap .bb-cpr-total-caption{
    display: inline-block !important;
    margin-left: 8px !important;
    font-size: 0.82em !important;
    white-space: nowrap !important;
  }
}

/* BB_CPR_MOBILE_TOTAL_AND_CTA_LAYOUT_2026_04
 * Mobile: center total price row and keep helper text inline,
 * and make CTA area controls below full-width. */
@media (max-width: 767px){
  .single-product .bb-configurator .composite_wrap .composite_price{
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
  }
  .single-product .bb-configurator .composite_wrap .composite_price > .price,
  .single-product .bb-configurator .composite_wrap .composite_price > p.price{
    text-align: center !important;
    width: auto !important;
    margin: 0 !important;
  }
  .single-product .bb-configurator .composite_wrap .bb-cpr-total-caption{
    display: inline-block !important;
    margin: 0 0 0 8px !important;
    text-align: left !important;
    font-size: 0.80em !important;
    line-height: 1.2 !important;
  }

  .single-product .bb-configurator form.cart.composite_form .composite_wrap .composite_button .button,
  .single-product .bb-configurator form.cart.composite_form .composite_wrap .composite_button button,
  .single-product .bb-configurator form.cart.composite_form .composite_wrap .bb-cellstones-cta-wrap .button,
  .single-product .bb-configurator form.cart.composite_form .composite_wrap .bb-cellstones-cta-wrap button,
  .single-product .bb-configurator form.cart.composite_form .composite_wrap .composite_button input[type="text"],
  .single-product .bb-configurator form.cart.composite_form .composite_wrap .composite_button textarea,
  .single-product .bb-configurator form.cart.composite_form .composite_wrap .bb-cellstones-cta-wrap input[type="text"],
  .single-product .bb-configurator form.cart.composite_form .composite_wrap .bb-cellstones-cta-wrap textarea{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }
}

/* =========================================================
   Configurator label numbering (1..N) for top configurator rows
   ========================================================= */
.bb-configurator .bb-card-group{
  counter-reset: bb-cpr-conf;
}

.bb-configurator .bb-card--top tr.attribute_options td.label > label:before{
  counter-increment: bb-cpr-conf;
  content: counter(bb-cpr-conf) '. ';
  display:inline-block;
  min-width: 1.2em;
  margin: 0 0 2px 0;
  font-weight: 800;
}

.bb-configurator .bb-size-block tr.attribute_options td.label > label:before,
.bb-configurator .bb-engrave-block tr.attribute_options td.label > label:before,
.bb-configurator .bb-cellstone-place-block tr.attribute_options td.label > label:before{
  counter-increment: bb-cpr-conf;
  content: counter(bb-cpr-conf) '. ';
  display:block;
  margin:0 0 2px 0;
  font-weight: 800;
}

@media (max-width: 399px){
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] td.label > label.bb-ring-label-split{
    display:block !important;
    white-space:normal !important;
    line-height:1.06 !important;
    text-align:left !important;
  }
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] td.label > label.bb-ring-label-split .bb-ring-label-line{
    display:block !important;
  }
  .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"] td.label > label.bb-cellstones-label-split{
    display:block !important;
    white-space:normal !important;
    line-height:1.06 !important;
    text-align:left !important;
  }
  .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"] td.label > label.bb-cellstones-label-split .bb-cell-label-line{
    display:block !important;
  }
}






/* =========================================================
   Optical alignment: normalize spacing from section title to first content
   - Tables (Konfigurator + Technische Daten) have cell padding that can
     change perceived spacing vs. div blocks (Besondere Verfügbarkeiten).
   ========================================================= */

/* Konfigurator: normalize variations table top spacing */
.bb-configurator .bb-card--top table.variations{
  margin-top: 0 !important;
}
.bb-configurator .bb-card--top table.variations tbody tr:first-child th,
.bb-configurator .bb-card--top table.variations tbody tr:first-child td{
  padding-top: 0 !important;
}

/* Technische Daten: normalize its variations/specs table top spacing */
.bb-configurator .bb-card--bottom table.variations{
  margin-top: 0 !important;
}
.bb-configurator .bb-card--bottom .bb-specs-block table.variations{
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}
.bb-configurator .bb-card--bottom .bb-specs-block table.variations tr.attribute_options{
  display: table-row !important;
}
.bb-configurator .bb-card--bottom .bb-specs-block table.variations td{
  display: table-cell !important;
  vertical-align: middle !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}
.bb-configurator .bb-card--bottom .bb-specs-block table.variations td.label{
  width: 40% !important;
  padding-right: 10px !important;
}
.bb-configurator .bb-card--bottom .bb-specs-block table.variations td.value{
  width: 60% !important;
}
.bb-configurator .bb-card--bottom .bb-specs-block table.variations td.label label,
.bb-configurator .bb-card--bottom .bb-specs-block table.variations td.value > span{
  display: block !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
.bb-configurator .bb-card--bottom table.variations tbody tr:first-child th,
.bb-configurator .bb-card--bottom table.variations tbody tr:first-child td{
  padding-top: 0 !important;
}

/* Besondere Verfügbarkeiten: remove any extra top spacing from first block */
.bb-configurator .bb-card--middle .bb-cellstone-suitable{
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.bb-configurator .bb-card--middle .bb-dummy-available{
  margin-top: 10px !important; /* consistent separation between the two rows */
}


/* =========================================================
   Header spacing equalization (optical)
   Strategy:
   - Remove top padding from inner cards
   - Apply identical top padding via the section wrappers / title
   - Enforce identical spacing below title to first content
   ========================================================= */
.bb-configurator .bb-card-group .bb-card--top,
.bb-configurator .bb-card-group .bb-card--middle,
.bb-configurator .bb-card-group .bb-card--bottom{
  padding-top: 0 !important;
}

/* Top spacing ABOVE titles (18px) */
.bb-configurator .bb-card--top .bb-sec-title--config{
  padding-top: 18px !important;
}

.bb-configurator .bb-card--middle .bb-avail-block{
  padding-top: 18px !important;
}

.bb-configurator .bb-card--bottom .bb-specs-block{
  padding-top: 12px !important;
}



/* Tech data first content is the specs table (inside .bb-specs-block) */


/* =========================================================
   Header spacing equalization (top OK, fix bottom gap)
   - Keep top spacing strategy from 1.0.67 (wrapper padding-top 18px)
   - Make BELOW-title spacing equal and smaller (10px)
   ========================================================= */

/* Ensure wrapper blocks don't add their own margins */
.bb-configurator .bb-card--middle .bb-avail-block,
.bb-configurator .bb-card--bottom .bb-specs-block{
  margin-top: 0 !important;
}

/* Uniform BELOW-title gap = 10px */
.bb-configurator .bb-card--top .bb-sec-title,
.bb-configurator .bb-card--middle .bb-sec-title,
.bb-configurator .bb-card--bottom .bb-sec-title{
  margin-bottom: 0 !important;
}

/* First content blocks get the consistent offset */
.bb-configurator .bb-card--top .bb-sec-title + table.variations{
  margin-top: 10px !important;
}

.bb-configurator .bb-card--middle .bb-sec-title + .bb-cellstone-suitable{
  margin-top: 20px !important;
}

.bb-configurator .bb-card--bottom .bb-sec-title + table.variations{
  margin-top: -2px !important;
}


/* Middle card: keep green row content centered (do not strip its padding) */
.bb-configurator .bb-card--middle .bb-cellstone-suitable{
  padding: 12px 14px !important;
  align-items: center !important;
}

/* Tech card: slightly tighter top padding */
.bb-configurator .bb-card--bottom .bb-specs-block{ padding-top: 12px !important; }


/* Tech: remove extra top spacing in first row to tighten below-title gap */
.bb-configurator .bb-card--bottom table.variations tbody tr:first-child th,
.bb-configurator .bb-card--bottom table.variations tbody tr:first-child td{
  padding-top: 0 !important;
}


/* Mobile: keep section spacing identical to desktop */
@media (max-width: 767px){
  .bb-configurator .bb-card--middle .bb-sec-title + .bb-cellstone-suitable{
    margin-top: 20px !important;
  }
  .bb-configurator .bb-card--bottom .bb-sec-title + table.variations{
    margin-top: -2px !important;
  }
}


/* =========================================================
   Mobile spacing adjustments (v1.0.83)
   - Prevent inner-card overlap
   - Reduce gap below Konfigurator on mobile only
   - Add spacing below Wiederherstellen on mobile only
   ========================================================= */
@media (max-width: 767px){

  /* gap between inner cards (top -> middle) */
  .bb-configurator .bb-card-group .bb-card--middle{
    margin-top: 4px !important;
  }

  /* reduce bottom padding of the top inner card */
  .bb-configurator .bb-card-group .bb-card--top{
    padding-bottom: 6px !important;
  }

  /* keep reset link visible + add spacing */
  .bb-configurator .composite_component .bb-rpc-reset-row{
    display: block !important;
  }
  /* force reset link visible on mobile (some themes/plugins hide it) */
  .bb-configurator .bb-rpc-reset-row,
  .bb-configurator .bb-rpc-reset-row a{
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .bb-configurator .bb-rpc-reset-row{
    width: 100% !important;
    text-align: right !important;
  }

  .bb-configurator .bb-rpc-reset-row{
    margin-top: 16px !important;
    margin-bottom: 14px !important;
  }
}

/* =========================================================
   Favorites feedback + catalogue-style circle (Composite only)
   Scoped to composite configurator to avoid layout regressions
   ========================================================= */
.bb-configurator .composite_component .bb-comp-toggle__fav{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: 0;
}

/* Circle button like catalogue regulator */
.bb-configurator .composite_component .bb-fav-btn--composite{
  width: 41px;
  height: 41px;
  min-width: 41px;
  min-height: 41px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.18) !important;
  background: rgba(255,255,255,.92) !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: none !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  color: rgba(0,0,0,.45) !important;
}
.bb-configurator .composite_component .bb-fav-btn--composite:hover{
  background: rgba(255,255,255,1) !important;
}
.bb-configurator .composite_component .bb-fav-btn--composite.is-active,
.bb-configurator .composite_component .bb-fav-btn--composite.bb-fav-is-active{
  color: #F7A13A !important;
}
.bb-configurator .composite_component .bb-fav-btn--composite svg{
  width: 30px;
  height: 30px;
  display: block;
  fill: currentColor !important;
  stroke: none !important;
}
.bb-configurator .composite_component .bb-fav-btn--composite svg path{
  fill: currentColor !important;
}

/* Feedback text (shown only on click; JS controls display) */
.bb-configurator .composite_component .bb-fav-feedback{
  display: none;
  color: #F7A13A;
  font-size: 14px;
  font-weight: 400;
  text-transform: none;
  line-height: 1;
  white-space: nowrap;
}

/* Mobile: keep favorites stable (CSS-only) + center horizontally */
@media (max-width: 767px){
  /* On mobile the toggle/fav UI must be in normal flow (no absolute positioning) */
  .bb-configurator .composite_component .component_title_wrapper{
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-bottom: 0 !important;
  }

  .bb-configurator .composite_component .bb-comp-toggle{
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: auto !important;
    justify-content: flex-end !important;
    margin-top: 0 !important;
    flex: 0 0 auto !important;
  }

  .bb-configurator .composite_component [data-bb-comp-toggle="1"]{
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }
  .bb-configurator .composite_component .bb-comp-toggle__fav{
    width: auto !important;
    justify-content: flex-end !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .bb-configurator .composite_component .component_title_wrapper .bb-comp-toggle .bb-comp-toggle__fav{
    display: none !important;
  }
  .bb-configurator .composite_component .bb-comp-toggle__action{
    font-size: 15px;
  }
  .bb-configurator .composite_component .bb-fav-mobile-row{
    margin-top: 0 !important;
  }
  .bb-configurator .composite_component .bb-fav-feedback{
    display: none !important;
  }
}

/* Desktop/tablet: when price is moved under the title, make it read like a header price */
.bb-configurator .composite_component .bb-rpc-price-row.bb-rpc-price-row--top{
  text-align: left !important;
  margin: 6px 0 14px !important;
}


/* =========================================================
   Ähnliche Produkte (Single Product) – Match bb-catalogue-regulator v1.1.35.15
   Same loop card frame + thumb sizing + desktop hover zoom as shop/category archives.
   ========================================================= */
body.single-product section.related.products ul.products li.product .tm-product-box-inner,
body.single-product .related.products ul.products li.product .tm-product-box-inner,
body.single-product .upsells.products ul.products li.product .tm-product-box-inner,
body.single-product .cross-sells ul.products li.product .tm-product-box-inner,
body.single-product .related .woocommerce ul.products li.product .tm-product-box-inner,
body.single-product .upsells .woocommerce ul.products li.product .tm-product-box-inner,
body.single-product .cross-sells .woocommerce ul.products li.product .tm-product-box-inner{
  position: relative !important;
}

body.single-product section.related.products ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product section.related.products ul.products li.product a.woocommerce-loop-product__link,
body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product .related.products ul.products li.product a.woocommerce-loop-product__link,
body.single-product .upsells.products ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product .upsells.products ul.products li.product a.woocommerce-loop-product__link,
body.single-product .cross-sells ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product .cross-sells ul.products li.product a.woocommerce-loop-product__link,
body.single-product .related .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product .related .woocommerce ul.products li.product a.woocommerce-loop-product__link,
body.single-product .upsells .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product .upsells .woocommerce ul.products li.product a.woocommerce-loop-product__link,
body.single-product .cross-sells .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product .cross-sells .woocommerce ul.products li.product a.woocommerce-loop-product__link{
  display: block !important;
}

body.single-product section.related.products ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.single-product section.related.products ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.single-product .related.products ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.single-product .related .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.single-product .related .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box{
  position: relative !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  -webkit-border-radius: 10px !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  background: #fff !important;
  box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease;
  /* Ähnliche Produkte: two ~20% reductions vs full column (0.8 × 0.8). */
  width: 64% !important;
  max-width: 64% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 767px){
  body.single-product section.related.products ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
  body.single-product section.related.products ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
  body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
  body.single-product .related.products ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
  body.single-product .related .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
  body.single-product .related .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box{
    width: 100% !important;
    max-width: 100% !important;
  }
}

body.single-product .upsells.products ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.single-product .upsells.products ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.single-product .cross-sells ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.single-product .cross-sells ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.single-product .upsells .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.single-product .upsells .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box,
body.single-product .cross-sells .woocommerce ul.products li.product a.woocommerce-LoopProduct-link .tm-product-image-box,
body.single-product .cross-sells .woocommerce ul.products li.product a.woocommerce-loop-product__link .tm-product-image-box{
  position: relative !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  -webkit-border-radius: 10px !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  background: #fff !important;
  box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease;
}

body.single-product section.related.products ul.products li.product .tm-product-image-box img,
body.single-product .related.products ul.products li.product .tm-product-image-box img,
body.single-product .upsells.products ul.products li.product .tm-product-image-box img,
body.single-product .cross-sells ul.products li.product .tm-product-image-box img,
body.single-product .related .woocommerce ul.products li.product .tm-product-image-box img,
body.single-product .upsells .woocommerce ul.products li.product .tm-product-image-box img,
body.single-product .cross-sells .woocommerce ul.products li.product .tm-product-image-box img,
body.single-product section.related.products ul.products li.product img.attachment-woocommerce_thumbnail,
body.single-product .related.products ul.products li.product img.attachment-woocommerce_thumbnail,
body.single-product .upsells.products ul.products li.product img.attachment-woocommerce_thumbnail,
body.single-product .cross-sells ul.products li.product img.attachment-woocommerce_thumbnail{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  border-radius: 10px !important;
  -webkit-border-radius: 10px !important;
}

body.single-product section.related.products ul.products li.product .tm-product-image-box > .bb-fav-btn,
body.single-product .related.products ul.products li.product .tm-product-image-box > .bb-fav-btn,
body.single-product .upsells.products ul.products li.product .tm-product-image-box > .bb-fav-btn,
body.single-product .cross-sells ul.products li.product .tm-product-image-box > .bb-fav-btn,
body.single-product .related .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn,
body.single-product .upsells .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn,
body.single-product .cross-sells .woocommerce ul.products li.product .tm-product-image-box > .bb-fav-btn{
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  z-index: 9 !important;
  transform: none !important;
}

@media (max-width: 767px){
  body.single-product .elementor-widget-woocommerce-product-related section.related.products ul.products li.product > .bb-fav-btn{
    transform: translateX(-6px) !important;
    z-index: 9 !important;
  }
}

/* Remove the theme's hover CTA/icon overlay */
body.single-product section.related.products ul.products li.product .tm-shop-icon,
body.single-product .related.products ul.products li.product .tm-shop-icon,
body.single-product .upsells.products ul.products li.product .tm-shop-icon,
body.single-product .cross-sells ul.products li.product .tm-shop-icon,
body.single-product .related .woocommerce ul.products li.product .tm-shop-icon,
body.single-product .upsells .woocommerce ul.products li.product .tm-shop-icon,
body.single-product .cross-sells .woocommerce ul.products li.product .tm-shop-icon{
  display: none !important;
}

/* Remove pseudo-element overlays/shadows (but do not touch img transforms) */
body.single-product section.related.products ul.products li.product::before,
body.single-product section.related.products ul.products li.product::after,
body.single-product .related.products ul.products li.product::before,
body.single-product .related.products ul.products li.product::after,
body.single-product .upsells.products ul.products li.product::before,
body.single-product .upsells.products ul.products li.product::after,
body.single-product .cross-sells ul.products li.product::before,
body.single-product .cross-sells ul.products li.product::after,
body.single-product .related .woocommerce ul.products li.product::before,
body.single-product .related .woocommerce ul.products li.product::after,
body.single-product .upsells .woocommerce ul.products li.product::before,
body.single-product .upsells .woocommerce ul.products li.product::after,
body.single-product .cross-sells .woocommerce ul.products li.product::before,
body.single-product .cross-sells .woocommerce ul.products li.product::after,

body.single-product section.related.products ul.products li.product a::before,
body.single-product section.related.products ul.products li.product a::after,
body.single-product .related.products ul.products li.product a::before,
body.single-product .related.products ul.products li.product a::after,
body.single-product .upsells.products ul.products li.product a::before,
body.single-product .upsells.products ul.products li.product a::after,
body.single-product .cross-sells ul.products li.product a::before,
body.single-product .cross-sells ul.products li.product a::after,
body.single-product .related .woocommerce ul.products li.product a::before,
body.single-product .related .woocommerce ul.products li.product a::after,
body.single-product .upsells .woocommerce ul.products li.product a::before,
body.single-product .upsells .woocommerce ul.products li.product a::after,
body.single-product .cross-sells .woocommerce ul.products li.product a::before,
body.single-product .cross-sells .woocommerce ul.products li.product a::after,

body.single-product section.related.products ul.products li.product .tm-product-image-box::before,
body.single-product section.related.products ul.products li.product .tm-product-image-box::after,
body.single-product .related.products ul.products li.product .tm-product-image-box::before,
body.single-product .related.products ul.products li.product .tm-product-image-box::after,
body.single-product .upsells.products ul.products li.product .tm-product-image-box::before,
body.single-product .upsells.products ul.products li.product .tm-product-image-box::after,
body.single-product .cross-sells ul.products li.product .tm-product-image-box::before,
body.single-product .cross-sells ul.products li.product .tm-product-image-box::after,
body.single-product .related .woocommerce ul.products li.product .tm-product-image-box::before,
body.single-product .related .woocommerce ul.products li.product .tm-product-image-box::after,
body.single-product .upsells .woocommerce ul.products li.product .tm-product-image-box::before,
body.single-product .upsells .woocommerce ul.products li.product .tm-product-image-box::after,
body.single-product .cross-sells .woocommerce ul.products li.product .tm-product-image-box::before,
body.single-product .cross-sells .woocommerce ul.products li.product .tm-product-image-box::after{
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product section.related.products ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box,
body.single-product section.related.products ul.products li.product a.woocommerce-LoopProduct-link:focus .tm-product-image-box,
body.single-product section.related.products ul.products li.product a.woocommerce-LoopProduct-link:focus-visible .tm-product-image-box,
body.single-product section.related.products ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box,
body.single-product section.related.products ul.products li.product a.woocommerce-loop-product__link:focus .tm-product-image-box,
body.single-product section.related.products ul.products li.product a.woocommerce-loop-product__link:focus-visible .tm-product-image-box,

body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box,
body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link:focus .tm-product-image-box,
body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link:focus-visible .tm-product-image-box,
body.single-product .related.products ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box,
body.single-product .related.products ul.products li.product a.woocommerce-loop-product__link:focus .tm-product-image-box,
body.single-product .related.products ul.products li.product a.woocommerce-loop-product__link:focus-visible .tm-product-image-box,

body.single-product .upsells.products ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box,
body.single-product .upsells.products ul.products li.product a.woocommerce-LoopProduct-link:focus .tm-product-image-box,
body.single-product .upsells.products ul.products li.product a.woocommerce-LoopProduct-link:focus-visible .tm-product-image-box,
body.single-product .upsells.products ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box,
body.single-product .upsells.products ul.products li.product a.woocommerce-loop-product__link:focus .tm-product-image-box,
body.single-product .upsells.products ul.products li.product a.woocommerce-loop-product__link:focus-visible .tm-product-image-box,

body.single-product .cross-sells ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box,
body.single-product .cross-sells ul.products li.product a.woocommerce-LoopProduct-link:focus .tm-product-image-box,
body.single-product .cross-sells ul.products li.product a.woocommerce-LoopProduct-link:focus-visible .tm-product-image-box,
body.single-product .cross-sells ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box,
body.single-product .cross-sells ul.products li.product a.woocommerce-loop-product__link:focus .tm-product-image-box,
body.single-product .cross-sells ul.products li.product a.woocommerce-loop-product__link:focus-visible .tm-product-image-box,

body.single-product .related .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box,
body.single-product .related .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus .tm-product-image-box,
body.single-product .related .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus-visible .tm-product-image-box,
body.single-product .related .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box,
body.single-product .related .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus .tm-product-image-box,
body.single-product .related .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus-visible .tm-product-image-box,

body.single-product .upsells .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box,
body.single-product .upsells .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus .tm-product-image-box,
body.single-product .upsells .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus-visible .tm-product-image-box,
body.single-product .upsells .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box,
body.single-product .upsells .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus .tm-product-image-box,
body.single-product .upsells .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus-visible .tm-product-image-box,

body.single-product .cross-sells .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box,
body.single-product .cross-sells .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus .tm-product-image-box,
body.single-product .cross-sells .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:focus-visible .tm-product-image-box,
body.single-product .cross-sells .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box,
body.single-product .cross-sells .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus .tm-product-image-box,
body.single-product .cross-sells .woocommerce ul.products li.product a.woocommerce-loop-product__link:focus-visible .tm-product-image-box{
  border-color: rgba(0,0,0,.22) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* BB_CPR_RELATED_WHITE_PANEL_OVERLAY_REMOVE_2026_04
 * Some themes animate a white half-panel via tm-product-box-inner pseudo elements. */
body.single-product section.related.products ul.products li.product .tm-product-box-inner::before,
body.single-product section.related.products ul.products li.product .tm-product-box-inner::after,
body.single-product .related.products ul.products li.product .tm-product-box-inner::before,
body.single-product .related.products ul.products li.product .tm-product-box-inner::after,
body.single-product .upsells.products ul.products li.product .tm-product-box-inner::before,
body.single-product .upsells.products ul.products li.product .tm-product-box-inner::after,
body.single-product .cross-sells ul.products li.product .tm-product-box-inner::before,
body.single-product .cross-sells ul.products li.product .tm-product-box-inner::after,
body.single-product .related .woocommerce ul.products li.product .tm-product-box-inner::before,
body.single-product .related .woocommerce ul.products li.product .tm-product-box-inner::after,
body.single-product .upsells .woocommerce ul.products li.product .tm-product-box-inner::before,
body.single-product .upsells .woocommerce ul.products li.product .tm-product-box-inner::after,
body.single-product .cross-sells .woocommerce ul.products li.product .tm-product-box-inner::before,
body.single-product .cross-sells .woocommerce ul.products li.product .tm-product-box-inner::after{
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
}

/* BB_CPR_RELATED_TM_OVERLAY_DISABLE_2026_04
 * Theme hover layer responsible for the white square rise animation. */
body.single-product section.related.products ul.products li.product .tm-product-overlay,
body.single-product .related.products ul.products li.product .tm-product-overlay,
body.single-product .upsells.products ul.products li.product .tm-product-overlay,
body.single-product .cross-sells ul.products li.product .tm-product-overlay,
body.single-product .related .woocommerce ul.products li.product .tm-product-overlay,
body.single-product .upsells .woocommerce ul.products li.product .tm-product-overlay,
body.single-product .cross-sells .woocommerce ul.products li.product .tm-product-overlay,
body.single-product section.related.products ul.products li.product:hover .tm-product-overlay,
body.single-product .related.products ul.products li.product:hover .tm-product-overlay,
body.single-product .upsells.products ul.products li.product:hover .tm-product-overlay,
body.single-product .cross-sells ul.products li.product:hover .tm-product-overlay,
body.single-product .related .woocommerce ul.products li.product:hover .tm-product-overlay,
body.single-product .upsells .woocommerce ul.products li.product:hover .tm-product-overlay,
body.single-product .cross-sells .woocommerce ul.products li.product:hover .tm-product-overlay{
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  background: transparent !important;
  animation: none !important;
  transition: none !important;
  transform: none !important;
}

body.single-product section.related.products ul.products li.product .tm-product-box-inner,
body.single-product .related.products ul.products li.product .tm-product-box-inner,
body.single-product .upsells.products ul.products li.product .tm-product-box-inner,
body.single-product .cross-sells ul.products li.product .tm-product-box-inner,
body.single-product .related .woocommerce ul.products li.product .tm-product-box-inner,
body.single-product .upsells .woocommerce ul.products li.product .tm-product-box-inner,
body.single-product .cross-sells .woocommerce ul.products li.product .tm-product-box-inner{
  background: transparent !important;
  box-shadow: none !important;
  transition: none !important;
}

/* BB_CPR_RELATED_HOVER_MOTION_KILL_2026_04
 * Hard stop for theme jitter on wrappers/links/image box — thumbs use BB_CPR_RELATED_MATCH_BBCATALOGUE_ZOOM. */
body.single-product section.related.products ul.products li.product,
body.single-product .related.products ul.products li.product,
body.single-product .upsells.products ul.products li.product,
body.single-product .cross-sells ul.products li.product,
body.single-product .related .woocommerce ul.products li.product,
body.single-product .upsells .woocommerce ul.products li.product,
body.single-product .cross-sells .woocommerce ul.products li.product,
body.single-product section.related.products ul.products li.product .tm-product-box-inner,
body.single-product .related.products ul.products li.product .tm-product-box-inner,
body.single-product .upsells.products ul.products li.product .tm-product-box-inner,
body.single-product .cross-sells ul.products li.product .tm-product-box-inner,
body.single-product section.related.products ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product section.related.products ul.products li.product a.woocommerce-loop-product__link,
body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product .related.products ul.products li.product a.woocommerce-loop-product__link,
body.single-product .upsells.products ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product .upsells.products ul.products li.product a.woocommerce-loop-product__link,
body.single-product .cross-sells ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product .cross-sells ul.products li.product a.woocommerce-loop-product__link,
body.single-product section.related.products ul.products li.product .tm-product-image-box,
body.single-product .related.products ul.products li.product .tm-product-image-box,
body.single-product .upsells.products ul.products li.product .tm-product-image-box,
body.single-product .cross-sells ul.products li.product .tm-product-image-box{
  transition: none !important;
  animation: none !important;
}

body.single-product section.related.products ul.products li.product:hover,
body.single-product .related.products ul.products li.product:hover,
body.single-product .upsells.products ul.products li.product:hover,
body.single-product .cross-sells ul.products li.product:hover,
body.single-product section.related.products ul.products li.product:hover .tm-product-box-inner,
body.single-product .related.products ul.products li.product:hover .tm-product-box-inner,
body.single-product .upsells.products ul.products li.product:hover .tm-product-box-inner,
body.single-product .cross-sells ul.products li.product:hover .tm-product-box-inner,
body.single-product section.related.products ul.products li.product:hover a.woocommerce-LoopProduct-link,
body.single-product section.related.products ul.products li.product:hover a.woocommerce-loop-product__link,
body.single-product .related.products ul.products li.product:hover a.woocommerce-LoopProduct-link,
body.single-product .related.products ul.products li.product:hover a.woocommerce-loop-product__link,
body.single-product .upsells.products ul.products li.product:hover a.woocommerce-LoopProduct-link,
body.single-product .upsells.products ul.products li.product:hover a.woocommerce-loop-product__link,
body.single-product .cross-sells ul.products li.product:hover a.woocommerce-LoopProduct-link,
body.single-product .cross-sells ul.products li.product:hover a.woocommerce-loop-product__link,
body.single-product section.related.products ul.products li.product:hover .tm-product-image-box,
body.single-product .related.products ul.products li.product:hover .tm-product-image-box,
body.single-product .upsells.products ul.products li.product:hover .tm-product-image-box,
body.single-product .cross-sells ul.products li.product:hover .tm-product-image-box{
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

/* BB_CPR_RELATED_MATCH_BBCATALOGUE_ZOOM_2026_04 — same hover zoom as archive loop (bb-catalogue-regulator). */
@media (min-width: 1025px){
  body.single-product section.related.products ul.products li.product .tm-product-image-box img,
  body.single-product .related.products ul.products li.product .tm-product-image-box img,
  body.single-product .upsells.products ul.products li.product .tm-product-image-box img,
  body.single-product .cross-sells ul.products li.product .tm-product-image-box img,
  body.single-product .related .woocommerce ul.products li.product .tm-product-image-box img,
  body.single-product .upsells .woocommerce ul.products li.product .tm-product-image-box img,
  body.single-product .cross-sells .woocommerce ul.products li.product .tm-product-image-box img,
  body.single-product section.related.products ul.products li.product img.attachment-woocommerce_thumbnail,
  body.single-product .related.products ul.products li.product img.attachment-woocommerce_thumbnail,
  body.single-product .upsells.products ul.products li.product img.attachment-woocommerce_thumbnail,
  body.single-product .cross-sells ul.products li.product img.attachment-woocommerce_thumbnail{
    transition: transform .18s ease !important;
  }
  body.single-product section.related.products ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.single-product section.related.products ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.single-product .related.products ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.single-product .upsells.products ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.single-product .upsells.products ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.single-product .cross-sells ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.single-product .cross-sells ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.single-product .related .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.single-product .related .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.single-product .upsells .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.single-product .upsells .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.single-product .cross-sells .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.single-product .cross-sells .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img{
    transform: scale(1.035) !important;
  }
}
@media (max-width: 1024px){
  body.single-product section.related.products ul.products li.product .tm-product-image-box img,
  body.single-product .related.products ul.products li.product .tm-product-image-box img,
  body.single-product .upsells.products ul.products li.product .tm-product-image-box img,
  body.single-product .cross-sells ul.products li.product .tm-product-image-box img,
  body.single-product .related .woocommerce ul.products li.product .tm-product-image-box img,
  body.single-product .upsells .woocommerce ul.products li.product .tm-product-image-box img,
  body.single-product .cross-sells .woocommerce ul.products li.product .tm-product-image-box img,
  body.single-product section.related.products ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.single-product section.related.products ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.single-product .related.products ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.single-product .upsells.products ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.single-product .upsells.products ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.single-product .cross-sells ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.single-product .cross-sells ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.single-product .related .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.single-product .related .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.single-product .upsells .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.single-product .upsells .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img,
  body.single-product .cross-sells .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .tm-product-image-box img,
  body.single-product .cross-sells .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .tm-product-image-box img{
    transform: none !important;
  }
}

/* Same mobile thumb treatment as archive loop; keep tablet-specific thumbnail work untouched. */
@media (max-width: 767px){
  body.single-product section.related.products ul.products li.product .tm-product-image-box img,
  body.single-product .related.products ul.products li.product .tm-product-image-box img,
  body.single-product .upsells.products ul.products li.product .tm-product-image-box img,
  body.single-product .cross-sells ul.products li.product .tm-product-image-box img,
  body.single-product .related .woocommerce ul.products li.product .tm-product-image-box img,
  body.single-product .upsells .woocommerce ul.products li.product .tm-product-image-box img,
  body.single-product .cross-sells .woocommerce ul.products li.product .tm-product-image-box img,
  body.single-product section.related.products ul.products li.product img.attachment-woocommerce_thumbnail,
  body.single-product .related.products ul.products li.product img.attachment-woocommerce_thumbnail,
  body.single-product .upsells.products ul.products li.product img.attachment-woocommerce_thumbnail,
  body.single-product .cross-sells ul.products li.product img.attachment-woocommerce_thumbnail{
    width: 110% !important;
    max-width: 110% !important;
    margin-left: -5% !important;
    height: auto !important;
  }
}

/* Ensure helper notes under swatches use consistent gray */
.single-product .bb-gold-note,
.single-product .bb-farbvariante-note,
.single-product .bb-farbvariante-help,
.single-product .bb-steinbesatz-help,
.single-product .bb-size-help{
  color: #374151 !important;
}

/* Final override: keep Ringgröße on the compact Gravur-style swatch system. */
.bb-configurator .bb-size-ui .bb-size-toggle{
  display:none !important;
}

.bb-configurator .bb-size-block{
  margin-left:0 !important;
}

.bb-configurator .bb-addon-block{
  margin-left:0 !important;
}

.bb-configurator .bb-size-swatches{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  width:100% !important;
}

.bb-configurator .bb-size-swatches .bb-size-swatch{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  max-width:220px !important;
}

/* Allow manual line breaks in the Steinbesatz help note */
.single-product .bb-steinbesatz-help{
  white-space: pre-line;
}

/* Addon pricing controls: keep styling scoped so the existing layout,
   gallery, and native color swatch flow remain untouched. */
.bb-configurator .bb-addon-block{
  margin: 10px 0 0 0 !important;
  padding: 0 !important;
}

.bb-configurator .bb-addon-block table.variations{
  margin:0 !important;
}

.bb-configurator .bb-addon-block table.variations tr.attribute_options{
  display:grid !important;
  grid-template-columns:minmax(0, var(--bb-cpr-compact-label-w)) minmax(0, 1fr) !important;
  column-gap:12px !important;
  align-items:start !important;
}

/* Gold → Steine: `border-bottom` on a CSS-grid `<tr>` can read as a short line under the value column (gap + table layout).
   Inset shadow draws one full-width rule inside the row band, aligned with card borders. */
.bb-configurator .bb-addon-block table.variations tr.bb-cpr-addon-row[data-bb-addon-row="alloy"]{
  position: relative !important;
  border-bottom: none !important;
  box-shadow: inset 0 -1px 0 0 var(--bb-rpc-sep-color) !important;
}

@media (max-width: 767px){
  .bb-configurator .bb-addon-block table.variations tr.bb-cpr-addon-row[data-bb-addon-row="alloy"]{
    box-shadow: none !important;
  }

  .bb-configurator .bb-addon-block table.variations tr.bb-cpr-addon-row[data-bb-addon-row="alloy"]::after{
    content: "" !important;
    position: absolute !important;
    left: calc(-1 * var(--bb-rpc-details-pad, 14px)) !important;
    right: calc(-1 * var(--bb-rpc-details-pad, 14px)) !important;
    bottom: 0 !important;
    height: 1px !important;
    background: var(--bb-rpc-sep-color) !important;
    pointer-events: none !important;
  }
}

.bb-configurator .bb-addon-block table.variations tr.attribute_options td.label{
  width:auto !important;
  padding-right:0 !important;
  padding-left:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:2px !important;
  vertical-align:top !important;
}

.bb-configurator .bb-addon-block table.variations tr.attribute_options td.label > label{
  display:block !important;
  width:100% !important;
  line-height:1.15 !important;
  white-space:normal !important;
}

.bb-configurator .bb-addon-block tr.attribute_options td.label > label:before{
  counter-increment: bb-cpr-conf;
  content: counter(bb-cpr-conf) '. ';
  display:block;
  margin:0 0 2px 0;
  font-weight:800;
}

.bb-configurator .bb-addon-block table.variations tr.attribute_options td.value{
  min-width:0 !important;
  width:auto !important;
  vertical-align:top !important;
}

.bb-configurator .bb-addon-ui{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  width:100% !important;
}

.bb-configurator .bb-addon-swatchwrap{
  width:100% !important;
}

.bb-configurator .bb-addon-swatches{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  gap:6px !important;
  width:auto !important;
  max-width:100% !important;
}

.bb-configurator .bb-addon-swatch{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 1 auto !important;
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:5px 8px !important;
  border:1px solid rgba(17,24,39,.22) !important;
  border-radius:3px !important;
  background:#fff !important;
  box-shadow:none !important;
  color:#111827 !important;
  font-size:13px !important;
  line-height:1.15 !important;
  cursor:pointer !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  user-select:none !important;
}

.bb-configurator .bb-addon-swatches .bb-addon-swatch,
.bb-configurator .bb-addon-swatches .bb-addon-swatch:hover,
.bb-configurator .bb-addon-swatches .bb-addon-swatch:focus,
.bb-configurator .bb-addon-swatches .bb-addon-swatch:active{
  background:#fff !important;
  color:#111827 !important;
  border:1px solid rgba(17,24,39,.22) !important;
  box-shadow:none !important;
  outline:none !important;
  text-decoration:none !important;
}

.bb-configurator .bb-addon-swatch .cfvsw-swatch-inner{
  display:inline-block !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  line-height:1.15 !important;
  font-size:13px !important;
  color:inherit !important;
  white-space:normal !important;
  text-align:center !important;
  overflow-wrap:anywhere !important;
}

.bb-configurator .bb-addon-swatch.cfvsw-selected-swatch,
.bb-configurator .bb-addon-swatch.is-selected,
.bb-configurator .bb-addon-swatch.cfvsw-selected-swatch:hover,
.bb-configurator .bb-addon-swatch.is-selected:hover{
  border:2px solid #111 !important;
  box-shadow:none !important;
  background:#fff !important;
  color:#111827 !important;
  padding:4px 7px !important;
}

.bb-configurator .bb-size-block table.variations tr.attribute_options{
  display:grid !important;
  grid-template-columns:minmax(0, var(--bb-cpr-compact-label-w)) minmax(0, 1fr) !important;
  column-gap:12px !important;
  align-items:start !important;
}

.bb-configurator .bb-size-block table.variations tr.attribute_options td.label{
  width:auto !important;
  padding-right:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:2px !important;
}

.bb-configurator .bb-size-block table.variations tr.attribute_options td.value{
  min-width:0 !important;
  width:auto !important;
  vertical-align:top !important;
}

.bb-configurator .bb-size-swatchwrap{
  width:100% !important;
}

.bb-configurator .bb-size-swatches{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  gap:6px !important;
  width:auto !important;
  max-width:100% !important;
}

.bb-configurator .bb-size-swatches .bb-size-swatch{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 1 auto !important;
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:5px 8px !important;
  border:1px solid rgba(17,24,39,.22) !important;
  border-radius:3px !important;
  background:#fff !important;
  box-shadow:none !important;
  color:#111827 !important;
  font-size:13px !important;
  line-height:1.15 !important;
  cursor:pointer !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  user-select:none !important;
}

.bb-configurator .bb-size-swatches .bb-size-swatch,
.bb-configurator .bb-size-swatches .bb-size-swatch:hover,
.bb-configurator .bb-size-swatches .bb-size-swatch:focus,
.bb-configurator .bb-size-swatches .bb-size-swatch:active{
  background:#fff !important;
  color:#111827 !important;
  border:1px solid rgba(17,24,39,.22) !important;
  box-shadow:none !important;
  outline:none !important;
  text-decoration:none !important;
}

.bb-configurator .bb-size-swatches .bb-size-swatch .cfvsw-swatch-inner{
  display:inline-block !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  line-height:1.15 !important;
  font-size:13px !important;
  color:inherit !important;
  white-space:normal !important;
  text-align:center !important;
  overflow-wrap:anywhere !important;
}

.bb-configurator .bb-size-swatches .bb-size-swatch.cfvsw-selected-swatch,
.bb-configurator .bb-size-swatches .bb-size-swatch.is-selected,
.bb-configurator .bb-size-swatches .bb-size-swatch[aria-pressed="true"],
.bb-configurator .bb-size-swatches .bb-size-swatch.cfvsw-selected-swatch:hover,
.bb-configurator .bb-size-swatches .bb-size-swatch.is-selected:hover,
.bb-configurator .bb-size-swatches .bb-size-swatch[aria-pressed="true"]:hover{
  border:2px solid #111 !important;
  box-shadow:inset 0 0 0 1px #111 !important;
  background:#fff !important;
  color:#111827 !important;
  padding:4px 7px !important;
}

/* Ringgroesse: ensure selected state is visibly border-only in both legacy and swatch UIs. */
.bb-configurator tr[data-attribute_label="Ringgröße"] td.value .bb-size-opt.is-selected,
.bb-configurator tr[data-attribute_label="Ringgröße"] td.value .bb-size-swatch.is-selected,
.bb-configurator tr[data-attribute_label="Ringgröße"] td.value .bb-size-swatch.cfvsw-selected-swatch,
.bb-configurator tr[data-attribute_label="Ringgröße"] td.value [role="button"][aria-pressed="true"]{
  border:2px solid #111 !important;
  box-shadow:inset 0 0 0 1px #111 !important;
  background:#fff !important;
  color:#111827 !important;
}

.bb-configurator .bb-size-ui .bb-size-toggle{
  display:none !important;
}

/* Mobile: do NOT force manual line breaks that come from HTML newlines */
@media (max-width: 767px){
  .single-product .bb-steinbesatz-help{
    white-space: normal;
  }
}


/* =========================================================
   Mobile-only: eligibility lines under component title
   ========================================================= */
.bb-elig-lines{ display:none !important; margin-top: 0; }
.bb-elig-line{
  font-size: 16px;
  line-height: 1.25;
  font-weight: 400;
  color: #374151;
}
.bb-elig-line::before{ content: "- "; }
.bb-elig-line::after{ content: ""; }
.bb-elig-line + .bb-elig-line{ margin-top: 0px; }

@media (max-width: 767px){
  .bb-elig-lines{ display:none !important; margin-bottom: 0; }

  /* Reduce vertical whitespace above the component product title on mobile */
  .bb-configurator .composite_component .component_summary h3,
  .bb-configurator .composite_component .component_summary .product_title,
  .bb-configurator .composite_component .component_description_wrapper h3{
    margin-top: 4px !important;
  }
}

/* =========================================================
   Inline validation (prevent full reload)
   ========================================================= */
.bb-cpr-inline-notice{
  margin: 10px 0 12px;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,0.18);
  border-left-width: 4px;
  background: rgba(255,255,255,0.85);
  font-size: 14px;
  line-height: 1.35;
}

.bb-cpr-error{
  /* subtle but visible */
  outline: 2px solid rgba(220, 38, 38, 0.9);
  outline-offset: 2px;
}

.bb-cpr-error-msg{
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.35;
  color: rgba(220, 38, 38, 0.95);
}

/* Keep swatches from jumping when outlined */
.bb-engrave-swatchwrap.bb-cpr-error{
  outline-offset: 4px;
}

/* BB_CPR_COMPOSITE_WRAP_CTA_PALETTE — primary #f2da86 / hover #EFCD61 (matches former secondary); typography matches .bb-cellstones-cta / .bb-dummy-cta */
body.single-product .bb-configurator .composite_form .composite_wrap .composite_button button.button.alt.single_add_to_cart_button.composite_add_to_cart_button,
body.single-product .bb-configurator .composite_form .composite_wrap .composite_button button.single_add_to_cart_button.composite_add_to_cart_button,
body.single-product .bb-configurator .composite_form .composite_wrap .composite_button .single_add_to_cart_button.composite_add_to_cart_button{
  background-color: #f2da86 !important;
  color: #1A1A1A !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  text-transform: none !important;
  font-weight: 900 !important;
  letter-spacing: .2px !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
body.single-product .bb-configurator .composite_form .composite_wrap .composite_button button.button.alt.single_add_to_cart_button.composite_add_to_cart_button:hover,
body.single-product .bb-configurator .composite_form .composite_wrap .composite_button button.button.alt.single_add_to_cart_button.composite_add_to_cart_button:focus,
body.single-product .bb-configurator .composite_form .composite_wrap .composite_button button.button.alt.single_add_to_cart_button.composite_add_to_cart_button:focus-visible,
body.single-product .bb-configurator .composite_form .composite_wrap .composite_button button.button.alt.single_add_to_cart_button.composite_add_to_cart_button:active,
body.single-product .bb-configurator .composite_form .composite_wrap .composite_button button.single_add_to_cart_button.composite_add_to_cart_button:hover,
body.single-product .bb-configurator .composite_form .composite_wrap .composite_button button.single_add_to_cart_button.composite_add_to_cart_button:focus,
body.single-product .bb-configurator .composite_form .composite_wrap .composite_button button.single_add_to_cart_button.composite_add_to_cart_button:focus-visible,
body.single-product .bb-configurator .composite_form .composite_wrap .composite_button button.single_add_to_cart_button.composite_add_to_cart_button:active,
body.single-product .bb-configurator .composite_form .composite_wrap .composite_button .single_add_to_cart_button.composite_add_to_cart_button:hover,
body.single-product .bb-configurator .composite_form .composite_wrap .composite_button .single_add_to_cart_button.composite_add_to_cart_button:focus,
body.single-product .bb-configurator .composite_form .composite_wrap .composite_button .single_add_to_cart_button.composite_add_to_cart_button:focus-visible,
body.single-product .bb-configurator .composite_form .composite_wrap .composite_button .single_add_to_cart_button.composite_add_to_cart_button:active{
  background-color: #EFCD61 !important;
  color: #1A1A1A !important;
  border-color: rgba(0,0,0,.12) !important;
}

.single-product .single_add_to_cart_button.composite_add_to_cart_button,
.bb-configurator .single_add_to_cart_button.composite_add_to_cart_button{
  text-transform: none !important;
  font-weight: 900 !important;
  letter-spacing: .2px !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
}

/* BB_CPR_COMPOSITE_SINGLE_QTY_UI_2026_04
 * Parent composite quantity is enforced to 1 server-side; hide qty input in PDP UI. */
.single-product form.cart.composite_form .composite_button .e-atc-qty-button-holder > .quantity,
.single-product form.cart.composite_form .composite_button .quantity > input[name="quantity"]{
  display: none !important;
}


/* ============================================================
 * Tablet tweak: reduce label width/gap so configurator cards need less horizontal space.
 * Applies only on tablets (iPad Mini/Air range).
 * ============================================================ */
@media (min-width: 750px) and (max-width: 1024px){
  .bb-configurator{
    --bb-rpc-label-width: 200px;
    --bb-rpc-label-gap: 6px;
    --bb-rpc-details-pad: 16px;
  }

  /* Tablet: remove LEFT/RIGHT padding of the *outer* Elementor container that wraps the configurator.
     This matches the "red-line" padding in your screenshot, without touching the inner card padding.
     The wrapper carries the class `bb-configurator` on an `.elementor-element` container. */
  .elementor-element.bb-configurator{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Some Elementor layouts apply padding on an inner wrapper element too */
  .elementor-element.bb-configurator > .e-con-inner,
  .elementor-element.bb-configurator > .elementor-container{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .bb-configurator .composite_component table.variations td.label{
    padding-right: var(--bb-rpc-label-gap) !important;
    white-space: normal !important; /* allow long labels (Step 6) to wrap */
  }
  .bb-configurator .composite_component table.variations td.label label{
    display: inline-block;
    max-width: 100%;
    white-space: normal;
  }
}


/* BB_CPR_PREVIEW_LAYOUT_STABILITY_2026_04
 * Legacy tablet wrapper experiment retired to prevent preview/browser drift. */
@media (min-width: 750px) and (max-width: 1024px){
  .bb-cpr-tablet-cols{
    display: contents !important;
  }
  .bb-cpr-tablet-cols > .woocommerce-product-gallery{
    flex: none !important;
    max-width: none !important;
    min-width: 0 !important;
  }
  .bb-cpr-tablet-cols > .summary{
    flex: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  /* Preserve intrinsic gallery behavior; no wrapper-driven layout forcing. */
  .bb-cpr-tablet-cols .woocommerce-product-gallery__wrapper{
    margin: 0 !important;
  }
  .bb-cpr-tablet-cols .woocommerce-product-gallery__image{
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
  }
  .bb-cpr-tablet-cols .woocommerce-product-gallery img{
    max-height: 55vh !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
  }

  /* Let inner cards wrap naturally (avoid forcing wide label columns) */
  .bb-configurator{
    --bb-rpc-label-width: 180px;
    --bb-rpc-label-gap: 6px;
  }
}


/* Mobile tap hardening for custom swatches */
.bb-configurator .bb-engrave-swatches .bb-engrave-swatch,
.bb-configurator .bb-cellstone-tier1-swatches .bb-cellstone-tier1-swatch,
.bb-configurator table.variations .cfvsw-swatches-option{
	position:relative !important;
	z-index:1 !important;
	-webkit-user-select:none !important;
	user-select:none !important;
	-webkit-touch-callout:none !important;
}
.bb-configurator .bb-engrave-swatches .bb-engrave-swatch .cfvsw-swatch-inner,
.bb-configurator .bb-cellstone-tier1-swatches .bb-cellstone-tier1-swatch .cfvsw-swatch-inner,
.bb-configurator table.variations .cfvsw-swatches-option .cfvsw-swatch-inner,
.bb-configurator table.variations .cfvsw-swatches-option .bb-swatch-caption,
.bb-configurator table.variations .cfvsw-swatches-option img{
	pointer-events:none !important;
}


/* iPhone/iPad touch-target stabilization for real variation swatches only.
   Based on Safari hit-area behavior: keep the outer option as the clear target
   and enlarge the practical touch box without altering non-Apple devices. */
.bb-cpr-ios-touch .bb-configurator .composite_component table.variations td.value .cfvsw-swatches-container{
	gap: 0 !important;
}
.bb-cpr-ios-touch .bb-configurator .composite_component table.variations td.value .cfvsw-swatches-option{
	display: inline-flex !important;
	align-items: stretch !important;
	justify-content: center !important;
	min-width: 42px !important;
	min-height: 42px !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}
.bb-cpr-ios-touch .bb-configurator .composite_component table.variations td.value .cfvsw-swatches-option .cfvsw-swatch-inner{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 42px !important;
	min-height: 42px !important;
	padding: 0 !important;
	line-height: 1.2 !important;
	box-sizing: border-box !important;
}
.bb-cpr-ios-touch .bb-configurator .composite_component table.variations td.value .cfvsw-swatches-option.bb-is-image-swatch .cfvsw-swatch-inner{
	padding: 0 !important;
}
.bb-cpr-ios-touch .bb-configurator .composite_component table.variations td.value .cfvsw-swatches-option::before,
.bb-cpr-ios-touch .bb-configurator .composite_component table.variations td.value .cfvsw-swatches-option::after{
	pointer-events: none !important;
}


/* iOS-only extra stabilization for steps 1-3 real variation swatches.
   The zoom clue suggests Safari hit testing still misses at normal scale,
   so enlarge the practical target and the tappable gutter without affecting
   desktop or non-Apple devices. */
.bb-cpr-ios-touch .bb-configurator .composite_component table.variations td.value .cfvsw-swatches-container{
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	padding: 0 !important;
	margin: 0 !important;
	gap: 0 !important;
	overflow: visible !important;
}
.bb-cpr-ios-touch .bb-configurator .composite_component table.variations td.value .cfvsw-swatches-option{
	position: relative !important;
	z-index: 1 !important;
	display: inline-flex !important;
	align-items: stretch !important;
	justify-content: center !important;
	min-width: 42px !important;
	min-height: 42px !important;
	padding: 0 !important;
	margin: 0 -2px -2px 0 !important;
	box-sizing: border-box !important;
	border-radius: 4px !important;
	background-clip: padding-box !important;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}
.bb-cpr-ios-touch .bb-configurator .composite_component table.variations td.value .cfvsw-swatches-option .cfvsw-swatch-inner{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 42px !important;
	min-height: 42px !important;
	padding: 0 !important;
	line-height: 1.15 !important;
	box-sizing: border-box !important;
}

/* Android mobile tightening: keep the shared/default spacing intact, but
   collapse the remaining row air only on Android phones. */
.bb-cpr-android-mobile .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container,
.bb-cpr-android-mobile .bb-configurator .composite_component table.variations tr.bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container{
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-content: flex-start !important;
  align-items: flex-start !important;
  width: calc(100% - 18px) !important;
  max-width: calc(100% - 18px) !important;
  box-sizing: border-box !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 0 0 18px !important;
}
.bb-cpr-android-mobile .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch,
.bb-cpr-android-mobile .bb-configurator .composite_component table.variations tr.bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch{
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  flex: 0 0 48px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.bb-cpr-android-mobile .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch .cfvsw-swatch-inner,
.bb-cpr-android-mobile .bb-configurator .composite_component table.variations tr.bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch .cfvsw-swatch-inner{
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
}
.bb-cpr-android-mobile .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch .cfvsw-swatch-inner img,
.bb-cpr-android-mobile .bb-configurator .composite_component table.variations tr.bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch .cfvsw-swatch-inner img{
  display: block !important;
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.bb-cpr-android-mobile .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .bb-farbvariante-row-break,
.bb-cpr-android-mobile .bb-configurator .composite_component table.variations tr.bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .bb-farbvariante-row-break{
  flex-basis: 100% !important;
  width: 100% !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

/* ============================================================
 * [CSS-STICKY] MOBILE STICKY PURCHASE BAR
 * - Collapsible mobile action rail for long composite PDPs
 * - Integrates with the existing to-top control instead of blocking it
 * ============================================================ */
@media (max-width: 767px){
  body.single-product{
    --bb-cpr-float-right: 12px;
    --bb-cpr-float-bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
    --bb-cpr-float-gap: 12px;
    --bb-cpr-float-size: 44px;
  }
  body.single-product{
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 78px);
  }

  .bb-cpr-sticky-purchase{
    position: fixed;
    right: 10px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 10px);
    z-index: 9997;
    opacity: 0;
    visibility: hidden;
    transition: opacity .16s ease, visibility .16s ease;
    pointer-events: none;
  }
  .bb-cpr-sticky-purchase.is-visible{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .bb-cpr-sticky-purchase__panel{
    position: relative;
    width: min(382px, calc(100vw - 20px));
    background: rgba(234,227,215,.985);
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 18px;
    box-shadow: 0 10px 22px rgba(0,0,0,.13);
    padding: 0 10px 0 0;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    transition: opacity .16s ease, visibility .16s ease;
    overflow: hidden;
  }
  .bb-cpr-sticky-purchase__row{
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    grid-template-areas:
      "close price"
      "close nav";
    align-items: center;
    grid-template-rows: auto auto;
    row-gap: 5px;
    padding-top: 5px;
    padding-bottom: 5px;
    min-height: 0;
    overflow: hidden;
    border-radius: 0;
  }
  .bb-cpr-sticky-purchase__pricewrap{
    grid-area: price;
    min-width: 0;
    padding-left: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    flex-wrap: nowrap;
    height: 100%;
  }
  .bb-cpr-sticky-purchase__price,
  .bb-cpr-sticky-purchase__price .price{
    margin: 0 !important;
    line-height: 1.05 !important;
    color: #1A1A1A !important;
    font-size: 16px !important;
    font-weight: 800 !important;
  }
  .bb-cpr-sticky-purchase__price .woocommerce-Price-amount,
  .bb-cpr-sticky-purchase__price .amount,
  .bb-cpr-sticky-purchase__price bdi{
    color: inherit !important;
    font-weight: inherit !important;
  }
  .bb-cpr-sticky-purchase__sub{
    margin-top: 0;
    color: rgba(26,26,26,.72);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
  }
  .bb-cpr-sticky-purchase__nav{
    grid-area: nav;
    display: grid;
    grid-template-columns: minmax(74px,max-content) minmax(74px,max-content) minmax(90px,max-content);
    gap: 7px;
    min-width: 0;
    padding-left: 10px;
    padding-right: 20px;
    justify-content: center;
  }
  body.single-product .bb-cpr-sticky-purchase__navbtn{
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0,0,0,.10) !important;
    background: #fff !important;
    color: #1A1A1A !important;
    padding: 6px 6px !important;
    min-height: 34px;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }
  body.single-product .bb-cpr-sticky-purchase__navbtn--primary{
    background: #EFCD61 !important;
  }
  body.single-product .bb-cpr-sticky-purchase__navbtn.is-inactive{
    color: rgba(26,26,26,.45) !important;
    border-color: rgba(0,0,0,.08) !important;
    background: rgba(255,255,255,.82) !important;
  }

  .bb-cpr-sticky-purchase__collapse{
    grid-area: close;
    appearance: none;
    -webkit-appearance: none;
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: calc(100% + 10px);
    min-height: calc(100% + 10px);
    margin: -5px 0;
    padding: 0;
    border: 0;
    border-right: 1px solid rgba(0,0,0,.10);
    border-radius: 18px 0 0 18px;
    background: #f2da86;
    color: #000;
    box-shadow: none;
    align-self: stretch;
    cursor: pointer;
    text-decoration: none;
    outline: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  .bb-cpr-sticky-purchase__collapse-icon{
    display: block;
    stroke: #000;
  }
  body.single-product .bb-cpr-sticky-purchase__collapse:hover,
  body.single-product .bb-cpr-sticky-purchase__collapse:focus,
  body.single-product .bb-cpr-sticky-purchase__collapse:active,
  body.single-product .bb-cpr-sticky-purchase__collapse:focus-visible{
    background: #f2da86 !important;
    color: #000 !important;
    border-color: transparent rgba(0,0,0,.10) transparent transparent !important;
    box-shadow: none !important;
    outline: none !important;
  }
  body.single-product .bb-cpr-sticky-purchase__collapse:hover .bb-cpr-sticky-purchase__collapse-icon,
  body.single-product .bb-cpr-sticky-purchase__collapse:focus .bb-cpr-sticky-purchase__collapse-icon,
  body.single-product .bb-cpr-sticky-purchase__collapse:active .bb-cpr-sticky-purchase__collapse-icon,
  body.single-product .bb-cpr-sticky-purchase__collapse:focus-visible .bb-cpr-sticky-purchase__collapse-icon{
    stroke: #000 !important;
  }
  body.single-product .bb-cpr-sticky-purchase__navbtn[data-bb-nav="ring1"],
  body.single-product .bb-cpr-sticky-purchase__navbtn[data-bb-nav="ring2"]{
    width: auto !important;
    min-width: 74px;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  body.single-product .bb-cpr-sticky-purchase__navbtn[data-bb-nav="cta"]{
    width: auto !important;
    min-width: 90px;
    padding-left: 8px !important;
    padding-right: 8px !important;
    justify-self: start;
    margin-right: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .bb-cpr-sticky-purchase__launcher{
    position: fixed;
    right: var(--bb-cpr-float-right);
    bottom: var(--bb-cpr-float-bottom);
    width: 44px;
    height: 44px;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 12px;
    background: #E9C24E;
    color: #1A1A1A;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 8px 18px rgba(0,0,0,.12);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .16s ease, visibility .16s ease;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
    text-decoration: none;
    outline: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  body.single-product .bb-cpr-sticky-purchase__launcher:hover,
  body.single-product .bb-cpr-sticky-purchase__launcher:focus,
  body.single-product .bb-cpr-sticky-purchase__launcher:active,
  body.single-product .bb-cpr-sticky-purchase__launcher:focus-visible{
    background: #E9C24E !important;
    color: #1A1A1A !important;
    border-color: rgba(0,0,0,.10) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.12) !important;
    outline: none !important;
  }
  /* Keep the theme's original #totop positioning; only neutralize transitions. */
  body.single-product #totop{
    transition: none !important;
    z-index: 9999 !important;
    pointer-events: auto !important;
  }
  @media (max-width: 350px){
    .bb-cpr-sticky-purchase__row{
      row-gap: 5px;
      padding-top: 5px;
      padding-bottom: 5px;
    }
    .bb-cpr-sticky-purchase__pricewrap{ gap: 7px; }
    .bb-cpr-sticky-purchase__sub{ font-size: 11px; }
    .bb-cpr-sticky-purchase__nav{
      gap: 6px;
      padding-right: 16px;
    }
    body.single-product .bb-cpr-sticky-purchase__navbtn[data-bb-nav="ring1"],
    body.single-product .bb-cpr-sticky-purchase__navbtn[data-bb-nav="ring2"]{
      min-width: 68px;
      padding-left: 9px !important;
      padding-right: 9px !important;
    }
  }

  .bb-cpr-sticky-purchase.is-collapsed .bb-cpr-sticky-purchase__panel{
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .bb-cpr-sticky-purchase__panel,
  .bb-cpr-sticky-purchase__row,
  .bb-cpr-sticky-purchase__nav{
    margin-bottom: 0 !important;
  }
  .bb-cpr-sticky-purchase.is-collapsed .bb-cpr-sticky-purchase__launcher{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

  }
}
@media (max-width: 767px){
  .bb-configurator .composite_form > .composite_component{
    padding-left: 6px !important;
    padding-right: 6px !important;
    padding-top: 18px !important;
    padding-bottom: 20px !important;
  }

  .bb-configurator .composite_component.component.single{
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .bb-configurator .composite_component .component_title_wrapper{
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    margin-bottom: 8px !important;
  }

  .bb-configurator .composite_component .component_title_wrapper .component_title,
  .bb-configurator .composite_component .component_title_wrapper h2{
    text-align: left !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .bb-configurator .composite_component .component_title_wrapper > .bb-comp-toggle__fav{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
  }

  .bb-configurator .composite_component .component_title_wrapper > .bb-comp-toggle__fav .bb-fav-btn--composite{
    margin: 0 !important;
  }

  .bb-configurator .composite_component .bb-comp-toggle{
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    width: auto !important;
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
    margin: 0 0 0 auto !important;
  }

  .bb-configurator .composite_component [data-bb-comp-toggle="1"]{
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
  }

  .bb-configurator .composite_component .component_title_wrapper .bb-comp-toggle .bb-comp-toggle__fav{
    display: none !important;
  }

  .bb-configurator .composite_component .bb-fav-mobile-row{
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
}

/* Keep the reset code path available, but hide the visible control globally. */
.bb-configurator .composite_component .bb-rpc-reset-row,
.bb-configurator .composite_component .bb-rpc-reset-row a.reset_variations{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

@media (max-width: 767px){
  .bb-configurator .bb-card--top tr.attribute_options td.label > label,
  .bb-configurator .bb-size-block tr.attribute_options td.label > label,
  .bb-configurator .bb-engrave-block tr.attribute_options td.label > label{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    line-height:1.08 !important;
    white-space:normal !important;
  }

  .bb-configurator .bb-card--top tr.attribute_options td.label > label:before,
  .bb-configurator .bb-size-block tr.attribute_options td.label > label:before,
  .bb-configurator .bb-engrave-block tr.attribute_options td.label > label:before{
    display:block !important;
    margin:0 0 2px 0 !important;
    width:auto !important;
  }

  .bb-configurator .bb-farbvariante-row td.label .cfvsw-selected-label{
    display:block !important;
  }

  .bb-configurator .bb-size-block table.variations tr.attribute_options{
    display:grid !important;
    grid-template-columns:minmax(0, var(--bb-cpr-compact-label-w)) minmax(0, 1fr) !important;
    column-gap:12px !important;
    align-items:flex-start !important;
  }

  .bb-configurator .bb-size-block table.variations tr.attribute_options td.label{
    width:auto !important;
    padding-right:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:2px !important;
  }

  .bb-configurator .bb-size-block table.variations tr.attribute_options td.value{
    min-width:0 !important;
    width:auto !important;
  }

  .bb-configurator .bb-size-ui .bb-size-toggle{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
    width:max-content !important;
    max-width:100% !important;
  }

  .bb-configurator .bb-size-ui .bb-size-toggle > .bb-size-opt{
    flex:0 0 164px !important;
    width:164px !important;
    min-width:164px !important;
    max-width:164px !important;
    box-sizing:border-box !important;
  }

  .bb-configurator .bb-size-ui .bb-size-opt,
  .bb-configurator .bb-size-ui .bb-size-opt span,
  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.value .cfvsw-swatches-option,
  .bb-configurator .bb-engrave-swatches .cfvsw-swatches-option,
  .bb-configurator .bb-engrave-swatches .cfvsw-swatches-option .cfvsw-swatch-inner{
    font-size:13px !important;
    line-height:1.15 !important;
  }

  .bb-configurator .bb-rpc-reset-row,
  .bb-configurator .bb-rpc-reset-row a.reset_variations{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }
}
.bb-configurator .bb-farbvariante-ui{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  width:100% !important;
  margin-top:0 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

.bb-configurator .bb-farbvariante-types{
  width:100% !important;
}

.bb-configurator .bb-farbvariante-type-track{
  position:relative !important;
  display:grid !important;
  grid-auto-flow:column !important;
  grid-auto-columns:minmax(0, 1fr) !important;
  align-items:start !important;
  gap:8px !important;
  width:100% !important;
}

.bb-configurator .bb-farbvariante-type-track:before{
  content:'' !important;
  position:absolute !important;
  left:16px !important;
  right:16px !important;
  top:14px !important;
  height:2px !important;
  background:rgba(17, 24, 39, .12) !important;
  z-index:0 !important;
}

.bb-configurator .bb-farbvariante-type,
.bb-configurator button.bb-farbvariante-type{
  -webkit-appearance:none !important;
  appearance:none !important;
  position:relative !important;
  z-index:1 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#374151 !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  text-align:center !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  cursor:pointer !important;
}

.bb-configurator .bb-farbvariante-type:before,
.bb-configurator .bb-farbvariante-type:after,
.bb-configurator button.bb-farbvariante-type:before,
.bb-configurator button.bb-farbvariante-type:after{
  content:none !important;
  display:none !important;
}

.bb-configurator .bb-farbvariante-type:hover,
.bb-configurator .bb-farbvariante-type:focus,
.bb-configurator .bb-farbvariante-type:focus-visible,
.bb-configurator .bb-farbvariante-type:active{
  outline:none !important;
  box-shadow:none !important;
  background:transparent !important;
  color:#111827 !important;
}

.bb-configurator .bb-farbvariante-type-dot{
  width:26px !important;
  height:26px !important;
  border-radius:999px !important;
  border:2px solid rgba(17, 24, 39, .18) !important;
  background:#fff !important;
  box-shadow:0 0 0 4px #faf7f2 !important;
}

.bb-configurator .bb-farbvariante-type.is-active .bb-farbvariante-type-dot{
  border-color:#111827 !important;
  background:#111827 !important;
}

.bb-configurator .bb-farbvariante-type-text{
  display:block !important;
  min-height:28px !important;
}

.bb-configurator .bb-farbvariante-current{
  display:block !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:translateY(-5px) !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"]{
  padding-left:0 !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] .bb-farbvariante-current{
  padding-left:18px !important;
}

.bb-configurator .bb-farbvariante-current-label{
  color:#111827 !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.35 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-content:flex-start !important;
  align-items:flex-start !important;
  width:calc(100% - 18px) !important;
  max-width:calc(100% - 18px) !important;
  box-sizing:border-box !important;
  gap:0 !important;
  padding:0 !important;
  margin:0 0 0 18px !important;
  overflow:visible !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  flex:0 0 48px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-hidden{
  display:none !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch .cfvsw-swatch-inner{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  box-shadow:none !important;
  font-size:0 !important;
  line-height:0 !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch:hover .cfvsw-swatch-inner,
.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch:focus .cfvsw-swatch-inner,
.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch:focus-visible .cfvsw-swatch-inner{
  box-shadow:0 0 0 1px rgba(17, 24, 39, .16) !important;
  background:rgba(17, 24, 39, .03) !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch.cfvsw-selected-swatch .cfvsw-swatch-inner{
  box-shadow:0 0 0 1.5px #111827 !important;
  background:rgba(17, 24, 39, .04) !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch .cfvsw-swatch-inner img{
  display:block !important;
  width:42px !important;
  height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
  margin:0 auto !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .bb-farbvariante-row-break{
  flex-basis:100% !important;
  width:100% !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  pointer-events:none !important;
}

.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch .bb-farbvariante-native-letter,
.bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container .cfvsw-swatches-option.bb-farbvariante-native-swatch .bb-swatch-caption{
  display:none !important;
}

@media (min-width: 768px){
  .bb-configurator .bb-card--top tr.bb-farbvariante-row{
    display:block !important;
  }

  .bb-configurator .bb-card--top tr.bb-farbvariante-row td.label,
  .bb-configurator .bb-card--top tr.bb-farbvariante-row td.value{
    display:block !important;
    width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .bb-configurator .bb-card--top tr.bb-farbvariante-row td.label{
    margin-bottom:6px !important;
    padding-bottom:0 !important;
  }

  .bb-configurator .bb-card--top tr.bb-farbvariante-row td.label > label{
    display:block !important;
    max-width:none !important;
    white-space:normal !important;
  }

  .bb-configurator .bb-card--top tr.bb-farbvariante-row td.value{
    margin-left:0 !important;
  }

  .bb-configurator .bb-card--top tr.bb-farbvariante-row td.value > *{
    margin-left:0 !important;
  }
}


/* =========================================================
   BB CPR patch 1.3.117
   - Desktop/tablet numbers visible
   - Desktop Goldfarben spacing rollback
   - Mobile swatch-style only adjustments
   - Mobile Ringgröße label alignment fix
   ========================================================= */

@media (min-width: 768px){
  /* Desktop/tablet: use real inline number nodes, not pseudo counters. */
  .bb-configurator .bb-card--top tr.attribute_options td.label > label:before,
  .bb-configurator .bb-addon-block tr.attribute_options td.label > label:before,
  .bb-configurator .bb-size-block tr.attribute_options td.label > label:before,
  .bb-configurator .bb-engrave-block tr.attribute_options td.label > label:before{
    content: none !important;
    display: none !important;
  }

  .bb-configurator td.label > label .bb-cpr-step-no{
    display: inline-block !important;
    min-width: 1.35em !important;
    margin: 0 0.24em 0 0 !important;
    font-weight: 800 !important;
    color: currentColor !important;
    vertical-align: baseline !important;
  }

  /* Goldfarben only: remove the desktop indent that creates the excessive gap. */
  .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] .bb-farbvariante-current{
    padding-left: 0 !important;
    transform: none !important;
  }

  .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container{
    width: auto !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    gap: 2px !important;
  }

  .bb-configurator .bb-card--top tr.bb-farbvariante-row td.label{
    margin-bottom: 4px !important;
  }
}

@media (max-width: 767px){
  /* Mobile: swatch styling only. Keep the existing mobile configurator structure/logic intact. */
  .bb-configurator .bb-addon-swatches,
  .bb-configurator .bb-size-swatches,
  .bb-configurator .bb-engrave-swatches{
    gap: 6px !important;
  }

  .bb-configurator .bb-addon-swatch,
  .bb-configurator .bb-size-swatches .bb-size-swatch,
  .bb-configurator .bb-engrave-swatches .cfvsw-swatches-option{
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 6px 10px !important;
    border-radius: 3px !important;
  }

  .bb-configurator .bb-addon-swatch .cfvsw-swatch-inner,
  .bb-configurator .bb-size-swatches .bb-size-swatch .cfvsw-swatch-inner,
  .bb-configurator .bb-engrave-swatches .cfvsw-swatches-option .cfvsw-swatch-inner{
    font-size: 12px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-align: center !important;
  }

  .bb-configurator .bb-size-swatches .bb-size-swatch.cfvsw-selected-swatch,
  .bb-configurator .bb-size-swatches .bb-size-swatch.is-selected,
  .bb-configurator .bb-size-swatches .bb-size-swatch[aria-pressed="true"]{
    padding: 5px 9px !important;
    /* Match Gold/Steine/Gravur: single 2px outline only (no inset ring — that read as “extra thick” on small screens). */
    box-shadow: none !important;
  }

  .bb-configurator .bb-size-swatches .bb-size-swatch.cfvsw-selected-swatch:hover,
  .bb-configurator .bb-size-swatches .bb-size-swatch.is-selected:hover,
  .bb-configurator .bb-size-swatches .bb-size-swatch[aria-pressed="true"]:hover{
    box-shadow: none !important;
  }

  .bb-configurator tr[data-attribute_label="Ringgröße"] td.value .bb-size-swatch.cfvsw-selected-swatch,
  .bb-configurator tr[data-attribute_label="Ringgröße"] td.value .bb-size-swatch.is-selected,
  .bb-configurator tr[data-attribute_label="Ringgröße"] td.value .bb-size-swatch[aria-pressed="true"]{
    box-shadow: none !important;
  }

  /* Ringgröße alignment: remove the mobile-only left shift so its number/label start line matches the other rows. */
  .bb-configurator .details.component_data .bb-size-block{
    margin-left: 0 !important;
    padding-left: 0 !important;
  }
}


/* =========================================================
   BB CPR patch 1.3.119
   - Desktop numbering space after number
   - Separator above Gold on desktop/mobile
   - Mobile vertical centering for label/value rows
   - Restore mobile sub-card shells
   - Reuse the mobile component-price tag on desktop/tablet
   ========================================================= */

.bb-configurator .bb-before-addon-sep{
  height: 1px !important;
  width: 100% !important;
  background: rgba(0,0,0,.08) !important;
}

@media (min-width: 768px){
  .bb-configurator td.label > label .bb-cpr-step-no{
    min-width: 1.55em !important;
    margin-right: 0 !important;
  }

  .bb-configurator .bb-before-addon-sep{
    margin: 18px 0 12px 0 !important;
  }

  .bb-configurator .bb-rpc-mobile-top-price{
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .bb-configurator .bb-rpc-price-row{
    display: block !important;
    text-align: center !important;
    margin: 2px 0 12px 0 !important;
    padding: 0 !important;
  }

  .bb-configurator .bb-rpc-price-row .bb-rpc-price-target,
  .bb-configurator .bb-rpc-price-row .bb-rpc-price-target .price{
    display: inline-block !important;
    margin: 0 !important;
    font-weight: 700 !important;
    color: #7cc4ee !important;
    transition: none !important;
    animation: none !important;
  }
}

@media (max-width: 767px){
  .bb-configurator .bb-before-addon-sep{
    margin: 14px 0 10px 0 !important;
  }

  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr),
  .bb-configurator .bb-size-block table.variations tr.attribute_options,
  .bb-configurator .bb-engrave-block table.variations tr.attribute_options{
    align-items: center !important;
  }

  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.label,
  .bb-configurator .bb-size-block table.variations tr.attribute_options td.label,
  .bb-configurator .bb-engrave-block table.variations tr.attribute_options td.label{
    align-self: center !important;
    justify-content: center !important;
  }

  .bb-configurator .bb-card-group[data-bb-card-group="1"]{
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .bb-configurator .bb-card-group .bb-card--top,
  .bb-configurator .bb-card-group .bb-card--middle,
  .bb-configurator .bb-card-group .bb-card--bottom{
    background: var(--bb-rpc-details-bg) !important;
    border: 1px solid rgba(0,0,0,.08) !important;
    border-radius: 18px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .bb-configurator .bb-card-group .bb-card--middle,
  .bb-configurator .bb-card-group .bb-card--bottom{
    margin-top: 12px !important;
  }
}


/* =========================================================
   BB CPR patch 1.3.120
   - Mobile sub-card spacing and full-width restoration
   - Desktop/tablet stability for numbering + mirrored price display
   ========================================================= */

@media (max-width: 767px){
  .bb-configurator .bb-card-group[data-bb-card-group="1"],
  .bb-configurator .bb-card-group .bb-card--top,
  .bb-configurator .bb-card-group .bb-card--middle,
  .bb-configurator .bb-card-group .bb-card--bottom,
  .bb-configurator .composite_form .composite_wrap{
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  .bb-configurator .bb-card-group .bb-card--middle,
  .bb-configurator .bb-card-group .bb-card--bottom{
    margin-top: 4px !important;
  }
}

/* Increase spacing above the technical-data (bottom) inner card. */
@media (min-width: 768px){
  .bb-configurator .bb-card-group .bb-card--bottom{
    margin-top: 32px !important; /* previous effective spacing 12px + 20px */
  }
}
@media (max-width: 767px){
  .bb-configurator .bb-card-group .bb-card--bottom{
    margin-top: 9px !important; /* previous effective spacing 4px + 5px */
  }
}
/* Final spacing owner for the technical-data card gap (desktop/tablet). */
@media (min-width: 768px){
  .bb-configurator .component_summary.cp_clearfix > .product.content.summary_content.populated.cart.variations_form > .composited_product_details_wrapper > .details.component_data > .bb-card-group[data-bb-card-group="1"] > .bb-card.bb-card--bottom,
  .bb-configurator .bb-card-group > .bb-card.bb-card--bottom[data-bb-card="bottom"]{
    margin-top: 32px !important;
  }
}

@media (min-width: 768px){
  .bb-configurator td.label > label .bb-cpr-step-no{
    white-space: pre !important;
  }

  .bb-configurator .bb-rpc-mobile-top-price,
  .bb-configurator .bb-rpc-price-row .bb-rpc-price-target,
  .bb-configurator .bb-rpc-price-row .bb-rpc-price-target .price{
    transition: none !important;
  }
}

/* =========================================================
   BB CPR patch 1.3.121
   - Mobile sub-card width cleanup
   - Desktop/tablet visual stability for labels and price tag
   ========================================================= */

@media (max-width: 767px){
  .bb-configurator .component_inner,
  .bb-configurator .component_inner > .component_selections,
  .bb-configurator .component_inner > .component_selections > .details.component_data,
  .bb-configurator .bb-card-group[data-bb-card-group="1"],
  .bb-configurator .bb-card-group .bb-card--top,
  .bb-configurator .bb-card-group .bb-card--middle,
  .bb-configurator .bb-card-group .bb-card--bottom,
  .bb-configurator .composite_form .composite_wrap{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .bb-configurator .component_inner > .component_selections > .details.component_data{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (min-width: 768px){
  .bb-configurator td.label > label .bb-cpr-step-no,
  .bb-configurator .bb-rpc-price-row .bb-rpc-price-target,
  .bb-configurator .bb-rpc-price-row .bb-rpc-price-target .price{
    transition: none !important;
    animation: none !important;
  }
}


/* =========================================================
   BB CPR patch 1.3.124
   - Keep stable block flow for Ringgröße and related sections
   ========================================================= */
@media (max-width: 767px){
  .bb-configurator [data-bb-size-block="1"],
  .bb-configurator [data-bb-addon-block="1"],
  .bb-configurator [data-bb-engrave-block="1"]{
    order: initial !important;
  }
}


/* =========================================================
   BB CPR patch 1.3.126
   - Desktop/tablet: separator is Farbvariante row bottom border (see BB_CPR_NUMBERING)
   - Spacing before addon block without duplicating a second rule line
   - Mobile stray Gold separator removed
   ========================================================= */
@media (min-width: 768px){
  .bb-configurator .bb-before-addon-sep{
    display: none !important;
  }

  .bb-configurator .bb-addon-block[data-bb-addon-block="1"]{
    margin-top: 18px !important;
  }
}

@media (max-width: 767px){
  .bb-configurator .bb-before-addon-sep{
    display: none !important;
  }

  .bb-configurator .component_selections,
  .bb-configurator .component_selections > .details.component_data,
  .bb-configurator .bb-card-group[data-bb-card-group="1"]{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* BB_CPR_MOBILE_ROW_ALIGNMENT_STABLE_2026_04:
     resolve center-vs-start conflicts that cause row 2/3 twitching. */
  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr),
  .bb-configurator .bb-size-block table.variations tr.attribute_options,
  .bb-configurator .bb-engrave-block table.variations tr.attribute_options{
    align-items: flex-start !important;
  }
  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-dummy-at-home-cap-tr) td.label,
  .bb-configurator .bb-size-block table.variations tr.attribute_options td.label,
  .bb-configurator .bb-engrave-block table.variations tr.attribute_options td.label{
    align-self: flex-start !important;
    justify-content: flex-start !important;
  }
}


/* =========================================================
   BB CPR patch 1.3.136
   - Mobile Goldfarben label kept on one line in the active responsive range
   - Mobile Goldfarben type dots slightly reduced
   - Mobile separator above Gold restored
   - Desktop Goldfarben row aligned to the same two-column start line
   ========================================================= */

@media (max-width: 980px){
  .bb-configurator .bb-card--top tr.bb-farbvariante-row td.label{
    width: auto !important;
    margin-bottom: 6px !important;
  }

  .bb-configurator .bb-card--top tr.bb-farbvariante-row td.label > label{
    display: inline-flex !important;
    width: auto !important;
    flex-wrap: nowrap !important;
    align-items: baseline !important;
    white-space: nowrap !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    max-width: none !important;
  }

  .bb-configurator .bb-card--top tr.bb-farbvariante-row td.label > label .bb-cpr-step-no{
    flex: 0 0 auto !important;
    min-width: 1.55em !important;
    white-space: nowrap !important;
    margin-right: 0.24em !important;
  }

  .bb-configurator .bb-farbvariante-type-dot{
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    box-shadow: 0 0 0 3px #fff !important;
  }
}

/* Addon-block top border: mobile only (desktop/tablet uses JS-inserted row2 separator node). */
@media (max-width: 767px){
  .bb-configurator .bb-farbvariante-type-dot{
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    box-shadow: 0 0 0 2px #fff !important;
  }

  .bb-configurator .bb-addon-block[data-bb-addon-block="1"]{
    border-top: 1px solid rgba(0,0,0,.08) !important;
    margin-top: 14px !important;
    padding-top: 0 !important;
  }
}

/* =========================================================
   BB_CPR_NUMBERING_AND_SEPARATOR_RESTORE_2026_04
   - Desktop/tablet: JS .bb-cpr-step-no only (patch 1.3.117); no pseudo counters
   - Desktop/tablet: separator ownership moved to JS-inserted row2 separator node
   - Mobile: row 1 one-line, rows 2+ number above label (unchanged below)
   ========================================================= */
@media (min-width: 768px){
  .bb-configurator .bb-card--top tr.attribute_options td.label > label:before,
  .bb-configurator .bb-addon-block tr.attribute_options td.label > label:before,
  .bb-configurator .bb-size-block tr.attribute_options td.label > label:before,
  .bb-configurator .bb-engrave-block tr.attribute_options td.label > label:before,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options td.label > label:before{
    content: none !important;
    display: none !important;
  }

  .bb-configurator td.label > label .bb-cpr-step-no{
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-width: 1.35em !important;
    margin: 0 0.24em 0 0 !important;
    font-weight: 800 !important;
  }
}

@media (max-width: 767px){
  /* Mobile rows 2+ (Gold/Steine/Ringgröße/Gravur/Cellstones): number line first, label below */
  .bb-configurator .bb-card--top tr.bb-compact-attr-row td.label > label,
  .bb-configurator .bb-size-block tr.attribute_options td.label > label,
  .bb-configurator .bb-engrave-block tr.attribute_options td.label > label,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options td.label > label{
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    white-space: normal !important;
    line-height: 1.15 !important;
  }
  .bb-configurator .bb-card--top tr.bb-compact-attr-row td.label > label:before,
  .bb-configurator .bb-size-block tr.attribute_options td.label > label:before,
  .bb-configurator .bb-engrave-block tr.attribute_options td.label > label:before,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options td.label > label:before{
    display: block !important;
    margin: 0 0 2px 0 !important;
    min-width: 0 !important;
    line-height: 1 !important;
  }

  /* Mobile row 1 (Goldfarben): keep on one line */
  .bb-configurator .bb-card--top tr.bb-farbvariante-row td.label > label{
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 981px){
  .bb-configurator .bb-card--top tr.bb-farbvariante-row{
    display: grid !important;
    grid-template-columns: minmax(0, var(--bb-cpr-compact-label-w)) minmax(0, 1fr) !important;
    column-gap: 12px !important;
    align-items: start !important;
  }

  .bb-configurator .bb-card--top tr.bb-farbvariante-row td.label,
  .bb-configurator .bb-card--top tr.bb-farbvariante-row td.value{
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .bb-configurator .bb-card--top tr.bb-farbvariante-row td.label{
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .bb-configurator .bb-card--top tr.bb-farbvariante-row td.value{
    margin-left: 0 !important;
  }

  .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] .bb-farbvariante-current,
  .bb-configurator .bb-farbvariante-row td.value[data-bb-farbvariante-ui-ready="1"] > .cfvsw-swatches-container{
    margin-left: 0 !important;
    padding-left: 0 !important;
  }
}


/* ChatGPT f7: unified visible component price across all widths */
.bb-configurator .bb-rpc-mobile-top-price{
  display:block !important;
  text-align:center !important;
  font-weight:700 !important;
  margin:6px 0 8px !important;
  padding:0 !important;
}
.bb-configurator .bb-rpc-mobile-top-price .price,
.bb-configurator .bb-rpc-mobile-top-price .woocommerce-Price-amount,
.bb-configurator .bb-rpc-mobile-top-price bdi{
  display:inline-block !important;
  margin:0 !important;
  text-align:center !important;
}
.bb-configurator .bb-rpc-mobile-top-price .bb-rpc-mobile-price-side{
  display:inline !important;
  font-size:0.86em !important;
  font-weight:400 !important;
  font-family:inherit !important;
  color:#4b5563 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  margin-left:2px !important;
  vertical-align:baseline !important;
}
@media (min-width: 768px){
  .bb-configurator .bb-rpc-mobile-top-price .bb-rpc-mobile-price-side{
    display:inline !important;
    visibility:visible !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    overflow:visible !important;
    clip:auto !important;
    margin-left:2px !important;
    padding:0 !important;
    border:0 !important;
    pointer-events:auto !important;
  }
}
@media (max-width: 767px){
  .bb-configurator .bb-rpc-mobile-top-price .bb-rpc-mobile-price-side{
    display:inline !important;
    font-size:0.86em !important;
    font-weight:400 !important;
    font-family:inherit !important;
    color:#4b5563 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    margin-left:2px !important;
    vertical-align:baseline !important;
  }
}
/* Hide retired desktop row everywhere so stale value cannot reappear */
.bb-configurator .bb-rpc-price-row,
.bb-configurator .bb-rpc-price-row--top,
.bb-configurator .bb-rpc-price-target{
  display:none !important;
  visibility:hidden !important;
}
/* Keep real mobile-top nodes visible only when they actually contain price html */
.bb-configurator .bb-rpc-mobile-top-price:empty{display:none !important;}
.bb-configurator .bb-rpc-mobile-top-price[data-bb-mobile-top-price="1"]{display:block !important;visibility:visible !important;}

/* =========================================================================
 * BB_CPR_LAYOUT_STABLE_LOAD_2026_04
 * Single source of truth for wrapper placement + shell geometry.
 * - Viewport >=750px: two columns, card right of image.
 * - Viewport <=749px: single column.
 * ======================================================================= */
@media (min-width: 750px){
  .bb-configurator{
    /* BB_CPR_DESKTOP_COL_BALANCE_RESTORE_2026_04 */
    --bb-rpc-img-col: 40%;
    --bb-rpc-img-width: 100%;
  }
  .bb-configurator .composite_component .composited_product_details_wrapper{
    display: grid !important;
    grid-template-columns: minmax(0, 40%) minmax(0, 1fr) !important;
    column-gap: var(--bb-rpc-col-gap) !important;
    align-items: start !important;
  }
  /* Pin gallery to the top of the image column (match Konfigurator card top on the right). */
  .bb-configurator .composite_component .composited_product_images{
    margin-top: 0 !important;
    padding-top: 0 !important;
    justify-content: flex-start !important;
  }
  /* BB_CPR_GALLERY_STACK_FIX_2026_04 — thumbnails below main image when shell uses column layout */
  /* justify-items was `start`, which kept figure/thumbs at intrinsic width inside the ~40% grid column (tiny main image + gap). Stretch the main figure; center the fixed-width thumb grid. */
  .bb-configurator .composite_component .composited_product_images.bb-vg-shell{
    display: grid !important;
    grid-template-rows: auto auto !important;
    align-content: start !important;
    justify-items: stretch !important;
    row-gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .bb-configurator .composite_component .composited_product_images.bb-vg-shell .composited_product_image,
  .bb-configurator .composite_component .composited_product_images.bb-vg-shell figure.woocommerce-product-gallery__image{
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
  }
  .bb-configurator .composite_component .composited_product_images.bb-vg-shell .bb-vg-thumbs{
    position: static !important;
    margin-top: 0 !important;
    align-self: start !important;
    justify-self: center !important;
  }
}
@media (max-width: 749px){
  .bb-configurator{
    --bb-rpc-img-col: 1fr;
    --bb-rpc-img-width: 100%;
  }
  .bb-configurator .composite_component .composited_product_details_wrapper{
    display: grid !important;
    grid-template-columns: 1fr !important;
    row-gap: 0 !important;
  }
  .bb-configurator .component_selections,
  .bb-configurator .component_selections > .details.component_data,
  .bb-configurator .bb-card-group[data-bb-card-group="1"]{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* =========================================================================
 * BB_CPR_DESKTOP_STEP_NO_FINAL_2026_04
 * Last-in-file: pseudo counters off; JS .bb-cpr-step-no visible.
 * ======================================================================= */
@media (min-width: 768px){
  .bb-configurator .bb-card--top tr.attribute_options td.label > label:before,
  .bb-configurator .bb-addon-block tr.attribute_options td.label > label:before,
  .bb-configurator .bb-size-block tr.attribute_options td.label > label:before,
  .bb-configurator .bb-engrave-block tr.attribute_options td.label > label:before,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options td.label > label:before{
    content: none !important;
    display: none !important;
  }

  .bb-configurator td.label > label .bb-cpr-step-no{
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* (Row2 debug probes removed after winner selection.) */

/* =========================================================================
 * BB_CPR_ROWS_2_TO_5_VERTICAL_CENTER_FINAL_2026_04
 * Final centering owner for row bands 2-5 across desktop/tablet + mobile.
 * Neutralizes earlier start-vs-center conflicts.
 * ========================================================================= */
@media (min-width: 768px){
  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-farbvariante-row):not(.bb-dummy-at-home-cap-tr),
  .bb-configurator .bb-addon-block table.variations tr.attribute_options,
  .bb-configurator .bb-size-block table.variations tr.attribute_options,
  .bb-configurator .bb-engrave-block table.variations tr.attribute_options,
  .bb-configurator .bb-cellstone-place-block table.variations tr.attribute_options:not(.bb-dummy-at-home-cap-tr){
    box-sizing: border-box !important;
    min-height: 68px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    align-items: center !important;
  }

  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-farbvariante-row):not(.bb-dummy-at-home-cap-tr) td.label,
  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-farbvariante-row):not(.bb-dummy-at-home-cap-tr) td.value,
  .bb-configurator .bb-addon-block table.variations tr.attribute_options td.label,
  .bb-configurator .bb-addon-block table.variations tr.attribute_options td.value,
  .bb-configurator .bb-size-block table.variations tr.attribute_options td.label,
  .bb-configurator .bb-size-block table.variations tr.attribute_options td.value,
  .bb-configurator .bb-engrave-block table.variations tr.attribute_options td.label,
  .bb-configurator .bb-engrave-block table.variations tr.attribute_options td.value,
  .bb-configurator .bb-cellstone-place-block table.variations tr.attribute_options:not(.bb-dummy-at-home-cap-tr) td.label,
  .bb-configurator .bb-cellstone-place-block table.variations tr.attribute_options:not(.bb-dummy-at-home-cap-tr) td.value{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-self: center !important;
  }

  /* Ringgröße: same vertical footprint as Gravur/Cellstones when only swatches; grows when help or size select is shown */
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] td.value{
    display: block !important;
    vertical-align: top !important;
  }
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] td.value .bb-size-ui{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    gap: 0 !important;
  }
}

@media (max-width: 767px){
  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-farbvariante-row):not(.bb-dummy-at-home-cap-tr),
  .bb-configurator .bb-addon-block table.variations tr.attribute_options,
  .bb-configurator .bb-size-block table.variations tr.attribute_options,
  .bb-configurator .bb-engrave-block table.variations tr.attribute_options,
  .bb-configurator .bb-cellstone-place-block table.variations tr.attribute_options:not(.bb-dummy-at-home-cap-tr){
    box-sizing: border-box !important;
    min-height: 44px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    align-items: center !important;
  }

  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-farbvariante-row):not(.bb-dummy-at-home-cap-tr) td.label,
  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-farbvariante-row):not(.bb-dummy-at-home-cap-tr) td.value,
  .bb-configurator .bb-addon-block table.variations tr.attribute_options td.label,
  .bb-configurator .bb-addon-block table.variations tr.attribute_options td.value,
  .bb-configurator .bb-size-block table.variations tr.attribute_options td.label,
  .bb-configurator .bb-size-block table.variations tr.attribute_options td.value,
  .bb-configurator .bb-engrave-block table.variations tr.attribute_options td.label,
  .bb-configurator .bb-engrave-block table.variations tr.attribute_options td.value,
  .bb-configurator .bb-cellstone-place-block table.variations tr.attribute_options:not(.bb-dummy-at-home-cap-tr) td.label,
  .bb-configurator .bb-cellstone-place-block table.variations tr.attribute_options:not(.bb-dummy-at-home-cap-tr) td.value{
    align-self: center !important;
  }

  /* Keep mobile labels left-aligned while vertically centering row bands. */
  .bb-configurator .composite_component table.variations tr.bb-compact-attr-row:not(.bb-farbvariante-row):not(.bb-dummy-at-home-cap-tr) td.label,
  .bb-configurator .bb-addon-block table.variations tr.attribute_options td.label,
  .bb-configurator .bb-size-block table.variations tr.attribute_options td.label,
  .bb-configurator .bb-engrave-block table.variations tr.attribute_options td.label,
  .bb-configurator .bb-cellstone-place-block table.variations tr.attribute_options:not(.bb-dummy-at-home-cap-tr) td.label{
    justify-content: flex-start !important;
  }
}

/* =========================================================================
 * BB_CPR_ROWS_2_TO_5_SPACING_OWNER_FINAL_2026_04
 * - Rows 2-6 (alloy, stone, Ringgroesse, Gravur, Cellstones)
 * - Goldfarben excluded intentionally
 * ========================================================================= */
@media (min-width: 768px){
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="alloy"],
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"],
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"],
  .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"],
  .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"]{
    min-height: 68px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    align-items: center !important;
  }

  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="alloy"] > td.label,
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="alloy"] > td.value,
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] > td.label,
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] > td.value,
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] > td.label,
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] > td.value,
  .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"] > td.label,
  .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"] > td.value,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"] > td.label,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"] > td.value{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-self: center !important;
    vertical-align: middle !important;
  }

  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="alloy"] > td.label,
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] > td.label,
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="RinggrÃ¶ÃŸe"] > td.label,
  .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"] > td.label,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"] > td.label{
    display: flex !important;
    align-items: center !important;
  }

  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="alloy"] > td.label > label,
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] > td.label > label,
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="RinggrÃ¶ÃŸe"] > td.label > label,
  .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"] > td.label > label,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"] > td.label > label{
    display: flex !important;
    align-items: center !important;
    min-height: 100% !important;
  }
}

@media (min-width: 600px){
  /* Structure-based desktop/tablet row centering override.
     This avoids brittle attribute-label selectors for Ringgroesse. */
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="alloy"],
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"],
  .bb-configurator .bb-size-block tr.attribute_options,
  .bb-configurator .bb-engrave-block tr.attribute_options,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr){
    min-height: 68px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    align-items: center !important;
  }

  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="alloy"] > td.label,
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="alloy"] > td.value,
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] > td.label,
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] > td.value,
  .bb-configurator .bb-size-block tr.attribute_options > td.label,
  .bb-configurator .bb-size-block tr.attribute_options > td.value,
  .bb-configurator .bb-engrave-block tr.attribute_options > td.label,
  .bb-configurator .bb-engrave-block tr.attribute_options > td.value,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr) > td.label,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr) > td.value{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-self: center !important;
    vertical-align: middle !important;
  }

  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="alloy"] > td.label,
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] > td.label,
  .bb-configurator .bb-size-block tr.attribute_options > td.label,
  .bb-configurator .bb-engrave-block tr.attribute_options > td.label,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr) > td.label{
    display: flex !important;
    align-items: center !important;
  }

  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="alloy"] > td.label > label,
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] > td.label > label,
  .bb-configurator .bb-size-block tr.attribute_options > td.label > label,
  .bb-configurator .bb-engrave-block tr.attribute_options > td.label > label,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr) > td.label > label{
    display: flex !important;
    align-items: center !important;
    min-height: 100% !important;
  }

  .bb-configurator .bb-size-block tr.attribute_options > td.value,
  .bb-configurator .bb-engrave-block tr.attribute_options > td.value,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr) > td.value{
    display: flex !important;
    align-items: center !important;
  }

  .bb-configurator .bb-size-block tr.attribute_options > td.value > *,
  .bb-configurator .bb-engrave-block tr.attribute_options > td.value > *,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr) > td.value > *{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

@media (max-width: 767px){
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="alloy"],
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"],
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"],
  .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"],
  .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"]{
    min-height: 44px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    align-items: center !important;
  }

  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="alloy"] > td.label,
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="alloy"] > td.value,
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] > td.label,
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] > td.value,
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] > td.label,
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] > td.value,
  .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"] > td.label,
  .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"] > td.value,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"] > td.label,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"] > td.value{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-self: center !important;
  }

  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="alloy"] > td.label,
  .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] > td.label,
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] > td.label,
  .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"] > td.label,
  .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"] > td.label{
    justify-content: flex-start !important;
  }

  /* Row 4 (Ringgroesse): remove remaining row shell spacing around the box. */
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"]{
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] > td.value{
    vertical-align: top !important;
  }
  .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] .bb-size-ui{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    gap: 0 !important;
  }

  /* Row 5 (Gravur): compact inner vertical spacing on mobile only. */
  .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"]{
    min-height: 38px !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
  }
  .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"] > td.value{
    vertical-align: middle !important;
  }
  .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"] .bb-engrave-ui{
    gap: 4px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"] .bb-engrave-swatchwrap,
  .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"] .bb-engrave-swatches{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"] .bb-engrave-swatches .cfvsw-swatches-option{
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  /* Reduce the gap directly below row 3 (Stone) before Ringgroesse section. */
  .bb-configurator .bb-addon-block[data-bb-addon-block="1"] + .bb-before-size-sep[data-bb-before-size-sep="1"]{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .bb-configurator .bb-size-block[data-bb-size-block="1"]{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .bb-configurator .bb-before-size-sep[data-bb-before-size-sep="1"]{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .bb-configurator .bb-rpc-reset-row{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Remove outer gap above and below row 5 (Gravur) container. */
  .bb-configurator .bb-before-size-sep[data-bb-before-engrave-sep="1"]{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .bb-configurator .bb-engrave-block[data-bb-engrave-block="1"]{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Mobile: keep top configurator card full-width. */
  .bb-configurator .details.component_data .bb-card-group[data-bb-card-group="1"],
  .bb-configurator .details.component_data .bb-card-group[data-bb-card-group="1"] > .bb-card.bb-card--top{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Final mobile width lock: remove residual side sliver from parent padding chain. */
  .bb-configurator .component_summary.cp_clearfix > .product.content.summary_content.populated.cart.variations_form > .composited_product_details_wrapper > .details.component_data{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .bb-configurator .component_summary.cp_clearfix > .product.content.summary_content.populated.cart.variations_form > .composited_product_details_wrapper > .details.component_data > .bb-card-group[data-bb-card-group="1"] > .bb-card.bb-card--top{
    width: calc(100% + 12px) !important;
    max-width: calc(100% + 12px) !important;
    margin-left: -6px !important;
    margin-right: -6px !important;
    box-sizing: border-box !important;
  }
  .bb-configurator .component_summary.cp_clearfix > .product.content.summary_content.populated.cart.variations_form > .composited_product_details_wrapper > .details.component_data > .bb-card-group[data-bb-card-group="1"] > .bb-card.bb-card--middle,
  .bb-configurator .component_summary.cp_clearfix > .product.content.summary_content.populated.cart.variations_form > .composited_product_details_wrapper > .details.component_data > .bb-card-group[data-bb-card-group="1"] > .bb-card.bb-card--bottom{
    width: calc(100% + 12px) !important;
    max-width: calc(100% + 12px) !important;
    margin-left: -6px !important;
    margin-right: -6px !important;
    box-sizing: border-box !important;
  }

  /* Dummy-at-home cap: keep full width inside top card on this layout branch. */
  .bb-configurator .component_summary.cp_clearfix > .product.content.summary_content.populated.cart.variations_form > .composited_product_details_wrapper > .details.component_data > .bb-card-group[data-bb-card-group="1"] > .bb-card.bb-card--top tr.bb-dummy-at-home-cap-tr td.value.bb-dummy-at-home-cap__td,
  .bb-configurator .component_summary.cp_clearfix > .product.content.summary_content.populated.cart.variations_form > .composited_product_details_wrapper > .details.component_data > .bb-card-group[data-bb-card-group="1"] > .bb-card.bb-card--top tr.bb-dummy-at-home-cap-tr td.value{
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Mobile: make bottom composite-wrap controls use more viewport width. */
@media (max-width: 767px){
  .bb-configurator .composite_form .composite_wrap{
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .bb-configurator .composite_form .composite_wrap .bb-cellstones-cta-wrap,
  .bb-configurator .composite_form .composite_wrap .bb-cellstones-card,
  .bb-configurator .composite_form .composite_wrap .bb-dummy-section,
  .bb-configurator .composite_form .composite_wrap .bb-dummy-card{
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .bb-configurator .composite_form .composite_wrap .bb-cellstones-cta,
  .bb-configurator .composite_form .composite_wrap .bb-dummy-cta{
    display: inline-flex !important;
    width: 100% !important;
    max-width: none !important;
    justify-content: center !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }
  .bb-configurator .composite_form .composite_wrap .bb-dummy-at-home-card .bb-dummy-cta--panel{
    width: auto !important;
    max-width: 100% !important;
    align-self: center !important;
  }
  .bb-configurator .composite_form .composite_wrap .bb-dummy-at-home-card .bb-dummy-cta--standalone{
    width: auto !important;
    max-width: 100% !important;
    align-self: center !important;
  }

  .bb-configurator .composite_form .composite_wrap table.variations,
  .bb-configurator .composite_form .composite_wrap table.variations tr,
  .bb-configurator .composite_form .composite_wrap table.variations td,
  .bb-configurator .composite_form .composite_wrap table.variations td.value,
  .bb-configurator .composite_form .composite_wrap .value > .cfvsw-swatches-container,
  .bb-configurator .composite_form .composite_wrap select,
  .bb-configurator .composite_form .composite_wrap input[type="text"],
  .bb-configurator .composite_form .composite_wrap input[type="number"],
  .bb-configurator .composite_form .composite_wrap textarea,
  .bb-configurator .composite_form .composite_wrap .single_add_to_cart_button{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

/* Keep Technische Daten as two columns on mobile. The generic mobile rules above force
   broad table/tr/td block/100% styles; use a row-grid here so label/value stay side-by-side. */
@media (max-width: 767px){
  .bb-configurator .bb-card--bottom .bb-specs-block table.variations tr.attribute_options{
    display: table-row !important;
  }
  .bb-configurator .bb-card--bottom .bb-specs-block table.variations td{
    display: table-cell !important;
    vertical-align: middle !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .bb-configurator .bb-card--bottom .bb-specs-block table.variations td.label{
    width: 42% !important;
    padding-right: 8px !important;
  }
  .bb-configurator .bb-card--bottom .bb-specs-block table.variations td.value{
    width: 58% !important;
  }
}

/* Technische Daten: dedicated compact two-column table layout (all devices). */
.bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-table{
  width: 100% !important;
  border-top: 1px solid rgba(0,0,0,.08) !important;
  text-align: left !important;
}
.bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-row{
  display: grid !important;
  grid-template-columns: 42% minmax(0, 1fr) !important;
  column-gap: 8px !important;
  align-items: center !important;
  padding: 4px 0 !important;
  border-bottom: 1px solid rgba(0,0,0,.08) !important;
}
.bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-label,
.bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-value{
  display: block !important;
  font-size: 4px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  text-align: left !important;
  align-self: center !important;
}

@media (max-width: 767px){
  .bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-label,
  .bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-value{
    font-size: 13px !important;
  }
}
.bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-label{
  font-weight: 700 !important;
  min-width: 0 !important;
  grid-column: 1 !important;
  justify-self: start !important;
}
.bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-value{
  text-align: left !important;
  min-width: 0 !important;
  grid-column: 2 !important;
  justify-self: start !important;
}

@media (min-width: 600px){
  /* Force desktop/tablet Technische Daten to follow the same compact
     left/right two-column table principle as mobile. */
  .bb-configurator .bb-card--bottom .bb-specs-block,
  .bb-configurator .bb-card--bottom .bb-specs-block[data-bb-specs="1"]{
    text-align: left !important;
  }

  .bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-table,
  .bb-configurator .bb-card--bottom .bb-specs-block[data-bb-specs="1"] .bb-tech-table{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
  }

  .bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-row,
  .bb-configurator .bb-card--bottom .bb-specs-block[data-bb-specs="1"] .bb-tech-row{
    display: grid !important;
    grid-template-columns: 42% minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    column-gap: 8px !important;
    align-items: center !important;
    padding: 4px 0 !important;
    text-align: left !important;
  }

  .bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-row > .bb-tech-label,
  .bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-row > .bb-tech-value,
  .bb-configurator .bb-card--bottom .bb-specs-block[data-bb-specs="1"] .bb-tech-row > .bb-tech-label,
  .bb-configurator .bb-card--bottom .bb-specs-block[data-bb-specs="1"] .bb-tech-row > .bb-tech-value{
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    justify-self: start !important;
    align-self: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-row > .bb-tech-label,
  .bb-configurator .bb-card--bottom .bb-specs-block[data-bb-specs="1"] .bb-tech-row > .bb-tech-label{
    grid-column: 1 !important;
    font-weight: 700 !important;
  }

  .bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-row > .bb-tech-value,
  .bb-configurator .bb-card--bottom .bb-specs-block[data-bb-specs="1"] .bb-tech-row > .bb-tech-value{
    grid-column: 2 !important;
  }
}

@media (min-width: 600px){
  .bb-configurator .bb-card--bottom .bb-specs-block{
    text-align: left !important;
  }

  .bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-table{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-row{
    display: grid !important;
    grid-template-columns: 42% minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    align-items: center !important;
  }

  .bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-row > .bb-tech-label,
  .bb-configurator .bb-card--bottom .bb-specs-block .bb-tech-row > .bb-tech-value{
    width: auto !important;
    max-width: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

/* Technische Daten title spacing: tighten the actual live title-to-tech-table gap
   across devices now that the section uses .bb-tech-table instead of table.variations. */
.bb-configurator .bb-card--bottom .bb-specs-block,
.bb-configurator .bb-card--bottom .bb-specs-block[data-bb-specs="1"]{
  padding-top: 6px !important;
}

.bb-configurator .bb-card--bottom .bb-specs-block .bb-sec-title--tech,
.bb-configurator .bb-card--bottom .bb-specs-block[data-bb-specs="1"] .bb-sec-title--tech{
  margin: 0 0 4px 0 !important;
}

.bb-configurator .bb-card--bottom .bb-specs-block .bb-sec-title--tech + .bb-tech-table,
.bb-configurator .bb-card--bottom .bb-specs-block[data-bb-specs="1"] .bb-sec-title--tech + .bb-tech-table{
  margin-top: 0 !important;
}

@media (min-width: 768px){
  .bb-configurator .bb-card--bottom{
    padding-top: 8px !important;
  }

  .bb-configurator .bb-card--bottom .bb-specs-block,
  .bb-configurator .bb-card--bottom .bb-specs-block[data-bb-specs="1"]{
    padding-top: 0 !important;
  }

  .bb-configurator .bb-card--bottom .bb-specs-block .bb-sec-title--tech,
  .bb-configurator .bb-card--bottom .bb-specs-block[data-bb-specs="1"] .bb-sec-title--tech{
    position: relative !important;
    top: -2px !important;
    margin: 0 0 0 0 !important;
  }
}

@media (max-width: 767px){
  .bb-configurator .bb-card--bottom .bb-specs-block,
  .bb-configurator .bb-card--bottom .bb-specs-block[data-bb-specs="1"]{
    padding-top: 4px !important;
  }

  .bb-configurator .bb-card--bottom .bb-specs-block .bb-sec-title--tech,
  .bb-configurator .bb-card--bottom .bb-specs-block[data-bb-specs="1"] .bb-sec-title--tech{
    margin: 0 0 3px 0 !important;
  }
}

/* BB_CPR_ELEMENTOR_COMPOSITE_ATC_OVERRIDE — must load after Elementor + .wp-element-button (bb-cpr depends on elementor-frontend). */
body.single-product .elementor-widget-woocommerce-product-add-to-cart .composite_wrap .e-atc-qty-button-holder > button.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button.button.alt,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .composite_wrap .composite_button .e-atc-qty-button-holder button.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .composite_wrap .composite_button button.button.alt.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button{
  background: #f2da86 !important;
  background-color: #f2da86 !important;
  color: #1A1A1A !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  text-transform: none !important;
  font-weight: 900 !important;
  letter-spacing: .2px !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
}
body.single-product .elementor-widget-woocommerce-product-add-to-cart .composite_wrap .e-atc-qty-button-holder > button.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button.button.alt:hover,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .composite_wrap .e-atc-qty-button-holder > button.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button.button.alt:focus,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .composite_wrap .e-atc-qty-button-holder > button.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button.button.alt:focus-visible,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .composite_wrap .e-atc-qty-button-holder > button.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button.button.alt:active,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .composite_wrap .composite_button .e-atc-qty-button-holder button.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button:hover,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .composite_wrap .composite_button .e-atc-qty-button-holder button.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button:focus,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .composite_wrap .composite_button .e-atc-qty-button-holder button.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button:focus-visible,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .composite_wrap .composite_button .e-atc-qty-button-holder button.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button:active{
  background: #EFCD61 !important;
  background-color: #EFCD61 !important;
  color: #1A1A1A !important;
  border-color: rgba(0,0,0,.12) !important;
}

/* BB_CPR_NO_ROW_NUMBERS — disable CSS counters + legacy step spans */
.bb-configurator .bb-card-group{
  counter-reset: none !important;
}
.bb-configurator .bb-card--top tr.attribute_options td.label > label:before,
.bb-configurator .bb-addon-block tr.attribute_options td.label > label:before,
.bb-configurator .bb-size-block tr.attribute_options td.label > label:before,
.bb-configurator .bb-engrave-block tr.attribute_options td.label > label:before,
.bb-configurator .bb-cellstone-place-block tr.attribute_options td.label > label:before{
  content: none !important;
  display: none !important;
  counter-increment: none !important;
}
.bb-configurator .bb-cpr-step-no{
  display: none !important;
}

/* Row info — mobile first: icon pinned to the end (top-right); swatches stay full width with reserved space */
.bb-configurator tr.bb-compact-attr-row[data-bb-cpr-has-row-info="1"]:not(.bb-dummy-at-home-cap-tr) td.value{
  position: relative !important;
  box-sizing: border-box !important;
  display: block !important;
  padding-right: 36px !important;
}
.bb-configurator tr.bb-compact-attr-row[data-bb-cpr-has-row-info="1"]:not(.bb-dummy-at-home-cap-tr) td.value > .bb-compact-info-toggle{
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  z-index: 2 !important;
  margin: 0 !important;
}
.bb-configurator tr.bb-compact-attr-row[data-bb-cpr-has-row-info="1"]:not(.bb-dummy-at-home-cap-tr) td.value > .bb-addon-ui,
.bb-configurator tr.bb-compact-attr-row[data-bb-cpr-has-row-info="1"]:not(.bb-dummy-at-home-cap-tr) td.value > .bb-engrave-ui,
.bb-configurator tr.bb-compact-attr-row[data-bb-cpr-has-row-info="1"]:not(.bb-dummy-at-home-cap-tr) td.value > .bb-cellstone-place{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.bb-configurator tr.bb-compact-attr-row[data-bb-cpr-has-row-info="1"]:not(.bb-dummy-at-home-cap-tr) td.value > .bb-compact-help{
  width: 100% !important;
  margin-top: 6px !important;
}
.bb-configurator tr.bb-compact-attr-row[data-bb-cpr-has-row-info="1"]:not(.bb-dummy-at-home-cap-tr) td.value .bb-addon-swatchwrap,
.bb-configurator tr.bb-compact-attr-row[data-bb-cpr-has-row-info="1"]:not(.bb-dummy-at-home-cap-tr) td.value .bb-engrave-swatchwrap{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.bb-configurator tr.bb-compact-attr-row[data-bb-cpr-has-row-info="1"]:not(.bb-dummy-at-home-cap-tr) td.value .bb-addon-swatches,
.bb-configurator tr.bb-compact-attr-row[data-bb-cpr-has-row-info="1"]:not(.bb-dummy-at-home-cap-tr) td.value .bb-engrave-swatches,
.bb-configurator tr.bb-compact-attr-row[data-bb-cpr-has-row-info="1"]:not(.bb-dummy-at-home-cap-tr) td.value .bb-cellstone-tier1-swatches{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Attached component tabs: final cascade owner.
   The tab strip belongs to the configurator card, not the outer component card. */
.bb-configurator.bb-cpr-tabs-enabled .bb-cpr-tabs,
.bb-configurator.bb-cpr-tabs-enabled .bb-cpr-disabled-snapshot,
.bb-configurator.bb-cpr-tabs-enabled .bb-cpr-disabled-placeholder,
.bb-configurator.bb-cpr-tabs-enabled .bb-cpr-reactivate-panel{
  overflow-anchor: none !important;
}

.bb-configurator .details.component_data > .bb-cpr-tabs,
.bb-configurator .variations_form > .bb-cpr-tabs{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 0 -1px 0 !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 3 !important;
}

.bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__tab,
.bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__tab{
  min-height: 42px !important;
  border-radius: 12px 12px 0 0 !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  border-bottom-color: rgba(0,0,0,.08) !important;
  background: #fff !important;
  color: #111827 !important;
  font-family: inherit !important;
  box-shadow: none !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__tab + .bb-cpr-tabs__tab,
.bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__tab + .bb-cpr-tabs__tab{
  margin-left: 0 !important;
}

.bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__tab.is-active,
.bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__tab.is-active{
  background: var(--bb-rpc-details-bg) !important;
  border-bottom-color: var(--bb-rpc-details-bg) !important;
}

.bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__label,
.bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__label{
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  color: #111827 !important;
}

.bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__main,
.bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__main{
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 6px !important;
  line-height: 1.1 !important;
}

.bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__action,
.bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__action{
  display: block !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  font-weight: 750 !important;
  color: rgba(17,24,39,.62) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__tab:hover .bb-cpr-tabs__action,
.bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__tab:hover .bb-cpr-tabs__action,
.bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__tab:focus-visible .bb-cpr-tabs__action,
.bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__tab:focus-visible .bb-cpr-tabs__action{
  color: #111827 !important;
}

.bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__tab.is-empty .bb-cpr-tabs__action,
.bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__tab.is-empty .bb-cpr-tabs__action{
  color: rgba(17,24,39,.78) !important;
}

.bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__tab.is-empty .bb-cpr-tabs__label,
.bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__tab.is-empty .bb-cpr-tabs__label{
  color: #111827 !important;
}

.bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__status,
.bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__status{
  display: none !important;
}

.bb-configurator .bb-cpr-tabs .bb-cpr-tabs__status{
  display: none !important;
}

.bb-configurator .details.component_data > .bb-cpr-tabs + .bb-card-group[data-bb-card-group="1"],
.bb-configurator .variations_form > .bb-cpr-tabs + .bb-card-group[data-bb-card-group="1"]{
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  background: var(--bb-rpc-details-bg) !important;
}

@media (max-width: 767px){
  .bb-configurator .details.component_data > .bb-cpr-tabs,
  .bb-configurator .variations_form > .bb-cpr-tabs{
    gap: 6px !important;
  }
  .bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__tab,
  .bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__tab{
    min-height: 48px !important;
    padding: 7px 9px !important;
  }
  .bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__action,
  .bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__action{
    font-size: 10px !important;
  }
}

/* Disabled tab view: keep the inactive ring inspectable, but make its configurator inert. */
.bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .composited_product_images,
.bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .woocommerce-product-gallery,
.bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-vg-shell,
.bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-vg-has-gallery,
.bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-cpr-disabled-gallery{
  opacity: .42 !important;
  filter: grayscale(1) saturate(.35) !important;
  pointer-events: none !important;
  user-select: none !important;
}

.bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-cpr-disabled-gallery{
  display: grid !important;
}

@media (min-width: 750px){
  .bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-cpr-disabled-gallery{
    width: var(--bb-rpc-img-col, 40%) !important;
    max-width: var(--bb-rpc-img-col, 40%) !important;
    min-width: 0 !important;
    justify-self: start !important;
    align-self: start !important;
  }
}

@media (max-width: 749px){
  .bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-cpr-disabled-gallery{
    width: 100% !important;
    max-width: 100% !important;
  }
}

.bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-cpr-disabled-gallery a,
.bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-cpr-disabled-gallery button{
  pointer-events: none !important;
}

.bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-card-group:not([data-bb-cpr-disabled-snapshot="1"]) > .bb-card,
.bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-card-group[data-bb-cpr-disabled-snapshot="1"] > .bb-card{
  opacity: .36 !important;
  filter: grayscale(.2) !important;
  pointer-events: none !important;
  user-select: none !important;
}

.bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-card-group[data-bb-cpr-disabled-snapshot="1"]{
  min-height: inherit !important;
}

.bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-card-group[data-bb-cpr-disabled-snapshot="1"] table.variations,
.bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-card-group[data-bb-cpr-disabled-snapshot="1"] .bb-card{
  pointer-events: none !important;
  user-select: none !important;
}

.bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-cpr-disabled-placeholder{
  min-height: 260px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  text-align: center !important;
  background: rgba(246,242,237,.72) !important;
  box-shadow: inset 0 0 0 1px rgba(17,24,39,.06) !important;
  pointer-events: auto !important;
}

.bb-configurator .bb-cpr-disabled-placeholder__text{
  margin: 0 !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}

.bb-configurator .bb-cpr-reactivate-panel{
  display: none !important;
  text-align: center !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-cpr-reactivate-panel:not([hidden]){
  display: inline-block !important;
  opacity: 1 !important;
  filter: none !important;
  pointer-events: auto !important;
}

.bb-configurator .bb-cpr-reactivate-panel__link,
.bb-configurator button.bb-cpr-reactivate-panel__link,
.bb-configurator .bb-cpr-reactivate-panel .bb-cpr-reactivate-panel__link{
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #111827 !important;
  font: inherit !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  padding: 0 !important;
  box-shadow: none !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
}

.bb-configurator .bb-cpr-reactivate-panel__link:hover,
.bb-configurator .bb-cpr-reactivate-panel__link:focus-visible,
.bb-configurator button.bb-cpr-reactivate-panel__link:hover,
.bb-configurator button.bb-cpr-reactivate-panel__link:focus-visible{
  color: #000 !important;
  background: transparent !important;
  background-color: transparent !important;
  outline: none !important;
}

@media (min-width: 768px){
  .bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-cpr-reactivate-panel:not([hidden]){
    display: flex !important;
    justify-content: flex-start !important;
    padding: 16px 18px 0 !important;
    width: 100% !important;
  }

  .bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active .bb-cpr-reactivate-panel__link,
  .bb-configurator .composite_component.bb-cpr-tab-panel--disabled-active button.bb-cpr-reactivate-panel__link{
    min-height: 0 !important;
    border-radius: 8px !important;
    border: 1px solid rgba(17,24,39,.14) !important;
    background: #f6f2ed !important;
    background-color: #f6f2ed !important;
    color: #111827 !important;
    padding: 9px 16px !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
    box-shadow: none !important;
  }
}

/* Final tab label/action layout: keep the action on its own underlined row. */
.bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__tab,
.bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__tab{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  text-align: center !important;
}

.bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__main,
.bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__main,
.bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__action,
.bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__action{
  display: inline-block !important;
  width: auto !important;
  flex: 0 0 auto !important;
  text-align: center !important;
}

.bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__action,
.bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__action{
  margin-top: 1px !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* BB_CPR_DEACTIVATED_HIDE_2026_04 retired:
 * do NOT hide/grey-out configurator content for single deactivated tab state.
 * Only both-tabs-disabled state may visually gate content/actions. */

.bb-configurator.bb-cpr-both-tabs-disabled .composite_component.bb-cpr-tab-panel--both-disabled-active .component_title_wrapper{
  display: block !important;
}

.bb-configurator.bb-cpr-both-tabs-disabled .composite_component.bb-cpr-tab-panel--both-disabled-active .details.component_data,
.bb-configurator.bb-cpr-both-tabs-disabled .composite_component.bb-cpr-tab-panel--both-disabled-active .variations_form{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

.bb-cpr-both-disabled-instruction{
  display: none !important;
  width: 100%;
  box-sizing: border-box;
  margin: 10px 0 0;
  padding: 11px 13px;
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 8px;
  background: rgba(250,247,241,.92);
  color: #374151;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 500;
  text-align: center;
}

.bb-cpr-both-disabled-instruction[hidden]{
  display: none !important;
}

.bb-configurator.bb-cpr-both-tabs-disabled .bb-cpr-both-disabled-instruction{
  display: block !important;
}

@media (min-width: 768px){
  .bb-configurator.bb-cpr-both-tabs-disabled .bb-cpr-both-disabled-instruction{
    width: 50% !important;
    max-width: 50% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Both rings off: grey out ring/cellstones CTAs; keep dummy block usable. */
.bb-configurator.bb-cpr-both-tabs-disabled .bb-cellstones-cta.bb-cpr-cta-disabled-by-tabs,
.bb-configurator.bb-cpr-both-tabs-disabled .single_add_to_cart_button.bb-cpr-cta-disabled-by-tabs,
.bb-configurator.bb-cpr-both-tabs-disabled button[type="submit"].bb-cpr-cta-disabled-by-tabs,
body.single-product .bb-cpr-cta-disabled-by-tabs{
  opacity: .45 !important;
  cursor: not-allowed !important;
  filter: grayscale(1) !important;
  background: #d1d5db !important;
  border-color: #d1d5db !important;
  color: #6b7280 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

.bb-configurator.bb-cpr-both-tabs-disabled .bb-dummy-section,
.bb-configurator.bb-cpr-both-tabs-disabled .bb-dummy-section.bb-cpr-dummy-preserved-by-tabs{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  visibility: visible !important;
}

.bb-configurator.bb-cpr-both-tabs-disabled .bb-dummy-section .bb-dummy-card{
  display: block !important;
  visibility: visible !important;
}

.bb-configurator.bb-cpr-both-tabs-disabled .bb-dummy-section .bb-dummy-cta,
.bb-configurator.bb-cpr-both-tabs-disabled .bb-dummy-section .bb-dummy-card{
  pointer-events: auto !important;
}

.bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline{
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0 0 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  grid-column: auto !important;
}

.bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline .composite_wrap{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline .composite_price,
.bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline .composite_message,
.bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline .composite_availability,
.bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline .composite_button{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
}

.bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline .composite_price{
  display: flex !important;
}

.bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline .composite_button .e-atc-qty-button-holder{
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline .single_add_to_cart_button{
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (min-width: 768px){
  .bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline{
    margin-top: 14px !important;
  }
}

@media (max-width: 767px){
  .bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline{
    margin-top: 10px !important;
  }

  .bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline .composite_wrap{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 767px){
  .bb-configurator.bb-cpr-both-tabs-disabled .composite_component.bb-cpr-tab-panel--both-disabled-active > .component_title_wrapper{
    margin-bottom: 16px !important;
  }
}

/* Inline hint when user focuses/clicks the tab label but not „aktivieren“. */
.bb-configurator .bb-cpr-tabs__hint{
  display: none;
  font-size: 11px;
  line-height: 1.25;
  color: #4b5563;
  font-weight: 650;
  margin-top: 4px;
  padding: 0 4px;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  white-space: normal !important;
}

.bb-configurator .bb-cpr-tabs__tab.bb-cpr-tabs__tab--hint-visible .bb-cpr-tabs__hint{
  display: block !important;
}

/* Deactivated ring: label row is not a tab switch target; „aktivieren“ stays clickable. */
.bb-configurator .bb-cpr-tabs__tab.is-empty .bb-cpr-tabs__main{
  cursor: not-allowed !important;
}
.bb-configurator .bb-cpr-tabs__tab.is-empty .bb-cpr-tabs__action{
  cursor: pointer !important;
}

/* Final mobile composition: pull the model title and gallery/configurator stack upward. */
@media (max-width: 767px){
  .bb-configurator .composite_form > .composite_component{
    padding-top: 4px !important;
  }

  .bb-configurator .composite_component .component_title_wrapper{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .bb-configurator .composite_component .component_title_wrapper + .component_summary,
  .bb-configurator .composite_component .component_title_wrapper + .component_summary.cp_clearfix{
    margin-top: -8px !important;
  }

  .bb-configurator .composite_component .component_summary,
  .bb-configurator .composite_component .component_summary.cp_clearfix{
    padding-top: 0 !important;
  }

  .bb-configurator .composite_component .composited_product_images,
  .bb-configurator .composite_component .woocommerce-product-gallery,
  .bb-configurator .composite_component .woocommerce-product-gallery__wrapper,
  .bb-configurator .composite_component figure.woocommerce-product-gallery__image{
    margin-top: 0 !important;
  }

  body.single-product .bb-configurator .composite_component .component_title_wrapper + .component_summary .composited_product_images,
  body.single-product .bb-configurator .composite_component .component_title_wrapper + .component_summary .woocommerce-product-gallery,
  body.single-product .bb-configurator .composite_component .component_title_wrapper + .component_summary .bb-vg-shell{
    margin-top: -8px !important;
  }

  body.single-product .bb-configurator .composite_component .component_summary .composited_product_images,
  body.single-product .bb-configurator .composite_component .component_summary .woocommerce-product-gallery,
  body.single-product .bb-configurator .composite_component .component_summary .bb-vg-shell{
    position: relative !important;
    top: -8px !important;
    margin-bottom: -6px !important;
  }

  body.single-product .bb-configurator .bb-rpc-mobile-top-price[data-bb-mobile-top-price="1"],
  body.single-product .bb-configurator .bb-rpc-mobile-top-price{
    margin-top: 2px !important;
    margin-bottom: 4px !important;
  }
}

/* BB_CPR_BOTH_TABS_FINAL_2026_04: broad final owners for injected tab/price nodes. */
body.single-product .bb-configurator .bb-cpr-tabs .bb-cpr-tabs__action{
  font-size: 14px !important;
  line-height: 1.1 !important;
  font-weight: 750 !important;
  color: rgba(17,24,39,.62) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

body.single-product .bb-configurator .bb-rpc-mobile-price-side[data-bb-cpr-price-side="1"],
body.single-product .bb-rpc-mobile-price-side[data-bb-cpr-price-side="1"]{
  display: inline !important;
  font-size: .86em !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-family: inherit !important;
  color: #7cc4ee !important;
  -webkit-text-fill-color: #7cc4ee !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-left: 2px !important;
  vertical-align: baseline !important;
  opacity: 1 !important;
}

@media (min-width: 768px){
  body.single-product .bb-configurator .bb-cpr-tabs .bb-cpr-tabs__label{
    font-size: 16px !important;
    line-height: 1.1 !important;
  }
}

body.single-product .bb-configurator .bb-rpc-mobile-price-side[data-bb-cpr-price-side="1"],
body.single-product .bb-rpc-mobile-price-side[data-bb-cpr-price-side="1"]{
  color: #4b5563 !important;
  -webkit-text-fill-color: #4b5563 !important;
}

@media (max-width: 767px){
  .bb-configurator .details.component_data > .bb-cpr-tabs .bb-cpr-tabs__label,
  .bb-configurator .variations_form > .bb-cpr-tabs .bb-cpr-tabs__label{
    font-size: var(--bb-rpc-label-font) !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
  }
  body.single-product .bb-configurator .bb-cpr-tabs .bb-cpr-tabs__label{
    color: #111827 !important;
    font-weight: 800 !important;
  }
  .bb-configurator .bb-card-group[data-bb-card-group="1"],
  .bb-configurator .bb-card-group{
    background: #fff !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
  }
  .bb-configurator .details.component_data > .bb-cpr-tabs + .bb-card-group[data-bb-card-group="1"],
  .bb-configurator .variations_form > .bb-cpr-tabs + .bb-card-group[data-bb-card-group="1"]{
    background: #fff !important;
    background-color: #fff !important;
  }
  .bb-configurator .bb-card-group[data-bb-card-group="1"] > .bb-card--top,
  .bb-configurator .bb-card-group > .bb-card--top{
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
  }
  body.single-product .bb-configurator .bb-cpr-tabs .bb-cpr-tabs__label{
    font-size: var(--bb-rpc-label-font) !important;
    line-height: 1.1 !important;
  }
  body.single-product .bb-configurator .bb-cpr-tabs .bb-cpr-tabs__action{
    font-size: 13px !important;
    margin-top: 4px !important;
  }
  body.single-product .bb-configurator .bb-cpr-tabs .bb-cpr-tabs__hint{
    font-size: 13px !important;
    line-height: 1.1 !important;
  }
}

/* BB_CPR_INLINE_PURCHASE_FINAL_2026_04: the relocated total/add-to-cart block is no longer a card. */
body.single-product .bb-configurator form.cart.composite_form .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline,
body.single-product .bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline{
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
}

body.single-product .bb-configurator form.cart.composite_form .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline > .composite_wrap,
body.single-product .bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline > .composite_wrap{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_price,
body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_message,
body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_availability,
body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_button,
body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .e-atc-qty-button-holder{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .single_add_to_cart_button{
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_availability{
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* BB_CPR_INLINE_PURCHASE_SPACING_EOF_2026_04: final cascade guard for the relocated CTA. */
body.single-product .bb-configurator form.cart.composite_form .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline,
body.single-product .bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline{
  margin-top: 20px !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline > .composite_wrap{
  gap: 8px !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_price{
  align-items: center !important;
  line-height: 1.15 !important;
}

body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-caption,
body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-suffix{
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
  top: 1px !important;
  line-height: 1 !important;
}

@media (max-width: 767px){
  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-caption,
  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-suffix{
    top: 15px !important;
  }

  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .single_add_to_cart_button.composite_add_to_cart_button,
  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_button .e-atc-qty-button-holder > button.single_add_to_cart_button.composite_add_to_cart_button.wp-element-button.button.alt{
    width: calc(100% - 36px) !important;
    max-width: calc(100% - 36px) !important;
    flex-basis: calc(100% - 36px) !important;
  }
}

@media (max-width: 767px){
  body.single-product .bb-configurator,
  body.single-product .bb-configurator form.cart.composite_form,
  body.single-product .bb-configurator form.composite_form,
  body.single-product .bb-configurator .composite_component,
  body.single-product .bb-configurator .component_summary,
  body.single-product .bb-configurator .details.component_data,
  body.single-product .bb-configurator .bb-cpr-tabs,
  body.single-product .bb-configurator .bb-card-group{
    overflow-anchor: none !important;
  }

  body.single-product .bb-configurator form.cart.composite_form .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline,
  body.single-product .bb-configurator .details.component_data > .cart.composite_data.bb-cpr-composite-data-inline{
    margin: 20px 0 -8px 0 !important;
  }

  /* Keep this structural rule stable: changing the active component shell caused mobile configurator jitter. */
  body.single-product .bb-configurator .composite_component.bb-cpr-tab-panel--active{
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .composite_price{
    align-items: center !important;
  }

  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-caption,
  body.single-product .bb-configurator .cart.composite_data.bb-cpr-composite-data-inline .bb-cpr-total-suffix{
    top: 11px !important;
  }
}

/* BB_CPR_RING_SIZE_ROW_COMPACT_2026_04:
   Scope narrowly to the mobile Ringgroesse row. Goldfarben and addon rows keep
   their existing stable layout to avoid configurator jitter. */
@media (max-width: 767px){
  body.single-product .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"]{
    align-items: flex-start !important;
  }

  body.single-product .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] > td.label,
  body.single-product .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] > td.value{
    align-self: flex-start !important;
  }

  body.single-product .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] > td.label > label.bb-ring-label-split{
    min-height: 0 !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    line-height: 1.05 !important;
  }

  body.single-product .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] > td.label > label.bb-ring-label-split .bb-ring-label-line{
    line-height: 1.05 !important;
  }

  body.single-product .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"] > td.value{
    padding-top: 4px !important;
  }
}

/* BB_CPR_MOBILE_ROW_HEIGHT_EQUALIZE_2026_04:
   Compact only closed rows 4-6. Open rows and info-help rows keep their
   natural height so secondary controls do not get squeezed. */
@media (max-width: 767px){
  body.single-product .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"]:not(.is-help-open):not(:has(.bb-size-select-wrap:not(.bb-size-hidden))):not(:has(.bb-size-help[data-bb-size-help-visible="1"])){
    min-height: 44px !important;
    height: 44px !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
    align-items: center !important;
    overflow: visible !important;
  }

  body.single-product .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"]:not(.is-help-open):not(:has(.bb-engrave-panel:not([style*="display:none"]):not([style*="display: none"]))){
    min-height: 40px !important;
    height: 40px !important;
    padding-top: 1px !important;
    padding-bottom: 1px !important;
    align-items: center !important;
    overflow: visible !important;
  }

  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"]:not(.is-help-open):not(:has(.bb-cellstone-place[data-bb-cellstone-tier1-state="with"], .bb-cellstone-tier2:not(.bb-cellstone-tier2--collapsed), .bb-cellstone-tier2-wrap:not(.bb-cellstone-hidden), .bb-cellstone-position-wrap:not(.bb-cellstone-hidden))){
    min-height: 49px !important;
    height: 49px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    align-items: center !important;
    overflow: visible !important;
  }

  body.single-product .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"]:not(.is-help-open):not(:has(.bb-size-select-wrap:not(.bb-size-hidden))):not(:has(.bb-size-help[data-bb-size-help-visible="1"])) > td.label,
  body.single-product .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"]:not(.is-help-open):not(:has(.bb-size-select-wrap:not(.bb-size-hidden))):not(:has(.bb-size-help[data-bb-size-help-visible="1"])) > td.value,
  body.single-product .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"]:not(.is-help-open):not(:has(.bb-engrave-panel:not([style*="display:none"]):not([style*="display: none"]))) > td.label,
  body.single-product .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"]:not(.is-help-open):not(:has(.bb-engrave-panel:not([style*="display:none"]):not([style*="display: none"]))) > td.value,
  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"]:not(.is-help-open):not(:has(.bb-cellstone-place[data-bb-cellstone-tier1-state="with"], .bb-cellstone-tier2:not(.bb-cellstone-tier2--collapsed), .bb-cellstone-tier2-wrap:not(.bb-cellstone-hidden), .bb-cellstone-position-wrap:not(.bb-cellstone-hidden))) > td.label,
  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"]:not(.is-help-open):not(:has(.bb-cellstone-place[data-bb-cellstone-tier1-state="with"], .bb-cellstone-tier2:not(.bb-cellstone-tier2--collapsed), .bb-cellstone-tier2-wrap:not(.bb-cellstone-hidden), .bb-cellstone-position-wrap:not(.bb-cellstone-hidden))) > td.value{
    align-self: center !important;
  }

  body.single-product .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"]:not(.is-help-open):not(:has(.bb-engrave-panel:not([style*="display:none"]):not([style*="display: none"]))) > td.label,
  body.single-product .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"]:not(.is-help-open):not(:has(.bb-engrave-panel:not([style*="display:none"]):not([style*="display: none"]))) > td.value{
    transform: translateY(-2.5px) !important;
  }

  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"]:not(.is-help-open):not(:has(.bb-cellstone-place[data-bb-cellstone-tier1-state="with"], .bb-cellstone-tier2:not(.bb-cellstone-tier2--collapsed), .bb-cellstone-tier2-wrap:not(.bb-cellstone-hidden), .bb-cellstone-position-wrap:not(.bb-cellstone-hidden))) > td.label,
  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"]:not(.is-help-open):not(:has(.bb-cellstone-place[data-bb-cellstone-tier1-state="with"], .bb-cellstone-tier2:not(.bb-cellstone-tier2--collapsed), .bb-cellstone-tier2-wrap:not(.bb-cellstone-hidden), .bb-cellstone-position-wrap:not(.bb-cellstone-hidden))) > td.value{
    transform: translateY(-0.75px) !important;
  }

  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"]:not(.is-help-open):not(:has(.bb-cellstone-place[data-bb-cellstone-tier1-state="with"], .bb-cellstone-tier2:not(.bb-cellstone-tier2--collapsed), .bb-cellstone-tier2-wrap:not(.bb-cellstone-hidden), .bb-cellstone-position-wrap:not(.bb-cellstone-hidden))) .bb-compact-info-toggle{
    transform: translateY(1px) !important;
  }

  body.single-product .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"]:not(.is-help-open):not(:has(.bb-size-select-wrap:not(.bb-size-hidden))):not(:has(.bb-size-help[data-bb-size-help-visible="1"])) > td.label > label.bb-ring-label-split{
    min-height: 0 !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    line-height: 1.02 !important;
  }

  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"]:not(.is-help-open):not(:has(.bb-cellstone-place[data-bb-cellstone-tier1-state="with"], .bb-cellstone-tier2:not(.bb-cellstone-tier2--collapsed), .bb-cellstone-tier2-wrap:not(.bb-cellstone-hidden), .bb-cellstone-position-wrap:not(.bb-cellstone-hidden))) > td.label > label.bb-cellstones-label-split{
    min-height: 0 !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    line-height: 1.02 !important;
  }

  body.single-product .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"]:not(.is-help-open):not(:has(.bb-size-select-wrap:not(.bb-size-hidden))):not(:has(.bb-size-help[data-bb-size-help-visible="1"])) > td.value{
    padding-top: 0 !important;
  }

  body.single-product .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"]:has(.bb-size-select-wrap:not(.bb-size-hidden)),
  body.single-product .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"]:has(.bb-size-help[data-bb-size-help-visible="1"]),
  body.single-product .bb-configurator .bb-size-block tr.attribute_options[data-attribute_label="Ringgröße"].is-help-open,
  body.single-product .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"]:has(.bb-engrave-panel:not([style*="display:none"]):not([style*="display: none"])),
  body.single-product .bb-configurator .bb-engrave-block tr.attribute_options[data-attribute_label="Gravur"].is-help-open,
  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"].is-help-open,
  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options[data-attribute_label="Cellstones"]:has(.bb-cellstone-place[data-bb-cellstone-tier1-state="with"], .bb-cellstone-tier2:not(.bb-cellstone-tier2--collapsed), .bb-cellstone-tier2-wrap:not(.bb-cellstone-hidden), .bb-cellstone-position-wrap:not(.bb-cellstone-hidden)){
    height: auto !important;
    min-height: 0 !important;
  }
}

/* BB_CPR_DESKTOP_TABLET_VISUAL_ROW_BANDS_FINAL_2026_04:
   Must remain at the stylesheet tail so later legacy spacing rules cannot
   reintroduce taller visual gaps between the compact rows. */
@media (min-width: 768px){
  body.single-product .bb-configurator .details.component_data .bb-before-size-sep,
  body.single-product .bb-configurator .bb-before-size-sep{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  body.single-product .bb-configurator .details.component_data .bb-size-block,
  body.single-product .bb-configurator .details.component_data .bb-engrave-block,
  body.single-product .bb-configurator .bb-size-block,
  body.single-product .bb-configurator .bb-engrave-block{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  body.single-product .bb-configurator .details.component_data .bb-cellstone-place-block,
  body.single-product .bb-configurator .bb-cellstone-place-block{
    margin-top: -10px !important;
    margin-bottom: 0 !important;
  }

  body.single-product .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"],
  body.single-product .bb-configurator .bb-size-block tr.attribute_options,
  body.single-product .bb-configurator .bb-engrave-block tr.attribute_options,
  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr){
    min-height: 62px !important;
    height: 62px !important;
  }

  body.single-product .bb-configurator .bb-addon-block .bb-cpr-addon-row[data-bb-addon-row="stone"] .bb-compact-info-toggle{
    transform: translateY(6px) !important;
  }

  body.single-product .bb-configurator .bb-cellstone-place-block tr.attribute_options:not(.bb-dummy-at-home-cap-tr) .bb-compact-info-toggle{
    transform: translateY(7px) !important;
  }
}
