/*
Theme Name: REVENTAL Shop
Theme URI: https://revental.de
Author: REVENTAL GmbH
Description: Schlankes Block-Theme für den REVENTAL / Traversenshop – Traversen, Kettenzüge und Steuerungen. Gestaltet nach dem REVENTAL Styleguide (dunkle Fläche, grüner Akzent, Display-Versalien).
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Version: 0.1.0
License: GPLv2 or later
Text Domain: revental-shop
WC requires at least: 9.0
*/

/* ---------- Tokens (aus dem REVENTAL Design System) ---------- */
:root {
	--rv-black: #1A1A1A;
	--rv-black-900: #141414;
	--rv-card: #222222;
	--rv-raised: #2A2A2A;
	--rv-green: #00BA7F;
	--rv-green-hover: #00A673;
	--rv-green-press: #009468;
	--rv-white: #FFFFFF;
	--rv-grey-light: #E6E6E6;
	--rv-grey: #999999;
	--rv-border-subtle: rgba(255,255,255,.08);
	--rv-border: rgba(255,255,255,.16);
	--rv-backlay: linear-gradient(150deg,rgba(255,255,255,.07) 0%,rgba(255,255,255,.02) 100%);
	--rv-gradient: linear-gradient(130deg,#00AF6A 0%,#222D27 100%);
	--rv-ease: cubic-bezier(.2,0,0,1);
	--rv-fast: 150ms;
	--rv-radius-sm: 2px;
	--rv-radius-md: 4px;
	--rv-focus: 0 0 0 2px var(--rv-black), 0 0 0 4px var(--rv-green);
	--rv-display: var(--wp--preset--font-family--display);
	--rv-body: var(--wp--preset--font-family--body);
}

html { background: var(--rv-black); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--rv-green); color: var(--rv-black); }
:where(a, button, input, select, textarea, summary):focus-visible { outline: none; box-shadow: var(--rv-focus); border-radius: var(--rv-radius-sm); }
a { transition: color var(--rv-fast) var(--rv-ease); }
img { max-width: 100%; height: auto; }
hr, .wp-block-separator { border-color: var(--rv-border-subtle); }

/* ---------- Typo-Hilfsklassen ---------- */
.rv-eyebrow { font-family: var(--rv-body); font-size: 16px; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; color: var(--rv-green); margin: 0; line-height: 1.3; }
.rv-claim { font-family: var(--rv-display); font-size: 13px; letter-spacing: .3em; text-transform: uppercase; color: var(--rv-green); margin: 0; }
.rv-display { font-size: var(--wp--preset--font-size--display) !important; line-height: 1 !important; max-width: 15ch; }
.rv-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.55; max-width: 60ch; margin: 0; }
.rv-more a, .rv-link { font-family: var(--rv-display); font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }

