/* =====================================================================
   TRADE-IN 2026 – shared look for partner trade-in sites (mobile-first)
   Loaded by partners/default.php AFTER the partner's own CSS file, only on
   opted-in partners (body class .rva-2026). Generalised from the Post
   redesign. Two levels (partners/default.php):
     .rva-2026         the shop flow (drill-down … checkout); every opted-in site
     .rva-2026-chrome  also the Shadow header/layout (header, gutters, sticky
                       header, "So funktioniert's" row); not on shop-only sites
   Partner identity = tokens below, set in the partner file:

     body.partner-<domain> { --rv-accent: …; --rv-on-accent: …; … }

   Partner-specific overrides of rules in here: prefix them with
   body.partner-<domain>.rva-2026 so they win over body.rva-2026.
   Covers both drill-downs: the classic category tree (.rva-subcategory-list)
   and the facet selector (.rva-facet-group).
   ===================================================================== */
/* Defaults with zero specificity (:where), so the partner file's tokens win. */
:where(body.rva-2026) {
	--rv-accent: #1a1a1a;          /* primary buttons, selected answers */
	--rv-accent-strong: #000;      /* inset ring on selected answers */
	--rv-accent-soft: #f0f0f0;     /* hover tint, focus ring */
	--rv-on-accent: #fff;          /* text on --rv-accent */
	--rv-ink: #1a1a1a;
	--rv-muted: #6b6b6b;
	--rv-line: #e3e3e3;
	--rv-bg: #f5f5f5;
	--rv-radius: 12px;             /* cards, inputs, tiles */
	--rv-btn-radius: var(--rv-radius); /* primary buttons (999px = pill) */
	--rv-gutter: 16px;
	--rv-header-bg: #1a1a1a;
	--rv-header-fg: #fff;
	--rv-logo-h: 30px;             /* desktop: --rv-logo-h-lg (default 1.25x) */
}
/* Sticky header height (offset for the sticky offer card / cart). Only the
   shared header has one; shop-only sites keep their theme header in the flow. */
:where(body.rva-2026-chrome) {
	--rv-header-h: 60px;
}
body.rva-2026-chrome {
	color: var(--rv-ink);
	-webkit-text-size-adjust: 100%;
}
/* Shop-only sites: the theme keeps its own body colour outside the shop */
body.rva-2026 div.rva-shop {
	color: var(--rv-ink);
}

/* ---------- Layout: one gutter instead of three stacked ones ---------- */
body.rva-2026-chrome #page-wrapper.wrapper {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
body.rva-2026-chrome #page-wrapper > #content.container {
	max-width: 1080px;
	padding-left: var(--rv-gutter) !important;
	padding-right: var(--rv-gutter) !important;
}
body.rva-2026-chrome #page-wrapper #primary {
	padding-left: 0;
	padding-right: 0;
}
body.rva-2026-chrome #page-wrapper #content .row {
	margin-left: 0;
	margin-right: 0;
}
body.rva-2026-chrome .entry-content .vc_column-inner {
	padding-left: 0;
	padding-right: 0;
}

/* ---------- Header: one compact row (logo left, menu right) ----------
   Mobile: the theme's native <select> menu behind a hamburger.
   >= 768px: the menu items inline. Partners set --rv-header-* / --rv-logo-h. */
body.rva-2026-chrome #secondary-header {
	height: auto !important;
	min-height: 0 !important;
	background: var(--rv-header-bg) !important;
}
body.rva-2026-chrome #secondary-header .header-content {
	position: static !important; /* theme "w-sticky" JS fixes this; the whole header is sticky instead */
	height: auto !important;
	min-height: 0 !important;
	background: none !important;
	box-shadow: none !important;
	transform: none !important;
}
body.rva-2026-chrome #secondary-header .header-content > .wrapper {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: auto !important;
	max-width: 1080px !important;
	height: var(--rv-header-h) !important;
	margin: 0 auto !important;
	padding: 0 var(--rv-gutter) !important;
}
body.rva-2026-chrome #secondary-header .header-content > .wrapper::before,
body.rva-2026-chrome #secondary-header .header-content > .wrapper::after {
	display: none !important;
}
body.rva-2026-chrome #secondary-header #logo {
	position: static !important;
	display: flex !important;
	align-items: center;
	flex: 0 1 auto;
	min-width: 0;
	width: auto !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
}
body.rva-2026-chrome #secondary-header #logo img {
	display: block !important;
	width: auto !important;
	max-width: 100% !important;
	height: var(--rv-logo-h) !important;
	max-height: none !important;
	margin: 0 !important;
	object-fit: contain;
	object-position: left center;
}
body.rva-2026-chrome #secondary-header #logo img.retina {
	display: none !important;
}
body.rva-2026-chrome #secondary-header #main-menu {
	position: static !important;
	float: none !important;
	flex: 0 0 auto;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.rva-2026-chrome #secondary-header #main-menu .top-menu {
	display: none !important;
}
body.rva-2026-chrome #secondary-header #main-menu .responsive-menu {
	display: block !important;
	position: static !important;
	margin: 0 -10px 0 0 !important;
}
body.rva-2026-chrome #secondary-header .responsive-design-cover {
	display: block !important;
	width: 44px !important;
	height: 44px !important;
	background: var(--rv-header-fg) !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Cpath d='M12 15h20M12 22h20M12 29h20' stroke='%23000' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center / 44px 44px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Cpath d='M12 15h20M12 22h20M12 29h20' stroke='%23000' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center / 44px 44px no-repeat;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
body.rva-2026-chrome #secondary-header .responsive-design-cover::before,
body.rva-2026-chrome #secondary-header .responsive-design-cover::after,
body.rva-2026-chrome #secondary-header .responsive-menu::before,
body.rva-2026-chrome #secondary-header .responsive-menu::after {
	display: none !important;
}
body.rva-2026-chrome #secondary-header .responsive-design-inner {
	visibility: hidden;
}
body.rva-2026-chrome #secondary-header .responsive-select {
	width: 44px !important;
	height: 44px !important;
	font-size: 16px; /* no iOS zoom */
}
@media (min-width: 768px) {
	:where(body.rva-2026-chrome) {
		--rv-header-h: 72px;
	}
	body.rva-2026-chrome #secondary-header #logo img {
		height: var(--rv-logo-h-lg, calc(var(--rv-logo-h) * 1.25)) !important;
	}
	body.rva-2026-chrome #secondary-header #main-menu .responsive-menu {
		display: none !important;
	}
	body.rva-2026-chrome #secondary-header #main-menu .top-menu {
		display: flex !important;
		align-items: center;
		gap: 4px;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	body.rva-2026-chrome #secondary-header #main-menu .top-menu > li {
		float: none !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	body.rva-2026-chrome #secondary-header #main-menu .top-menu > li > a {
		display: flex !important;
		align-items: center;
		height: 40px !important;
		margin: 0 !important;
		padding: 0 12px !important;
		font-size: 15px !important;
		line-height: 1 !important;
		font-weight: 600 !important;
		letter-spacing: 0 !important;
		color: var(--rv-header-fg) !important;
		border-radius: 8px;
	}
	body.rva-2026-chrome #secondary-header #main-menu .top-menu > li > a:hover {
		background: rgba(127, 127, 127, .18);
	}
	body.rva-2026-chrome #secondary-header #main-menu .top-menu > li > a > span {
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		line-height: 1.2 !important;
		border: 0 !important;
	}
	body.rva-2026-chrome #secondary-header #main-menu .top-menu > li.selected > a {
		box-shadow: inset 0 -2px 0 var(--rv-accent);
		border-radius: 8px 8px 0 0;
	}
	/* Language switcher: arrow next to the label, dropdown as a card */
	body.rva-2026-chrome #secondary-header #main-menu .top-menu > li > a > span {
		display: inline-flex !important;
		align-items: center;
		gap: 6px;
	}
	body.rva-2026-chrome #secondary-header #main-menu .top-menu > li > a > span::after {
		position: static !important;
		margin: -6px 0 0 !important;
		line-height: 1 !important;
		transform: none !important;
	}
	body.rva-2026-chrome #secondary-header #main-menu .top-menu .sub-menu {
		top: 100% !important;
		right: 0 !important;
		left: auto !important;
		width: 180px !important;
		margin: 4px 0 0 !important;
		padding: 6px !important;
		background: #fff !important;
		border: 0 !important;
		border-radius: 12px !important;
		box-shadow: 0 12px 32px rgba(0, 0, 0, .16) !important;
	}
	body.rva-2026-chrome #secondary-header #main-menu .top-menu .sub-menu li {
		float: none !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}
	body.rva-2026-chrome #secondary-header #main-menu .top-menu .sub-menu a {
		display: block !important;
		height: auto !important;
		padding: 10px 12px !important;
		font-size: 15px !important;
		line-height: 1.2 !important;
		font-weight: 500 !important;
		color: var(--rv-ink) !important;
		background: none !important;
		border: 0 !important;
		border-radius: 8px;
	}
	body.rva-2026-chrome #secondary-header #main-menu .top-menu .sub-menu a:hover {
		background: var(--rv-bg) !important;
	}
}

