/*
Theme Name: Rearta
Theme URI: https://rearta.com
Author: Rearta
Description: Minimalistisches WooCommerce-Theme für Rearta — handgemalte Ölgemälde, Originals und Prints. Design 1:1 aus dem Rearta-Shop übernommen (Schwarz/Weiß, keine Rundungen, Archivo).
Version: 1.0.91
Requires at least: 6.4
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: rearta
Tags: e-commerce, minimal, woocommerce
*/

/* Das eigentliche Styling liegt kompiliert in assets/css/theme.css. */

/* Contact Form 7 im Rearta-Stil (Kontakt, Individuelle Anfrage). */
.wpcf7-form { display: grid; gap: 1.25rem; max-width: 36rem; margin-top: 2rem; }
.wpcf7-form p { margin: 0; }
.wpcf7-form label { display: block; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }
.wpcf7-form .wpcf7-form-control-wrap { display: block; margin-top: 0.5rem; }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100%;
  border: 1px solid var(--color-input);
  border-radius: 0;
  padding: 0.75rem;
  font-size: 0.875rem;
  letter-spacing: normal;
  text-transform: none;
  color: var(--color-foreground);
  background: var(--color-background);
}
.wpcf7-form textarea { min-height: 10rem; resize: vertical; }
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus { outline: 1px solid var(--color-foreground); outline-offset: 0; }
.wpcf7-form input[type="file"] { font-size: 0.875rem; text-transform: none; letter-spacing: normal; }
.wpcf7-form .wpcf7-submit {
  justify-self: start;
  background: var(--color-primary);
  color: var(--color-primary-foreground);
  border: 0;
  border-radius: 0;
  padding: 0.9rem 2rem;
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
}
.wpcf7-form .wpcf7-submit:hover { opacity: 0.9; }
.wpcf7-not-valid-tip { margin-top: 0.35rem; font-size: 0.75rem; text-transform: none; letter-spacing: normal; color: var(--color-destructive); }
.wpcf7 form .wpcf7-response-output { margin: 0; padding: 0.75rem 1rem; border-width: 1px; font-size: 0.875rem; }
.wpcf7-spinner { margin: 0 0 0 1rem; }

/* Zusatzinhalte der Kollektionen (z. B. Künstler auf der Originals-Seite) – Aufbau wie im Lovable-Shop. */
.rearta-collection-extra { color: var(--color-foreground); }
.rearta-intro { margin-top: 2rem; max-width: 48rem; font-size: 0.875rem; line-height: 1.625; color: color-mix(in oklab, var(--color-foreground) 90%, transparent); }
.rearta-intro > * + * { margin-top: 1.25rem; }
.rearta-intro .rearta-intro-lead { font-size: 1rem; font-weight: 300; color: var(--color-foreground); }
.rearta-intro .rearta-intro-end { font-weight: 300; color: var(--color-muted-foreground); }

.rearta-artists { margin-top: 5rem; border-top: 1px solid var(--color-border); padding-top: 4rem; }
.rearta-artists + .rearta-artists { margin-top: 6rem; }
.rearta-artists > h2 { font-size: 1.5rem; line-height: 2rem; }
.rearta-artists > .rearta-artists-sub { margin-top: 0.75rem; max-width: 36rem; font-size: 0.875rem; color: var(--color-muted-foreground); }

.rearta-artist-grid { margin-top: 2.5rem; display: grid; gap: 1.5rem; }
@media (min-width: 640px) { .rearta-artist-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .rearta-artist-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rearta-artist-card { display: flex; flex-direction: column; border: 1px solid var(--color-border); padding: 1.25rem; transition: background-color .15s; color: inherit; text-decoration: none; }
.rearta-artist-card:hover { background: color-mix(in oklab, var(--color-accent) 30%, transparent); }
.rearta-artist-card img { aspect-ratio: 4 / 5; width: 100%; object-fit: cover; background: var(--color-muted); }
.rearta-artist-card .rearta-city { margin-top: 1.25rem; }
.rearta-artist-card h3 { margin-top: 0.25rem; font-size: 1.125rem; line-height: 1.75rem; text-underline-offset: 4px; }
.rearta-artist-card:hover h3 { text-decoration: underline; }
.rearta-artist-card .rearta-focus { margin-top: 0.5rem; font-size: 0.875rem; color: var(--color-muted-foreground); }
.rearta-artist-card .rearta-focus span { color: var(--color-foreground); }

.rearta-city { font-size: 0.6875rem; line-height: 1; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }

.rearta-spotlights { margin-top: 3rem; }
.rearta-spotlight { display: grid; gap: 2rem; padding: 4rem 0; scroll-margin-top: 6rem; }
.rearta-spotlight + .rearta-spotlight { border-top: 1px solid var(--color-border); }
.rearta-spotlight:first-child { padding-top: 1.5rem; }
.rearta-spotlight:last-child { padding-bottom: 1.5rem; }
.rearta-spotlight-text .rearta-portrait { aspect-ratio: 4 / 5; width: 10rem; object-fit: cover; background: var(--color-muted); }
.rearta-spotlight-text .rearta-city { margin-top: 1.5rem; }
.rearta-spotlight-text h3 { margin-top: 0.5rem; font-size: 1.5rem; line-height: 2rem; }
.rearta-spotlight-text .rearta-bio { margin-top: 1rem; font-size: 0.875rem; line-height: 1.625; color: var(--color-muted-foreground); }
.rearta-spotlight-text .rearta-works-link { margin-top: 1.5rem; display: inline-block; font-size: 0.875rem; background: none; border: 0; padding: 0; cursor: pointer; color: var(--color-foreground); }
.rearta-spotlight-art { width: 100%; max-width: 32rem; }
.rearta-spotlight-art > a { display: block; background: var(--color-muted); }
.rearta-spotlight-art img { aspect-ratio: 4 / 5; width: 100%; object-fit: cover; }
.rearta-spotlight-meta { margin-top: 1.25rem; display: flex; flex-direction: column; gap: 0.25rem; }
.rearta-spotlight-meta .rearta-focus-title { margin-top: 0.25rem; display: block; width: fit-content; font-size: 1rem; color: var(--color-foreground); }
.rearta-spotlight-meta .rearta-focus-info { font-size: 0.875rem; color: var(--color-muted-foreground); }
.rearta-spotlight-meta .rearta-focus-info span { color: var(--color-foreground); }
@media (min-width: 640px) { .rearta-spotlight-meta { flex-direction: row; align-items: baseline; justify-content: space-between; } }
@media (min-width: 1024px) {
  .rearta-spotlight { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem; }
  .rearta-spotlight .rearta-spotlight-art { justify-self: end; }
  .rearta-spotlight.is-reversed .rearta-spotlight-text { order: 2; }
  .rearta-spotlight.is-reversed .rearta-spotlight-art { order: 1; justify-self: start; }
}
.rearta-filter-note { margin-top: 1rem; font-size: 0.875rem; color: var(--color-muted-foreground); }
.rearta-filter-note button { margin-left: 0.5rem; background: none; border: 0; padding: 0; cursor: pointer; color: var(--color-foreground); }

/* Produktkacheln: nach „In den Warenkorb“ keinen zusätzlichen WooCommerce-Link einblenden – wie im Lovable-Shop. */
.rearta-product .added_to_cart { display: none !important; }
.rearta-product .add_to_cart_button.loading { opacity: 0.6 !important; pointer-events: none; }

/* Produktoptionen: gewählte Größe/Lieferoption schwarz gefüllt, Rahmenfarbe mit schwarzem Rand – wie im Lovable-Shop. */
.rearta-options label[data-rearta-option] { transition: border-color .15s, background-color .15s, color .15s; }
.rearta-options label[data-rearta-option]:hover { border-color: var(--color-foreground); }
.rearta-options label[data-rearta-option="size"]:has(input:checked),
.rearta-options label[data-rearta-option="finish"]:has(input:checked) {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-primary-foreground);
  box-shadow: none;
}
.rearta-options label[data-rearta-option]:has(input:checked) .rearta-option-sub { color: color-mix(in oklab, var(--color-primary-foreground) 80%, transparent); }
.rearta-options label[data-rearta-option="color"]:has(input:checked) { border-color: var(--color-primary); box-shadow: none; }
.rearta-options label:has(input:focus-visible) { outline: 2px solid var(--color-foreground); outline-offset: 2px; }

/* Über-uns-Seite im Lovable-Layout (Video oben, Text + Gründer-Video nebeneinander). */
.rearta-about-hero video { display: block; width: 100%; height: 52vh; min-height: 320px; object-fit: cover; }
.rearta-about { margin: 0 auto; max-width: 72rem; padding: 5rem 1.25rem; }
.rearta-about-grid { display: grid; align-items: center; gap: 2.5rem; }
.rearta-about h1 { margin-top: 1rem; font-size: 1.875rem; line-height: 1.25; }
.rearta-about-text { margin-top: 2rem; font-size: 0.875rem; line-height: 1.625; color: var(--color-muted-foreground); }
.rearta-about-text > * + * { margin-top: 1.5rem; }
.rearta-about-text h2 { padding-top: 0.5rem; font-size: 1rem; line-height: 1.5rem; color: var(--color-foreground); }
.rearta-about-founder { margin: 0 auto; display: block; aspect-ratio: 3 / 5; max-height: 440px; width: auto; max-width: 100%; object-fit: cover; }
@media (min-width: 1024px) {
  .rearta-about { padding-left: 2.5rem; padding-right: 2.5rem; }
  .rearta-about-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem; }
}