/* ---------- Header ---------- */
.rv-header-wrap { position: sticky; top: 0; z-index: 100; }
.admin-bar .rv-header-wrap { top: var(--wp-admin--admin-bar--height, 32px); }
.rv-header { background: rgba(26,26,26,.92); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-bottom: 1px solid var(--rv-border-subtle); }
.rv-logo { display: flex; align-items: center; gap: 12px; line-height: 0; flex-shrink: 0; }
.rv-logo-mark { height: 40px; width: 40px; }
.rv-logo-text { display: flex; flex-direction: column; gap: 6px; }
.rv-logo-word { height: 17px; width: auto; }
.rv-logo-claim { font-family: var(--rv-display); font-size: 8.5px; line-height: 1; letter-spacing: .32em; text-transform: uppercase; color: var(--rv-green); white-space: nowrap; }
.rv-header .wp-block-navigation a { padding-bottom: 4px; border-bottom: 1px solid transparent; }
.rv-header .wp-block-navigation .current-menu-item > a,
.rv-header .wp-block-navigation a[aria-current="page"] { color: var(--rv-green); border-bottom-color: var(--rv-green); }
.rv-header-icons { color: var(--rv-grey-light); }
.rv-header-icons svg { width: 24px; height: 24px; }
.rv-header-icons a:hover, .rv-header-icons button:hover { color: var(--rv-green); }
.wc-block-mini-cart__badge { background: var(--rv-green) !important; color: var(--rv-black) !important; font-family: var(--rv-body); font-weight: 600; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { color: var(--rv-grey-light); }
.wp-block-navigation__responsive-container.is-menu-open { padding: 24px; }
@media (max-width: 600px) { .rv-logo-mark { height: 32px; width: 32px; } .rv-logo-word { height: 13px; } .rv-logo-claim { font-size: 7px; } .rv-header-right { gap: 16px !important; } }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.wc-block-components-button:not(.is-link) {
	font-family: var(--rv-display) !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .05em;
	font-size: 13px !important; line-height: 1 !important; border-radius: var(--rv-radius-sm) !important;
	background: var(--rv-green) !important; color: var(--rv-black) !important; border: 1px solid transparent !important;
	padding: 15px 26px !important; transition: background var(--rv-fast) var(--rv-ease), border-color var(--rv-fast) var(--rv-ease), color var(--rv-fast) var(--rv-ease), transform var(--rv-fast);
	text-decoration: none !important; box-shadow: none !important;
}
.wp-element-button:hover, .wp-block-button__link:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.wc-block-components-button:not(.is-link):hover { background: var(--rv-green-hover) !important; color: var(--rv-black) !important; }
.wp-element-button:active, .woocommerce .button:active, .wc-block-components-button:active { transform: translateY(1px); background: var(--rv-green-press) !important; }
.is-style-outline .wp-block-button__link, .woocommerce a.button.rv-secondary {
	background: transparent !important; color: var(--rv-white) !important; border: 1px solid var(--rv-grey) !important;
}
.is-style-outline .wp-block-button__link:hover { border-color: var(--rv-green) !important; background: rgba(255,255,255,.06) !important; color: var(--rv-white) !important; }
.woocommerce .button:disabled, .woocommerce .button.disabled { opacity: .4 !important; }

/* ---------- Formulare ---------- */
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=password], input[type=search], input[type=url], select, textarea,
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .select2-container .select2-selection {
	background: var(--rv-black-900) !important; color: var(--rv-white) !important; border: 1px solid var(--rv-border) !important;
	border-radius: var(--rv-radius-sm) !important; font-family: var(--rv-body); font-size: 17px; padding: 10px 14px; letter-spacing: .03em;
}
input:focus, select:focus, textarea:focus { border-color: var(--rv-green) !important; outline: none; }
label { color: var(--rv-grey-light); }
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control input, .wc-blocks-components-select select {
	background: var(--rv-black-900) !important; color: var(--rv-white) !important; border-color: var(--rv-border) !important; border-radius: var(--rv-radius-sm) !important;
}
.wc-block-components-text-input label, .wc-blocks-components-select label { color: var(--rv-grey) !important; }

/* ---------- Startseite ---------- */
.rv-hero { position: relative; overflow: hidden; background:
	linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.55) 100%),
	radial-gradient(ellipse at 80% 20%, rgba(0,186,127,.14) 0%, rgba(0,0,0,0) 55%),
	var(--rv-black); border-bottom: 1px solid var(--rv-border-subtle); }
.rv-hero > * { position: relative; z-index: 1; }
.rv-hero-watermark { position: absolute !important; z-index: 0 !important; right: -8vw; top: 50%; transform: translateY(-50%); width: min(620px, 70vw); pointer-events: none; opacity: .9; }
.rv-section-head { margin-bottom: 40px; }
.rv-section-head h2 { margin: 0; }
.rv-band { background: var(--rv-black-900); border-top: 1px solid var(--rv-border-subtle); border-bottom: 1px solid var(--rv-border-subtle); }

.rv-cat-card, .rv-usp > .wp-block-column {
	background: var(--rv-backlay), var(--rv-card); border: 1px solid var(--rv-border-subtle); border-radius: var(--rv-radius-md);
	padding: 32px 28px; display: flex; flex-direction: column; gap: 12px;
	transition: border-color var(--rv-fast) var(--rv-ease);
}
.rv-cat-card:hover { border-color: var(--rv-green); }
.rv-cat-card h3, .rv-cat-card p { margin: 0; }
.rv-cat-card h3 a { color: var(--rv-white); }
.rv-cat-card h3 a:hover { color: var(--rv-green); }
.rv-cat-card .rv-more { margin-top: auto; padding-top: 8px; }
.rv-usp h4 { margin: 0; color: var(--rv-white); }
.rv-usp p { margin: 0; color: var(--rv-grey-light); }