/* Sticky header in the normal flow instead of the theme's fixed header
   (which offsets both nested #content elements by a hard-coded 112px). */
body.rva-2026-chrome #secondary-header {
	position: sticky !important;
	top: var(--wp-admin--admin-bar--height, 0px) !important;
	z-index: 9910;
}
body.rva-2026-chrome > #content,
body.rva-2026-chrome #page-wrapper > #content.container {
	margin-top: 0 !important;
}
body.rva-2026-chrome > #content > .wrapper {
	padding-top: 0 !important;
}
/* The theme's overflow:hidden on body and #content .wrapper makes them scroll
   containers, so nothing inside can stick (header, offer card, cart). clip still
   cuts off overflow without that side effect; flow-root keeps containing floats.
   Browsers without overflow:clip keep hidden (no sticky, same as before). */
body.rva-2026-chrome,
body.rva-2026-chrome #content .wrapper {
	overflow: clip;
}
body.rva-2026-chrome #content .wrapper {
	display: flow-root;
}

/* ---------- Shop-only sites (theme header and layout untouched) ----------
   Same scroll-container problem as above: the theme's overflow:hidden on body
   and #page-wrapper stops the offer card and cart from sticking. */
body.rva-2026:not(.rva-2026-chrome),
body.rva-2026:not(.rva-2026-chrome) #page-wrapper {
	overflow: clip;
}
body.rva-2026:not(.rva-2026-chrome) #page-wrapper {
	display: flow-root;
}

/* ---------- Shop wrapper ---------- */
body.rva-2026 div.rva-shop {
	margin: 24px 0 8px;
	text-align: left;
}
body.rva-2026 div.rva-shop .step {
	display: none !important;
}

/* Root title "Was möchten Sie verkaufen?" + step titles: black, not yellow */
body.rva-2026 div.rva-shop .rva-category-group-title {
	margin: 0 0 16px !important;
	padding: 0 !important;
	font-size: 24px !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	text-align: left !important;
	color: var(--rv-ink) !important;
	border: 0 !important;
	background: none !important;
}
body.rva-2026 div.rva-shop .rva-category-group,
body.rva-2026 div.rva-shop .rva-category-group:not(:first-child),
body.rva-2026 div.rva-shop .rva-category-group.expanded:not(:first-child),
body.rva-2026 div.rva-shop .rva-category-group:not(.expanded):not(:first-child):hover {
	border: 0 !important;
	margin: 0;
	padding: 0;
}

/* Selection path: every pick becomes a compact chip in one row.
   The expanded (last) group is display:inline so its title chip flows
   next to the others while its block content (next options) breaks onto
   a full-width line. NOT display:contents: rva-shop.js scrollto() needs
   the group to be :visible, otherwise render() throws before fill(). */
body.rva-2026 div.rva-shop #rva-category-list {
	display: block !important;
}
/* :not([style*="none"]): rva-shop.js hides dropped picks inline when going back */
body.rva-2026 div.rva-shop #rva-category-list > .rva-category-group:not(:first-child):not(.expanded):not([style*="none"]) {
	display: inline-block !important;
	vertical-align: top;
	margin: 0 6px 8px 0 !important;
}
body.rva-2026 div.rva-shop #rva-category-list > .rva-category-group:not(:first-child).expanded:not([style*="none"]) {
	display: inline !important;
}
body.rva-2026 div.rva-shop #rva-category-list > .rva-category-group:not(:first-child).expanded > .rva-category-content {
	display: block;
	margin-top: 0;
}
body.rva-2026 div.rva-shop #rva-category-list > .rva-category-group:not(:first-child) > .rva-category-group-title {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	vertical-align: top;
	margin: 0 0 8px !important;
	padding: 8px 14px !important;
	font-size: 15px !important;
	line-height: 1.2 !important;
	font-weight: 600 !important;
	color: var(--rv-ink) !important;
	background: var(--rv-bg) !important;
	border: 1px solid var(--rv-line) !important;
	border-radius: 999px;
	cursor: pointer;
}
body.rva-2026 div.rva-shop #rva-category-list > .rva-category-group:not(:first-child) > .rva-category-group-title::after {
	content: "\00d7";
	font-weight: 400;
	font-size: 17px;
	line-height: 1;
	color: var(--rv-muted);
}
@media (hover: hover) {
	body.rva-2026 div.rva-shop #rva-category-list > .rva-category-group:not(:first-child) > .rva-category-group-title:hover {
		border-color: var(--rv-accent) !important;
		background: var(--rv-accent-soft) !important;
	}
}
body.rva-2026 div.rva-shop .rva-facet-prompt {
	margin: 8px 0 12px;
	font-size: 20px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--rv-ink);
}
/* When drilled down, the root question becomes a small label above the chips */
body.rva-2026 div.rva-shop #rva-category-list:has(> .rva-category-group + .rva-category-group) > .rva-category-group:first-child > .rva-category-group-title {
	margin: 0 0 10px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--rv-muted) !important;
}

/* ---------- Search ---------- */
body.rva-2026 div.rva-shop #rva-search-field-container {
	position: relative;
	height: auto !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
}
body.rva-2026 div.rva-shop #rva-search-field-container .rva-search-field {
	width: 100% !important;
	height: 52px !important;
	padding: 0 60px 0 18px !important;
	font-size: 16px !important;
	color: var(--rv-ink);
	background: var(--rv-bg) !important;
	border: 1px solid var(--rv-line) !important;
	border-radius: var(--rv-radius) !important;
	box-shadow: none !important;
}
body.rva-2026 div.rva-shop #rva-search-field-container .rva-search-field:focus {
	outline: none;
	background: #fff !important;
	border-color: var(--rv-ink) !important;
}
body.rva-2026 div.rva-shop #rva-search-field-container .rva-search-button {
	position: absolute !important;
	top: 6px !important;
	right: 6px !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 10px !important;
	color: var(--rv-ink) !important;
}
body.rva-2026 div.rva-shop #rva-search-field-container .rva-search-button:hover,
body.rva-2026 div.rva-shop #rva-search-field-container .rva-search-button:focus-visible,
body.rva-2026 div.rva-shop #rva-search-modal .rva-search-button:hover,
body.rva-2026 div.rva-shop #rva-search-modal .rva-search-button:focus-visible {
	color: #fff !important;
	background-color: var(--rv-ink) !important;
	border-color: var(--rv-ink) !important;
}

