/* Rooted by Desire — Find Your Experience quiz
   Brand: black #0A0908 · cream #EFEBE5 · dusty rose #C38A90
   Fonts inherit the Elementor globals (Playfair Display / Poppins). */

.rbdq {
	--rbdq-black: #0A0908;
	--rbdq-cream: #EFEBE5;
	--rbdq-rose: #C38A90;
	--rbdq-rose-soft: #f4e7e8;
	--rbdq-line: #d9d2ca;
	--rbdq-muted: #6b6560;
	--rbdq-serif: "Playfair Display", Georgia, serif;
	--rbdq-sans: "Poppins", system-ui, sans-serif;
	max-width: 960px;
	margin: 0 auto;
	font-family: var(--rbdq-sans);
	color: var(--rbdq-black);
	scroll-margin-top: 120px;
}
.rbdq *, .rbdq *::before, .rbdq *::after { box-sizing: border-box; }

.rbdq-step { text-align: center; animation: rbdq-in .35s ease both; }
@keyframes rbdq-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.rbdq-progress { height: 3px; background: var(--rbdq-line); border-radius: 3px; margin: 0 auto 28px; max-width: 420px; overflow: hidden; }
.rbdq-progress span { display: block; height: 100%; background: var(--rbdq-rose); transition: width .4s ease; }

.rbdq-eyebrow { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--rbdq-rose); font-weight: 500; margin: 0 0 10px; }
.rbdq-title { font-family: var(--rbdq-serif); font-weight: 400; font-size: clamp(26px, 4vw, 38px); line-height: 1.2; margin: 0 0 10px; outline: none; color: inherit; }
.rbdq-sub { color: var(--rbdq-muted); font-size: 15px; margin: 0 0 28px; }

/* Answer tiles */
.rbdq-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 28px 0 32px; text-align: left; }
.rbdq-option {
	position: relative; display: flex; flex-direction: column; justify-content: center; gap: 4px;
	min-height: 86px; padding: 18px 20px 18px 56px;
	background: #fff; border: 1px solid var(--rbdq-line); border-radius: 4px;
	font: inherit; color: var(--rbdq-black); text-align: left; cursor: pointer;
	transition: border-color .2s, background .2s, box-shadow .2s;
}
.rbdq-option:hover { border-color: var(--rbdq-rose); }
.rbdq-option:focus-visible { outline: 2px solid var(--rbdq-rose); outline-offset: 2px; }
.rbdq-option.is-selected { border: 2px solid var(--rbdq-rose); background: var(--rbdq-rose-soft); padding: 17px 19px 17px 55px; }
.rbdq-option-label { font-size: 15px; font-weight: 500; }
.rbdq-option-desc { font-size: 13px; color: var(--rbdq-muted); }
.rbdq-check {
	position: absolute; top: 50%; left: 20px; transform: translateY(-50%); width: 20px; height: 20px; border-radius: 50%;
	border: 1px solid var(--rbdq-line); background: #fff;
}
.rbdq-option[role="checkbox"] .rbdq-check { border-radius: 3px; }
.rbdq-option.is-selected .rbdq-check { background: var(--rbdq-rose); border-color: var(--rbdq-rose); left: 19px; }
.rbdq-option.is-selected .rbdq-check::after {
	content: ""; position: absolute; left: 6px; top: 2px; width: 6px; height: 11px;
	border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}