/* Warenkorb & Kasse (WooCommerce-Blocks) im Rearta-Stil: keine Rundungen, Archivo, schwarze Buttons. */
.woocommerce-cart .rearta-main,
.woocommerce-checkout .rearta-main,
.woocommerce-account .rearta-main { max-width: none; padding: 0; }
.rearta-shop-page h1 { margin-bottom: 0; }
.rearta-shop-page,
.rearta-shop-page .wc-block-components-text-input input,
.rearta-shop-page .wc-block-components-button,
.rearta-shop-page select,
.rearta-shop-page textarea { font-family: var(--font-sans); }
.rearta-shop-page .wp-block-woocommerce-cart,
.rearta-shop-page .wp-block-woocommerce-checkout { font-size: 0.875rem; color: var(--color-foreground); }
.rearta-shop-page .wc-block-components-text-input input,
.rearta-shop-page .wc-block-components-text-input textarea,
.rearta-shop-page .wc-block-components-combobox .wc-block-components-combobox-control input,
.rearta-shop-page .wc-blocks-components-select .wc-blocks-components-select__select,
.rearta-shop-page .wc-block-components-textarea,
.rearta-shop-page .wc-block-components-address-card,
.rearta-shop-page .wc-block-components-radio-control--highlight-checked,
.rearta-shop-page .wc-block-components-radio-control-accordion-option,
.rearta-shop-page .wc-block-components-notice-banner,
.rearta-shop-page .wc-block-components-validation-error,
.rearta-shop-page .wc-block-components-chip,
.rearta-shop-page .wc-block-components-sale-badge,
.rearta-shop-page .wc-block-components-product-badge,
.rearta-shop-page .wc-block-components-quantity-selector,
.rearta-shop-page .wc-block-components-quantity-selector input,
.rearta-shop-page .wc-block-components-quantity-selector__button,
.rearta-shop-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
.rearta-shop-page .wc-block-cart-item__image img,
.rearta-shop-page .wc-block-components-order-summary-item__image img,
.rearta-shop-page .wc-block-components-order-summary-item__quantity,
.rearta-shop-page .wc-block-components-panel,
.rearta-shop-page .wc-block-components-totals-coupon__form input { border-radius: 0 !important; }
.rearta-shop-page .wc-block-components-text-input input,
.rearta-shop-page .wc-block-components-combobox .wc-block-components-combobox-control input,
.rearta-shop-page .wc-blocks-components-select .wc-blocks-components-select__select,
.rearta-shop-page .wc-block-components-textarea { border: 1px solid var(--color-input) !important; background: var(--color-background) !important; box-shadow: none !important; }
.rearta-shop-page .wc-block-components-text-input input:focus,
.rearta-shop-page .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
.rearta-shop-page .wc-blocks-components-select .wc-blocks-components-select__select:focus,
.rearta-shop-page .wc-block-components-textarea:focus { border-color: var(--color-foreground) !important; box-shadow: 0 0 0 1px var(--color-foreground) !important; outline: none; }
.rearta-shop-page .wc-block-components-text-input label,
.rearta-shop-page .wc-blocks-components-select__label { color: var(--color-muted-foreground); }
.rearta-shop-page .wc-block-components-button:not(.is-link),
.rearta-shop-page .wc-block-cart__submit-button,
.rearta-shop-page .wc-block-components-checkout-place-order-button {
  border-radius: 0 !important;
  background: var(--color-primary) !important;
  color: var(--color-primary-foreground) !important;
  border: 0 !important;
  font-size: 0.6875rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  min-height: 0;
  padding: 1rem 2rem !important;
  box-shadow: none !important;
}
.rearta-shop-page .wc-block-components-button:not(.is-link):hover { opacity: 0.9; }
.rearta-shop-page .wc-block-components-button.is-link,
.rearta-shop-page a { color: var(--color-foreground); }
.rearta-shop-page .wc-block-components-title,
.rearta-shop-page .wc-block-components-checkout-step__title,
.rearta-shop-page .wc-block-cart__totals-title,
.rearta-shop-page .wc-block-components-order-summary .wc-block-components-panel__button { font-weight: 400 !important; font-size: 1.125rem !important; text-transform: none !important; letter-spacing: normal; }
.rearta-shop-page .wc-block-cart__totals-title { font-size: 0.6875rem !important; letter-spacing: 0.12em; text-transform: uppercase !important; color: var(--color-muted-foreground); }
.rearta-shop-page .wc-block-components-checkout-step__description,
.rearta-shop-page .wc-block-components-product-metadata,
.rearta-shop-page .wc-block-components-totals-item__description { color: var(--color-muted-foreground); }
.rearta-shop-page .wc-block-components-product-name { color: var(--color-foreground); text-decoration: none; font-size: 0.875rem; }
.rearta-shop-page .wc-block-components-product-name:hover { text-decoration: underline; text-underline-offset: 3px; }
.rearta-shop-page .wc-block-components-totals-wrapper,
.rearta-shop-page .wc-block-cart-items td,
.rearta-shop-page .wc-block-cart-items th,
.rearta-shop-page .wc-block-cart-items,
.rearta-shop-page .wc-block-components-panel,
.rearta-shop-page .wc-block-components-order-summary,
.rearta-shop-page .wc-block-components-radio-control-accordion-option,
.rearta-shop-page .wc-block-components-radio-control--highlight-checked { border-color: var(--color-border) !important; }
.rearta-shop-page .wc-block-components-radio-control--highlight-checked::after,
.rearta-shop-page .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 1px var(--color-foreground) !important; }
.rearta-shop-page .wc-block-components-radio-control__input:checked { border-color: var(--color-foreground); }
.rearta-shop-page .wc-block-components-radio-control__input:checked::before { background: var(--color-foreground); }
.rearta-shop-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--color-foreground); border-color: var(--color-foreground); }
.rearta-shop-page .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--color-primary-foreground); }
.rearta-shop-page .wc-block-cart-item__remove-link { color: var(--color-muted-foreground) !important; font-size: 0.6875rem !important; letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none !important; }
.rearta-shop-page .wc-block-components-sale-badge { background: var(--color-background); border-color: var(--color-foreground); color: var(--color-foreground); font-weight: 400; }
.rearta-shop-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.rearta-shop-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-weight: 400; font-size: 1.125rem; }

.rearta-shop-page.max-w-6xl { max-width: 72rem; }
.rearta-note-link { text-decoration: underline; text-underline-offset: 2px; }
.rearta-shop-page .wc-blocks-components-select__container,
.rearta-shop-page .wc-block-components-radio-control__option,
.rearta-shop-page .wp-block-woocommerce-checkout-order-summary-block,
.rearta-shop-page .wp-block-woocommerce-cart-order-summary-block { border-radius: 0 !important; border-color: var(--color-border) !important; }

/* Button „Vertrag widerrufen“ (§ 13a FAGG) im Footer – gut sichtbar, auf jeder Seite. */
.rearta-withdraw-button { display: inline-block; border: 1px solid var(--color-foreground); padding: 0.5rem 0.9rem; color: var(--color-foreground); font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; line-height: 1; }
.rearta-withdraw-button:hover { background: var(--color-foreground); color: var(--color-background); }

.wpcf7-form .rearta-form-note { font-size: 0.75rem; line-height: 1.5; color: var(--color-muted-foreground); text-transform: none; letter-spacing: normal; }
.wpcf7-form .rearta-form-note a { color: var(--color-foreground); text-decoration: underline; text-underline-offset: 2px; }

/* Spam-Schutz: Honeypot-Feld für Menschen unsichtbar (auch für Screenreader ausgeblendet) */
.rearta-hp { position: absolute !important; left: -9999px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Breadcrumbs auf Produkt- und Kategorieseiten */
.rearta-breadcrumb { margin-bottom: 1.25rem; font-size: 0.75rem; line-height: 1.5; color: var(--color-muted-foreground); }
.rearta-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.5rem; margin: 0; padding: 0; list-style: none; }
.rearta-breadcrumb li { display: inline-flex; align-items: center; gap: 0.5rem; }
.rearta-breadcrumb li + li::before { content: "/"; opacity: 0.5; }
.rearta-breadcrumb a { color: inherit; text-decoration: none; }
.rearta-breadcrumb a:hover, .rearta-breadcrumb a:focus-visible { color: var(--color-foreground); text-decoration: underline; text-underline-offset: 2px; }
.rearta-breadcrumb [aria-current="page"] { color: var(--color-foreground); }
.rearta-breadcrumb-bar { padding-top: 1.5rem; }
.rearta-breadcrumb-bar .rearta-breadcrumb { margin-bottom: 0; }
.rearta-breadcrumb-bar + section { padding-top: 1.5rem; }

/* Sprachumschalter: andere Sprache („EN“ bzw. „DE“), dunkel und etwas größer als früher */
.rearta-lang { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.75rem; line-height: 1; letter-spacing: 0.06em; }
.rearta-lang__sep { color: var(--color-muted-foreground); opacity: 0.6; }
.rearta-lang__item { color: var(--color-foreground); text-decoration: none; padding: 0.25rem 0.05rem; }
a.rearta-lang__item:hover, a.rearta-lang__item:focus-visible { color: var(--color-foreground); text-decoration: underline; text-underline-offset: 3px; }
.rearta-lang__item.is-current { color: var(--color-foreground); font-weight: 600; }
.rearta-lang--mobile { font-size: 0.875rem; letter-spacing: normal; gap: 0.6rem; }

/* Kollektions-Links: leerer Warenkorb und 404-Seite */
.rearta-collection-links { margin: 2.5rem auto 0; max-width: 1100px; }
.rearta-collection-links ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .rearta-collection-links ul { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rearta-collection-links__item { display: block; color: var(--color-foreground); text-decoration: none; }
.rearta-collection-links__img { display: block; overflow: hidden; background: var(--color-muted); }
.rearta-collection-links__img img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform 0.7s ease-out; }
.rearta-collection-links__item:hover img, .rearta-collection-links__item:focus-visible img { transform: scale(1.03); }
.rearta-collection-links__name { display: block; margin-top: 0.75rem; font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; text-align: center; }
.rearta-collection-links__item:hover .rearta-collection-links__name { text-decoration: underline; text-underline-offset: 3px; }
/* Leerer Warenkorb (WooCommerce-Block) */
.wp-block-woocommerce-empty-cart-block { text-align: center; }
.wp-block-woocommerce-empty-cart-block .rearta-empty-cart-text { max-width: 28rem; margin: 1rem auto 0; font-size: 0.875rem; color: var(--color-muted-foreground); }
.wp-block-woocommerce-empty-cart-block .rearta-empty-cart-button { display: inline-block; margin-top: 2.5rem; padding: 0.75rem 2rem; background: var(--color-primary); color: var(--color-primary-foreground); font-size: 0.6875rem; letter-spacing: 0.15em; text-transform: uppercase; text-decoration: none; }

/* Barrierefreiheit – Tastaturbedienung. Alles hier greift nur bei Tastatur-Fokus (:focus-visible),
   bei Maus oder Touch ändert sich nichts am Aussehen. Textfelder behalten ihre bisherige Fokus-Darstellung. */
.rearta-skip-link { position: fixed; left: -9999px; top: 0.5rem; z-index: 100000; padding: 0.75rem 1.25rem; background: var(--color-background); color: var(--color-foreground); border: 1px solid var(--color-foreground); font-size: 0.875rem; text-decoration: none; }
.rearta-skip-link:focus, .rearta-skip-link:focus-visible { left: 0.5rem; outline: 2px solid var(--color-foreground); outline-offset: 2px; }
.admin-bar .rearta-skip-link { top: calc(var(--wp-admin--admin-bar--height, 32px) + 0.5rem); }
a:focus-visible, button:focus-visible, summary:focus-visible, [role="button"]:focus-visible, [tabindex]:not([tabindex="-1"]):focus-visible,
input[type="checkbox"]:focus-visible, input[type="radio"]:not(.sr-only):focus-visible { outline: 2px solid var(--color-foreground); outline-offset: 2px; }
[data-rearta-dropdown]:has(:focus-visible) [data-rearta-dropdown-panel] { display: block; }
.group:has(.add_to_cart_button:focus-visible) .add_to_cart_button { opacity: 1; }