body.rva-2026 div.rva-shop #rva-search-field-container .rva-search-button {
	color: var(--rv-on-accent) !important;
	background: var(--rv-accent) !important;
	border: 0 !important;
}

/* ---------- Mobile search modal ----------
   rva-shop.js opens the modal at the on-screen top of .rva-category-group-title.
   With the tall hero that is ~230px down, so the keyboard covered every result.
   Pin it to the top of the viewport so results sit between input and keyboard. */
body.rva-2026 .rva-search-modal {
	top: 0 !important;
	height: 100vh !important;
	height: 100dvh !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
/* The modal lives inside #content (theme z-index 9900), which sits below the
   sticky #secondary-header (9910). Lift #content above it while search is open. */
body.rva-2026.rva-search-modal-open #content {
	z-index: 100000 !important;
}
body.rva-2026 .rva-search-modal-header {
	min-height: 0 !important;
	padding: 12px 16px !important;
	border-bottom-color: var(--rv-line) !important;
}
body.rva-2026 .rva-search-modal-search-container {
	height: 52px !important;
	border-radius: var(--rv-radius) !important;
}

/* ---------- Option lists (categories, models, storage, colours, products) ---------- */
body.rva-2026 div.rva-shop .rva-category-content {
	border: 0 !important;
}
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list {
	border: 0 !important;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 8px !important;
	padding: 0 !important;
	list-style: none;
}
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list > li {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 14px !important;
	background: #fff !important;
	border: 1px solid var(--rv-line) !important;
	border-radius: var(--rv-radius) !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: border-color .15s, background-color .15s, box-shadow .15s;
}
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list > li::before,
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list > li::after {
	display: none !important;
}
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list > li h3 {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 16px !important;
	line-height: 1.3 !important;
	font-weight: 600 !important;
	color: var(--rv-ink) !important;
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
	text-align: left;
	width: auto !important;
	float: none !important;
}
@media (hover: hover) {
	body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list > li:hover,
	body.rva-2026 div.rva-shop .rva-subcategory.rva-no-image:hover {
		border-color: var(--rv-accent) !important;
		background: var(--rv-accent-soft) !important;
		box-shadow: 0 0 0 1px var(--rv-accent);
	}
	body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list > li:hover h3 {
		color: var(--rv-ink) !important;
	}
}
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list > li:active {
	background: var(--rv-accent-soft) !important;
	border-color: var(--rv-accent) !important;
}
/* Category tiles with icon (iPhone, iPad, MacBook, Android …) */
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list > li.rva-image {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 18px 10px 16px !important;
	text-align: center;
}
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list > li.rva-image img {
	position: static !important;
	width: 64px !important;
	height: 48px !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: contain;
	transform: none !important;
}
/* Long lists (brands, models): natural image size up to 56px high */
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list:has(> li.rva-image:nth-child(5)) > li.rva-image img {
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 56px !important;
}
/* Long image lists (brands, models): 3 per row on phones, less scrolling */
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list:has(> li.rva-image:nth-child(5)) {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list:has(> li.rva-image:nth-child(5)) > li.rva-image {
	gap: 6px;
	padding: 12px 6px 10px !important;
}
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list:has(> li.rva-image:nth-child(5)) > li.rva-image h3 {
	font-size: 13px !important;
	line-height: 1.25 !important;
	font-weight: 600 !important;
	overflow-wrap: anywhere;
}
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list > li.rva-image h3 {
	text-align: center;
	position: static !important;
}
/* Text options (model / storage / colour): name left, price below */
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list > li.rva-no-image {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: 4px;
	min-height: 64px !important;
	text-align: left !important;
}
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list > li.rva-no-image h3 {
	text-align: left !important;
}
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list .rva-facet-price,
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list .rva-product-price {
	position: static !important;
	order: 2;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 13px !important;
	line-height: 1.3 !important;
	font-weight: 400 !important;
	text-align: left !important;
	color: var(--rv-muted) !important;
	background: none !important;
	border: 0 !important;
}
/* Product cards (AJAX, with image) */
body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list > li.rva-product img {
	max-width: 100%;
	height: auto;
}

/* ---------- Condition questions ---------- */
body.rva-2026 div.rva-shop .rva-product-questions {
	position: relative;
	margin: 20px 0 0 !important;
	padding: 20px 0 0 !important;
	border-top: 1px solid var(--rv-line) !important;
	width: auto !important;
	float: none !important;
}
body.rva-2026 div.rva-shop .rva-back-button {
	position: static !important;
	transform: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 44px !important;
	height: 44px !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	font-size: 0 !important;
	color: var(--rv-ink) !important;
	background: var(--rv-bg) !important;
	border: 1px solid var(--rv-line) !important;
	border-radius: 50% !important;
	cursor: pointer;
}
body.rva-2026 div.rva-shop .rva-back-button svg {
	width: 22px;
	height: 22px;
}
body.rva-2026 div.rva-shop .rva-product-questions-title {
	margin: 0 0 20px !important;
	padding: 0 !important;
	font-size: 22px !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	text-align: left !important;
	color: var(--rv-ink) !important;
}
body.rva-2026 div.rva-shop .rva-product-form {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.rva-2026 div.rva-shop .rva-product-question {
	width: auto !important;
	float: none !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
}
body.rva-2026 div.rva-shop .rva-question {
	display: flex !important;
	align-items: flex-start;
	gap: 8px;
	width: auto !important;
	float: none !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
}
body.rva-2026 div.rva-shop .rva-question-title {
	flex: 1 1 auto;
	font-size: 17px !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
	color: var(--rv-ink) !important;
}
body.rva-2026 div.rva-shop .rva-question .rva-tooltip {
	position: static !important;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: -4px 0 0 !important;
	float: none !important;
	border-radius: 50%;
	color: var(--rv-muted);
	cursor: pointer;
}
body.rva-2026 div.rva-shop .rva-question .rva-tooltip svg {
	width: 20px;
	height: 20px;
}
body.rva-2026 div.rva-shop .rva-product-question fieldset {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
body.rva-2026 div.rva-shop .rva-product-question fieldset > input[type=radio],
body.rva-2026 div.rva-shop .rva-product-question fieldset > input[type=checkbox] {
	position: absolute !important;
	opacity: 0 !important;
	width: 1px !important;
	height: 1px !important;
	pointer-events: none;
}
body.rva-2026 div.rva-shop .rva-product-question fieldset > label {
	display: flex !important;
	align-items: center;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 52px;
	height: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 10px 14px !important;
	font-size: 15px !important;
	line-height: 1.3 !important;
	font-weight: 500 !important;
	color: var(--rv-ink) !important;
	background: #fff !important;
	border: 1px solid var(--rv-line) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	white-space: normal !important;
	overflow-wrap: anywhere;
	cursor: pointer;
	transition: border-color .15s, background-color .15s;
}
body.rva-2026 div.rva-shop .rva-product-question fieldset > label[data-condition-image] {
	position: relative;
	padding-right: 46px !important;
}
body.rva-2026 div.rva-shop .rva-product-question fieldset > label:hover {
	color: var(--rv-ink) !important;
	background: #fff !important;
	border: 1px solid var(--rv-line) !important;
}
@media (hover: hover) {
	body.rva-2026 div.rva-shop .rva-product-question fieldset > label:hover {
		border-color: var(--rv-ink) !important;
	}
}
body.rva-2026 div.rva-shop .rva-product-question fieldset > input:focus-visible + label {
	outline: 2px solid var(--rv-ink);
	outline-offset: 2px;
}
body.rva-2026 div.rva-shop .rva-product-question fieldset > input:checked + label,
body.rva-2026 div.rva-shop .rva-product-question fieldset > input:checked + label:hover {
	font-weight: 700 !important;
	color: var(--rv-on-accent) !important;
	background: var(--rv-accent) !important;
	border: 1px solid var(--rv-accent) !important;
	box-shadow: inset 0 0 0 1px var(--rv-accent-strong);
}
/* Submit "Preis berechnen" */
body.rva-2026 div.rva-shop .rva-product-questions input[type=submit].rva-submit-price-request {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: 54px !important;
	margin: 4px 0 0 !important;
	padding: 0 20px !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	color: #8a8a8a !important;
	background: #ececec !important;
	border: 0 !important;
	border-radius: var(--rv-btn-radius) !important;
	box-shadow: none !important;
	float: none !important;
	cursor: not-allowed;
	-webkit-appearance: none;
}
body.rva-2026 div.rva-shop .rva-product-questions input[type=submit].rva-submit-price-request.active {
	color: var(--rv-on-accent) !important;
	background: var(--rv-accent) !important;
	border: 0 !important;
	cursor: pointer;
}
body.rva-2026 div.rva-shop .rva-product-questions input[type=submit].rva-submit-price-request.active:hover {
	color: #fff !important;
	background: var(--rv-ink) !important;
	border: 0 !important;
}

/* ---------- Offer card ---------- */
body.rva-2026 div.rva-shop .rva-price-request-container {
	width: auto !important;
	float: none !important;
	margin: 28px 0 0 !important;
	padding: 0 !important;
	background: none !important;
	box-shadow: none !important;
}
body.rva-2026 div.rva-shop .rva-price-container {
	width: auto !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background: #fff !important;
	border: 1px solid var(--rv-line) !important;
	border-radius: 16px !important;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .06) !important;
}
body.rva-2026 div.rva-shop .rva-price-product {
	display: flex !important;
	align-items: center;
	gap: 16px;
	margin: 0 !important;
	padding: 16px !important;
	background: #fff !important;
	text-align: left !important;
}
body.rva-2026 div.rva-shop .rva-price-product > img {
	flex: 0 0 72px;
	width: 72px !important;
	height: 72px !important;
	max-width: 72px !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain;
	float: none !important;
}
body.rva-2026 div.rva-shop .rva-price-product-details {
	flex: 1 1 auto;
	min-width: 0;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.rva-2026 div.rva-shop .rva-price-product-details .rva-price-title {
	margin: 0 0 2px !important;
	font-size: 13px !important;
	line-height: 1.3 !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--rv-muted) !important;
}
body.rva-2026 div.rva-shop .rva-price-product-details h2 {
	margin: 0 !important;
	font-size: 19px !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	color: var(--rv-ink) !important;
}
body.rva-2026 div.rva-shop .rva-price-product-details .rva-price-description {
	margin: 2px 0 0 !important;
	font-size: 14px !important;
	color: var(--rv-muted) !important;
}
body.rva-2026 div.rva-shop .rva-price-box,
body.rva-2026 div.rva-shop .rva-price-continue-container {
	margin: 0 !important;
	padding: 16px !important;
	background: var(--rv-bg) !important;
	background-image: none !important;
	border-top: 1px solid var(--rv-line);
	text-align: center;
	width: auto !important;
	float: none !important;
}
body.rva-2026 div.rva-shop .rva-price-continue-container p {
	margin: 0 0 12px !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	color: var(--rv-muted) !important;
}
body.rva-2026 div.rva-shop .rva-price-continue-container p:last-child {
	margin: 0 !important;
}
body.rva-2026 div.rva-shop .rva-price-continue-container .krown-button,
body.rva-2026 div.rva-shop .rva-price-container:not(.disabled) .rva-price-continue-container .krown-button.empty.small {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100% !important;
	height: 54px !important;
	margin: 0 !important;
	padding: 0 20px !important;
	font-size: 17px !important;
	line-height: 1 !important;
	font-weight: 700 !important;
	text-transform: none !important;
	color: var(--rv-on-accent) !important;
	background: var(--rv-accent) !important;
	border: 0 !important;
	border-radius: var(--rv-btn-radius) !important;
	box-shadow: none !important;
}
body.rva-2026 div.rva-shop .rva-price-container.disabled .rva-price-continue-container .krown-button,
body.rva-2026 div.rva-shop .rva-price-container.disabled .rva-price-continue-container .krown-button.empty.small {
	border: 0 !important;
	outline: none !important;
	color: #8a8a8a !important;
	background: #e4e4e4 !important;
	cursor: not-allowed;
}
body.rva-2026 div.rva-shop .rva-price-container .price,
body.rva-2026 div.rva-shop .rva-price-container .inner-price,
body.rva-2026 div.rva-shop .rva-price .price {
	color: var(--rv-ink) !important;
}

/* Price result */
body.rva-2026 div.rva-shop .rva-price-container .rva-price-box {
	padding: 20px 16px 8px !important;
	background: #fff !important;
	text-align: left !important;
}
body.rva-2026 div.rva-shop .rva-price-container .rva-price,
body.rva-2026 div.rva-shop .rva-price-container .rva-price div[class*='rva-dqt'] {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	text-align: left !important;
}
body.rva-2026 div.rva-shop .rva-price-container .inner-price {
	display: flex !important;
	align-items: flex-start;
	justify-content: flex-start !important;
	direction: ltr !important;
	flex-direction: row !important;
	gap: 2px;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 36px !important;
	line-height: 1.1 !important;
	font-weight: 800 !important;
	letter-spacing: -.01em;
	color: var(--rv-ink) !important;
	background: none !important;
}
body.rva-2026 div.rva-shop .rva-price-container .inner-price svg {
	order: 2 !important;
	width: 12px;
	height: 12px;
	margin-top: 6px;
	color: var(--rv-muted);
}
body.rva-2026 div.rva-shop .rva-price-container .price-note {
	display: flex;
	gap: 6px;
	margin: 8px 0 0 !important;
	padding: 0 !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	text-align: left !important;
	color: var(--rv-muted) !important;
}
body.rva-2026 div.rva-shop .rva-price-container .price-note svg {
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	margin-top: 4px;
}
body.rva-2026 div.rva-shop .rva-price-container .rva-control-placeholder,
body.rva-2026 div.rva-shop .rva-price-container .rva-static-container {
	margin: 8px 16px 0 !important;
	background: #fff !important;
	border: 1px solid var(--rv-line) !important;
	border-radius: 10px !important;
}
body.rva-2026 div.rva-shop .rva-price-container .rva-price-box + .rva-control-placeholder {
	margin-top: 12px !important;
}
body.rva-2026 div.rva-shop .rva-price-container:not(.disabled) .rva-price-continue-container {
	margin-top: 16px !important;
}

/* ---------- Cart ("Produkte, die ich verkaufe") ---------- */
body.rva-2026 div.rva-shop .rva-parcel-container {
	margin: 0 0 8px !important;
}
body.rva-2026 div.rva-shop .rva-parcel-title,
body.rva-2026 div.rva-shop #rva-address-form .boxed-step > h1,
body.rva-2026 div.rva-shop #rva-address-form .boxed-step > h2 {
	margin: 0 0 16px !important;
	padding: 0 !important;
	font-size: 24px !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	text-align: left !important;
	color: var(--rv-ink) !important;
	border: 0 !important;
	background: none !important;
}
body.rva-2026 div.rva-shop #rva-address-form .boxed-step > h1::before,
body.rva-2026 div.rva-shop #rva-address-form .boxed-step > h1::after,
body.rva-2026 div.rva-shop #rva-address-form .boxed-step > h2::before,
body.rva-2026 div.rva-shop #rva-address-form .boxed-step > h2::after {
	display: none !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product {
	position: relative;
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 14px;
	margin: 0 0 10px !important;
	padding: 16px !important;
	background: #fff !important;
	border: 1px solid var(--rv-line) !important;
	border-radius: 16px !important;
	box-shadow: none !important;
	text-align: left !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .image {
	flex: 0 0 64px;
	width: 64px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	float: none !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .image img {
	width: 64px !important;
	height: 64px !important;
	object-fit: contain;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .image > * {
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product::before,
body.rva-2026 div.rva-shop .rva-parcel-product::after {
	display: none !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .description {
	display: block !important;
	flex: 1 1 auto;
	min-width: 0;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 32px 0 0 !important;
	text-align: left !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .title h4 {
	margin: 0 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	text-align: left !important;
	color: var(--rv-ink) !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .title p {
	margin: 2px 0 0 !important;
	font-size: 14px !important;
	text-align: left !important;
	color: var(--rv-muted) !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .details a {
	font-size: 14px !important;
	color: var(--rv-ink) !important;
	text-decoration: underline !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .specs-table th {
	color: var(--rv-ink) !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .edit {
	position: absolute !important;
	top: 10px !important;
	right: 10px !important;
	margin: 0 !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .price {
	margin: 12px 0 0 !important;
	width: auto !important;
	float: none !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .rva-price,
body.rva-2026 div.rva-shop .rva-parcel-product .rva-price div[class*='rva-dqt'] {
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	text-align: left !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .rva-price div[class*='rva-dqt'] {
	display: block !important;
	height: auto !important;
	min-height: 0 !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .price-title {
	margin: 0 0 2px !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .rva-price div[class*='rva-dqt']::before,
body.rva-2026 div.rva-shop .rva-parcel-product .rva-price div[class*='rva-dqt']::after {
	display: none !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .price-title {
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--rv-muted) !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .price-row {
	min-height: 0 !important;
	height: auto !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .price-row,
body.rva-2026 div.rva-shop .rva-parcel-product .inner-price {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 24px !important;
	line-height: 1.2 !important;
	font-weight: 800 !important;
	color: var(--rv-ink) !important;
	background: none !important;
}
body.rva-2026 div.rva-shop .rva-parcel-buttons {
	display: flex !important;
	flex-direction: column-reverse;
	gap: 10px;
	margin: 16px 0 32px !important;
	padding: 0 !important;
}
body.rva-2026 div.rva-shop #rva-parcel-more-button,
body.rva-2026 div.rva-shop #rva-parcel-finish-button,
body.rva-2026 div.rva-shop .rva-complete-button[type="submit"] {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: 54px !important;
	margin: 0 !important;
	padding: 0 20px !important;
	font-size: 17px !important;
	line-height: 1 !important;
	font-weight: 700 !important;
	text-transform: none !important;
	border-radius: var(--rv-btn-radius) !important;
	box-shadow: none !important;
	float: none !important;
	-webkit-appearance: none;
}
body.rva-2026 div.rva-shop #rva-parcel-finish-button,
body.rva-2026 div.rva-shop .rva-complete-button[type="submit"] {
	color: var(--rv-on-accent) !important;
	background: var(--rv-accent) !important;
	border: 0 !important;
}
body.rva-2026 div.rva-shop #rva-parcel-more-button {
	color: var(--rv-ink) !important;
	background: #fff !important;
	border: 1px solid var(--rv-ink) !important;
}
@media (hover: hover) {
	body.rva-2026 div.rva-shop #rva-parcel-finish-button:hover,
	body.rva-2026 div.rva-shop .rva-complete-button[type="submit"]:hover {
		color: #fff !important;
		background: var(--rv-ink) !important;
	}
	body.rva-2026 div.rva-shop #rva-parcel-more-button:hover {
		background: var(--rv-bg) !important;
	}
}

/* Shipping-kit option in the cart card: the price column is ~200px wide, so the
   default label (stacked flex items, tall line-height) broke one word per line. */
body.rva-2026 div.rva-shop .shipping-kit-product-option {
	margin: 12px 0 0 !important;
	padding: 10px 12px !important;
}
body.rva-2026 div.rva-shop .shipping-kit-product-label {
	align-items: flex-start !important;
	gap: 8px !important;
	line-height: 1.3 !important;
}
body.rva-2026 div.rva-shop .shipping-kit-label-content {
	display: block !important;
	min-width: 0;
	line-height: 1.3 !important;
}
body.rva-2026 div.rva-shop .shipping-kit-label-main {
	display: inline !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
}
body.rva-2026 div.rva-shop .shipping-kit-free-badge {
	display: inline-block !important;
	margin: 0 0 0 4px !important;
	vertical-align: 1px;
	line-height: 1.4 !important;
}
body.rva-2026 div.rva-shop .shipping-kit-label-sub {
	display: block !important;
	margin-top: 2px !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
}

/* ---------- Cart: cash / voucher side by side, bonus badge in the flow ---------- */
body.rva-2026 div.rva-shop .rva-parcel-product .rva-price:has(> .rva-dqt-coupon) {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	gap: 10px 16px;
}
body.rva-2026 div.rva-shop .rva-parcel-product .rva-price > .separator {
	display: none !important;
}
body.rva-2026 div.rva-shop .rva-parcel-product .rva-price > [class*='rva-dqt'] {
	float: none !important;
	width: auto !important;
	min-width: 0;
}
body.rva-2026 div.rva-shop .rva-parcel-product .rva-coupon-badge,
body.rva-2026 div.rva-shop .rva-parcel-product .bonus {
	position: static !important;
	display: inline-block !important;
	margin: 0 0 4px !important;
	padding: 3px 8px !important;
	font-size: 12px !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
	color: #0b6b3a !important;
	background: #dcf5e7 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	transform: none !important;
}
/* Buttons keep their colours while focused (legacy :focus turned them dark-on-yellow) */
body.rva-2026 div.rva-shop #rva-parcel-finish-button:focus:not(:hover),
body.rva-2026 div.rva-shop .rva-complete-button[type="submit"]:focus:not(:hover) {
	color: var(--rv-on-accent) !important;
	background: var(--rv-accent) !important;
}
body.rva-2026 div.rva-shop #rva-parcel-more-button:focus:not(:hover) {
	color: var(--rv-ink) !important;
	background: #fff !important;
}
body.rva-2026 div.rva-shop :is(#rva-parcel-finish-button, #rva-parcel-more-button, .rva-complete-button):focus-visible {
	outline: 2px solid var(--rv-ink) !important;
	outline-offset: 2px;
}

/* ---------- Checkout form (address + payment) ---------- */
body.rva-2026 div.rva-shop #rva-address-form {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
body.rva-2026 div.rva-shop #rva-address-form .boxed-step {
	width: auto !important;
	float: none !important;
	margin: 0 0 32px !important;
	padding: 24px 0 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--rv-line) !important;
	background: none !important;
	box-shadow: none !important;
}
body.rva-2026 div.rva-shop #rva-address-form .indent50 {
	margin: 0 !important;
	padding: 0 !important;
}
body.rva-2026 div.rva-shop #rva-address-form .control-group {
	margin: 0 0 14px !important;
	padding: 0 !important;
}
body.rva-2026 div.rva-shop #rva-address-form .control-group > label {
	display: block;
	margin: 0 0 6px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--rv-ink) !important;
	text-align: left !important;
	width: auto !important;
	float: none !important;
}
body.rva-2026 div.rva-shop #rva-address-form .control-group > .input {
	display: flex;
	gap: 8px;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}
body.rva-2026 div.rva-shop #rva-address-form input[type=text],
body.rva-2026 div.rva-shop #rva-address-form input[type=email],
body.rva-2026 div.rva-shop #rva-address-form input[type=tel],
body.rva-2026 div.rva-shop #rva-address-form select {
	flex: 1 1 auto;
	min-width: 0;
	width: 100% !important;
	height: 50px !important;
	margin: 0 !important;
	padding: 0 14px !important;
	font-size: 16px !important;
	color: var(--rv-ink) !important;
	background: #fff !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}
body.rva-2026 div.rva-shop #rva-address-form select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 40px !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231a1a1a' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center !important;
}
body.rva-2026 div.rva-shop #rva-address-form .input::before,
body.rva-2026 div.rva-shop #rva-address-form .input::after {
	display: none !important;
}
body.rva-2026 div.rva-shop #rva-address-form #zipcode {
	flex: 0 0 96px;
	width: 96px !important;
}
body.rva-2026 div.rva-shop #rva-address-form #city {
	flex: 1 1 0;
	width: auto !important;
}
body.rva-2026 div.rva-shop #rva-address-form input:focus,
body.rva-2026 div.rva-shop #rva-address-form select:focus {
	outline: none !important;
	border-color: var(--rv-ink) !important;
	box-shadow: 0 0 0 3px var(--rv-accent-soft) !important;
}
body.rva-2026 div.rva-shop #rva-address-form input.error,
body.rva-2026 div.rva-shop #rva-address-form select.error {
	border-color: #d6362c !important;
}
/* Validation messages (span.error) go below the field, small, never squeezing the inputs */
body.rva-2026 div.rva-shop #rva-address-form .control-group {
	display: flex;
	flex-direction: column;
}
body.rva-2026 div.rva-shop #rva-address-form .control-group > .input {
	order: 2;
	flex-wrap: wrap;
}
body.rva-2026 div.rva-shop #rva-address-form :is(label, span).error {
	order: 3;
	flex: 0 0 100%;
	display: block;
	margin: 6px 0 0 !important;
	padding: 0 !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	font-weight: 500 !important;
	color: #d6362c !important;
	background: none !important;
}
body.rva-2026 div.rva-shop #rva-address-form .control-group > .input > :is(label, span).error {
	margin-top: 0 !important;
}
body.rva-2026 div.rva-shop #rva-address-form .styled-check.has-error {
	border-color: #d6362c !important;
}
/* Payment accordion header + transfer block: ink text on yellow (white was unreadable) */
body.rva-2026 div.rva-shop #payment-accordion section h4,
body.rva-2026 div.rva-shop #payment-accordion section:not(.opened) h4 {
	display: flex !important;
	align-items: center;
	gap: 8px;
	width: auto !important;
	min-width: 0 !important;
	box-sizing: border-box;
	margin: 0 !important;
	padding: 14px 16px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-align: left !important;
	color: var(--rv-on-accent) !important;
	background: var(--rv-accent) !important;
	border-radius: var(--rv-radius) var(--rv-radius) 0 0;
}
body.rva-2026 div.rva-shop #payment-accordion section h4 * {
	color: var(--rv-on-accent) !important;
}
body.rva-2026 div.rva-shop #payment-accordion section h4 svg {
	flex-shrink: 0;
}
body.rva-2026 div.rva-shop #payment-accordion {
	margin: 0 !important;
}
body.rva-2026 div.rva-shop #payment-accordion section {
	margin: 0 !important;
	border: 1px solid var(--rv-line) !important;
	border-radius: var(--rv-radius) !important;
	overflow: hidden;
}
body.rva-2026 div.rva-shop #payment-accordion section .content {
	padding: 16px !important;
	margin: 0 !important;
	border: 0 !important;
}
/* Two or more payment methods (transfer + coupon): tabs in one row, the open
   one's content full width below. Without this every section is a narrow
   column and the open content is cut off. */