/* Buttons */
.rbdq-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.rbdq-nav-center { justify-content: center; margin-top: 32px; }
.rbdq-btn {
	display: inline-flex; align-items: center; justify-content: center; min-width: 150px; padding: 14px 28px;
	background: var(--rbdq-black); color: #fff; border: 1px solid var(--rbdq-black); border-radius: 0;
	font: 500 13px/1 var(--rbdq-sans); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; cursor: pointer;
	transition: background .2s, color .2s, opacity .2s;
}
.rbdq-btn:hover { background: var(--rbdq-rose); border-color: var(--rbdq-rose); color: #fff; }
.rbdq-btn[disabled] { opacity: .35; cursor: not-allowed; background: var(--rbdq-black); border-color: var(--rbdq-black); }
.rbdq-btn-outline { background: transparent; color: var(--rbdq-black); }
.rbdq-btn-outline:hover { background: var(--rbdq-black); border-color: var(--rbdq-black); color: #fff; }
.rbdq-btn[hidden] { display: inline-flex; visibility: hidden; }
.rbdq-skip { background: none; border: 0; padding: 6px; font: 400 13px var(--rbdq-sans); color: var(--rbdq-muted); text-decoration: underline; cursor: pointer; }
.rbdq-skip:hover { color: var(--rbdq-rose); }

/* Loading */
.rbdq-loading { padding: 60px 0; }
.rbdq-spinner { display: inline-block; width: 34px; height: 34px; margin-bottom: 18px; border: 2px solid var(--rbdq-line); border-top-color: var(--rbdq-rose); border-radius: 50%; animation: rbdq-spin .8s linear infinite; }
@keyframes rbdq-spin { to { transform: rotate(360deg); } }

/* Results */
.rbdq-grid { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; text-align: left; }
.rbdq-product { display: flex; flex-direction: column; margin: 0; }
.rbdq-product-img { display: block; aspect-ratio: 1 / 1; background: var(--rbdq-cream); overflow: hidden; margin-bottom: 12px; }
.rbdq-product-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.rbdq-product-img:hover img { transform: scale(1.04); }
.rbdq-product-name { font-family: var(--rbdq-sans); font-size: 14px; font-weight: 500; line-height: 1.4; margin: 0 0 6px; }
.rbdq-product-name a { color: inherit; text-decoration: none; }
.rbdq-product-price { font-size: 14px; color: var(--rbdq-muted); margin-bottom: 14px; }
.rbdq-product .rbdq-btn { margin-top: auto; min-width: 0; width: 100%; padding: 12px 10px; font-size: 11px; }
.rbdq-note, .rbdq-empty { color: var(--rbdq-muted); font-size: 14px; margin: 16px auto 0; max-width: 560px; }
.rbdq-debug { margin-top: 8px; padding: 8px; background: #fff7d6; border: 1px dashed #d4b106; font-size: 11px; line-height: 1.5; color: #5c4a00; text-align: left; }

/* Tablet */
@media (max-width: 1024px) {
	.rbdq-options { grid-template-columns: repeat(2, 1fr); }
	.rbdq-grid { grid-template-columns: repeat(2, 1fr); }
}
/* Mobile */
@media (max-width: 600px) {
	.rbdq-options { grid-template-columns: 1fr; gap: 10px; margin: 22px 0 26px; }
	.rbdq-option { min-height: 64px; }
	.rbdq-grid { gap: 14px; }
	.rbdq-nav { flex-direction: column-reverse; }
	.rbdq-nav .rbdq-btn { width: 100%; }
	.rbdq-btn[hidden] { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.rbdq-step, .rbdq-progress span, .rbdq-product-img img { animation: none; transition: none; }
}

/* ------------------------------------------------------------------
   Theme/Elementor override guard: global button styles (white text,
   pink hover background, uppercase) must not leak into the quiz.
   ------------------------------------------------------------------ */
.rbdq button.rbdq-option,
.rbdq button.rbdq-option:hover,
.rbdq button.rbdq-option:focus,
.rbdq button.rbdq-option:active {
	background: #fff !important;
	color: var(--rbdq-black) !important;
	border: 1px solid var(--rbdq-line) !important;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	font-family: var(--rbdq-sans) !important;
	font-weight: 400 !important;
	border-radius: 4px !important;
	text-decoration: none !important;
}
.rbdq button.rbdq-option:hover { border-color: var(--rbdq-rose) !important; background: #fdf9f9 !important; }
.rbdq button.rbdq-option:focus-visible { outline: 2px solid var(--rbdq-rose) !important; outline-offset: 2px; }
.rbdq button.rbdq-option.is-selected,
.rbdq button.rbdq-option.is-selected:hover,
.rbdq button.rbdq-option.is-selected:focus,
.rbdq button.rbdq-option.is-selected:active {
	background: var(--rbdq-rose-soft) !important;
	border: 2px solid var(--rbdq-rose) !important;
	color: var(--rbdq-black) !important;
}
.rbdq .rbdq-option .rbdq-option-label { color: var(--rbdq-black) !important; font-weight: 500 !important; font-size: 15px !important; }
.rbdq .rbdq-option .rbdq-option-desc  { color: var(--rbdq-muted) !important; font-size: 13px !important; font-weight: 400 !important; }
.rbdq .rbdq-option.is-selected .rbdq-option-desc { color: #5a4f4c !important; }

.rbdq button.rbdq-btn:not(.rbdq-btn-outline) { color: #fff !important; }
.rbdq button.rbdq-btn:not(.rbdq-btn-outline):hover { background: var(--rbdq-rose) !important; border-color: var(--rbdq-rose) !important; color: #fff !important; }
.rbdq button.rbdq-btn[disabled],
.rbdq button.rbdq-btn[disabled]:hover { background: var(--rbdq-black) !important; border-color: var(--rbdq-black) !important; color: #fff !important; opacity: .35; }
.rbdq .rbdq-btn-outline,
.rbdq button.rbdq-btn-outline { background: transparent !important; color: var(--rbdq-black) !important; border: 1px solid var(--rbdq-black) !important; }
.rbdq .rbdq-btn-outline:hover,
.rbdq button.rbdq-btn-outline:hover { background: var(--rbdq-black) !important; color: #fff !important; }
.rbdq button.rbdq-skip,
.rbdq button.rbdq-skip:hover,
.rbdq button.rbdq-skip:focus { background: none !important; border: 0 !important; box-shadow: none !important; color: var(--rbdq-muted) !important; text-transform: none !important; letter-spacing: normal !important; padding: 6px !important; }
.rbdq button.rbdq-skip:hover { color: var(--rbdq-rose) !important; }
.rbdq button.rbdq-option:focus:not(:focus-visible) { outline: none !important; }

/* Check circle/box sits left, vertically centred */
.rbdq button.rbdq-option { padding: 18px 20px 18px 56px !important; }
.rbdq button.rbdq-option.is-selected { padding: 17px 19px 17px 55px !important; }
@media (max-width: 600px) {
	.rbdq button.rbdq-option { padding: 14px 16px 14px 52px !important; }
	.rbdq button.rbdq-option.is-selected { padding: 13px 15px 13px 51px !important; }
	.rbdq-check { left: 18px; }
	.rbdq-option.is-selected .rbdq-check { left: 17px; }
}

/* ------------------------------------------------------------------
   Image tiles (mockup style): photo, dark shade, white caps label,
   rose border + check top-right when selected.
   ------------------------------------------------------------------ */
.rbdq-options--image { gap: 12px; }
.rbdq button.rbdq-option.rbdq-option--image,
.rbdq button.rbdq-option.rbdq-option--image:hover,
.rbdq button.rbdq-option.rbdq-option--image:focus,
.rbdq button.rbdq-option.rbdq-option--image:active {
	position: relative; display: block; overflow: hidden;
	aspect-ratio: 1 / .92; min-height: 0;
	padding: 0 !important;
	background: #1b1716 !important;
	border: 2px solid transparent !important;
	border-radius: 2px !important;
}
.rbdq button.rbdq-option.rbdq-option--image:hover { border-color: rgba(195, 138, 144, .6) !important; }
.rbdq button.rbdq-option.rbdq-option--image.is-selected,
.rbdq button.rbdq-option.rbdq-option--image.is-selected:hover,
.rbdq button.rbdq-option.rbdq-option--image.is-selected:focus {
	border: 2px solid var(--rbdq-rose) !important;
	background: #1b1716 !important;
	padding: 0 !important;
	box-shadow: 0 0 0 1px var(--rbdq-rose) !important;
}
.rbdq-tile-img {
	position: absolute; inset: 0; width: 100%; height: 100%;
	object-fit: cover; display: block; transition: transform .5s ease;
}
.rbdq-option--image:hover .rbdq-tile-img { transform: scale(1.04); }
.rbdq-tile-shade {
	position: absolute; inset: 0;
	background: linear-gradient(to bottom, rgba(10,9,8,0) 40%, rgba(10,9,8,.78) 100%);
}
.rbdq-option--image.no-image {
	background: radial-gradient(circle at 50% 40%, #3a2e2b 0%, #1b1716 70%) !important;
}
.rbdq .rbdq-option--image .rbdq-option-label {
	position: absolute; left: 10px; right: 10px; bottom: 18px;
	text-align: center; color: #fff !important;
	font-size: 12px !important; font-weight: 500 !important;
	letter-spacing: .16em !important; text-transform: uppercase !important;
	line-height: 1.35;
}
.rbdq-option--image .rbdq-check,
.rbdq-option--image.is-selected .rbdq-check {
	top: 12px; left: auto; right: 12px; transform: none;
	width: 22px; height: 22px; border-radius: 50% !important;
	background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.55);
	opacity: 0; transition: opacity .2s;
}
.rbdq-option--image.is-selected .rbdq-check { opacity: 1; background: var(--rbdq-rose); border-color: var(--rbdq-rose); }
.rbdq-option--image.is-selected .rbdq-check::after { left: 7px; top: 3px; }
@media (max-width: 1024px) { .rbdq-options--image { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) {
	.rbdq-options.rbdq-options--image { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.rbdq .rbdq-option--image .rbdq-option-label { font-size: 11px !important; letter-spacing: .12em !important; bottom: 12px; }
	.rbdq button.rbdq-option.rbdq-option--image { padding: 0 !important; }
	.rbdq-option--image .rbdq-check, .rbdq-option--image.is-selected .rbdq-check { left: auto; right: 10px; top: 10px; }
}
/* photo tiles: light frame behind white product photos; dark only when no image */
.rbdq button.rbdq-option.rbdq-option--image:not(.no-image),
.rbdq button.rbdq-option.rbdq-option--image:not(.no-image):hover,
.rbdq button.rbdq-option.rbdq-option--image:not(.no-image):focus,
.rbdq button.rbdq-option.rbdq-option--image.is-selected:not(.no-image) { background: #f7f5f2 !important; }
.rbdq button.rbdq-option.rbdq-option--image:not(.is-selected) { border-color: var(--rbdq-line) !important; }
.rbdq button.rbdq-option.rbdq-option--image:not(.is-selected):hover { border-color: rgba(195,138,144,.7) !important; }

/* Layout guard: always fill the container (Elementor flex parents shrink it otherwise) */
.rbdq { width: 100%; }
.rbdq-step, .rbdq-options { width: 100%; }
.rbdq .rbdq-option .rbdq-option-label,
.rbdq .rbdq-option .rbdq-option-desc { white-space: normal !important; overflow-wrap: anywhere; }
.rbdq button.rbdq-option { white-space: normal !important; height: auto; }
.rbdq-sub:empty { display: none; }
.rbdq-title + .rbdq-options { margin-top: 30px; }

/* Results: equal-height cards — names reserve 2 lines so prices/buttons line up */
.rbdq-grid { align-items: stretch; }
.rbdq-product { height: 100%; }
.rbdq .rbdq-product-name {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	min-height: calc(1.4em * 2); line-height: 1.4 !important; margin: 0 0 6px !important;
}
.rbdq .rbdq-product-price { min-height: 1.5em; margin: 0 0 14px !important; }
.rbdq .rbdq-product > .rbdq-btn { margin-top: 0 !important; }
.rbdq .rbdq-product .rbdq-debug { flex: 1 1 auto; }
/* Branded dark tile for "I'm Not Sure Yet" / "Surprise Me" */
.rbdq button.rbdq-option.rbdq-option--image.no-image,
.rbdq button.rbdq-option.rbdq-option--image.no-image:hover,
.rbdq button.rbdq-option.rbdq-option--image.no-image:focus,
.rbdq button.rbdq-option.rbdq-option--image.no-image.is-selected {
	background: radial-gradient(circle at 50% 38%, rgba(195,138,144,.35) 0%, rgba(195,138,144,0) 45%), #1b1716 !important;
}
.rbdq-option--image.no-image::before {
	content: "?"; position: absolute; left: 0; right: 0; top: 34%; transform: translateY(-50%);
	font-family: var(--rbdq-serif); font-size: 44px; color: rgba(239,235,229,.55); text-align: center;
}

/* v1.2.3 — product-photo tiles: whole product on white, label on a solid black caption band */
.rbdq-option--image:not(.no-image) .rbdq-tile-img {
	object-fit: contain; background: #fff;
	padding: 14px 14px 60px; /* keep the product clear of the caption band */
}
.rbdq-option--image:not(.no-image) .rbdq-tile-shade {
	background: linear-gradient(to top, #0A0908 0, #0A0908 46px, transparent 46px);
}
.rbdq .rbdq-option--image:not(.no-image) .rbdq-option-label { bottom: 0; height: 46px; display: flex; align-items: center; justify-content: center; }
.rbdq-option--image.is-selected:not(.no-image) .rbdq-tile-shade {
	background: linear-gradient(to top, var(--rbdq-rose) 0, var(--rbdq-rose) 46px, transparent 46px);
}
.rbdq-option--image:not(.no-image):hover .rbdq-tile-img { transform: scale(1.03); }
@media (max-width: 600px) {
	.rbdq-option--image:not(.no-image) .rbdq-tile-img { padding: 10px 10px 50px; }
	.rbdq-option--image:not(.no-image) .rbdq-tile-shade { background: linear-gradient(to top, #0A0908 0, #0A0908 40px, transparent 40px); }
	.rbdq-option--image.is-selected:not(.no-image) .rbdq-tile-shade { background: linear-gradient(to top, var(--rbdq-rose) 0, var(--rbdq-rose) 40px, transparent 40px); }
	.rbdq .rbdq-option--image:not(.no-image) .rbdq-option-label { height: 40px; }
}
.rbdq .rbdq-option--image.no-image .rbdq-option-label { bottom: 0; height: 46px; display: flex; align-items: center; justify-content: center; }
@media (max-width: 600px) { .rbdq .rbdq-option--image.no-image .rbdq-option-label { height: 40px; } }

/* v1.2.4 — real product photos, consistent framing:
   photo sits in its own padded frame ABOVE the caption band (never cropped),
   white photo backgrounds blend into one soft cream surface. */
.rbdq button.rbdq-option.rbdq-option--image:not(.no-image),
.rbdq button.rbdq-option.rbdq-option--image:not(.no-image):hover,
.rbdq button.rbdq-option.rbdq-option--image:not(.no-image):focus,
.rbdq button.rbdq-option.rbdq-option--image.is-selected:not(.no-image) { background: #f6f3ee !important; }
.rbdq-tile-frame {
	position: absolute; left: 0; right: 0; top: 0; bottom: 46px;
	display: flex; align-items: center; justify-content: center;
	padding: 18px; background: #f6f3ee; overflow: hidden;
}
.rbdq .rbdq-tile-frame img.rbdq-tile-img {
	position: static !important; inset: auto !important;
	width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important;
	padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
	object-fit: contain !important; object-position: center !important;
	background: transparent !important; mix-blend-mode: multiply;
	transition: transform .5s ease;
}
.rbdq-option--image:not(.no-image):hover .rbdq-tile-frame img.rbdq-tile-img { transform: scale(1.05); }
.rbdq-option--image:not(.no-image) .rbdq-tile-shade { background: #0A0908; top: auto; height: 46px; }
.rbdq-option--image.is-selected:not(.no-image) .rbdq-tile-shade { background: var(--rbdq-rose); }
@media (max-width: 600px) {
	.rbdq-tile-frame { bottom: 40px; padding: 12px; }
	.rbdq-option--image:not(.no-image) .rbdq-tile-shade,
	.rbdq-option--image.is-selected:not(.no-image) .rbdq-tile-shade { height: 40px; }
}

/* v1.2.5 — auto-sized product photos (values set by quiz.js) */
.rbdq .rbdq-tile-frame { padding: 10px; }
.rbdq .rbdq-tile-frame img.rbdq-tile-img {
	transform-origin: center center;
	transform: scale(calc(var(--rbdq-z, 1) * var(--rbdq-hz, 1))) translate(var(--rbdq-tx, 0px), var(--rbdq-ty, 0px)) !important;
}
.rbdq .rbdq-option--image:not(.no-image):hover .rbdq-tile-frame img.rbdq-tile-img { --rbdq-hz: 1.05; }

/* ==================================================================
   v1.3.0 — mockup spacing + stable width
   ================================================================== */

/* Elementor's Shortcode widget shrinks to its content inside flex containers,
   so the quiz width jumped per question. Force the widget (and quiz) full width. */
.elementor-widget-shortcode:has(.rbdq),
.elementor-widget-shortcode:has(.rbdq) > .elementor-widget-container,
.elementor-shortcode:has(.rbdq) { width: 100% !important; max-width: 100% !important; align-self: stretch !important; flex: 1 1 100% !important; }
.rbdq { width: 100% !important; max-width: 1040px; padding: 24px 0 8px; }

/* Header spacing */
.rbdq-progress { max-width: 480px; margin-bottom: 40px; }
.rbdq-eyebrow { font-size: 13px; letter-spacing: .22em; margin-bottom: 14px; }
.rbdq-title { font-size: clamp(30px, 4.2vw, 46px); margin-bottom: 12px; }
.rbdq-sub { font-size: 16px; margin-bottom: 0; }
.rbdq .rbdq-options { gap: 18px; margin: 44px 0 48px; }

/* Taller, roomier text tiles */
.rbdq button.rbdq-option:not(.rbdq-option--image) { min-height: 108px; padding: 22px 24px 22px 62px !important; }
.rbdq button.rbdq-option.is-selected:not(.rbdq-option--image) { padding: 21px 23px 21px 61px !important; }
.rbdq .rbdq-option:not(.rbdq-option--image) .rbdq-check { left: 24px; width: 22px; height: 22px; }
.rbdq .rbdq-option.is-selected:not(.rbdq-option--image) .rbdq-check { left: 23px; }
.rbdq .rbdq-option.is-selected:not(.rbdq-option--image) .rbdq-check::after { left: 7px; top: 3px; }
.rbdq .rbdq-option .rbdq-option-label { font-size: 16px !important; }
.rbdq .rbdq-option .rbdq-option-desc { font-size: 14px !important; margin-top: 2px; }
.rbdq .rbdq-options--image { gap: 18px; }

/* Nav like the mockup: Back + Continue centred together, skip link underneath */
.rbdq .rbdq-nav { justify-content: center; gap: 16px; }
.rbdq .rbdq-nav .rbdq-btn { min-width: 200px; padding: 16px 32px; }
.rbdq .rbdq-nav [data-act="back"] { order: 1; }
.rbdq .rbdq-nav [data-act="next"] { order: 2; }
.rbdq .rbdq-nav .rbdq-skip { order: 3; flex-basis: 100%; text-align: center; margin-top: 6px; }
.rbdq .rbdq-nav .rbdq-btn[hidden] { display: none !important; }

/* Continue in dusty rose (mockup), black on hover */
.rbdq button.rbdq-btn[data-act="next"],
.rbdq button.rbdq-btn[data-act="next"]:focus { background: var(--rbdq-rose) !important; border-color: var(--rbdq-rose) !important; color: #fff !important; }
.rbdq button.rbdq-btn[data-act="next"]:hover { background: var(--rbdq-black) !important; border-color: var(--rbdq-black) !important; }
.rbdq button.rbdq-btn[data-act="next"][disabled],
.rbdq button.rbdq-btn[data-act="next"][disabled]:hover { background: var(--rbdq-rose) !important; border-color: var(--rbdq-rose) !important; opacity: .45; }

/* Results: whole product visible, fitted on white (no cropping) */
.rbdq-results .rbdq-grid { gap: 24px; margin-top: 40px; }
.rbdq .rbdq-product-img { background: #fff; }
.rbdq .rbdq-product-img img { object-fit: contain !important; padding: 14px; background: #fff; height: 100% !important; width: 100% !important; }
.rbdq .rbdq-nav-center { margin-top: 44px; }

@media (max-width: 1024px) {
	.rbdq .rbdq-options { margin: 32px 0 36px; }
}
@media (max-width: 600px) {
	.rbdq { padding-top: 8px; }
	.rbdq-progress { margin-bottom: 28px; }
	.rbdq .rbdq-options { gap: 10px; margin: 26px 0 30px; }
	.rbdq button.rbdq-option:not(.rbdq-option--image) { min-height: 78px; padding: 16px 16px 16px 54px !important; }
	.rbdq button.rbdq-option.is-selected:not(.rbdq-option--image) { padding: 15px 15px 15px 53px !important; }
	.rbdq .rbdq-option:not(.rbdq-option--image) .rbdq-check { left: 18px; }
	.rbdq .rbdq-option.is-selected:not(.rbdq-option--image) .rbdq-check { left: 17px; }
	.rbdq .rbdq-nav { flex-direction: column; }
	.rbdq .rbdq-nav [data-act="next"] { order: 1; }
	.rbdq .rbdq-nav [data-act="back"] { order: 2; }
	.rbdq .rbdq-nav .rbdq-btn { width: 100%; min-width: 0; }
	.rbdq-results .rbdq-grid { gap: 14px; }
}

/* Theme link-hover colour must not leak into quiz links/buttons */
.rbdq a.rbdq-btn-outline:hover, .rbdq a.rbdq-btn-outline:focus { background: var(--rbdq-black) !important; border-color: var(--rbdq-black) !important; color: #fff !important; opacity: 1 !important; }
.rbdq a.rbdq-btn:not(.rbdq-btn-outline), .rbdq a.rbdq-btn:not(.rbdq-btn-outline):hover, .rbdq a.rbdq-btn:not(.rbdq-btn-outline):focus { color: #fff !important; opacity: 1 !important; }
.rbdq a.rbdq-btn:not(.rbdq-btn-outline):hover { background: var(--rbdq-rose) !important; border-color: var(--rbdq-rose) !important; }
.rbdq .rbdq-product-name a:hover { color: var(--rbdq-rose) !important; }

/* ==================================================================
   v1.3.5 — uploaded scene images: full-bleed like the mockup
   (dark photo fills the tile, white spaced caps label over a soft
   dark fade, rose border + check when selected). Product-ID photos
   keep the framed cream look above.
   ================================================================== */
.rbdq .rbdq-options--cover button.rbdq-option.rbdq-option--image { aspect-ratio: 5 / 4; }
.rbdq button.rbdq-option.rbdq-option--image.is-cover,
.rbdq button.rbdq-option.rbdq-option--image.is-cover:hover,
.rbdq button.rbdq-option.rbdq-option--image.is-cover:focus,
.rbdq button.rbdq-option.rbdq-option--image.is-cover.is-selected { background: #0A0908 !important; }
.rbdq .rbdq-option--image.is-cover .rbdq-tile-frame {
	inset: 0 !important; bottom: 0 !important; padding: 0 !important; background: #0A0908 !important;
}
.rbdq .rbdq-option--image.is-cover .rbdq-tile-frame img.rbdq-tile-img {
	object-fit: cover !important; mix-blend-mode: normal !important;
	transform: scale(var(--rbdq-hz, 1)) !important; transition: transform .6s ease;
}
.rbdq .rbdq-option--image.is-cover .rbdq-tile-shade,
.rbdq .rbdq-option--image.is-cover.is-selected .rbdq-tile-shade {
	top: 0 !important; height: auto !important;
	background: linear-gradient(to bottom, rgba(10,9,8,0) 42%, rgba(10,9,8,.55) 70%, rgba(10,9,8,.9) 100%) !important;
}
.rbdq .rbdq-option--image.is-cover .rbdq-option-label {
	bottom: 18px !important; height: auto !important; display: block !important;
	text-shadow: 0 1px 8px rgba(0,0,0,.45);
}
.rbdq .rbdq-option--image.is-cover.is-selected .rbdq-check { box-shadow: 0 1px 6px rgba(0,0,0,.35); }
/* "?" tiles sitting next to scene images: same full-height dark look */
.rbdq .rbdq-options--cover .rbdq-option--image.no-image .rbdq-option-label {
	bottom: 18px !important; height: auto !important; display: block !important;
}
@media (max-width: 600px) {
	.rbdq .rbdq-option--image.is-cover .rbdq-option-label,
	.rbdq .rbdq-options--cover .rbdq-option--image.no-image .rbdq-option-label { bottom: 12px !important; }
}
/* image tile labels never split a word; smaller on phones */
.rbdq .rbdq-option--image .rbdq-option-label { word-break: normal !important; overflow-wrap: normal !important; hyphens: none !important; }
@media (max-width: 600px) {
	.rbdq .rbdq-option--image .rbdq-option-label { font-size: 10px !important; letter-spacing: .08em !important; left: 6px !important; right: 6px !important; line-height: 1.4 !important; }
}

/* v1.3.6 — one-screen questions */
/* Compact header on shorter screens (most laptops) so the tiles get the room */
@media (max-height: 860px) {
	.rbdq { padding-top: 8px; }
	.rbdq .rbdq-progress { margin-bottom: 20px; }
	.rbdq .rbdq-eyebrow { margin-bottom: 8px; }
	.rbdq .rbdq-title { font-size: clamp(26px, 3.4vw, 38px); margin-bottom: 6px; }
	.rbdq .rbdq-options { margin: 24px 0 26px; }
	.rbdq .rbdq-options.rbdq-options--image { margin: 20px 0 22px; }
	.rbdq .rbdq-nav .rbdq-btn { padding: 13px 30px; }
	.rbdq button.rbdq-option:not(.rbdq-option--image) { min-height: 84px; }
}
/* Phones: Back + Continue side by side, Skip underneath (saves a full row) */
@media (max-width: 600px) {
	.rbdq .rbdq-nav { flex-direction: row; flex-wrap: wrap; gap: 10px; }
	.rbdq .rbdq-nav .rbdq-btn { width: auto; flex: 1 1 0; min-width: 0; padding: 13px 12px; }
	.rbdq .rbdq-nav [data-act="back"] { order: 1; }
	.rbdq .rbdq-nav [data-act="next"] { order: 2; }
	.rbdq .rbdq-nav .rbdq-skip { order: 3; flex-basis: 100%; margin-top: 2px; }
	.rbdq .rbdq-title { font-size: 26px; }
	.rbdq .rbdq-progress { margin-bottom: 18px; }
	.rbdq .rbdq-options.rbdq-options--image { gap: 8px; margin: 18px 0 18px; }
}
/* Fallback when the screen is too short for everything: buttons stay pinned in view */
.rbdq .rbdq-step.is-sticky-nav .rbdq-nav {
	position: sticky; bottom: 0; z-index: 5;
	background: var(--rbdq-cream); padding: 12px 0 10px;
	box-shadow: 0 -10px 18px -12px rgba(10, 9, 8, .25);
}
.rbdq .rbdq-options.rbdq-options--image { margin-left: auto; margin-right: auto; }
/* smaller tiles (one row of 6, or phones) get a smaller label */
.rbdq .rbdq-options--image.rbdq-compact .rbdq-option-label { font-size: 12px !important; letter-spacing: .12em !important; left: 8px !important; right: 8px !important; bottom: 14px !important; }
@media (max-width: 600px) { .rbdq .rbdq-options--image.rbdq-compact .rbdq-option-label { font-size: 10px !important; letter-spacing: .08em !important; bottom: 10px !important; } }
/* Short text answers (budget): 2 across on phones -> 3 neat rows */
@media (max-width: 600px) {
	.rbdq .rbdq-options.rbdq-options--short { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rbdq .rbdq-options--short button.rbdq-option:not(.rbdq-option--image) { min-height: 64px; padding: 12px 10px 12px 44px !important; }
	.rbdq .rbdq-options--short button.rbdq-option.is-selected:not(.rbdq-option--image) { padding: 11px 9px 11px 43px !important; }
	.rbdq .rbdq-options--short .rbdq-option:not(.rbdq-option--image) .rbdq-check { left: 14px; }
	.rbdq .rbdq-options--short .rbdq-option.is-selected:not(.rbdq-option--image) .rbdq-check { left: 13px; }
	.rbdq .rbdq-options--short .rbdq-option .rbdq-option-label { font-size: 14px !important; }
}
/* v1.3.8 — mockup type scale: smaller question title, lighter/smaller tile labels */
.rbdq .rbdq-title { font-size: clamp(26px, 2.9vw, 38px); }
@media (max-height: 860px) { .rbdq .rbdq-title { font-size: clamp(24px, 2.6vw, 34px); } }
.rbdq .rbdq-options--image .rbdq-option.rbdq-option--image .rbdq-option-label {
	font-size: 13px !important; font-weight: 500 !important; letter-spacing: .18em !important; line-height: 1.5 !important;
}
.rbdq .rbdq-options--image.rbdq-compact .rbdq-option.rbdq-option--image .rbdq-option-label {
	font-size: 11px !important; letter-spacing: .14em !important;
}
@media (max-width: 600px) {
	.rbdq .rbdq-title { font-size: 24px; }
	.rbdq .rbdq-options--image .rbdq-option.rbdq-option--image .rbdq-option-label,
	.rbdq .rbdq-options--image.rbdq-compact .rbdq-option.rbdq-option--image .rbdq-option-label { font-size: 10px !important; letter-spacing: .08em !important; }
}