/* Vertrauenselemente unter dem Warenkorb-Button */
.rearta-trust { margin-top: 1.5rem; font-size: 0.8125rem; line-height: 1.4; color: var(--color-muted-foreground); }
.rearta-trust ul { display: grid; gap: 0.6rem; margin: 0; padding: 0; list-style: none; }
.rearta-trust li, .rearta-trust__pay { display: flex; align-items: center; gap: 0.6rem; }
.rearta-trust__pay { flex-wrap: wrap; margin-top: 0.6rem; }
.rearta-trust__icon { display: inline-flex; flex-shrink: 0; color: var(--color-foreground); }
.rearta-trust__icon svg { width: 1.125rem; height: 1.125rem; }
.rearta-trust__method { border: 1px solid var(--color-border); padding: 0.15rem 0.45rem; font-size: 0.6875rem; letter-spacing: 0.04em; color: var(--color-foreground); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Bewertungen (1.0.34) */
.rearta-stars { display: inline-flex; gap: 1px; vertical-align: middle; }
.rearta-stars svg { fill: var(--color-border); }
.rearta-stars svg.is-on { fill: var(--color-foreground); }
.rearta-stars--lg svg { width: 18px; height: 18px; }
.rearta-review-badge { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 0.75rem; font-size: 0.75rem; color: var(--color-muted-foreground); text-decoration: none; }
.rearta-review-badge:hover span { text-decoration: underline; text-underline-offset: 3px; }
.rearta-reviews__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.75rem 2rem; border-bottom: 1px solid var(--color-border); padding-bottom: 1rem; }
.rearta-reviews__summary { display: flex; align-items: center; gap: 0.6rem; margin: 0; font-size: 0.8125rem; color: var(--color-muted-foreground); }
.rearta-reviews__note { margin-top: 1rem; max-width: 48rem; font-size: 0.75rem; line-height: 1.5; color: var(--color-muted-foreground); }
.rearta-reviews__notice { margin-top: 1.25rem; border: 1px solid var(--color-border); padding: 0.9rem 1.1rem; font-size: 0.875rem; color: var(--color-foreground); }
.rearta-reviews__list { display: grid; gap: 0; margin: 1.5rem 0 0; padding: 0; list-style: none; }
@media (min-width: 1024px) { .rearta-reviews__list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 3rem; } }
.rearta-review { border-top: 1px solid var(--color-border); padding: 1.25rem 0; }
.rearta-review__text { margin-top: 0.6rem; font-size: 0.875rem; line-height: 1.6; color: var(--color-foreground); }
.rearta-review__text p + p { margin-top: 0.6rem; }
.rearta-review__meta { margin-top: 0.6rem; font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rearta-review__reply { margin-top: 0.9rem; border-left: 1px solid var(--color-border); padding-left: 1rem; font-size: 0.8125rem; line-height: 1.6; color: var(--color-muted-foreground); }
.rearta-review__reply .rearta-review__meta { margin-top: 0; margin-bottom: 0.3rem; }
.rearta-review-form { margin-top: 2rem; max-width: 36rem; border-top: 1px solid var(--color-border); padding-top: 1.5rem; scroll-margin-top: 6rem; }
.rearta-review-form__title { font-size: 1rem; }
.rearta-rating-input { margin: 1rem 0 0; border: 0; padding: 0; }
.rearta-rating-input legend { font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rearta-rating-input__stars { display: inline-flex; flex-direction: row-reverse; gap: 0.25rem; margin-top: 0.5rem; }
.rearta-rating-input__stars input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rearta-rating-input__stars label { cursor: pointer; line-height: 0; }
.rearta-rating-input__stars svg { fill: none; stroke: var(--color-foreground); stroke-width: 1.25; transition: fill .1s; }
.rearta-rating-input__stars input:checked ~ label svg,
.rearta-rating-input__stars label:hover svg,
.rearta-rating-input__stars label:hover ~ label svg { fill: var(--color-foreground); }
.rearta-rating-input__stars input:focus-visible + label { outline: 2px solid var(--color-foreground); outline-offset: 2px; }
.rearta-review-form__field { margin-top: 1.25rem; }
.rearta-review-form__field label { display: block; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rearta-review-form__field textarea { margin-top: 0.4rem; width: 100%; border: 1px solid var(--color-input); background: var(--color-background); padding: 0.75rem; font-size: 0.875rem; color: var(--color-foreground); }
.rearta-review-form__field textarea:focus { outline: 1px solid var(--color-foreground); outline-offset: 0; }
.rearta-review-form__hint { margin-top: 0.6rem; font-size: 0.75rem; color: var(--color-muted-foreground); }
.rearta-review-form__submit { margin-top: 1.25rem; background: var(--color-primary); color: var(--color-primary-foreground); padding: 0.9rem 2rem; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; }

/* Warenkorb merken (1.0.35) */
.rearta-cart-save { margin: 2.5rem auto 0; max-width: 1600px; border-top: 1px solid var(--color-border); padding: 2rem 0 0; }
.rearta-cart-save__title { font-size: 1rem; }
.rearta-cart-save__form { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1rem; max-width: 36rem; }
.rearta-cart-save__form input { flex: 1 1 16rem; border: 1px solid var(--color-input); background: var(--color-background); padding: 0.8rem 0.9rem; font-size: 0.875rem; color: var(--color-foreground); }
.rearta-cart-save__form input:focus { outline: 1px solid var(--color-foreground); outline-offset: 0; }
.rearta-cart-save__form button { background: var(--color-primary); color: var(--color-primary-foreground); padding: 0.8rem 1.75rem; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; }
.rearta-cart-save__form button:disabled { opacity: .6; }
.rearta-cart-save__hint { margin-top: 0.75rem; max-width: 36rem; font-size: 0.75rem; line-height: 1.5; color: var(--color-muted-foreground); }
.rearta-cart-save__hint a { text-decoration: underline; text-underline-offset: 3px; }
.rearta-cart-save__done { margin-top: 1rem; font-size: 0.875rem; color: var(--color-foreground); }
.rearta-cart-save__error { margin-top: 0.75rem; font-size: 0.75rem; color: var(--color-destructive); }
.rearta-cart-save.hidden, .rearta-cart-save .hidden { display: none !important; }

/* Schrittanzeige Bestellablauf (1.0.37, verteilt seit 1.0.41): Schritt 1 links, 2 mittig, 3 rechts, Linien dazwischen. */
.rearta-steps { margin-bottom: 2.5rem; }
.rearta-steps ol { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.rearta-steps li { display: flex; align-items: center; gap: 0.75rem; min-width: 0; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rearta-steps li:first-child::after, .rearta-steps li:last-child::before { content: ""; flex: 1 1 auto; min-width: 1rem; height: 1px; background: var(--color-border); }
.rearta-steps li:last-child { justify-content: flex-end; }
.rearta-steps a { display: inline-flex; align-items: center; gap: 0.6rem; min-width: 0; color: inherit; text-decoration: none; }
.rearta-steps a:hover .rearta-steps__label { text-decoration: underline; text-underline-offset: 3px; }
.rearta-steps__num { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; width: 1.6rem; height: 1.6rem; border: 1px solid var(--color-border); font-size: 0.6875rem; letter-spacing: 0; }
.rearta-steps__label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rearta-steps .is-current { color: var(--color-foreground); }
.rearta-steps .is-current .rearta-steps__num { border-color: var(--color-foreground); background: var(--color-foreground); color: var(--color-background); }
.rearta-steps .is-done { color: var(--color-foreground); }
.rearta-steps .is-done .rearta-steps__num { border-color: var(--color-foreground); }
@media (max-width: 640px) {
  .rearta-steps li:not(.is-current) .rearta-steps__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
.rearta-steps.hidden { display: none !important; }

/* Interaktiver Ratgeber (1.0.42) */
.rearta-guide .is-hidden { display: none !important; }
.rg-eyebrow { font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rg-h2 { margin-top: 0.75rem; font-size: 1.5rem; line-height: 1.25; }
.rg-h3 { margin: 3rem 0 1rem; font-size: 1.125rem; }
.rg-h4 { font-size: 1rem; line-height: 1.35; }
.rg-lead { margin-top: 1rem; max-width: 30rem; font-size: 0.875rem; line-height: 1.65; color: var(--color-muted-foreground); }
.rg-topics { padding-top: 3rem; padding-bottom: 1rem; }
.rg-topics__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); gap: 0.75rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.rg-topic { display: flex; height: 100%; flex-direction: column; gap: 0.35rem; border: 1px solid var(--color-border); padding: 1.1rem 1.1rem 1.25rem; color: inherit; text-decoration: none; transition: border-color .15s, background-color .15s; }
.rg-topic:hover { border-color: var(--color-foreground); }
.rg-topic__icon svg { width: 1.4rem; height: 1.4rem; }
.rg-topic__title { margin-top: 0.5rem; font-size: 0.9375rem; }
.rg-topic__text { font-size: 0.75rem; line-height: 1.45; color: var(--color-muted-foreground); }
.rg-section { display: grid; gap: 2.5rem; border-bottom: 1px solid var(--color-border); padding: 4rem 0; scroll-margin-top: 5rem; }
.rg-section:focus { outline: none; }
@media (min-width: 1024px) { .rg-section { grid-template-columns: minmax(0, 0.38fr) minmax(0, 1fr); padding: 6rem 0; } .rg-section__head { position: sticky; top: 6rem; align-self: start; } }
.rg-section__body { min-width: 0; }
/* Tabs & Pills */
.rg-tabs, .rg-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.rg-tab, .rg-pill { border: 1px solid var(--color-border); padding: 0.6rem 1.1rem; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); background: transparent; cursor: pointer; }
.rg-tab[aria-selected="true"], .rg-pill[aria-selected="true"] { border-color: var(--color-foreground); background: var(--color-foreground); color: var(--color-background); }
.rg-panel { margin-top: 1.5rem; }
.rg-progress { font-size: 0.75rem; color: var(--color-muted-foreground); }
.rg-panel.is-complete .rg-progress { color: var(--color-foreground); }
.rg-checklist { margin: 0.75rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--color-border); }
.rg-check { position: relative; border-bottom: 1px solid var(--color-border); }
.rg-check input { position: absolute; top: 1.35rem; left: 0; width: 1.1rem; height: 1.1rem; accent-color: var(--color-foreground); cursor: pointer; }
.rg-check label { display: block; padding: 1.1rem 0 1.1rem 2rem; cursor: pointer; }
.rg-check__title { display: block; font-size: 0.9375rem; }
.rg-check__text { display: block; margin-top: 0.35rem; font-size: 0.8125rem; line-height: 1.6; color: var(--color-muted-foreground); }
.rg-check input:checked + label .rg-check__title { text-decoration: none; }
.rg-table-wrap { overflow-x: auto; }
.rg-table { width: 100%; min-width: 34rem; border-collapse: collapse; font-size: 0.8125rem; }
.rg-table th, .rg-table td { border-bottom: 1px solid var(--color-border); padding: 0.8rem 0.75rem 0.8rem 0; text-align: left; vertical-align: top; }
.rg-table thead th { font-size: 0.6875rem; font-weight: normal; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rg-table tbody th { font-weight: normal; color: var(--color-muted-foreground); }
/* Werkzeuge */
.rg-tool { border: 1px solid var(--color-border); padding: 1.25rem; }
@media (min-width: 768px) { .rg-tool { padding: 2rem; } }
.rg-choices { margin: 0 0 1.75rem; border: 0; padding: 0; }
.rg-legend { display: block; margin-bottom: 0.75rem; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rg-choices__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
@media (min-width: 768px) { .rg-choices__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .rg-choices__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rg-choice { position: relative; cursor: pointer; }
.rg-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rg-choice__box { display: flex; height: 100%; flex-direction: column; gap: 0.3rem; border: 1px solid var(--color-border); padding: 0.85rem; transition: border-color .15s; }
.rg-choice:hover .rg-choice__box { border-color: var(--color-muted-foreground); }
.rg-choice input:checked + .rg-choice__box { border-color: var(--color-foreground); box-shadow: inset 0 0 0 1px var(--color-foreground); }
.rg-choice input:focus-visible + .rg-choice__box { outline: 2px solid var(--color-foreground); outline-offset: 2px; }
.rg-choice__title { font-size: 0.8125rem; }
.rg-choice__text { font-size: 0.6875rem; line-height: 1.4; color: var(--color-muted-foreground); }
.rg-swatches { display: flex; gap: 3px; margin-bottom: 0.35rem; }
.rg-swatches i, .rg-rec__art i { display: block; width: 1.1rem; height: 1.1rem; border: 1px solid color-mix(in oklab, var(--color-foreground) 12%, transparent); }
.rg-wall-swatch { display: block; height: 1.6rem; margin-bottom: 0.35rem; border: 1px solid color-mix(in oklab, var(--color-foreground) 12%, transparent); }
.rg-result { border-top: 1px solid var(--color-border); padding-top: 1.5rem; }
.rg-result__empty { font-size: 0.8125rem; color: var(--color-muted-foreground); }
.rg-result__frames { display: grid; gap: 1rem; }
@media (min-width: 640px) { .rg-result__frames { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rg-rec { border: 1px solid var(--color-border); padding: 1rem; }
.rg-rec.is-best { border-color: var(--color-foreground); }
.rg-rec__preview { display: flex; align-items: center; justify-content: center; height: 8.5rem; border: 1px solid color-mix(in oklab, var(--color-foreground) 8%, transparent); }
.rg-rec__frame { display: block; border: 7px solid; padding: 4px; background: rgba(0,0,0,.08); box-shadow: 0 6px 14px rgba(0,0,0,.18); }
.rg-rec__art { display: grid; grid-template-columns: repeat(3, 1.6rem); height: 4.5rem; }
.rg-rec__art i { width: auto; height: 100%; border: 0; }
.rg-rec__label { margin-top: 0.9rem; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rg-rec__name { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.3rem; font-size: 1rem; }
.rg-rec__name i { display: inline-block; width: 1rem; height: 1rem; border: 1px solid color-mix(in oklab, var(--color-foreground) 20%, transparent); }
.rg-rec__text { margin-top: 0.4rem; font-size: 0.8125rem; line-height: 1.6; color: var(--color-muted-foreground); }
.rg-result__wall, .rg-result__note { margin-top: 1rem; font-size: 0.8125rem; line-height: 1.6; color: var(--color-muted-foreground); }
.rg-result__wall strong { color: var(--color-foreground); font-weight: normal; }
/* Karten & Listen */
.rg-cards { display: grid; gap: 1rem; margin-top: 1.5rem; }
@media (min-width: 900px) { .rg-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } .rg-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rg-card { border: 1px solid var(--color-border); padding: 1.25rem; }
.rg-list { display: grid; gap: 0.6rem; margin: 0.9rem 0 0; padding: 0; list-style: none; font-size: 0.8125rem; line-height: 1.6; color: var(--color-muted-foreground); }
.rg-list li { position: relative; padding-left: 1rem; }
.rg-list li::before { content: ""; position: absolute; top: 0.62em; left: 0; width: 0.35rem; height: 1px; background: currentColor; }
.rg-list strong { color: var(--color-foreground); font-weight: normal; }
.rg-list--do li::before, .rg-list--dont li::before { top: 0; width: auto; height: auto; background: none; font-size: 0.75rem; }
.rg-list--do li::before { content: "✓"; color: var(--color-foreground); }
.rg-list--dont li::before { content: "✕"; color: var(--color-destructive); }
.rg-list--do li, .rg-list--dont li { padding-left: 1.3rem; }
.rg-frames { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 1rem; }
.rg-frame-chip { display: inline-flex; align-items: center; gap: 0.35rem; border: 1px solid var(--color-border); padding: 0.2rem 0.5rem; font-size: 0.6875rem; }
.rg-frame-chip i { display: inline-block; width: 0.75rem; height: 0.75rem; border: 1px solid color-mix(in oklab, var(--color-foreground) 20%, transparent); }
.rg-dodont { display: grid; gap: 1rem; }
@media (min-width: 900px) { .rg-dodont { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rg-do, .rg-dont { border: 1px solid var(--color-border); padding: 1.25rem; }
.rg-do { border-color: var(--color-foreground); }
/* Größenrechner */
.rg-calc { display: grid; gap: 1.5rem; }
@media (min-width: 1100px) { .rg-calc { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); } .rg-calc .rg-result { border-top: 0; border-left: 1px solid var(--color-border); padding: 0 0 0 1.5rem; } }
.rg-seg { display: inline-flex; flex-wrap: wrap; border: 1px solid var(--color-border); }
.rg-seg label { cursor: pointer; }
.rg-seg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rg-seg span { display: block; padding: 0.55rem 0.9rem; font-size: 0.75rem; color: var(--color-muted-foreground); }
.rg-seg input:checked + span { background: var(--color-foreground); color: var(--color-background); }
.rg-seg input:focus-visible + span { outline: 2px solid var(--color-foreground); outline-offset: 2px; }
.rg-field { display: block; margin-bottom: 1.5rem; }
@media (min-width: 640px) and (max-width: 1099px) { .rg-calc__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; } }
.rg-field input { width: 100%; max-width: 12rem; border: 1px solid var(--color-input); background: var(--color-background); padding: 0.65rem 0.8rem; font-size: 0.9375rem; color: var(--color-foreground); }
.rg-field input:focus { outline: 1px solid var(--color-foreground); outline-offset: 0; }
.rg-result__ideal { font-size: 0.8125rem; color: var(--color-muted-foreground); }
.rg-result__ideal strong { color: var(--color-foreground); font-weight: normal; }
.rg-sizes { margin: 0.9rem 0 0; padding: 0; list-style: none; }
.rg-size { display: grid; grid-template-columns: 1fr auto; gap: 0.2rem 1rem; border-bottom: 1px solid var(--color-border); padding: 0.65rem 0; font-size: 0.8125rem; }
.rg-size__bar { grid-column: 1 / -1; display: block; height: 4px; background: var(--color-muted); }
.rg-size__bar i { display: block; height: 100%; background: var(--color-muted-foreground); }
.rg-size.is-ok .rg-size__bar i { background: var(--color-foreground); }
.rg-size__name small { color: var(--color-muted-foreground); font-size: 0.6875rem; }
.rg-size__fit { font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rg-size.is-best .rg-size__fit, .rg-size.is-best .rg-size__name { color: var(--color-foreground); }
.rg-hang { display: grid; grid-template-columns: auto 1fr; gap: 0.5rem 1.25rem; align-items: end; margin-top: 1.5rem; }
.rg-hang__wall { position: relative; width: 7.5rem; height: 110px; border-bottom: 2px solid var(--color-foreground); background: var(--color-muted); overflow: hidden; }
.rg-hang__pics { position: absolute; left: 50%; display: flex; transform: translateX(-50%); }
.rg-hang__pic { display: block; border: 1.5px solid var(--color-foreground); background: var(--color-background); }
.rg-hang__furn { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); background: color-mix(in oklab, var(--color-foreground) 30%, transparent); }
.rg-hang__eye { position: absolute; left: 0; right: 0; border-top: 1px dashed var(--color-muted-foreground); }
.rg-hang__data { display: grid; gap: 0.3rem; margin: 0; font-size: 0.8125rem; }
.rg-hang__data div { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--color-border); padding-bottom: 0.3rem; }
.rg-hang__data dt { color: var(--color-muted-foreground); }
.rg-hang__note { grid-column: 1 / -1; margin-top: 0.5rem; font-size: 0.75rem; line-height: 1.55; color: var(--color-muted-foreground); }
/* Geschenke */
.rg-gift { margin-top: 1.25rem; font-size: 0.875rem; line-height: 1.65; }
.rg-gift__links { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1rem; }
.rg-btn { display: inline-block; border: 1px solid var(--color-foreground); padding: 0.7rem 1.4rem; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-foreground); text-decoration: none; }
.rg-btn--solid { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-foreground); }

/* Kopfzeile auf schmalen Handys: Symbole enger setzen, damit nichts über den Rand ragt (1.0.44). */
@media (max-width: 420px) { .rearta-header-icons { gap: 0.6rem; } }

/* Geschenkgutschein (1.0.45) */
.rearta-gift-form { margin-top: 1.75rem; border-top: 1px solid var(--color-border); padding-top: 1.5rem; }
.rearta-gift-form .is-hidden { display: none !important; }
.rearta-gift-form__group { margin: 0 0 1.5rem; border: 0; padding: 0; }
.rearta-gift-form__group legend { margin-bottom: 0.75rem; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rearta-gift-amounts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; }
.rearta-gift-amounts label { position: relative; cursor: pointer; }
.rearta-gift-amounts input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rearta-gift-amounts > label > span { display: block; border: 1px solid var(--color-border); padding: 0.75rem 0.5rem; text-align: center; font-size: 0.875rem; }
.rearta-gift-amounts input:checked + span { border-color: var(--color-foreground); box-shadow: inset 0 0 0 1px var(--color-foreground); }
.rearta-gift-amounts input:focus-visible + span { outline: 2px solid var(--color-foreground); outline-offset: 2px; }
.rearta-gift-custom { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.6rem; }
.rearta-gift-form input[type="text"], .rearta-gift-form input[type="email"], .rearta-gift-form input[type="number"], .rearta-gift-form textarea { width: 100%; border: 1px solid var(--color-input); background: var(--color-background); padding: 0.7rem 0.8rem; font-size: 0.875rem; color: var(--color-foreground); }
.rearta-gift-custom input { max-width: 10rem; }
.rearta-gift-form input:focus, .rearta-gift-form textarea:focus { outline: 1px solid var(--color-foreground); outline-offset: 0; }
.rearta-gift-form__group > label, .rearta-gift-row label { display: block; margin-top: 0.6rem; }
.rearta-gift-form__group > label > span:first-child, .rearta-gift-row label > span { display: block; margin-bottom: 0.3rem; font-size: 0.75rem; color: var(--color-muted-foreground); }
.rearta-gift-row { display: grid; gap: 0 0.75rem; }
@media (min-width: 480px) { .rearta-gift-row { grid-template-columns: 1fr 1fr; } }
.rearta-gift-hint { font-size: 0.8125rem; line-height: 1.55; color: var(--color-muted-foreground); }
.rearta-gift-form .rearta-gift-check { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.8125rem; }
.rearta-gift-form .rearta-gift-check > span { margin: 0; font-size: 0.8125rem; color: var(--color-foreground); }
.rearta-gift-check input { margin-top: 0.2rem; accent-color: var(--color-foreground); }
.rearta-gift-balance { margin-top: 1.5rem; border-top: 1px solid var(--color-border); padding-top: 1rem; font-size: 0.8125rem; }
.rearta-gift-balance summary { cursor: pointer; color: var(--color-muted-foreground); }
.rearta-gift-balance form { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.75rem; }
.rearta-gift-balance input { flex: 1 1 10rem; border: 1px solid var(--color-input); background: var(--color-background); padding: 0.6rem 0.75rem; font-size: 0.875rem; text-transform: uppercase; }
.rearta-gift-balance button { border: 1px solid var(--color-foreground); padding: 0.6rem 1.1rem; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; }
.rearta-gift-balance__out { flex-basis: 100%; min-height: 1.2em; }
.rearta-gift-terms { margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.4rem; font-size: 0.75rem; line-height: 1.5; color: var(--color-muted-foreground); }
.rearta-gift-terms li { position: relative; padding-left: 1rem; }
.rearta-gift-terms li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 0.35rem; height: 1px; background: currentColor; }

/* Gutschein auf Bestellbestätigung / Mein Konto (1.0.50) */
.rearta-gift-order { margin: 0 0 2rem; }
.rearta-gift-order__title { font-size: 1.125rem; margin-bottom: 0.9rem; }
.rearta-gift-order__card { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 1.5rem; border: 1px solid var(--color-foreground); padding: 1.1rem 1.25rem; margin-bottom: 0.75rem; }
.rearta-gift-order__info { display: flex; flex-direction: column; gap: 0.25rem; }
.rearta-gift-order__amount { font-size: 1.5rem; font-weight: 300; }
.rearta-gift-order__to { font-size: 0.8125rem; color: var(--color-muted-foreground); }
.rearta-gift-order__code { margin-top: 0.2rem; font-family: ui-monospace, Menlo, monospace; font-size: 1rem; letter-spacing: 0.15em; }
.rearta-gift-order__note { max-width: 32rem; font-size: 0.8125rem; line-height: 1.5; color: var(--color-muted-foreground); }
.rearta-gift-order__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.rearta-gift-order__btn { display: inline-block; border: 1px solid var(--color-foreground); padding: 0.7rem 1.2rem; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-foreground); text-decoration: none; }
.rearta-gift-order__btn.is-solid { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-foreground); }
.rearta-gift-designs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; }
.rearta-gift-designs label { position: relative; cursor: pointer; }
.rearta-gift-designs input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rearta-gift-designs__box { display: block; border: 1px solid var(--color-border); padding: 0.4rem; text-align: center; }
.rearta-gift-designs__box img { display: block; width: 100%; height: auto; aspect-ratio: 220 / 155; object-fit: cover; }
.rearta-gift-designs__box span { display: block; margin-top: 0.4rem; font-size: 0.75rem; }
.rearta-gift-designs input:checked + .rearta-gift-designs__box { border-color: var(--color-foreground); box-shadow: inset 0 0 0 1px var(--color-foreground); }
.rearta-gift-designs input:focus-visible + .rearta-gift-designs__box { outline: 2px solid var(--color-foreground); outline-offset: 2px; }

/* Sortierung auf Kollektionsseiten (1.0.55) */
.rearta-sort { display: flex; align-items: center; gap: 0.6rem; }
.rearta-sort select { appearance: none; -webkit-appearance: none; border: 0; border-bottom: 1px solid var(--color-border); background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23777' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 0.1rem center; padding: 0.25rem 1.2rem 0.25rem 0; font-size: 0.8125rem; color: var(--color-foreground); cursor: pointer; border-radius: 0; }
.rearta-sort select:focus-visible { outline: 2px solid var(--color-foreground); outline-offset: 2px; }
@media (max-width: 420px) { .rearta-sort label { display: none; } }

/* ==========================================================================
   Kundenkonto (1.0.56) – Rearta-Stil mit Lovable-Elementen
   ========================================================================== */
.woocommerce-account .woocommerce { font-size: 0.875rem; color: var(--color-foreground); }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; }
.woocommerce-account .woocommerce-MyAccount-content { margin-top: 2.75rem; }
.rearta-account-hello { margin: -1.25rem 0 2rem; font-size: 1rem; color: var(--color-muted-foreground); }

/* Konto-Navigation als Button-Reihe (Lovable) */
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation a { display: block; border: 1px solid var(--color-border); padding: 0.85rem 1.35rem; font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-foreground); text-decoration: none; white-space: nowrap; transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease; }
.woocommerce-MyAccount-navigation a:hover { border-color: var(--color-foreground); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-foreground); }
.woocommerce-MyAccount-navigation-link--customer-logout { margin-left: 0.75rem; }
.woocommerce-MyAccount-navigation-link--customer-logout a { border: 0; padding: 0.85rem 0 0.2rem; color: var(--color-muted-foreground); text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.woocommerce-MyAccount-navigation-link--customer-logout a:hover { color: var(--color-foreground); }
@media (max-width: 767px) {
	.woocommerce-MyAccount-navigation { margin: 0 -1.25rem; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.woocommerce-MyAccount-navigation::-webkit-scrollbar { display: none; }
	.woocommerce-MyAccount-navigation ul { flex-wrap: nowrap; width: max-content; padding: 0 1.25rem; gap: 0.5rem; }
	.woocommerce-MyAccount-navigation a { padding: 0.75rem 1rem; }
}

/* Übersicht */
.rearta-dash__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--color-border); border: 1px solid var(--color-border); }
@media (min-width: 900px) { .rearta-dash__stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rearta-stat { display: flex; flex-direction: column; gap: 0.35rem; padding: 1.25rem 1.4rem; background: var(--color-background); color: inherit; text-decoration: none; transition: background 0.15s ease; }
.rearta-stat:hover { background: var(--color-secondary); }
.rearta-stat.is-highlight { background: var(--color-secondary); }
.rearta-stat__value { font-size: 1.5rem; font-weight: 300; line-height: 1.2; }
.rearta-dash__cols { display: grid; gap: 3rem; margin-top: 3.5rem; }
@media (min-width: 1000px) { .rearta-dash__cols { grid-template-columns: minmax(0, 1fr) minmax(280px, 0.5fr); gap: 4.5rem; } }
.rearta-dash__h { margin: 0 0 1.5rem; font-size: 0.75rem; font-weight: 400; letter-spacing: 0.16em; text-transform: uppercase; }
.rearta-dash__news .rearta-dash__h { padding-bottom: 1.5rem; border-bottom: 1px solid var(--color-border); }
.rearta-dash__empty { font-size: 0.9375rem; line-height: 1.6; color: var(--color-muted-foreground); margin-bottom: 1.25rem; }
.rearta-dash__more { margin-top: 1rem; font-size: 0.8125rem; }
.rearta-orders { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--color-border); }
.rearta-orders li { margin: 0; border-bottom: 1px solid var(--color-border); }
.rearta-orders__row { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1rem 0; color: inherit; text-decoration: none; }
.rearta-orders__thumb img, .rearta-orders__img { display: block; width: 64px !important; height: 64px !important; object-fit: cover; background: var(--color-secondary); }
.rearta-orders__main { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; }
.rearta-orders__title { font-size: 0.9375rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rearta-orders__row:hover .rearta-orders__title { text-decoration: underline; text-underline-offset: 3px; }
.rearta-orders__side { display: flex; flex-direction: column; align-items: flex-end; gap: 0.2rem; }
.rearta-orders__total { font-size: 0.875rem; }
.rearta-news { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2rem; }
.rearta-news li { margin: 0; }
.rearta-news__date { font-size: 0.8125rem; color: var(--color-muted-foreground); }
.rearta-news__title { margin-top: 0.45rem; font-size: 1rem; }
.rearta-news__text { margin-top: 0.45rem; font-size: 0.9375rem; line-height: 1.55; color: var(--color-muted-foreground); }

/* Allgemein */
.rearta-tile__label { font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rearta-tile__big { font-size: 1.75rem; font-weight: 300; line-height: 1.15; }
.rearta-tile__text { font-size: 0.8125rem; line-height: 1.55; color: var(--color-muted-foreground); }
.rearta-progress { height: 3px; margin: 0.9rem 0 0.9rem; background: var(--color-border); max-width: 520px; }
.rearta-progress span { display: block; height: 100%; background: var(--color-foreground); }
.rearta-status { display: inline-block; padding: 0.22rem 0.5rem; border: 1px solid var(--color-border); font-size: 0.5625rem; letter-spacing: 0.12em; text-transform: uppercase; white-space: nowrap; color: var(--color-foreground); }
.rearta-status--completed, .rearta-status--ticket-answered { border-color: var(--color-foreground); }
.rearta-status--cancelled, .rearta-status--refunded, .rearta-status--failed, .rearta-status--ticket-closed { color: var(--color-muted-foreground); }
.rearta-status--processing, .rearta-status--ticket-open { background: var(--color-secondary); }
.rearta-account-btn { display: inline-block; border: 1px solid var(--color-foreground); background: transparent; padding: 0.8rem 1.35rem; font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-foreground); text-decoration: none; cursor: pointer; transition: background 0.15s ease, color 0.15s ease; }
.rearta-account-btn:hover { background: var(--color-foreground); color: var(--color-background); }
.rearta-account-btn.is-solid { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-primary-foreground); }
.rearta-account-btn.is-solid:hover { opacity: 0.88; }
.rearta-acc-section { display: flex; flex-direction: column; gap: 1.5rem; }
.rearta-acc-h { margin: 0.75rem 0 0; font-size: 1.125rem; font-weight: 400; }
.rearta-acc-label { margin-top: 2rem; color: var(--color-foreground); font-weight: 400; letter-spacing: 0.16em; }
.rearta-acc-table { width: 100%; border-collapse: collapse; font-size: 0.8125rem; }
.rearta-acc-table th { padding: 0 0.75rem 0.6rem 0; text-align: left; font-size: 0.625rem; font-weight: 400; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); border-bottom: 1px solid var(--color-border); }
.rearta-acc-table td { padding: 0.8rem 0.75rem 0.8rem 0; border-bottom: 1px solid var(--color-border); vertical-align: top; }
.rearta-acc-table .is-num { text-align: right; padding-right: 0; white-space: nowrap; }
.rearta-acc-table .is-minus { color: var(--color-muted-foreground); }
.rearta-code { font-family: ui-monospace, Menlo, monospace; letter-spacing: 0.12em; font-size: 0.9375rem; }
.rearta-empty { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; padding: 2rem; border: 1px dashed var(--color-border); }
.rearta-acc-foot { padding-top: 0.5rem; }