/* :not([style*="none"]): rva-shop.js hides the whole accordion for free recycling */
body.rva-2026 div.rva-shop #payment-accordion:has(> section + section):not([style*="none"]) {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 6px;
	width: auto !important;
	padding: 0 !important;
}
body.rva-2026 div.rva-shop #payment-accordion:has(> section + section + section) {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.rva-2026 div.rva-shop #payment-accordion:has(> section + section) > section {
	display: contents !important;
}
body.rva-2026 div.rva-shop #payment-accordion:has(> section + section) > section > h4 {
	grid-row: 1;
	cursor: pointer;
}
@media (max-width: 480px) {
	body.rva-2026 div.rva-shop #payment-accordion:has(> section + section) > section > h4 {
		gap: 6px;
		padding: 12px 10px !important;
		font-size: 15px !important;
	}
}
body.rva-2026 div.rva-shop #payment-accordion:has(> section + section) > section:not(.opened) > h4 {
	color: var(--rv-ink) !important;
	background: var(--rv-bg) !important;
	border: 1px solid var(--rv-line) !important;
	border-bottom: 0 !important;
}
body.rva-2026 div.rva-shop #payment-accordion:has(> section + section) > section:not(.opened) > h4 * {
	color: var(--rv-ink) !important;
}
body.rva-2026 div.rva-shop #payment-accordion:has(> section + section) > section > .content {
	grid-row: 2;
	grid-column: 1 / -1;
	width: auto !important;
	border: 1px solid var(--rv-line) !important;
	border-radius: 0 0 var(--rv-radius) var(--rv-radius);
}
/* rva-shop.js slides the old tab's content up while the new one slides down:
   give the closing one its own row so the two never overlap. */