/* ---------- Footer ---------- */
.rv-footer { position: relative; overflow: hidden; border-top: 1px solid var(--rv-border-subtle); }
.rv-footer > * { position: relative; z-index: 1; }
.rv-footer-watermark { position: absolute !important; z-index: 0 !important; right: -120px; bottom: -200px; width: 520px; pointer-events: none; }
.rv-footer h3 { margin-top: 0; }
.rv-contact-list, .rv-footer-links { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.rv-contact-list a { display: inline-flex; align-items: center; gap: 12px; font-size: 19px; }
.rv-footer-links a { color: var(--rv-grey-light); }
.rv-footer-links a:hover { color: var(--rv-green); }
.rv-ico { width: 18px; height: 18px; display: inline-block; background: var(--rv-green); -webkit-mask: var(--m) center/contain no-repeat; mask: var(--m) center/contain no-repeat; }
.rv-ico-phone { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }
.rv-ico-mail { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm9 7.2L4 7.3V17h16V7.3z'/%3E%3C/svg%3E"); }
.rv-footer-bottom { margin-top: 48px !important; padding-top: 24px; border-top: 1px solid var(--rv-border-subtle); color: var(--rv-grey); font-size: 15px; align-items: center; }
.rv-footer-wordmark { height: 14px; width: auto; display: block; }
.rv-legal { display: flex; flex-wrap: wrap; gap: 10px; }
.rv-legal a { color: var(--rv-grey); }
.rv-legal a:hover { color: var(--rv-green); }
.rv-copy { margin: 0; }

/* ---------- WooCommerce: allgemein ---------- */
.rv-woo .woocommerce-breadcrumb { font-size: 15px; color: var(--rv-grey); margin: 0 0 28px; letter-spacing: .04em; }
.rv-woo .woocommerce-breadcrumb a { color: var(--rv-grey-light); }
.rv-woo .woocommerce-breadcrumb a:hover { color: var(--rv-green); }
.woocommerce .woocommerce-products-header__title, .woocommerce-products-header h1 { margin: 0 0 12px; }
.term-description { color: var(--rv-grey-light); max-width: 70ch; }
.woocommerce .woocommerce-result-count { color: var(--rv-grey); font-size: 15px; }
.woocommerce .woocommerce-ordering select { min-width: 220px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	background: var(--rv-card) !important; color: var(--rv-grey-light) !important; border: 1px solid var(--rv-border-subtle) !important;
	border-left: 2px solid var(--rv-green) !important; border-radius: var(--rv-radius-md) !important;
}
.woocommerce-error { border-left-color: #E0524A !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--rv-green) !important; }
.woocommerce span.onsale { background: var(--rv-green); color: var(--rv-black); border-radius: var(--rv-radius-sm); font-family: var(--rv-display); font-size: 11px; text-transform: uppercase; min-height: 0; min-width: 0; line-height: 1; padding: 8px 10px; top: 12px; left: 12px; }

/* ---------- Produktgrid ---------- */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important;
	background: var(--rv-card); border: 1px solid var(--rv-border-subtle); border-radius: var(--rv-radius-md);
	padding: 0 0 24px; display: flex; flex-direction: column; transition: border-color var(--rv-fast) var(--rv-ease); overflow: hidden;
}
.woocommerce ul.products li.product:hover { border-color: var(--rv-green); }
.woocommerce ul.products li.product a img {
	margin: 0 0 20px !important; aspect-ratio: 1 / 1; object-fit: contain; background: #fff; padding: 18px; box-sizing: border-box;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--rv-body) !important; font-size: 19px !important; font-weight: 500; text-transform: none; letter-spacing: .02em;
	color: var(--rv-white); line-height: 1.3; padding: 0 22px !important; margin: 0 0 12px;
}
.woocommerce ul.products li.product .price { color: var(--rv-white) !important; font-family: var(--rv-display); font-size: 16px !important; padding: 0 22px; margin: 0 0 4px; letter-spacing: .03em; }
.woocommerce ul.products li.product .price del { color: var(--rv-grey); opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--rv-green); }
.woocommerce ul.products li.product .wc-gzd-additional-info, .woocommerce ul.products li.product .wc-gzd-additional-info a,
.woocommerce ul.products li.product .price-unit, .woocommerce ul.products li.product .delivery-time-info { color: var(--rv-grey); font-size: 13px; padding: 0 22px; margin: 0; }
.woocommerce ul.products li.product .button { margin: auto 22px 0 !important; align-self: flex-start; }
.woocommerce ul.products li.product .added_to_cart { margin: 10px 22px 0; font-size: 14px; }

/* ---------- Produktseite ---------- */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 0 56px; align-items: start; }
.woocommerce div.product > * { grid-column: 1 / -1; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images { grid-column: 1; }
.woocommerce div.product div.summary { grid-column: 2; position: sticky; top: 110px; }
@media (max-width: 900px) {
	.woocommerce div.product { grid-template-columns: 1fr; }
	.woocommerce div.product div.images, .woocommerce div.product div.summary { grid-column: 1; position: static; }
	.woocommerce div.product div.summary { margin-top: 32px !important; }
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product div.images .flex-viewport { background: #fff; border-radius: var(--rv-radius-md); }
.woocommerce div.product div.images img { object-fit: contain; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 10px; margin-top: 10px !important; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 84px !important; float: none !important; background: #fff; border-radius: var(--rv-radius-sm); border: 1px solid transparent; }
.woocommerce div.product div.images .flex-control-thumbs li img { opacity: .6; padding: 6px; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active, .woocommerce div.product div.images .flex-control-thumbs li:hover img { opacity: 1; }
.woocommerce div.product .woocommerce-product-gallery__trigger { background: var(--rv-black); border-radius: var(--rv-radius-sm); }

.woocommerce div.product .product_title { font-size: clamp(22px, 2.6vw, 32px); line-height: 1.15; margin: 0 0 18px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--rv-white) !important; font-family: var(--rv-display); font-size: 28px !important; letter-spacing: .03em; margin: 0 0 6px; }
.woocommerce div.product .legal-price-info, .woocommerce div.product .wc-gzd-additional-info, .woocommerce div.product .wc-gzd-additional-info a,
.woocommerce div.product .delivery-time-info, .woocommerce div.product .shipping-costs-info { color: var(--rv-grey); font-size: 15px; margin: 0 0 4px; }
.woocommerce div.product .wc-gzd-additional-info a { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--rv-grey-light); margin: 22px 0; padding: 20px 0; border-top: 1px solid var(--rv-border-subtle); border-bottom: 1px solid var(--rv-border-subtle); }
.woocommerce div.product .woocommerce-product-details__short-description p { margin: 0; }
.woocommerce div.product form.cart { display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; margin: 24px 0 !important; }
.woocommerce div.product form.cart .quantity .qty { width: 84px; height: 100%; min-height: 46px; text-align: center; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 220px; }
.woocommerce div.product .product_meta { font-size: 15px; color: var(--rv-grey); display: flex; flex-direction: column; gap: 4px; }
.woocommerce div.product .product_meta a { color: var(--rv-grey-light); }
.woocommerce div.product .product_meta a:hover { color: var(--rv-green); }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { margin-top: 72px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 0 0 32px !important; display: flex; gap: 32px; border-bottom: 1px solid var(--rv-border-subtle); overflow-x: auto; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; border-radius: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: var(--rv-body); font-size: 17px; text-transform: uppercase; letter-spacing: .06em; color: var(--rv-grey) !important; padding: 0 0 14px !important; display: block; border-bottom: 2px solid transparent; white-space: nowrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a, .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--rv-white) !important; border-bottom-color: var(--rv-green); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 900px; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce div.product .woocommerce-tabs .panel h3 { font-size: 18px; margin: 40px 0 16px; }
.woocommerce div.product .woocommerce-tabs .panel ul { padding-left: 1.1em; }
.woocommerce div.product .woocommerce-tabs .panel li::marker { color: var(--rv-green); }

/* Tabellen (technische Daten, Zusatzinfos) */
.woocommerce table.shop_attributes, .woocommerce-Tabs-panel table, .rv-woo .panel table {
	width: 100%; border-collapse: collapse; border: 0 !important; margin: 0 0 8px;
}
.woocommerce-Tabs-panel table td, .woocommerce-Tabs-panel table th, .woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td {
	border: 0 !important; border-bottom: 1px solid var(--rv-border-subtle) !important; padding: 12px 0 !important; background: none !important; text-align: left; font-style: normal;
}
.woocommerce-Tabs-panel table tr td:first-child, .woocommerce table.shop_attributes th { color: var(--rv-grey); font-weight: 400; width: 45%; padding-right: 24px !important; }
.woocommerce-Tabs-panel table tr td:last-child, .woocommerce table.shop_attributes td { color: var(--rv-white); }
.woocommerce table.shop_attributes td p { margin: 0; padding: 0; }

/* Ähnliche Produkte */
.woocommerce div.product .related, .woocommerce div.product .upsells { margin-top: 72px; }
.woocommerce div.product .related > h2, .woocommerce div.product .upsells > h2 { font-size: var(--wp--preset--font-size--h3); margin-bottom: 28px; }

/* Hilfe-Box unter dem Shop-Loop */
.rv-help-callout { margin: 64px 0 0; padding: 36px; border: 1px solid var(--rv-border-subtle); border-radius: var(--rv-radius-md); background: var(--rv-backlay), var(--rv-card); }
.rv-help-callout p { margin: 8px 0 0; }
.rv-help-callout .rv-eyebrow { margin: 0; }

/* ---------- Warenkorb & Kasse (Blöcke) ---------- */
.wc-block-cart, .wc-block-checkout { color: var(--rv-grey-light); }
.wc-block-components-sidebar, .wc-block-components-totals-wrapper, .wc-block-cart__totals-title { border-color: var(--rv-border-subtle) !important; }
.wc-block-components-order-summary, .wc-block-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
	background: var(--rv-card); border-radius: var(--rv-radius-md);
}
.wc-block-cart-items, .wc-block-cart-items td, .wc-block-cart-items th { border-color: var(--rv-border-subtle) !important; }
.wc-block-components-product-name { color: var(--rv-white) !important; font-size: 18px; }
.wc-block-components-formatted-money-amount { font-family: var(--rv-display); letter-spacing: .02em; }
.wc-block-components-totals-item__label { text-transform: uppercase; letter-spacing: .05em; font-size: 15px; }
.wc-block-components-radio-control__option, .wc-block-components-checkbox__input { border-color: var(--rv-border) !important; }
.wc-block-components-radio-control__input:checked { border-color: var(--rv-green) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--rv-green) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--rv-green) !important; border-color: var(--rv-green) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--rv-black) !important; }
.wc-block-components-panel, .wc-block-components-totals-coupon { border-color: var(--rv-border-subtle) !important; }
.wc-block-components-quantity-selector { border-color: var(--rv-border) !important; border-radius: var(--rv-radius-sm) !important; }
.wc-block-components-quantity-selector input { background: transparent !important; color: var(--rv-white) !important; border: 0 !important; }
.wc-block-components-quantity-selector button { color: var(--rv-white) !important; }
.wc-block-mini-cart__drawer .components-modal__content, .wc-block-mini-cart__drawer .wc-block-components-drawer__content { background: var(--rv-black) !important; color: var(--rv-grey-light); }