/* Punkte & Vorteile (Lovable) */
.rearta-points-hero { padding: 2.5rem 2.25rem; border: 1px solid var(--color-border); }
@media (min-width: 900px) { .rearta-points-hero { padding: 3.25rem 3.5rem; } }
.rearta-points-hero .rearta-tile__label { color: var(--color-foreground); letter-spacing: 0.16em; }
.rearta-points-hero__num { margin: 1rem 0 0.75rem; font-size: 4rem; font-weight: 400; line-height: 1; }
.rearta-points-hero__tier { font-size: 1.0625rem; color: var(--color-muted-foreground); }
.rearta-tiers { display: grid; gap: 1.25rem; }
@media (min-width: 640px) { .rearta-tiers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .rearta-tiers { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.75rem; } }
.rearta-tier { position: relative; display: flex; flex-direction: column; min-height: 17rem; padding: 2rem 1.75rem; border: 1px solid var(--color-border); }
.rearta-tier.is-current { border-color: var(--color-foreground); }
.rearta-tier__name { font-size: 0.8125rem; letter-spacing: 0.16em; text-transform: uppercase; }
.rearta-tier__min { margin-top: 0.6rem; font-size: 0.875rem; color: var(--color-muted-foreground); }
.rearta-tier__benefits { list-style: none; margin: 1.5rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 0.9rem; font-size: 1rem; line-height: 1.45; color: var(--color-muted-foreground); }
.rearta-tier.is-reached .rearta-tier__benefits { color: var(--color-foreground); }
.rearta-tier__badge { margin-top: auto; padding-top: 1.5rem; font-size: 0.625rem; letter-spacing: 0.14em; text-transform: uppercase; }
.rearta-tier__badge.is-muted { color: var(--color-muted-foreground); }
.rearta-points-note { margin: 1.25rem 0; padding: 0.9rem 1rem; background: var(--color-secondary); font-size: 0.8125rem; }
.rearta-points-note a { margin-left: 0.4rem; text-decoration: underline; text-underline-offset: 3px; }