body.rva-2026 div.rva-shop #payment-accordion:has(> section + section) > section:not(.opened) > .content {
	grid-row: 3;
}
body.rva-2026 div.rva-shop #payment-accordion .tab-description p {
	margin: 0 !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: var(--rv-muted) !important;
}
body.rva-2026 div.rva-shop .toggle-block {
	margin: 16px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
body.rva-2026 div.rva-shop .toggle-block h3.block-title {
	width: auto !important; /* theme: wider than the block (old full-bleed bar), cut the border */
	margin: 0 0 14px !important;
	padding: 0 !important;
	font-size: 18px !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
	text-align: left !important;
	color: var(--rv-ink) !important;
	background: none !important;
}
/* Confirmation checkboxes */
body.rva-2026 div.rva-shop #rva-address-form .check-group {
	margin: 24px 0 0 !important;
}
body.rva-2026 div.rva-shop #rva-address-form .krown-alert.styled-check {
	display: block !important;
	width: auto !important;
	position: relative;
	margin: 0 0 12px !important;
	padding: 14px 14px 14px 48px !important;
	background: var(--rv-bg) !important;
	border: 1px solid var(--rv-line) !important;
	border-radius: var(--rv-radius) !important;
	box-shadow: none !important;
}
body.rva-2026 div.rva-shop #rva-address-form .krown-alert.styled-check > input[type=checkbox] {
	position: absolute !important;
	top: 16px !important;
	left: 14px !important;
	width: 22px !important;
	height: 22px !important;
	margin: 0 !important;
	display: block !important;
	accent-color: var(--rv-ink);
	opacity: 1 !important;
	cursor: pointer;
}
body.rva-2026 div.rva-shop #rva-address-form .krown-alert.styled-check > label {
	display: block !important;
	height: auto !important;
	min-height: 0 !important;
	white-space: normal !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	font-weight: 400 !important;
	color: var(--rv-ink) !important;
	text-align: left !important;
}
body.rva-2026 div.rva-shop #rva-address-form .krown-alert.styled-check > label::before,
body.rva-2026 div.rva-shop #rva-address-form .krown-alert.styled-check > label::after {
	display: none !important;
}
body.rva-2026 div.rva-shop #rva-address-form .krown-alert.styled-check a {
	color: var(--rv-ink) !important;
	font-weight: 600;
	text-decoration: underline !important;
}
body.rva-2026 div.rva-shop #rva-address-form .rva-complete-button[type="submit"] {
	margin-top: 8px !important;
	cursor: pointer;
}