/* Mein Konto */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; border: 1px solid var(--rv-border-subtle); border-radius: var(--rv-radius-md); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 18px; color: var(--rv-grey-light); border-bottom: 1px solid var(--rv-border-subtle); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color: var(--rv-green); }

/* Germanized-Checkbox-Texte */
.wc-gzd-checkbox-placeholder, .legal, .woocommerce-gzd-legal-checkbox-text { color: var(--rv-grey-light); }

/* Bewegung reduzieren */
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }

/* Header-Symbole neutral, Avatar ausblenden */
.rv-header-icons a, .rv-header-icons button { color: var(--rv-grey-light) !important; }
.rv-header-icons a:hover, .rv-header-icons button:hover { color: var(--rv-green) !important; }
.wc-block-customer-account__avatar { display: none !important; }

/* Preise in der Textschrift (enthält €), Produktliste auf volle Breite */
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price,
.wc-block-components-formatted-money-amount { font-family: var(--rv-body) !important; font-weight: 600; letter-spacing: .02em; }
.woocommerce ul.products li.product .price { font-size: 20px !important; }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 32px !important; }
.rv-band > .woocommerce, .rv-main > .woocommerce { max-width: var(--wp--style--global--wide-size) !important; }
@media (min-width: 900px) { .woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Produktseite: Kaufbereich nicht sticky, Titel kompakter, Mengenfeld */
.woocommerce div.product div.summary { position: static !important; }
.woocommerce div.product .product_title { font-size: clamp(19px, 1.9vw, 24px) !important; line-height: 1.25 !important; letter-spacing: .04em; }
.woocommerce div.product form.cart { align-items: center; }
.woocommerce div.product form.cart .quantity .qty { height: 46px !important; min-height: 0; padding: 0 8px; }

/* Netto-/Bruttopreis */
.rv-price-gross, .rv-price-net { display: block; }
.rv-price-net { font-family: var(--rv-body); font-weight: 600; color: var(--rv-white); }
.rv-price-net small { font-weight: 400; font-size: .6em; color: var(--rv-grey); letter-spacing: .04em; }
.rv-price-gross::after { content: " brutto"; font-size: .6em; font-weight: 400; color: var(--rv-grey); }
.rv-checkout-note { font-size: 15px; color: var(--rv-grey); margin: 8px 0 0; }

/* Abschnittsüberschriften in Datentabellen */
.woocommerce-Tabs-panel table th[colspan] { color: var(--rv-green) !important; font-family: var(--rv-body); font-weight: 500; text-transform: uppercase; letter-spacing: .08em; font-size: 15px; padding: 24px 0 8px !important; border-bottom: 1px solid var(--rv-border-subtle) !important; text-align: left; }