/* Gutscheine */
.rearta-gift-list { display: flex; flex-direction: column; gap: 1px; background: var(--color-border); border: 1px solid var(--color-border); }
.rearta-gift-row { display: grid; gap: 1rem 2rem; padding: 1.5rem; background: var(--color-background); }
@media (min-width: 760px) { .rearta-gift-row { grid-template-columns: minmax(0, 1fr) auto; align-items: center; } }
.rearta-gift-row .rearta-code { margin: 0.35rem 0; font-size: 1.125rem; }
@media (min-width: 760px) { .rearta-gift-row__amount { text-align: right; } }
.rearta-gift-row__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 0.5rem; }

/* Anfragen */
.rearta-ticket-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--color-border); }
.rearta-ticket-list li { margin: 0; border-bottom: 1px solid var(--color-border); }
.rearta-ticket-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; color: inherit; text-decoration: none; }
.rearta-ticket-item > span:first-child { display: flex; flex-direction: column; gap: 0.25rem; }
.rearta-ticket-item__title { font-size: 0.9375rem; }
.rearta-ticket-item.is-unread .rearta-ticket-item__title { font-weight: 600; }
.rearta-ticket-item:hover .rearta-ticket-item__title { text-decoration: underline; text-underline-offset: 3px; }
.rearta-ticket-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--color-border); }
.rearta-ticket-head .rearta-acc-h { margin-top: 0.35rem; }
.rearta-thread { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.9rem; }
.rearta-msg { max-width: 640px; padding: 1rem 1.2rem; border: 1px solid var(--color-border); }
.rearta-msg.is-shop { align-self: flex-end; background: var(--color-secondary); border-color: var(--color-secondary); }
.rearta-msg__meta { margin-bottom: 0.45rem; font-size: 0.625rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rearta-msg__text { font-size: 0.875rem; line-height: 1.6; }
.rearta-ticket-form { display: flex; flex-direction: column; gap: 0.9rem; padding: 1.5rem; border: 1px solid var(--color-border); scroll-margin-top: 7rem; }
.rearta-ticket-form label { display: flex; flex-direction: column; gap: 0.4rem; font-size: 0.8125rem; }
.rearta-ticket-form label > span { font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rearta-ticket-form__row { display: grid; gap: 0.9rem; }
@media (min-width: 640px) { .rearta-ticket-form__row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rearta-ticket-form__actions { display: flex; justify-content: flex-end; }
.rearta-ticket-close button { background: none; border: 0; padding: 0; font-size: 0.8125rem; color: var(--color-muted-foreground); cursor: pointer; }
.rearta-order-help { margin-top: 1.5rem; }
.rearta-ticket-form select, .rearta-ticket-form input, .rearta-ticket-form textarea,
.woocommerce-account .woocommerce form .input-text, .woocommerce-account .woocommerce form select { width: 100%; border: 1px solid var(--color-input); border-radius: 0; background: var(--color-background); padding: 0.7rem 0.8rem; font: inherit; font-size: 0.875rem; color: var(--color-foreground); }

/* WooCommerce-Standardseiten im Konto */
.woocommerce-account table.shop_table { border: 0 !important; border-collapse: collapse !important; border-radius: 0 !important; font-size: 0.8125rem; }
.woocommerce-account table.shop_table th { padding: 0 0.75rem 0.6rem 0 !important; font-size: 0.625rem; font-weight: 400; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); border: 0 !important; border-bottom: 1px solid var(--color-border) !important; background: none !important; }
.woocommerce-account table.shop_table td { padding: 0.9rem 0.75rem 0.9rem 0 !important; border: 0 !important; border-bottom: 1px solid var(--color-border) !important; background: none !important; }
.woocommerce-account table.shop_table tfoot th, .woocommerce-account table.shop_table tfoot td { font-size: 0.8125rem; text-transform: none; letter-spacing: 0; color: var(--color-foreground); }
.woocommerce-account .woocommerce .button, .woocommerce-account .woocommerce button.button { border-radius: 0 !important; background: var(--color-primary) !important; color: var(--color-primary-foreground) !important; padding: 0.75rem 1.25rem !important; font-size: 0.6875rem !important; font-weight: 400 !important; letter-spacing: 0.12em; text-transform: uppercase; }
.woocommerce-account .woocommerce-orders-table .woocommerce-button { padding: 0.45rem 0.8rem !important; background: transparent !important; color: var(--color-foreground) !important; border: 1px solid var(--color-foreground) !important; }
.woocommerce-account .woocommerce-Addresses { display: grid; gap: 1.5rem; }
@media (min-width: 760px) { .woocommerce-account .woocommerce-Addresses { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after { display: none !important; }
.woocommerce-account .woocommerce-Address { float: none !important; width: auto !important; padding: 1.5rem; border: 1px solid var(--color-border); }
.woocommerce-account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.woocommerce-account .woocommerce-Address-title h2 { font-size: 1rem; font-weight: 400; margin: 0 0 0.75rem; }
.woocommerce-account .woocommerce-Address address { font-style: normal; line-height: 1.6; color: var(--color-muted-foreground); }
.woocommerce-account .woocommerce form .form-row label { font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }
.woocommerce-account .woocommerce-message, .woocommerce-account .woocommerce-info, .woocommerce-account .woocommerce-error { border-top: 0 !important; border-left: 2px solid var(--color-foreground) !important; background: var(--color-secondary) !important; color: var(--color-foreground) !important; font-size: 0.8125rem; }
.woocommerce-account .woocommerce-message::before, .woocommerce-account .woocommerce-info::before { color: var(--color-foreground) !important; }
.woocommerce-account:not(.logged-in) .u-columns { display: grid; gap: 2rem; }
@media (min-width: 900px) { .woocommerce-account:not(.logged-in) .u-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; } }
.woocommerce-account:not(.logged-in) .u-columns::before, .woocommerce-account:not(.logged-in) .u-columns::after { display: none !important; }
.woocommerce-account:not(.logged-in) .u-column1, .woocommerce-account:not(.logged-in) .u-column2 { float: none !important; width: auto !important; }
.woocommerce-account form.login, .woocommerce-account form.register { margin: 0 !important; padding: 1.75rem !important; border: 1px solid var(--color-border) !important; border-radius: 0 !important; }
.woocommerce-account .u-columns h2 { font-size: 1.125rem; font-weight: 400; margin-bottom: 1rem; }
.rearta-account-perks { list-style: none; margin: 0 0 1.25rem; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; font-size: 0.8125rem; color: var(--color-muted-foreground); }
.rearta-account-perks li::before { content: "— "; color: var(--color-foreground); }

/* Drop-Zone für Datei-Uploads (1.0.57) */
.rearta-dropzone { position: relative; display: block; margin-top: 0.5rem; }
.rearta-dropzone__label { display: block; margin-bottom: 0.5rem; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rearta-dropzone .wpcf7-form-control-wrap { margin: 0 !important; }
.rearta-dropzone__native { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; border: 0 !important; opacity: 0; }
.rearta-dropzone__box { display: flex; flex-direction: column; align-items: center; gap: 0.35rem; padding: 2rem 1.25rem; border: 1px dashed var(--color-input); background: var(--color-background); text-align: center; transition: border-color 0.15s ease, background 0.15s ease; }
.rearta-dropzone.is-over .rearta-dropzone__box { border-color: var(--color-foreground); border-style: solid; background: var(--color-secondary); }
.rearta-dropzone__title { font-size: 0.9375rem; color: var(--color-foreground); text-transform: none; letter-spacing: 0; }
.rearta-dropzone__or { font-size: 0.75rem; color: var(--color-muted-foreground); text-transform: none; letter-spacing: 0; }
.rearta-dropzone__btn { margin-top: 0.25rem; border: 1px solid var(--color-foreground); background: transparent; padding: 0.65rem 1.2rem; font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-foreground); cursor: pointer; }
.rearta-dropzone__btn:hover { background: var(--color-foreground); color: var(--color-background); }
.rearta-dropzone__hint { margin-top: 0.4rem; font-size: 0.75rem; color: var(--color-muted-foreground); text-transform: none; letter-spacing: 0; }
.rearta-dropzone__list { list-style: none; margin: 0.6rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.rearta-dropzone__list li { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0.6rem; border: 1px solid var(--color-border); font-size: 0.8125rem; text-transform: none; letter-spacing: 0; color: var(--color-foreground); }
.rearta-dropzone__list img { width: 44px; height: 44px; object-fit: cover; flex-shrink: 0; }
.rearta-dropzone__list span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rearta-dropzone__list button { background: none; border: 0; padding: 0; font-size: 0.75rem; color: var(--color-muted-foreground); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.rearta-dropzone__error { margin-top: 0.4rem; font-size: 0.8125rem; color: var(--color-destructive); text-transform: none; letter-spacing: 0; }
.rearta-dropzone__error:empty { display: none; }
.wpcf7-form .rearta-dropzone + .wpcf7-not-valid-tip, .rearta-dropzone .wpcf7-not-valid-tip { text-transform: none; letter-spacing: 0; }
.rearta-ticket-custom { display: grid; gap: 0.9rem; padding: 1.1rem; background: var(--color-secondary); }
.rearta-ticket-custom[hidden] { display: none; }
.rearta-ticket-custom .rearta-dropzone__box { background: var(--color-background); }
.rearta-ticket-details { display: grid; gap: 0.3rem 1.5rem; grid-template-columns: max-content 1fr; padding: 1rem 1.2rem; background: var(--color-secondary); font-size: 0.8125rem; }
.rearta-ticket-details dt { color: var(--color-muted-foreground); }
.rearta-ticket-details dd { margin: 0; }
.rearta-ticket-files { list-style: none; margin: 0.6rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.6rem; }
.rearta-ticket-files a { display: flex; align-items: center; gap: 0.5rem; padding: 0.35rem 0.6rem 0.35rem 0.35rem; border: 1px solid var(--color-border); font-size: 0.75rem; color: var(--color-foreground); text-decoration: none; background: var(--color-background); }
.rearta-ticket-files img { width: 48px; height: 48px; object-fit: cover; }

/* Kollektionen: Einleitung + FAQ (1.0.61) */
.rearta-cat-seo { display: grid; gap: 2.5rem; margin-top: 5rem; padding-top: 3rem; border-top: 1px solid var(--color-border); }
@media (min-width: 1000px) { .rearta-cat-seo { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 5rem; } }
.rearta-cat-seo__h { margin: 0 0 1.25rem; font-size: 1.375rem; font-weight: 400; line-height: 1.3; }
.rearta-cat-seo__intro p { margin: 0 0 1rem; max-width: 40rem; font-size: 0.9375rem; line-height: 1.7; color: var(--color-muted-foreground); }
.rearta-cat-seo__intro a, .rearta-faq a { color: var(--color-foreground); text-decoration: underline; text-underline-offset: 3px; }
.rearta-cat-seo__label { margin: 0 0 0.75rem; font-size: 0.6875rem; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rearta-faq { border-bottom: 1px solid var(--color-border); }
.rearta-faq:first-of-type { border-top: 1px solid var(--color-border); }
.rearta-faq summary { position: relative; padding: 1rem 2rem 1rem 0; font-size: 0.9375rem; cursor: pointer; list-style: none; }
.rearta-faq summary::-webkit-details-marker { display: none; }
.rearta-faq summary::after { content: "+"; position: absolute; right: 0.25rem; top: 0.9rem; font-size: 1.125rem; font-weight: 300; color: var(--color-muted-foreground); }
.rearta-faq[open] summary::after { content: "–"; }
.rearta-faq p { margin: 0 0 1.1rem; font-size: 0.875rem; line-height: 1.65; color: var(--color-muted-foreground); }

/* ==========================================================================
   Ratgeber 2.0 (1.0.62): Auswahl-Karten, Wandmuster, Raum-Vorschau, Kurz gesagt, FAQ
   ========================================================================== */
.rg-updated { margin-top: 1rem; font-size: 0.625rem; letter-spacing: 0.04em; color: var(--color-muted-foreground); opacity: .85; }
.rg-summary { padding-top: 3rem; }
.rg-summary__list { display: grid; gap: 1px; margin: 1rem 0 0; padding: 0; list-style: none; counter-reset: rgsum; background: var(--color-border); border: 1px solid var(--color-border); }
@media (min-width: 768px) { .rg-summary__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .rg-summary__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rg-summary__list li { display: flex; flex-direction: column; gap: 0.45rem; padding: 1.4rem 1.4rem 1.5rem; background: var(--color-background); counter-increment: rgsum; }
.rg-summary__list li::before { content: counter(rgsum, decimal-leading-zero); font-size: 0.6875rem; letter-spacing: 0.12em; color: var(--color-muted-foreground); }
.rg-summary__list strong { font-size: 0.9375rem; font-weight: 500; }
.rg-summary__list span { font-size: 0.8125rem; line-height: 1.55; color: var(--color-muted-foreground); }

/* Themen-Kacheln */
.rg-topic { position: relative; transition: border-color .2s, transform .2s, box-shadow .2s; }
.rg-topic::after { content: "→"; position: absolute; right: 1rem; top: 1rem; font-size: 0.9rem; color: var(--color-muted-foreground); transition: transform .2s, color .2s; }
.rg-topic:hover { transform: translateY(-2px); box-shadow: 0 10px 24px -14px rgba(0,0,0,.35); }
.rg-topic:hover::after { transform: translateX(3px); color: var(--color-foreground); }

/* Tabs, Pills, Segmente – ruhige Segment-Steuerung */
.rg-tabs, .rg-pills { gap: 0; border: 1px solid var(--color-border); display: inline-flex; flex-wrap: wrap; }
.rg-tab, .rg-pill { border: 0; border-right: 1px solid var(--color-border); padding: 0.8rem 1.3rem; transition: background .2s, color .2s; }
.rg-tab:last-child, .rg-pill:last-child { border-right: 0; }
.rg-tab:hover, .rg-pill:hover { color: var(--color-foreground); background: var(--color-secondary); }
.rg-tab[aria-selected="true"], .rg-pill[aria-selected="true"] { background: var(--color-primary); color: var(--color-primary-foreground); }
.rg-tab:focus-visible, .rg-pill:focus-visible { outline: 2px solid var(--color-foreground); outline-offset: 2px; position: relative; z-index: 1; }
.rg-seg { border-color: var(--color-border); }
.rg-seg span { padding: 0.75rem 1.15rem; font-size: 0.75rem; letter-spacing: 0.04em; transition: background .2s, color .2s; }
.rg-seg label + label span { border-left: 1px solid var(--color-border); }
.rg-seg label:hover span { color: var(--color-foreground); background: var(--color-secondary); }
.rg-seg input:checked + span { background: var(--color-primary); color: var(--color-primary-foreground); }
.rg-field input[type="number"] { border-radius: 0; }

/* Auswahl-Karten */
.rg-legend { margin-bottom: 0.9rem; }
.rg-choices__grid { gap: 0.75rem; }
.rg-choice__box { position: relative; padding: 0; gap: 0; overflow: hidden; background: var(--color-background); transition: border-color .2s, box-shadow .2s, transform .2s; }
.rg-choice:hover .rg-choice__box { border-color: var(--color-muted-foreground); transform: translateY(-2px); box-shadow: 0 12px 26px -18px rgba(0,0,0,.45); }
.rg-choice input:checked + .rg-choice__box { border-color: var(--color-foreground); box-shadow: inset 0 0 0 1px var(--color-foreground), 0 12px 26px -18px rgba(0,0,0,.45); }
.rg-choice__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--color-secondary); }
.rg-choice__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.rg-choice:hover .rg-choice__media img, .rg-choice input:checked + .rg-choice__box .rg-choice__media img { transform: scale(1.04); }
.rg-choice__fallback { display: block; width: 100%; height: 100%; }
.rg-choice__media .rg-swatches { position: absolute; left: 0.6rem; bottom: 0.6rem; margin: 0; gap: 4px; }
.rg-choice__media .rg-swatches i { width: 0.85rem; height: 0.85rem; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.9); box-shadow: 0 1px 3px rgba(0,0,0,.3); }
.rg-choice__body { display: flex; flex-direction: column; gap: 0.25rem; padding: 0.8rem 0.9rem 0.9rem; }
.rg-choice__title { font-size: 0.875rem; }
.rg-choice__check { position: absolute; top: 0.55rem; right: 0.55rem; display: flex; align-items: center; justify-content: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--color-primary); color: var(--color-primary-foreground); opacity: 0; transform: scale(.6); transition: opacity .2s, transform .2s; box-shadow: 0 2px 6px rgba(0,0,0,.25); }
.rg-choice__check svg { width: 0.95rem; height: 0.95rem; }
.rg-choice input:checked + .rg-choice__box .rg-choice__check { opacity: 1; transform: scale(1); }
@media (min-width: 768px) { .rg-choices__grid:not(.rg-choices__grid--4) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .rg-choices__grid:not(.rg-choices__grid--4) { grid-template-columns: repeat(6, minmax(0, 1fr)); } .rg-choice--art .rg-choice__media { aspect-ratio: 4 / 5; } }

/* Wandmuster */
.rg-wall-sample { position: relative; display: block; height: 5.5rem; background-color: var(--wall); background-image: radial-gradient(120% 90% at 20% 0%, rgba(255,255,255,.28), rgba(255,255,255,0) 60%), linear-gradient(to bottom, rgba(0,0,0,0) 70%, rgba(0,0,0,.08)); overflow: hidden; }
.rg-wall-sample::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 0.55rem; background: linear-gradient(#f4f1ea, #e2ddd2); box-shadow: 0 -1px 0 rgba(0,0,0,.08); }
.rg-wall-sample i { position: absolute; left: 50%; top: 22%; width: 1.9rem; height: 2.4rem; transform: translateX(-50%); border: 3px solid #b9a27a; background: linear-gradient(160deg, #c9b79a, #8e7a5c); box-shadow: 0 6px 10px -4px rgba(0,0,0,.35); }
.rg-wall-sample--wood { background-image: repeating-linear-gradient(90deg, rgba(0,0,0,.07) 0 2px, rgba(0,0,0,0) 2px 14px), radial-gradient(120% 90% at 20% 0%, rgba(255,255,255,.2), rgba(255,255,255,0) 60%); }
.rg-wall-sample--dark i { border-color: #c5a059; }

/* Ergebnis mit Raum-Vorschau */
.rg-result__title { margin-bottom: 0.9rem; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-muted-foreground); }
.rg-result__frames { gap: 1.25rem; }
.rg-rec { padding: 0; overflow: hidden; }
.rg-rec__body { padding: 1rem 1.1rem 1.15rem; }
.rg-rec__label { margin-top: 0; }
.rg-room { position: relative; display: flex; align-items: flex-start; justify-content: center; height: 20rem; padding-top: 1.6rem; overflow: hidden; background-color: var(--wall); }

.rg-room::before { content: ""; position: absolute; inset: 0; opacity: .22; mix-blend-mode: multiply; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); pointer-events: none; }
.rg-room__light { position: absolute; inset: 0; background: radial-gradient(70% 60% at 50% 0%, rgba(255,255,255,.35), rgba(255,255,255,0) 70%), linear-gradient(to bottom, rgba(0,0,0,0) 55%, rgba(0,0,0,.12) 100%); pointer-events: none; }
.rg-room--dark .rg-room__light { background: radial-gradient(55% 55% at 50% 8%, rgba(255,236,200,.28), rgba(255,255,255,0) 70%), linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(0,0,0,.25) 100%); }
.rg-room--wood { background-image: repeating-linear-gradient(90deg, rgba(0,0,0,.08) 0 2px, rgba(0,0,0,0) 2px 22px), linear-gradient(90deg, rgba(255,255,255,.05), rgba(0,0,0,.05)); }
.rg-room__frame { position: relative; z-index: 2; display: block; width: 40%; max-width: 9.75rem; padding: 7px; background: var(--frame); box-shadow: 0 18px 28px -10px rgba(0,0,0,.45), 0 3px 6px rgba(0,0,0,.18); }
.rg-room__canvas { display: block; aspect-ratio: 4 / 5; padding: 0; overflow: hidden; background: #2b2723; box-shadow: inset 0 1px 3px rgba(0,0,0,.7); }
.rg-room__canvas img, .rg-room__fallback { display: block; width: calc(100% - 6px); height: calc(100% - 6px); margin: 3px; object-fit: cover; box-shadow: 0 0 4px rgba(0,0,0,.55); }
.rg-room__console { position: absolute; z-index: 1; left: 50%; bottom: 2.2rem; width: 58%; height: 2.6rem; transform: translateX(-50%); background: linear-gradient(#5a4a3c, #3e3229); box-shadow: 0 10px 14px -8px rgba(0,0,0,.45); }
.rg-room__console::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: rgba(255,255,255,.12); }
.rg-room__console::after { content: ""; position: absolute; left: 12%; bottom: 100%; width: 0.9rem; height: 1.8rem; border-radius: 45% 45% 10% 10%; background: linear-gradient(#d9d3c7, #b9b2a5); box-shadow: 1.9rem 0.6rem 0 -0.25rem #7c8b6f; }
.rg-room__floor { position: absolute; left: 0; right: 0; bottom: 0; height: 2.2rem; background: linear-gradient(#b89b78, #9e8263); box-shadow: inset 0 3px 0 #efeae0, inset 0 6px 6px -3px rgba(0,0,0,.25); }
/* Rahmen-Oberflächen */
.rg-frame--gold { background: linear-gradient(135deg, #8a6a2a 0%, #e9cd84 22%, #b48d40 45%, #f3dc9b 68%, #9c7733 100%); }
.rg-frame--hellbraun { background: repeating-linear-gradient(100deg, rgba(255,255,255,.08) 0 3px, rgba(0,0,0,.05) 3px 7px), linear-gradient(135deg, #a8825b, #d1ad84 45%, #b48e66 70%, #c8a37a); }
.rg-frame--dunkelbraun { background: repeating-linear-gradient(100deg, rgba(255,255,255,.05) 0 3px, rgba(0,0,0,.08) 3px 8px), linear-gradient(135deg, #2f2118, #5d4433 50%, #3a2a1f); }
.rg-frame--schwarz { background: linear-gradient(135deg, #070707, #2b2b2b 50%, #0c0c0c); }
.rg-frame--weiss { background: linear-gradient(135deg, #ffffff, #e9e7e2 55%, #f7f6f3); box-shadow: 0 18px 28px -10px rgba(0,0,0,.4), 0 3px 6px rgba(0,0,0,.15), inset 0 0 0 1px rgba(0,0,0,.08); }
.rg-result__art { margin-top: 1rem; font-size: 0.8125rem; color: var(--color-muted-foreground); }
.rg-result__art a { color: var(--color-foreground); text-decoration: underline; text-underline-offset: 3px; }
.rg-hang__pic { background-size: cover; background-position: center; }

/* FAQ in Ratgeber und auf Seiten */
.rg-faq .rearta-faq summary { font-size: 1rem; }
.rearta-page-faq { margin-top: 3.5rem; padding-top: 2rem; border-top: 1px solid var(--color-border); }
.rearta-page-faq .rearta-faq summary { color: var(--color-foreground); }

/* Produktoptionen: drei Größen (1.0.65) */
.rearta-sizes-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 380px) { .rearta-sizes-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Ratgeber 02: neun bekannte Gemälde als Farbwelten (1.0.65) */
.rg-choices__hint { margin: -0.35rem 0 0.9rem; font-size: 0.8125rem; color: var(--color-muted-foreground); }
.rg-choice__art { margin-top: 0.15rem; font-size: 0.6875rem; font-style: italic; line-height: 1.35; color: var(--color-muted-foreground); opacity: .85; }
.rg-choice--art .rg-choice__media { aspect-ratio: 1 / 1; }
.rg-choice--art .rg-choice__media img { object-position: 50% 40%; }
@media (max-width: 639px) {
	.rg-choices__grid--art { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 46%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; margin: 0 -1.25rem; padding: 0.25rem 1.25rem 0.75rem; scroll-padding: 0 1.25rem; }
	.rg-choices__grid--art .rg-choice { scroll-snap-align: start; }
}
@media (min-width: 640px) { .rg-choices__grid.rg-choices__grid--art { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) {
	.rg-choices__grid.rg-choices__grid--art { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rg-choice--art .rg-choice__box { flex-direction: row; align-items: stretch; }
	.rg-choice--art .rg-choice__media { flex: 0 0 42%; aspect-ratio: 1 / 1; }
	.rg-choice--art .rg-choice__body { justify-content: center; padding: 0.7rem 2.2rem 0.7rem 0.9rem; }
	.rg-choice--art .rg-choice__media .rg-swatches { left: 0.45rem; bottom: 0.45rem; }
}

/* Vorschau im echten Raumfoto */
.rg-photo { position: relative; display: block; overflow: hidden; container-type: inline-size; background: var(--color-secondary); }
.rg-photo__bg { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.rg-photo__frame { position: absolute; z-index: 2; display: block; transform: translateX(-50%); box-shadow: 0 1.4cqw 2.2cqw -0.6cqw rgba(0,0,0,.5), 0 0.3cqw 0.6cqw rgba(0,0,0,.22); }
.rg-photo__frame.rg-frame--weiss { box-shadow: 0 1.4cqw 2.2cqw -0.6cqw rgba(0,0,0,.42), 0 0.3cqw 0.6cqw rgba(0,0,0,.18), inset 0 0 0 1px rgba(0,0,0,.08); }
.rg-photo__canvas { position: relative; display: block; overflow: hidden; background: #2b2723; box-shadow: inset 0 0 0.35cqw rgba(0,0,0,.75); }
.rg-photo__canvas img, .rg-photo__canvas .rg-room__fallback { display: block; width: calc(100% - 0.7cqw); height: calc(100% - 0.7cqw); margin: 0.35cqw; object-fit: cover; box-shadow: 0 0 0.4cqw rgba(0,0,0,.55); }
.rg-photo__canvas::after { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(255,255,255,.10), rgba(255,255,255,0) 40%, rgba(0,0,0,.08)); pointer-events: none; }
.rg-photo--dark .rg-photo__canvas img { filter: brightness(.9) saturate(.95); }
/* Wandfarbe: echtes Raumfoto als Auswahlbild */
.rg-wall-photo { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--color-secondary); }
.rg-wall-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.rg-choice:hover .rg-wall-photo img, .rg-choice input:checked + .rg-choice__box .rg-wall-photo img { transform: scale(1.04); }
.rg-wall-photo i { position: absolute; left: 0.55rem; bottom: 0.55rem; width: 0.95rem; height: 0.95rem; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.9); box-shadow: 0 1px 3px rgba(0,0,0,.3); }
.rg-result__credit { font-size: 0.75rem; opacity: .8; }

/* Ratgeber 02: Schwebe-Rahmen als Bild, sechs Wandfarben (1.0.67) */
.rg-photo__frame--img { box-shadow: none; border-style: solid; border-color: transparent; border-image-slice: 68; border-image-repeat: stretch; background: none; }
.rg-photo__canvas--bare { box-shadow: none; background: #2b2723; margin: -0.5px; }
.rg-photo__canvas--bare img { width: 100%; height: 100%; margin: 0; box-shadow: none; }
.rg-photo__canvas--bare::after { display: none; }
@media (min-width: 640px) { .rg-choices__grid.rg-choices__grid--walls { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .rg-choices__grid.rg-choices__grid--walls { grid-template-columns: repeat(6, minmax(0, 1fr)); } .rg-choices__grid--walls .rg-choice__title { font-size: 0.8125rem; } }

/* Ratgeber 02: Vorschau vergrößern (1.0.68) */
.rg-zoom { position: relative; display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; text-align: left; }
.rg-zoom:focus-visible { outline: 2px solid var(--color-foreground); outline-offset: 2px; }
.rg-zoom__icon { position: absolute; z-index: 3; right: 0.6rem; bottom: 0.6rem; display: flex; align-items: center; justify-content: center; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: rgba(255,255,255,.2); color: #111; box-shadow: 0 2px 8px rgba(0,0,0,.12); transition: background-color .2s, transform .2s; }
.rg-zoom__icon svg { width: 1.1rem; height: 1.1rem; }
.rg-zoom:hover .rg-zoom__icon, .rg-zoom:focus-visible .rg-zoom__icon { background: rgba(255,255,255,.4); transform: scale(1.06); }
.rg-lightbox { position: fixed; inset: 0; z-index: 100001; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(12,12,12,.88); cursor: zoom-out; }
.rg-lightbox[hidden] { display: none; }
.rg-lightbox__inner { position: relative; cursor: default; }
.rg-lightbox__stage { max-width: 94vw; }
.rg-lightbox__stage .rg-photo, .rg-lightbox__stage .rg-room { width: 100%; }
.rg-lightbox__stage .rg-room { height: auto; aspect-ratio: 16 / 10; }
.rg-lightbox__caption { margin-top: 0.75rem; font-size: 0.8125rem; color: rgba(255,255,255,.85); text-align: center; }
.rg-lightbox__close { position: absolute; z-index: 5; top: 0.6rem; right: 0.6rem; box-shadow: 0 2px 8px rgba(0,0,0,.3); width: 2.2rem; height: 2.2rem; border: 0; border-radius: 50%; background: rgba(255,255,255,.95); color: #111; font-size: 1.5rem; line-height: 1; cursor: pointer; }
html.rg-lightbox-open { overflow: hidden; }

/* Ratgeber 02: Farblehre-Karte und Begründungen (1.0.71) */
.rg-card--wide { grid-column: 1 / -1; }
@media (min-width: 900px) { .rg-list--cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2.5rem; } }
.rg-rec__text + .rg-rec__text { margin-top: 0.5rem; }
.rg-rec__text strong { font-weight: 500; color: var(--color-foreground); }

/* Ratgeber 05: Anlass-Auswahl als gleichmäßiges Raster (1.0.74) */
.rg-pills { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding: 0; border: 1px solid var(--color-border); background: var(--color-border); }
.rg-pills .rg-pill { display: flex; align-items: center; justify-content: center; min-height: 3.1rem; padding: 0.7rem 0.6rem; border: 0; background: var(--color-background); text-align: center; line-height: 1.4; }
.rg-pills .rg-pill:hover { background: var(--color-secondary); }
.rg-pills .rg-pill[aria-selected="true"] { background: var(--color-primary); color: var(--color-primary-foreground); }
.rg-pills .rg-pill:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (min-width: 640px) { .rg-pills { grid-template-columns: repeat(6, minmax(0, 1fr)); } .rg-pills .rg-pill, .rg-pills .rg-pill:last-child:nth-child(odd) { grid-column: span 2; } .rg-pills .rg-pill:nth-child(4):nth-last-child(2), .rg-pills .rg-pill:nth-child(5):last-child { grid-column: span 3; } }
@media (min-width: 1280px) { .rg-pills { grid-template-columns: repeat(5, minmax(0, 1fr)); } .rg-pills .rg-pill, .rg-pills .rg-pill:last-child:nth-child(odd), .rg-pills .rg-pill:nth-child(4):nth-last-child(2), .rg-pills .rg-pill:nth-child(5):last-child { grid-column: auto; } }

/* Ratgeber: „Das Wichtigste in Kürze“ kompakter (1.0.78) */
.rg-summary { padding-top: 2rem; }
.rg-summary .rg-eyebrow { margin: 0; }
.rg-summary__list { margin-top: 0.75rem; }
@media (min-width: 640px) { .rg-summary__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .rg-summary__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rg-summary__list li { display: block; padding: 0.85rem 1rem 0.95rem; }
.rg-summary__list li::before { display: inline; margin-right: 0.45rem; }
.rg-summary__list strong { display: inline; font-size: 0.875rem; }
.rg-summary__list span { display: block; margin-top: 0.3rem; font-size: 0.78rem; line-height: 1.45; }
.rg-summary + .rg-topics { padding-top: 1.75rem; }

/* Ratgeber 01: „Worauf beim Kauf achten“ kompakter (1.0.79) */
.rg-check label { padding: 0.75rem 0 0.8rem 1.75rem; }
.rg-check input { top: 0.95rem; width: 1rem; height: 1rem; }
.rg-check__title { font-size: 0.875rem; }
.rg-check__text { margin-top: 0.2rem; font-size: 0.78rem; line-height: 1.5; }
@media (min-width: 900px) {
	.rg-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
}
#kaufen .rg-table th, #kaufen .rg-table td { padding: 0.55rem 0.75rem 0.55rem 0; }
#kaufen .rg-table { font-size: 0.78rem; }
#kaufen .rg-h3 { margin-top: 2rem; margin-bottom: 0.5rem; }
@media (min-width: 1024px) { .rg-section { padding: 4.5rem 0; } }

/* Fix: Fieldsets dürfen nicht breiter als der Bildschirm werden (Handy-Querscrollen im Rahmenberater) (1.0.81) */
.rg-choices { min-width: 0; max-width: 100%; }
.rg-choices__grid--art { max-width: 100%; }

/* Ratgeber-Feinschliff (1.0.82) */
@media (min-width: 640px) and (max-width: 1279px) { .rg-choice--art .rg-choice__media { aspect-ratio: 4 / 3; } }
.rg-section__body > .rg-cards, .rg-section__body > .rg-tool + .rg-cards, .rg-section__body > .rg-dodont + .rg-cards { margin-top: 1.5rem; }
.rg-cards, .rg-dodont { align-items: stretch; }
.rg-dodont > *, .rg-cards > .rg-card { height: 100%; }
.rg-hang__wall { width: 11rem; height: 170px; }
.rg-hang__data { align-self: center; }
@media (max-width: 639px) {
	.rg-table-wrap { overflow: visible; }
	.rg-table { min-width: 0; }
	.rg-table thead { display: none; }
	.rg-table, .rg-table tbody, .rg-table tr, .rg-table th, .rg-table td { display: block; width: 100%; }
	.rg-table tr { padding: 0.75rem 0; border-bottom: 1px solid var(--color-border); }
	.rg-table tbody th { padding: 0 0 0.35rem; border: 0; font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; }
	.rg-table td { display: grid; grid-template-columns: 7.5rem 1fr; gap: 0.75rem; padding: 0.2rem 0; border: 0; }
	.rg-table td::before { content: attr(data-label); color: var(--color-muted-foreground); }
}

/* Konto: Fußnote zu den Vorteilen (1.0.83) */
.rearta-tier__footnote { margin-top: 0.75rem; font-size: 0.6875rem; line-height: 1.5; color: var(--color-muted-foreground); }

/* Social-Media-Symbole im Footer, Spalte Kontakt (1.0.87) */
.rearta-social{display:flex;align-items:center;gap:1rem;margin:1.25rem 0 0;padding:0;list-style:none}
.rearta-social li{display:flex}
.rearta-social__link{display:inline-flex;color:var(--muted-foreground,#6b6b6b);transition:color .2s}
a.rearta-social__link:hover,a.rearta-social__link:focus-visible{color:var(--foreground,#0a0a0a)}
.rearta-social__icon{width:1.25rem;height:1.25rem;flex:none}