/* "Verkauf abschliessen" only scrolls to the form, so hide it while the form is open
   ("Mehr verkaufen" hides the form again and the button comes back). */
body.rva-2026 div.rva-shop:has(> #rva-address-form:not([style*="none"])) #rva-parcel-finish-button {
	display: none !important;
}

/* Address fields on a 2-column grid: first + last name side by side everywhere,
   e-mail | phone and street | ZIP/town from 768px. The unclassed wrapper around
   name/e-mail/phone is flattened so its fields join the grid. */
body.rva-2026 div.rva-shop #rva-address-form .boxed-step.address {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 12px;
}
body.rva-2026 div.rva-shop #rva-address-form .boxed-step.address::before,
body.rva-2026 div.rva-shop #rva-address-form .boxed-step.address::after {
	display: none !important;
}
body.rva-2026 div.rva-shop #rva-address-form .boxed-step.address > *,
body.rva-2026 div.rva-shop #rva-address-form .boxed-step.address > div:not([class]) > * {
	grid-column: 1 / -1;
	min-width: 0;
}
body.rva-2026 div.rva-shop #rva-address-form .boxed-step.address > div:not([class]) {
	display: contents;
}
body.rva-2026 div.rva-shop #rva-address-form .boxed-step.address .control-group:has(> .input > :is(#firstname, #surname)) {
	grid-column: auto;
}

/* ---------- Text answers (serial number, IMEI …) ---------- */
body.rva-2026 div.rva-shop .rva-product-question fieldset > input[type=text] {
	grid-column: 1 / -1;
	width: 100% !important;
	max-width: none !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 14px !important;
	font-size: 16px !important;
	color: var(--rv-ink) !important;
	background: #fff !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	float: none !important;
}
body.rva-2026 div.rva-shop .rva-product-question fieldset > input[type=text]:focus {
	outline: none !important;
	border-color: var(--rv-ink) !important;
	box-shadow: 0 0 0 3px var(--rv-accent-soft) !important;
}
body.rva-2026 div.rva-shop .rva-product-question fieldset > input[type=text].error {
	border-color: #d6362c !important;
}
body.rva-2026 div.rva-shop .rva-product-question label.error,
body.rva-2026 div.rva-shop .rva-product-question .error:not(input) {
	grid-column: 1 / -1;
	margin: 0 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	color: #d6362c !important;
}

/* ---------- "Optionally give more details" toggle ---------- */
body.rva-2026 div.rva-shop .rva-optional-questions {
	margin: 0 0 16px !important;
	border-top: 1px solid var(--rv-line);
}
body.rva-2026 div.rva-shop .rva-optional-questions-title {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 !important;
	padding: 14px 0 !important;
	font-size: 16px !important;
	line-height: 1.3 !important;
	font-weight: 600 !important;
	text-align: left !important;
	color: var(--rv-ink) !important;
	background: none !important;
	border: 0 !important;
	cursor: pointer;
}

/* ---------- Price card extras: payment-method heading, cash / voucher pair ---------- */
body.rva-2026 div.rva-shop .rva-price-container h4.rva-payment-method {
	margin: 0 !important;
	padding: 16px 16px 0 !important;
	font-size: 12px !important;
	line-height: 1.3 !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: .04em;
	text-align: left !important;
	color: var(--rv-muted) !important;
	background: none !important;
	border: 0 !important;
	border-top: 1px solid var(--rv-line) !important;
}
body.rva-2026 div.rva-shop .rva-price-container h4.rva-payment-method + .rva-price-box {
	border-top: 0 !important;
	padding-top: 8px !important;
}
body.rva-2026 div.rva-shop .rva-price-container .rva-price .price-title {
	margin: 0 0 2px !important;
	padding: 0 !important;
	font-size: 13px !important;
	line-height: 1.3 !important;
	font-weight: 600 !important;
	text-transform: none;
	text-align: left !important;
	color: var(--rv-muted) !important;
	background: none !important;
}
body.rva-2026 div.rva-shop .rva-price-container .rva-price .separator {
	display: none !important;
}
body.rva-2026 div.rva-shop .rva-price-container .rva-price .rva-dqt-cash + .separator + .rva-dqt-coupon {
	margin-top: 12px !important;
	padding-top: 12px !important;
	border-top: 1px dashed var(--rv-line) !important;
}
body.rva-2026 div.rva-shop .rva-price-container .rva-price:has(> .rva-dqt-coupon) .inner-price {
	font-size: 30px !important;
}

/* "I don't have an email address" (salt-retail, injected by rva-shop.js with inline styles) */
body.rva-2026 div.rva-shop #rva-address-form .rva-no-email-wrapper {
	order: 4; /* below the input (the control group is a flex column) */
	margin: 8px 0 0 !important;
}
body.rva-2026 div.rva-shop #rva-address-form .rva-no-email-wrapper label {
	line-height: 24px !important;
	font-size: 14px !important;
	color: var(--rv-muted) !important;
}

/* ---------- In-store checkout (dq): two submit buttons ---------- */
body.rva-2026 div.rva-shop #rva-address-form .submit-buttons {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 10px;
	margin: 16px 0 0 !important;
}
body.rva-2026 div.rva-shop #rva-address-form .submit-buttons .rva-complete-button[type="submit"] {
	margin: 0 !important;
}

/* ---------- Small phones + touch details ---------- */
/* No automatic hyphenation in titles, tiles and answers ("Ih-res", "Smart-phone") */
body.rva-2026 div.rva-shop :is(h1, h2, h3, h4, .rva-question-title),
body.rva-2026-chrome #page-wrapper :is(h1, h2, h3) {
	-webkit-hyphens: manual !important;
	hyphens: manual !important;
}
/* Answers: words only break where the language allows ("Visuel-lement"),
   mid-word only as a last resort (the text is an anonymous flex item, so
   break-word would not shrink it) */
body.rva-2026 div.rva-shop .rva-product-question fieldset > label {
	-webkit-hyphens: auto !important;
	hyphens: auto !important;
	overflow-wrap: anywhere;
}
body.rva-2026 div.rva-shop :is(.rva-control-placeholder, .rva-static-container, .rva-coupon-applied, #rva-address-form) * {
	-webkit-hyphens: manual !important;
	hyphens: manual !important;
}
body.rva-2026 div.rva-shop :is(.rva-coupon-applied__code, [class*='coupon-applied'] code) {
	white-space: nowrap;
}
body.rva-2026 div.rva-shop .rva-parcel-product .description * {
	max-width: 100%;
}
body.rva-2026 div.rva-shop .rva-parcel-product .description [class*='coupon'] {
	white-space: normal !important;
	overflow-wrap: anywhere;
}
@media (max-width: 399px) {
	body.rva-2026 div.rva-shop .rva-parcel-product {
		gap: 10px;
		padding: 14px 12px !important;
	}
	body.rva-2026 div.rva-shop .rva-parcel-product .image,
	body.rva-2026 div.rva-shop .rva-parcel-product .image img {
		flex-basis: 44px;
		width: 44px !important;
		height: 44px !important;
	}
	body.rva-2026 div.rva-shop .rva-price-container :is(.rva-control-placeholder, .rva-static-container) {
		margin-left: 12px !important;
		margin-right: 12px !important;
	}
}
@media (max-width: 359px) {
	body.rva-2026 div.rva-shop .rva-product-question fieldset > label {
		padding-left: 12px !important;
		font-size: 14px !important;
	}
	body.rva-2026 div.rva-shop .rva-product-question fieldset > label[data-condition-image] {
		padding-right: 34px !important;
	}
	body.rva-2026 .rva-condition-photo {
		right: 2px;
		width: 30px;
		height: 30px;
	}
	body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list > li.rva-image h3 {
		font-size: 12px !important;
	}
}
/* Touch screens keep a :hover state after a tap; don't let the legacy hover
   colours stick on the main buttons */
@media (hover: none) {
	body.rva-2026 div.rva-shop :is(#rva-parcel-finish-button, .rva-complete-button[type="submit"]):hover,
	body.rva-2026 div.rva-shop .rva-product-questions input[type=submit].rva-submit-price-request.active:hover,
	body.rva-2026 div.rva-shop .rva-price-container:not(.disabled) .rva-price-continue-container .krown-button:hover {
		color: var(--rv-on-accent) !important;
		background: var(--rv-accent) !important;
	}
	body.rva-2026 div.rva-shop #rva-parcel-more-button:hover {
		color: var(--rv-ink) !important;
		background: #fff !important;
	}
}

/* ---------- Desktop ---------- */
@media (min-width: 768px) {
	:where(body.rva-2026) {
		--rv-gutter: 24px;
	}
	body.rva-2026 div.rva-shop {
		margin-top: 40px;
	}
	body.rva-2026 div.rva-shop .rva-category-group-title {
		font-size: 30px !important;
	}
	/* Desktop: search spans the full option grid and is a bit taller */
	body.rva-2026 div.rva-shop #rva-search-field-container {
		max-width: none;
		margin-bottom: 20px !important;
	}
	body.rva-2026 div.rva-shop #rva-search-field-container .rva-search-field {
		height: 60px !important;
		padding: 0 72px 0 22px !important;
		font-size: 17px !important;
	}
	body.rva-2026 div.rva-shop #rva-search-field-container .rva-search-button {
		top: 6px !important;
		right: 6px !important;
		width: 48px !important;
		height: 48px !important;
	}
	body.rva-2026 div.rva-shop #rva-search-field-container .rva-search-button .rva-icon-search {
		width: 22px;
		height: 22px;
	}
	body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list:has(> li.rva-image:nth-child(5)) {
		grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
		gap: 12px;
	}
	body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list:has(> li.rva-image:nth-child(5)) > li.rva-image h3 {
		font-size: 14px !important;
	}
	body.rva-2026 div.rva-shop :is(#rva-category-list, #rva-product-list) ul.rva-subcategory-list {
		grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
		gap: 12px;
	}
	body.rva-2026 div.rva-shop .rva-product-question fieldset {
		grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	}
	body.rva-2026 div.rva-shop .rva-product-questions-title {
		font-size: 26px !important;
	}
	/* Checkout: a readable column instead of 1000px wide inputs */
	body.rva-2026 div.rva-shop .rva-parcel-container,
	body.rva-2026 div.rva-shop #rva-address-form {
		max-width: 680px;
	}
	body.rva-2026 div.rva-shop .rva-parcel-buttons {
		flex-direction: row-reverse;
		justify-content: flex-end;
	}
	body.rva-2026 div.rva-shop #rva-parcel-more-button,
	body.rva-2026 div.rva-shop #rva-parcel-finish-button {
		width: auto !important;
		min-width: 220px;
	}
	body.rva-2026 div.rva-shop #rva-address-form .boxed-step.address .control-group:has(> .input > :is(#email, #phone, #address, #zipcode)) {
		grid-column: auto;
	}
}

/* Questions left, sticky offer card right */
@media (min-width: 992px) {
	/* :not([style*="none"]): rva-shop.js hides the questions inline after "Add to parcel" */
	body.rva-2026 div.rva-shop .rva-product-questions:not([style*="none"]) {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 340px;
		grid-template-areas:
			"back back"
			"title title"
			"form price";
		column-gap: 40px;
		align-items: start;
	}
	body.rva-2026 div.rva-shop .rva-product-questions > .rva-back-button { grid-area: back; }
	body.rva-2026 div.rva-shop .rva-product-questions > .rva-product-questions-title { grid-area: title; }
	body.rva-2026 div.rva-shop .rva-product-questions > .rva-product-form { grid-area: form; }
	body.rva-2026 div.rva-shop .rva-product-questions > .rva-price-request-container {
		grid-area: price;
		position: sticky;
		top: calc(var(--rv-header-h, 0px) + var(--wp-admin--admin-bar--height, 0px) + 24px);
		margin: 0 !important;
	}
	body.rva-2026 div.rva-shop .rva-product-questions::before,
	body.rva-2026 div.rva-shop .rva-product-questions::after {
		display: none !important;
	}

	/* Checkout: form left, cart summary right (sticky), instead of one narrow column */
	body.rva-2026 div.rva-shop:has(> #rva-address-form:not([style*="none"])) {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 340px;
		column-gap: 40px;
		align-items: start;
	}
	body.rva-2026 div.rva-shop:has(> #rva-address-form:not([style*="none"]))::before,
	body.rva-2026 div.rva-shop:has(> #rva-address-form:not([style*="none"]))::after {
		display: none !important;
	}
	body.rva-2026 div.rva-shop:has(> #rva-address-form:not([style*="none"])) > * {
		grid-column: 1 / -1;
	}
	body.rva-2026 div.rva-shop:has(> #rva-address-form:not([style*="none"])) > .rva-parcel-container {
		grid-area: 1 / 2 / 2 / 3;
		position: sticky;
		top: calc(var(--rv-header-h, 0px) + var(--wp-admin--admin-bar--height, 0px) + 24px);
		max-width: none;
	}
	body.rva-2026 div.rva-shop:has(> #rva-address-form:not([style*="none"])) > #rva-address-form {
		grid-area: 1 / 1 / 2 / 2;
		max-width: none;
	}
	body.rva-2026 div.rva-shop #rva-address-form > #step-2 {
		padding-top: 0 !important;
		border-top: 0 !important;
	}
	body.rva-2026 div.rva-shop:has(> #rva-address-form:not([style*="none"])) .rva-parcel-buttons > * {
		width: 100% !important;
		min-width: 0;
	}
}

/* ---------- "So funktioniert's" row: 2x2 on phones, 4 columns on desktop ---------- */
body.rva-2026-chrome .entry-content .vc_row:has(> .vc_col-sm-3) {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 12px;
	margin: 40px 0 !important;
	padding: 32px 0 0 !important;
	border-top: 1px solid var(--rv-line);
}
body.rva-2026-chrome .entry-content .vc_row:has(> .vc_col-sm-3)::before,
body.rva-2026-chrome .entry-content .vc_row:has(> .vc_col-sm-3)::after {
	display: none !important;
}
body.rva-2026-chrome .entry-content .vc_row > .vc_col-sm-3 {
	width: auto !important;
	float: none !important;
	padding: 0 !important;
}
body.rva-2026-chrome .entry-content .vc_row > .vc_col-sm-3 .wpb_content_element {
	margin-bottom: 8px !important;
}
body.rva-2026-chrome .entry-content .vc_row > .vc_col-sm-3 .gross {
	display: block !important;
	width: 100% !important;
	text-align: center !important;
	margin: 0 0 10px !important;
	line-height: 1 !important;
}
body.rva-2026-chrome .entry-content .vc_row > .vc_col-sm-3 .gross i {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	font-size: 28px !important;
	line-height: 1 !important;
	color: var(--rv-on-accent);
	background: var(--rv-accent);
	border-radius: 50%;
}
body.rva-2026-chrome .entry-content .vc_row > .vc_col-sm-3 h3 {
	margin: 0 0 6px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}
body.rva-2026-chrome .entry-content .vc_row > .vc_col-sm-3 p {
	margin: 0 !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	color: var(--rv-muted);
}
body.rva-2026-chrome .entry-content .vc_row > .vc_col-sm-3 .vc_separator {
	display: none !important;
}
@media (min-width: 768px) {
	body.rva-2026-chrome .entry-content .vc_row:has(> .vc_col-sm-3) {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 24px;
		margin: 64px 0 !important;
		padding-top: 48px !important;
	}
	body.rva-2026-chrome .entry-content .vc_row > .vc_col-sm-3 h3 {
		font-size: 18px !important;
	}
	body.rva-2026-chrome .entry-content .vc_row > .vc_col-sm-3 p {
		font-size: 15px !important;
	}
}
