/*
 * Rainbow-Web.com - Design 2026 "klassisch"
 *
 * Liegt NACH style.css (Bootstrap 4 + "Intense"-Theme) und frischt dessen
 * Look auf, statt ihn zu ersetzen: Olivgrün als Aktionsfarbe, dunkle
 * Schiefer-Navigation, Orange für Preise, nachtblauer Kopfbereich mit
 * Netzwerk-Linien (images/rw/netz.svg), Sechseck-Symbole.
 *  - Überschriften IBM Plex Mono, Text Inter (beide selbst gehostet, fonts/rw/)
 *  - Karten weiß mit Haarlinie, kaum Rundung, Schatten nur bei überlappenden Kästen
 *  - Buttons olivgrün mit dunkler Schrift (weiß auf Oliv ist zu kontrastarm)
 * Neue Bausteine tragen das Präfix rw-. Kopf und Fuß: includes/header.php und
 * includes/footer.php, Verhalten: js/redesign.js.
 */

/* ---------------------------------------------------------------- Schriften */

@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url('/fonts/rw/inter-latin-wght-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('/fonts/rw/ibm-plex-mono-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('/fonts/rw/ibm-plex-mono-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('/fonts/rw/ibm-plex-mono-latin-600-normal.woff2') format('woff2'); }

/* ------------------------------------------------------------------- Tokens */

:root {
  --rw-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --rw-mono: 'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;
  --rw-white: #fff;             /* page background */
  --rw-surface: #fff;           /* cards, boxes, fields */
  --rw-alt: #f2f3f8;
  --rw-ink: #151515;
  --rw-text: #3f454b;
  --rw-soft: #5f656b;
  --rw-line: #e1e4ea;
  --rw-line-dark: #c9ced6;
  --rw-olive: #b6c062;
  --rw-olive-hover: #a5b04f;
  --rw-olive-soft: #f3f5e2;
  --rw-olive-text: #5f6a1e;     /* olive as text on white */
  --rw-slate: #2c343b;          /* navigation bar */
  --rw-slate-deep: #232b33;     /* facts, footer */
  --rw-navy: #1d4170;
  --rw-navy-deep: #13294b;
  --rw-orange: #e8642c;         /* large prices */
  --rw-orange-text: #c2461a;    /* small orange text */
  --rw-link: #187590;
  --rw-link-hover: #1d4170;
  --rw-on-olive: #2c343b;       /* text on olive buttons, in both themes */
  --rw-btn: #2c343b;            /* outlined secondary buttons */
  --rw-btn-contrast: #fff;
  --rw-olive-line: #dfe3b8;
  --rw-shadow: rgba(21, 21, 21, .15);
  color-scheme: light;
  --rw-error: #b42318;
  --rw-container: 1200px;
  --rw-top-h: 90px;
  --rw-netz: url('/images/rw/netz.svg');
  --rw-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%237f8a2e' d='m9.5 16.2-4.2-4.2-1.4 1.4 5.6 5.6 11-11-1.4-1.4z'/%3E%3C/svg%3E");
  --rw-cross: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23a3a9b0' d='m18.3 7.1-1.4-1.4-4.9 4.9-4.9-4.9-1.4 1.4 4.9 4.9-4.9 4.9 1.4 1.4 4.9-4.9 4.9 4.9 1.4-1.4-4.9-4.9z'/%3E%3C/svg%3E");
}

/* -------------------------------------------------------------------- Basis */

html { scroll-padding-top: 70px; }
body {
  background: var(--rw-white);
  color: var(--rw-text);
  font: 16px/1.6 var(--rw-sans);
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
}
/* the old template hid the page until window.load (page loader) */
.page { opacity: 1 !important; overflow: visible; overflow-x: clip; }
#page-loader { display: none !important; }

p, li, dd, dt, td, th, label, input, select, textarea, button, .btn, .button, .big, .bigger, .small {
  font-family: var(--rw-sans);
}
.page p, .page li { letter-spacing: normal; }
p { color: var(--rw-text); }
.page .text-default, .text-gray, .ls-05 { color: var(--rw-soft); letter-spacing: 0; }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6,
[class^='heading-'], [class*=' heading-'], .custom-heading-3, .breadcrumbs-custom__title {
  font-family: var(--rw-mono) !important;
  font-weight: 500;
  color: var(--rw-ink);
  letter-spacing: -0.01em;
  text-transform: none;
}
/* headings on the template's dark areas (package ribbons, dark sections) */
.context-dark h1, .context-dark h2, .context-dark h3, .context-dark h4, .context-dark h5, .bg-gray-darker h2, .bg-gray-darker h3,
.pricing-table__item-title, .pricing-table__item-title * { color: #fff !important; }
h1, .h1, .heading-1 { font-size: clamp(2.1rem, 1.4rem + 2.6vw, 3.4rem); line-height: 1.15; }
h2, .h2, .heading-2 { font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.4rem); line-height: 1.2; }
h3, .h3, .heading-3, .smaller-h3 { font-size: clamp(1.3rem, 1.15rem + .6vw, 1.6rem); line-height: 1.25; }
h4, .h4, .heading-4 { font-size: 1.25rem; }
h5, .h5, .heading-5, h6, .h6, .heading-6 { font-size: 1.05rem; line-height: 1.45; }

a { color: var(--rw-link); }
a:hover, a:focus { color: var(--rw-link-hover); }
p a, li a, dd a, td a, .rw-link { color: var(--rw-link); }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, [class^='heading-'] a { color: inherit; text-decoration: none; }
:focus-visible { outline: 2px solid var(--rw-link); outline-offset: 3px; }
::selection { background: var(--rw-olive); color: var(--rw-ink); }

.container { max-width: var(--rw-container); }
.rw-container { max-width: var(--rw-container); margin: 0 auto; padding: 0 15px; } /* same gutter as Bootstrap's .container */
@media (max-width: 575px) { .rw-container, .container { padding-left: 16px; padding-right: 16px; } }

/* ------------------------------------------------------------------ Buttons */

.button, .btn.button {
  font: 700 12.5px/1.3 var(--rw-sans); letter-spacing: .08em; text-transform: uppercase;
  border-radius: 2px; box-shadow: none !important; white-space: normal;
}
.button-ujarak::before, .button-ujarak::after { display: none !important; }
.button-primary, .button-primary:focus, .btn.button-primary, .button-offer, .btn.button-offer,
.button-primary-orange, .rw-plan__cta .button-secondary {
  background: var(--rw-olive) !important; border-color: var(--rw-olive) !important; color: var(--rw-on-olive) !important;
}
.button-primary:hover, .btn.button-primary:hover, .button-primary:active, .button-offer:hover,
.button-primary-orange:hover, .rw-plan__cta .button-secondary:hover {
  background: var(--rw-olive-hover) !important; border-color: var(--rw-olive-hover) !important; color: var(--rw-ink) !important;
}
.button-default, .button-gray-outline, .button-secondary, .btn.button-secondary {
  background: transparent !important; border: 2px solid var(--rw-btn) !important; color: var(--rw-btn) !important;
}
.button-default:hover, .button-gray-outline:hover, .button-secondary:hover, .btn.button-secondary:hover { background: var(--rw-btn) !important; color: var(--rw-btn-contrast) !important; }
.button .mdi { color: inherit; }
.rw-btn-arrow::after { content: '\2192'; margin-left: 10px; font-size: 14px; letter-spacing: 0; }

/* ------------------------------------------------------------------- Header */

.rw-header {
  position: sticky; top: calc(-1 * var(--rw-top-h)); z-index: 1030;
  padding: 0 !important; background: var(--rw-white); border-top: 3px solid var(--rw-slate);
}
.rw-top__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: calc(var(--rw-top-h) - 3px); }
.rw-logo { flex: none; line-height: 0; }
.rw-logo img { height: 74px; width: auto; }
.rw-logo .rw-logo__img--hell { display: none; }
.rw-contact { display: flex; margin: 0; padding: 0; list-style: none; }
.rw-contact li { display: flex; align-items: center; gap: 12px; padding: 0 26px; border-left: 1px solid var(--rw-line); }
.rw-contact li:first-child { border-left: 0; }
.rw-contact li:last-child { padding-right: 0; }
.rw-contact svg {
  flex: none; width: 36px; height: 36px; padding: 9px; border: 1px solid var(--rw-line-dark); border-radius: 50%; fill: var(--rw-ink);
}
.rw-contact span { display: flex; flex-direction: column; line-height: 1.35; }
.rw-contact small { font-size: 12px; color: var(--rw-soft); }
.rw-contact a, .rw-contact b { font: 500 12.5px var(--rw-mono); color: var(--rw-ink); text-decoration: none; }
.rw-contact a:hover { color: var(--rw-link); }

.rw-nav { position: relative; background: var(--rw-slate); }
.rw-nav__inner { display: flex; align-items: center; gap: 24px; min-height: 52px; }
.rw-menu { flex: 1; }
.rw-menu__list { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; }
.rw-menu__item { position: relative; display: flex; align-items: center; }
.rw-menu__link {
  position: relative; display: block; padding: 17px 11px; color: #fff; text-decoration: none; white-space: nowrap;
  font: 700 12px/1.5 var(--rw-sans); letter-spacing: .08em; text-transform: uppercase;
}
.rw-menu__item:first-child > .rw-menu__link { padding-left: 0; }
.rw-menu__link:hover, .rw-menu__link:focus, .rw-menu__item.is-open > .rw-menu__link { color: var(--rw-olive); }
.rw-menu__item.is-active > .rw-menu__link { color: var(--rw-olive); }
.rw-menu__item.is-active > .rw-menu__link::after {
  content: ''; position: absolute; left: 11px; right: 11px; bottom: 0; height: 3px; background: var(--rw-olive);
}
.rw-menu__item.is-active:first-child > .rw-menu__link::after { left: 0; }
.rw-menu__toggle {
  display: none; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0;
  border: 0; background: none; padding: 0; color: #fff; cursor: pointer;
}
.rw-menu__toggle svg { width: 20px; height: 20px; fill: currentColor; transition: transform .15s; }
.rw-menu__item.is-open > .rw-menu__toggle svg { transform: rotate(180deg); }
.rw-sub {
  position: absolute; top: 100%; left: 0; min-width: 290px; margin: 0; padding: 8px 0; list-style: none;
  background: var(--rw-surface); border-top: 3px solid var(--rw-olive); box-shadow: 0 12px 30px var(--rw-shadow);
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .12s, transform .12s, visibility .12s; z-index: 10;
}
.rw-sub a { display: block; padding: 9px 20px; text-decoration: none; color: var(--rw-ink); }
.rw-sub a:hover, .rw-sub a[aria-current] { background: var(--rw-alt); color: var(--rw-ink); }
.rw-sub__title { display: block; font-weight: 600; font-size: 14.5px; line-height: 1.3; }
.rw-sub__text { display: block; color: var(--rw-soft); font-size: 13px; line-height: 1.4; margin-top: 2px; }
/* Webhosting: Gruppen als Spalten (Produkte, WebLux-Pakete, Mehr) */
.rw-sub--mega { display: grid; grid-template-columns: 1.25fr 1fr 1fr; width: 820px; padding: 18px 8px 14px; }
.rw-sub--mega ul { margin: 0; padding: 0; list-style: none; }
.rw-sub__group + .rw-sub__group { border-left: 1px solid var(--rw-line); }
.rw-sub__head { margin: 0 0 6px; padding: 0 20px; font: 600 11px/1.4 var(--rw-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--rw-soft); }
.rw-sub--mega a { padding: 8px 20px; }
.rw-sub--mega .rw-sub__title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.rw-sub__price { flex: none; font: 600 13px/1.3 var(--rw-mono); color: var(--rw-orange-text); }
@media (min-width: 1100px) {
  .rw-menu__item--sub:hover > .rw-sub, .rw-menu__item--sub:focus-within > .rw-sub, .rw-menu__item.is-open > .rw-sub {
    opacity: 1; visibility: visible; transform: none;
  }
}
.rw-actions { display: flex; align-items: center; gap: 18px; margin-left: auto; }
.rw-theme { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: none; color: #fff; cursor: pointer; }
.rw-theme:hover, .rw-theme:focus-visible { color: var(--rw-olive); }
.rw-theme svg { width: 20px; height: 20px; fill: currentColor; }
.rw-theme__sun, [aria-pressed='true'] > .rw-theme__moon { display: none; }
[aria-pressed='true'] > .rw-theme__sun { display: block; }
.rw-cart { position: relative; display: inline-flex; align-items: center; color: #fff; text-decoration: none; padding: 6px; }
.rw-cart:hover { color: var(--rw-olive); }
.rw-cart svg { width: 22px; height: 22px; fill: currentColor; }
.rw-cart .badge-articles {
  position: absolute; top: -4px; right: -8px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 10px;
  background: var(--rw-olive); color: var(--rw-on-olive); font: 700 11px/19px var(--rw-sans); text-align: center;
}
.rw-login {
  display: inline-flex; align-items: center; gap: 7px; padding: 8px 15px; background: #fff; color: var(--rw-slate);
  font: 700 12px/1.3 var(--rw-sans); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; border-radius: 2px;
}
.rw-login:hover, .rw-login:focus { background: var(--rw-olive); color: var(--rw-ink); }
.rw-login svg { width: 16px; height: 16px; fill: currentColor; }
.rw-burger { display: none; width: 44px; height: 44px; border: 0; background: none; cursor: pointer; padding: 12px 10px; }
.rw-burger span { display: block; height: 2px; margin: 4px 0; background: #fff; transition: transform .2s, opacity .2s; }
.rw-burger[aria-expanded='true'] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.rw-burger[aria-expanded='true'] span:nth-child(2) { opacity: 0; }
.rw-burger[aria-expanded='true'] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.rw-menu__extra { display: none; }

@media (max-width: 1199px) {
  .rw-contact li { padding: 0 16px; }
  .rw-contact li:nth-child(3) { display: none; }
  .rw-menu__link { padding-left: 8px; padding-right: 8px; letter-spacing: .05em; }
  .rw-menu__item.is-active > .rw-menu__link::after { left: 8px; right: 8px; }
}
@media (max-width: 1099px) {
  :root { --rw-top-h: 70px; }
  .rw-logo img { height: 54px; }
  .rw-burger { display: block; }
  .rw-nav__inner { min-height: 52px; }
  .rw-menu {
    position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100vh - 52px); overflow-y: auto;
    background: var(--rw-slate); border-top: 1px solid #ffffff1a; padding: 4px 16px 28px; display: none;
  }
  .rw-menu.is-open { display: block; }
  .rw-menu__list { flex-direction: column; align-items: stretch; }
  .rw-menu__item { flex-wrap: wrap; border-bottom: 1px solid #ffffff1a; }
  .rw-menu__link, .rw-menu__item:first-child > .rw-menu__link { flex: 1; padding: 14px 0; font-size: 13.5px; }
  .rw-menu__item.is-active > .rw-menu__link::after { display: none; }
  .rw-menu__toggle { display: inline-flex; }
  .rw-sub { position: static; display: none; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; margin: 0 0 12px; padding: 0; min-width: 0; width: 100%; background: transparent; }
  .rw-sub a { padding: 8px 0 8px 12px; color: #e6e9ec; }
  .rw-sub a:hover, .rw-sub a[aria-current] { background: transparent; color: var(--rw-olive); }
  .rw-sub__text { color: #aeb5bc; }
  .rw-menu__item.is-open > .rw-sub { display: block; }
  .rw-sub--mega { width: 100%; padding: 0; }
  .rw-menu__item.is-open > .rw-sub--mega { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .rw-sub__group + .rw-sub__group { border-left: 0; }
  .rw-sub__head { padding: 6px 0 2px 12px; color: #aeb5bc; }
  .rw-sub--mega a { padding: 8px 0 8px 12px; }
  .rw-sub__price { color: #f0a27e; }
  .rw-menu__extra { display: block; padding: 20px 0 0; margin: 0; font: 500 13px/1.9 var(--rw-mono); color: #aeb5bc; }
  .rw-menu__extra a { color: #fff; }
}
@media (max-width: 767px) { .rw-contact { display: none; } }
@media (max-width: 420px) { .rw-login { padding: 8px 10px; } }
/* leftovers of the old navbar/footer, should a page still carry one */
.rd-navbar-wrap, .footer-modern { display: none; }
.rw-spectrum { display: none; }

/* --------------------------------------------- Seitenkopf der Unterseiten */

.breadcrumbs-custom__aside, .breadcrumbs-custom__aside.bg-image {
  display: block !important; min-height: 0 !important; padding: 64px 0 !important; text-align: center;
  background: var(--rw-netz) center / cover no-repeat, linear-gradient(160deg, var(--rw-navy), var(--rw-navy-deep)) !important;
}
.breadcrumbs-custom__title {
  color: #fff !important; margin: 0 auto !important; max-width: 900px !important;
  font-size: clamp(1.8rem, 1.3rem + 1.8vw, 2.6rem) !important; line-height: 1.25;
}
.breadcrumbs-custom__main { background: var(--rw-alt) !important; padding: 16px 0 !important; border-bottom: 1px solid var(--rw-line); }
.breadcrumbs-custom__path { margin: 0; text-align: center; }
.breadcrumbs-custom__path li, .breadcrumbs-custom__path a { font: 400 14px var(--rw-sans) !important; letter-spacing: 0; text-transform: none; }
.breadcrumbs-custom__path a { color: var(--rw-link); }
.breadcrumbs-custom__path li.active { color: var(--rw-ink); }

/* ------------------------------------------------- alte Bausteine, aufgefrischt */

.bg-gray-light { background: var(--rw-alt) !important; }
.card-bordered { background: var(--rw-surface); border: 1px solid var(--rw-line) !important; border-radius: 2px !important; box-shadow: none !important; }
.card-bordered::before { background: var(--rw-alt); }   /* style.css: fester Innenrahmen #f2f3f8 (nur ab 768px) */
.card-shadow { box-shadow: 0 2px 14px var(--rw-shadow) !important; }

/* feature boxes with hexagon ("Hunderte TLDs verfügbar" ...) */
.box-lucy { max-width: none; height: 100%; background: var(--rw-surface); border: 1px solid var(--rw-line); border-radius: 2px; text-align: left; padding: 30px 28px; }
.box-lucy::before, .box-lucy::after { display: none; }
.box-lucy__aside { display: block !important; margin: 0 0 14px !important; }
.box-lucy__aside > * { margin-left: 0 !important; }
.box-lucy__icon-outer { display: inline-flex !important; align-items: center; justify-content: center; width: 46px; height: 53px; }
.box-lucy__icon-shape { transform: translate(-50%, -50%) scale(.78) !important; z-index: 0; } /* the SVG has no viewBox */
.box-lucy__icon-shape path { stroke: var(--rw-olive); fill: var(--rw-olive-soft); }
.box-lucy__icon { position: relative; z-index: 1; padding: 0; font-size: 21px; color: var(--rw-olive-text) !important; }
.box-lucy__aside > * + * { margin-top: 16px !important; }
.box-lucy__title { font: 600 16px/1.4 var(--rw-mono) !important; color: var(--rw-ink); letter-spacing: 0; text-transform: none; }
.box-lucy__main { padding: 0 !important; }
.box-lucy p, .box-lucy li { color: var(--rw-soft); font-size: 15px; line-height: 1.6; }

/* accordions */
.card-corporate .card-title a { font-family: var(--rw-sans) !important; letter-spacing: 0; }
.card-corporate .card-arrow { background: var(--rw-olive) !important; color: var(--rw-on-olive) !important; }
.card-corporate .card-arrow::before, .card-corporate .card-arrow::after { color: var(--rw-on-olive) !important; }
.card-corporate .card-arrow:hover { background: var(--rw-olive-hover) !important; }

/* template highlight bars: white on the template's cyan/orange is too faint */
.mark { background: #187590; color: #fff; }
mark-red, .mark-red { background: #c2461a; color: #fff; }

/* package pages: prices in orange like the cards */
.rw-price { display: inline-flex; align-items: baseline; justify-content: center; gap: 6px; flex-wrap: wrap; margin: 2px 0; }
.rw-price__amount { font: 600 44px/1 var(--rw-sans); color: var(--rw-orange); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.rw-price__unit { font-size: 14px; color: var(--rw-text); }
.pricing-table__item { border-radius: 2px !important; }
.pricing-table-modern__item .pricing-table__item-features .text-marked, .pricing-table__item-subtext { color: var(--rw-ink); }
.btn-primary, .btn-primary:hover, .btn-primary:focus, .btn-primary:active { color: var(--rw-on-olive); }
.pricing-table__item-features .tooltip-hosting, .tooltip-hosting .fa-info-circle { color: var(--rw-link) !important; }
/* CSS-Popups der Merkmale / Domainpreise: style.css fest weiß, Text erbt sonst die Linkfarbe */
a.tooltip-hosting:hover span + span, a.tooltip-domain:hover span + span { background-color: var(--rw-surface); color: var(--rw-text); border-color: var(--rw-link); box-shadow: 0 4px 16px var(--rw-shadow); }
.pricing-table__item-features.rw-collapsible:not(.is-open) > li.rw-more { display: none; }
.rw-more-toggle {
  display: block; margin: 14px auto 0; padding: 6px 0; border: 0; background: none; cursor: pointer;
  color: var(--rw-link); font: 600 14px var(--rw-sans); text-decoration: underline; text-underline-offset: 3px;
}

/* tabs (Hilfe, Über uns): the template's cyan is too faint for the active tab */
.tabs-corporate .nav-link.active, .tabs-corporate .nav-link:hover, .nav-tabs .nav-link.active { color: var(--rw-olive-text) !important; }
.tabs-corporate .nav-link { color: var(--rw-soft) !important; }

/* tables */
.table-custom th, .table-custom thead td { font-family: var(--rw-sans) !important; }

/* forms */
.form-input, .form-control, .select2-container .select2-choice {
  font-family: var(--rw-sans); border-radius: 2px !important; box-shadow: none !important;
}
.form-input, .form-control { border: 1px solid var(--rw-line-dark) !important; background: var(--rw-surface) !important; color: var(--rw-ink) !important; }
.form-input:focus, .form-control:focus { border-color: var(--rw-olive) !important; box-shadow: 0 0 0 2px rgba(182, 192, 98, .35) !important; }
.form-label { color: var(--rw-soft); }

/* cart */
.cart-row__name, .cart-totals__row--total .cart-totals__label, .cart-totals__row--total .cart-totals__value { font-family: var(--rw-mono) !important; }

/* domain price list (css/domain-preise.css loads after this file) */
.dp.dp { --dp-blue: var(--rw-slate-btn, #2c343b); --dp-blue-dark: var(--rw-link); --dp-green: var(--rw-olive); --dp-green-dark: var(--rw-olive-text);
  --dp-text: var(--rw-ink); --dp-muted: var(--rw-soft); --dp-line: var(--rw-line); --dp-soft: var(--rw-alt); font-family: var(--rw-sans); }
.dp.dp .dp-tld-name { font-family: var(--rw-mono); font-weight: 600; }

.ui-to-top, .ui-to-top.active { background: var(--rw-olive) !important; color: var(--rw-on-olive) !important; border-radius: 2px !important; }

/* =========================================================================
 * Neue Bausteine
 * ======================================================================= */

.rw-section { padding: 88px 0; }
.rw-section--alt { background: var(--rw-alt); }
@media (max-width: 767px) { .rw-section { padding: 56px 0; } }

/* centred section head with olive rule */
.rw-sechead { max-width: 760px; margin: 0 auto 48px; text-align: center; }
.rw-sechead::after { content: ''; display: block; width: 44px; height: 2px; margin: 22px auto 0; background: var(--rw-olive); }
.rw-sechead h2 { margin: 0; }
.rw-sechead p { margin: 14px auto 0; max-width: 620px; color: var(--rw-soft); font-size: 16.5px; }
.rw-note { margin: 26px 0 0; font-size: 14px; color: var(--rw-soft); text-align: center; }
.rw-more-link { margin: 18px 0 0; text-align: center; }
.rw-more-link a { font: 500 15px var(--rw-mono); color: var(--rw-link); text-decoration: none; }
.rw-more-link a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* hero */
.rw-hero {
  position: relative; padding: 78px 0 150px; text-align: center; color: #fff;
  background: var(--rw-netz) center / cover no-repeat, linear-gradient(170deg, var(--rw-navy) 0%, #17345e 55%, var(--rw-navy-deep) 100%);
}
.rw-hero h1 { margin: 0; color: #fff; font-size: clamp(2.2rem, 1.3rem + 3.4vw, 3.6rem); }
.rw-hero h1 em { font-style: normal; color: #cfd77e; }
.rw-hero__lead { max-width: 540px; margin: 22px auto 30px; color: #e6ebf2; font-size: 17px; line-height: 1.6; }
.rw-hero__actions .button { padding: 15px 26px; }
.rw-hero__price { margin: 16px 0 0; color: #e6ebf2; font-size: 14px; }
.rw-hero__price b { color: #fff; }
.rw-hero__checks { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 28px; margin: 26px 0 0; padding: 0; list-style: none; }
.rw-hero__checks li { display: flex; align-items: center; gap: 8px; font: 400 13px var(--rw-mono); color: #e6ebf2; }
.rw-hero__checks li::before {
  content: ''; width: 16px; height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23cfd77e' d='m9.5 16.2-4.2-4.2-1.4 1.4 5.6 5.6 11-11-1.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.rw-hero__offers { position: relative; z-index: 2; margin-top: -78px; }
@media (max-width: 767px) { .rw-hero { padding: 56px 0 110px; } .rw-hero__offers { margin-top: -60px; } }

/* domain offers */
.rw-offers { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--rw-surface); border: 1px solid var(--rw-line); box-shadow: 0 8px 30px rgba(19, 41, 75, .12); }
.rw-section .rw-offers { box-shadow: none; }
.rw-offer { display: flex; flex-direction: column; align-items: center; padding: 26px 18px 30px; text-align: center; border-left: 1px solid var(--rw-line); }
.rw-offer:first-child { border-left: 0; }
.rw-offer__icon { width: 30px; height: 30px; fill: var(--rw-orange); margin-bottom: 12px; }
.rw-offer__badge {
  position: relative; display: inline-block; margin: 0 0 12px; padding: 4px 16px 4px 12px; background: var(--rw-olive); color: var(--rw-on-olive);
  font: 600 12.5px/1.3 var(--rw-sans); clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 50%, calc(100% - 9px) 100%, 0 100%);
}
.rw-offer__kicker { margin: 0; font: 600 15px/1.4 var(--rw-mono); color: var(--rw-orange-text); }
.rw-offer__tld { margin: 2px 0 12px; font: 500 15px/1.4 var(--rw-mono) !important; color: var(--rw-ink); letter-spacing: .02em; }
.rw-offer .rw-price__amount { font-size: 38px; }
.rw-offer__vat, .rw-plan__vat { margin: 4px 0 0; font-size: 12px; color: var(--rw-soft); }
.rw-offer__old { margin: 12px 0 0; font-size: 13.5px; color: var(--rw-text); }
.rw-offer__year { margin: 4px 0 16px; font-size: 12.5px; line-height: 1.5; color: var(--rw-soft); }
.rw-offer .button { margin-top: auto; padding: 11px 18px; }
@media (max-width: 991px) {
  .rw-offers { grid-template-columns: 1fr 1fr; }
  .rw-offer:nth-child(3) { border-left: 0; }
  .rw-offer:nth-child(n+3) { border-top: 1px solid var(--rw-line); }
}
@media (max-width: 480px) { .rw-offer { padding: 22px 10px 24px; } .rw-offer .rw-price__amount { font-size: 32px; } }

/* hosting plans */
.rw-plans { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; align-items: stretch; }
.rw-plan {
  position: relative; display: flex; flex-direction: column; padding: 30px 22px 24px; text-align: center;
  background: var(--rw-surface); border: 1px solid var(--rw-line); border-radius: 2px;
}
.rw-plan.is-featured { border: 2px solid var(--rw-olive); padding: 29px 21px 23px; }
.rw-plan__tag {
  position: absolute; top: -14px; left: 50%; transform: translateX(-50%); padding: 5px 12px; background: var(--rw-olive); color: var(--rw-on-olive);
  font: 600 11px/1.2 var(--rw-mono); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap;
}
.rw-plan__name { margin: 0; font: 600 19px/1.3 var(--rw-mono) !important; color: var(--rw-ink); }
.rw-plan__name span { font-weight: 400; color: var(--rw-soft); }
.rw-plan__for { min-height: 46px; margin: 8px 0 20px; font-size: 14px; line-height: 1.5; color: var(--rw-soft); }
.rw-plan__lead { margin: 0 0 4px; font-size: 13px; color: var(--rw-soft); }
.rw-plan .rw-price__amount { font-size: 46px; }
.rw-plan__year { margin: 12px 0 0; padding-bottom: 22px; border-bottom: 1px solid var(--rw-line); font-size: 14px; color: var(--rw-text); }
.rw-specs { flex: 1; margin: 20px 0 22px; padding: 0; list-style: none; text-align: left; font-size: 14.5px; }
.rw-specs li { position: relative; padding: 5px 0 5px 28px; color: var(--rw-text); }
.rw-specs li::before { content: ''; position: absolute; left: 2px; top: 8px; width: 17px; height: 17px; background: var(--rw-check) center / contain no-repeat; }
.rw-specs li b { color: var(--rw-ink); font-weight: 700; }
.rw-specs li.is-no { color: var(--rw-soft); }
.rw-specs li.is-no::before { background-image: var(--rw-cross); }
.rw-plan__cta .button { width: 100%; padding: 13px 12px; }
.rw-plan__more { margin-top: 14px; font-size: 14px; color: var(--rw-link); }
@media (max-width: 1099px) { .rw-plans { grid-template-columns: 1fr 1fr; gap: 32px 20px; } }
@media (max-width: 575px) { .rw-plans { grid-template-columns: 1fr; } .rw-plan__for { min-height: 0; } }

/* domain search box */
.rw-searchbox { max-width: 980px; margin: 0 auto; padding: clamp(28px, 5vw, 52px); background: var(--rw-surface); border: 1px solid var(--rw-line); text-align: center; }
.rw-searchbox > h2 { margin: 0; }
.rw-searchbox > p { margin: 12px 0 28px; color: var(--rw-soft); }
#domain_form .form_inline { gap: 10px; }
#domain_form .form-input { min-height: 48px; }
#domain_form .button { min-height: 48px; padding: 12px 24px; }
.rw-examples { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 16px 0 0; font-size: 14px; color: var(--rw-soft); }
.rw-examples button {
  border: 1px solid var(--rw-line-dark); border-radius: 14px; background: var(--rw-surface); padding: 3px 12px; cursor: pointer;
  font: 400 12.5px var(--rw-mono); color: var(--rw-ink);
}
.rw-examples button:hover, .rw-examples button:focus { border-color: var(--rw-olive); background: var(--rw-olive-soft); }
.list-domains .red, h6.red { color: var(--rw-orange-text) !important; }
/* style.css setzt hier fest #151515 - im dunklen Design schwarz auf schwarz (Domainbox auf /domain-preise,
   Begriffe im Impressum; Release-Prüfung 2026-10-12). --rw-ink ist hell genau #151515. */
.list-domains, .list-domains .text-mark, .list-terms-medium dt { color: var(--rw-ink); }
/* Warnung auf Olivgrün (Warenkorb: Inklusiv-Domain fehlt) - Orange war dort kaum lesbar */
.bg-primary .text-danger, .bg-primary .red { color: var(--rw-on-olive) !important; }
h6.red b { font-family: var(--rw-mono); font-weight: 600; }

/* feature cards with hexagon */
.rw-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.rw-feature { padding: 28px 26px 24px; background: var(--rw-surface); border: 1px solid var(--rw-line); border-radius: 2px; }
.rw-feature h3 { margin: 18px 0 8px; font: 600 16px/1.4 var(--rw-mono) !important; }
.rw-feature p { margin: 0; color: var(--rw-soft); font-size: 15px; }
.rw-hex {
  display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 50px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 50'%3E%3Cpath d='M22 1.2 42.5 13v24L22 48.8 1.5 37V13z' fill='%23f3f5e2' stroke='%23b6c062' stroke-width='1.6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.rw-hex svg { width: 20px; height: 20px; fill: var(--rw-olive-text); }
@media (max-width: 991px) { .rw-features { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .rw-features { grid-template-columns: 1fr; } }

/* facts strip */
.rw-facts {
  padding: 72px 0 76px; text-align: center; color: #fff;
  background: linear-gradient(rgba(35, 43, 51, .72), rgba(35, 43, 51, .72)), var(--rw-netz) center / cover no-repeat, var(--rw-slate-deep);
}
.rw-facts h2 { margin: 0 0 42px; color: #fff; }
.rw-facts__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.rw-fact__num { display: block; font: 500 clamp(3rem, 2rem + 3vw, 4.4rem)/1 var(--rw-sans); color: #fff; letter-spacing: -0.03em; }
.rw-fact__num small { position: relative; top: -1.4em; margin-right: 6px; font: 600 19px var(--rw-sans); color: var(--rw-olive); letter-spacing: 0; }
.rw-fact__num small.rw-fact__unit { margin: 0 0 0 4px; }
.rw-fact__label { display: block; margin: 16px auto 0; padding-top: 14px; max-width: 220px; border-top: 2px solid #ffffff2e; color: #c7cdd3; font-size: 15px; }
.rw-facts__award {
  display: inline-flex; align-items: center; gap: 10px; margin-top: 44px; padding: 12px 20px; border: 1px solid #ffffff3d;
  font: 400 14px var(--rw-mono); color: #fff; text-decoration: none;
}
.rw-facts__award:hover { color: #fff; border-color: var(--rw-olive); }
.rw-facts__award svg { width: 18px; height: 18px; fill: var(--rw-olive); }
@media (max-width: 767px) { .rw-facts__row { grid-template-columns: 1fr; gap: 36px; } }

/* domains page: top TLDs and transfer box */
.rw-tldtable-wrap { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 24px; align-items: start; }
.rw-tldtable-wrap > h2 { grid-column: 1 / -1; margin: 0 0 4px; font-size: 1.5rem; }
.rw-tldtable { width: 100%; background: var(--rw-surface); border: 1px solid var(--rw-line); border-collapse: collapse; font-size: 15px; }
.rw-tldtable thead th { padding: 14px 16px; border-bottom: 1px solid var(--rw-line); background: var(--rw-alt); text-align: left; font: 600 12px var(--rw-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--rw-soft); }
.rw-tldtable td, .rw-tldtable tbody th { padding: 12px 16px; border-bottom: 1px solid var(--rw-line); color: var(--rw-text); vertical-align: middle; }
.rw-tldtable small { font-size: 12.5px; color: var(--rw-soft); }
.rw-tldtable tr:last-child td, .rw-tldtable tr:last-child th { border-bottom: 0; }
.rw-tldtable .rw-tldtable__tld { background: var(--rw-surface); text-transform: none; letter-spacing: 0; font: 600 16px var(--rw-mono); color: var(--rw-ink); white-space: nowrap; }
.rw-tldtable__badge { display: inline-block; margin-left: 6px; padding: 1px 6px; background: var(--rw-olive); color: var(--rw-on-olive); font: 600 11px var(--rw-mono); vertical-align: 2px; }
.rw-tldtable .rw-tldtable__month { color: var(--rw-orange-text); font-weight: 600; white-space: nowrap; }
.rw-tldtable__year { white-space: nowrap; }
.rw-tldtable caption { caption-side: bottom; text-align: left; padding: 10px 0 0; font-size: 13px; color: var(--rw-soft); }
.rw-sidebox { padding: 26px 24px; background: var(--rw-surface); border: 1px solid var(--rw-line); }
.rw-sidebox h3 { margin: 0 0 6px; font: 600 17px/1.4 var(--rw-mono) !important; }
.rw-sidebox > p { margin: 0 0 14px; color: var(--rw-soft); font-size: 15px; }
.rw-sidebox ol { margin: 0 0 20px; padding-left: 20px; font-size: 14.5px; list-style: decimal; }
.rw-sidebox li { display: list-item; margin: 0 0 8px; padding-left: 4px; }
.rw-sidebox li::marker { font: 600 14px var(--rw-mono); color: var(--rw-olive-text); }
.rw-sidebox .button { width: 100%; margin-top: 0; }
@media (max-width: 991px) { .rw-tldtable-wrap { grid-template-columns: 1fr; } }
@media (max-width: 575px) { .rw-tldtable th:nth-child(4), .rw-tldtable td:nth-child(4) { display: none; } }

/* quotes */
.rw-quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.rw-quote { margin: 0; padding: 28px 26px; background: var(--rw-surface); border: 1px solid var(--rw-line); border-top: 3px solid var(--rw-olive); display: flex; flex-direction: column; justify-content: space-between; gap: 18px; }
.rw-quote blockquote { margin: 0; font-size: 15.5px; line-height: 1.65; color: var(--rw-text); }
.rw-quote figcaption { font: 400 13px/1.6 var(--rw-mono); color: var(--rw-soft); }
.rw-quote figcaption b { color: var(--rw-ink); font-weight: 600; }
@media (max-width: 991px) { .rw-quotes { grid-template-columns: 1fr; } }

/* FAQ */
.rw-faqgrid { display: grid; grid-template-columns: 4fr 8fr; gap: 48px; }
.rw-faqgrid h2 { margin: 0; }
.rw-faqgrid .rw-note { text-align: left; }
@media (max-width: 991px) { .rw-faqgrid { grid-template-columns: 1fr; gap: 20px; } }
.rw-faq__item { margin-bottom: 10px; background: var(--rw-surface); border: 1px solid var(--rw-line); }
.rw-faq__item summary { cursor: pointer; list-style: none; position: relative; padding: 17px 52px 17px 22px; font: 600 15.5px/1.4 var(--rw-mono); color: var(--rw-ink); }
.rw-faq__item summary::-webkit-details-marker { display: none; }
.rw-faq__item summary::after {
  content: '+'; position: absolute; right: 16px; top: 50%; width: 26px; height: 26px; margin-top: -13px; border-radius: 50%;
  background: var(--rw-olive); color: var(--rw-on-olive); font: 600 18px/26px var(--rw-sans); text-align: center;
}
.rw-faq__item[open] summary::after { content: '\2013'; }
.rw-faq__item summary:hover { color: var(--rw-link); }
.rw-faq__answer { padding: 0 22px 18px; font-size: 15px; }
.rw-faq__answer p { margin: 0 0 10px; }

/* newsletter */
.rw-news { padding: 72px 0; background: var(--rw-alt); }
.rw-section--alt + .rw-news { padding-top: 0; }
.rw-news__box { display: grid; grid-template-columns: 5fr 7fr; gap: 40px; align-items: center; background: var(--rw-surface); border: 1px solid var(--rw-line); border-top: 3px solid var(--rw-olive); padding: 36px 40px; }
.rw-news__box h2 { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); margin: 0 0 10px; }
.rw-news__box > div > p { margin: 0; color: var(--rw-soft); font-size: 15px; }
.rw-newsletter__fields { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 10px; align-items: start; }
.rw-newsletter .form-wrap { margin: 0 !important; }
.rw-newsletter .button { min-height: 52px; white-space: nowrap; margin: 0 !important; }
.rw-newsletter__legal { font-size: 12.5px !important; margin: 12px 0 0 !important; color: var(--rw-soft); }
@media (max-width: 991px) {
  .rw-news__box { grid-template-columns: 1fr; gap: 20px; padding: 26px 20px; }
  .rw-newsletter__fields { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------------- Footer */

.rw-footer { background: var(--rw-slate-deep); color: #b8bfc6; padding: 64px 0 28px; font-size: 14.5px; }
.rw-footer a { color: #e6e9ec; text-decoration: none; }
.rw-footer a:hover { color: var(--rw-olive); }
.rw-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; }
.rw-footer__brand p { margin: 0 0 20px; max-width: 360px; color: #b8bfc6; }
.rw-footer__claim { font: 500 20px/1.35 var(--rw-mono); color: #fff !important; margin: 0 0 12px !important; }
.rw-footer__badge { width: 150px; height: auto; border-radius: 4px; }
.rw-footer__title { font: 600 12px var(--rw-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--rw-olive); margin: 0 0 16px; }
.rw-footer__col ul { list-style: none; margin: 0; padding: 0; }
.rw-footer__col li { margin: 0 0 8px; }
.rw-footer__contact { font: 400 13.5px/1.9 var(--rw-mono); margin-top: 16px; }
.rw-footer__social { display: flex; gap: 16px; margin-top: 16px; font-size: 13.5px; }
.rw-footer__extra { display: flex; flex-wrap: wrap; gap: 6px 18px; list-style: none; padding: 20px 0 0; margin: 32px 0 0; border-top: 1px solid #ffffff1f; font-size: 13px; }
.rw-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin-top: 44px; padding-top: 22px; border-top: 1px solid #ffffff1f; }
.rw-footer__legal { display: flex; flex-wrap: wrap; gap: 6px 22px; list-style: none; margin: 0; padding: 0; font-size: 13.5px; }
.rw-footer__pay { display: flex; gap: 8px; margin-left: auto; }
.rw-footer__pay img { height: 28px; width: auto; border-radius: 3px; background: #fff; }
.rw-footer__copy { width: 100%; margin: 0; font-size: 12.5px; color: #9aa3ab; }
@media (max-width: 991px) { .rw-footer__grid { grid-template-columns: 1fr 1fr; } .rw-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 575px) { .rw-footer__grid { grid-template-columns: 1fr; gap: 28px; } .rw-footer__pay { margin-left: 0; } }

/* -------------------------------------------------------- Cookie-Banner */
/* cookie/script-consent.js injects its own styles later, hence !important */
.cc_dialog.cc_dialog { background: var(--rw-surface) !important; color: var(--rw-ink) !important; border-top: 4px solid var(--rw-olive) !important; padding: 30px !important; font-family: var(--rw-sans) !important; }
.cc_dialog .cc_dialog_headline { font: 500 24px/1.25 var(--rw-mono) !important; color: var(--rw-ink) !important; }
.cc_dialog .cc_dialog_text { font: 400 15px/1.6 var(--rw-sans) !important; color: var(--rw-text) !important; }
.cc_dialog .cc_dialog_text .text-green, .cc_dialog .cc_dialog_text b { color: var(--rw-ink) !important; font-weight: 600; }
/* "Allen zustimmen" and "Nur notwendige": same size, same look */
.cc_dialog button.cc_b_ok, .cc_dialog button.cc_b_rj {
  font: 700 13px/1.2 var(--rw-sans) !important; letter-spacing: .06em; text-transform: uppercase; background: var(--rw-olive) !important; color: var(--rw-on-olive) !important;
  border: 0 !important; border-radius: 2px !important; padding: 15px 22px !important; min-width: 200px;
}
.cc_dialog button.cc_b_ok:hover, .cc_dialog button.cc_b_rj:hover { background: var(--rw-olive-hover) !important; color: var(--rw-ink) !important; }
.cc_dialog button.cc_b_ok .fa-check { display: none; }
.cc_dialog button.cc_b_cp { font: 500 14px var(--rw-sans) !important; background: none !important; color: var(--rw-link) !important;
  text-decoration: underline; text-underline-offset: 3px; border: 0 !important; padding: 14px 8px !important; }
.cookie-consent-preferences-dialog, .cookie-consent-preferences-dialog * { font-family: var(--rw-sans) !important; }
.cookie-consent-preferences-dialog button.cc_b_ok, .cc_cp_f_save button { background: var(--rw-olive) !important; color: var(--rw-on-olive) !important; border-radius: 2px !important; }

/* Bootstrap modals (cart: "Domain oder Rabatt wählen") */
.modal-content { border-radius: 2px !important; border: 0 !important; border-top: 4px solid var(--rw-olive) !important; font-family: var(--rw-sans); }
.modal-title { font: 500 22px/1.3 var(--rw-mono) !important; color: var(--rw-ink); }
.modal .btn { font: 700 13px/1.35 var(--rw-sans) !important; letter-spacing: .04em !important; border-radius: 2px !important; padding: 14px 18px !important; box-shadow: none !important; }
.modal .btn-primary { background: var(--rw-olive) !important; border: 2px solid var(--rw-olive) !important; color: var(--rw-on-olive) !important; }
.modal .btn-primary:hover { background: var(--rw-olive-hover) !important; border-color: var(--rw-olive-hover) !important; }
.modal .btn-secondary, .modal .btn-alert { background: transparent !important; border: 2px solid var(--rw-btn) !important; color: var(--rw-btn) !important; }
.modal .btn-secondary:hover, .modal .btn-alert:hover { background: var(--rw-btn) !important; color: var(--rw-btn-contrast) !important; }
.modal .btn-alert span, .modal .btn-alert u { color: inherit !important; }

/* ---------------------------------------------------------- Barrierefreiheit */
.rw-skip { position: absolute; left: 12px; top: -64px; z-index: 2000; background: var(--rw-slate); color: #fff !important; padding: 12px 18px;
  font: 600 15px var(--rw-sans); border-radius: 0 0 3px 3px; text-decoration: none; transition: top .15s; }
.rw-skip:focus { top: 0; outline: 2px solid var(--rw-olive); }
main:focus { outline: 0; }
/* the template's light greys (#9b9b9b) fail 4.5:1 on white */
.text-gray-light, .text-silver, .text-gray-1, .promo-classic__price-year, .box-counter__title { color: var(--rw-soft) !important; }
.price-tag__prefix, .price-tag__unit, .price-tag__note, .price-tag__hint { color: var(--rw-soft) !important; }
.red, .red-bold, .text-danger { color: var(--rw-orange-text) !important; }
.list-terms-block dd a, .list-terms-medium a, .list-terms-medium_secondary a, .list-terms-medium_tertiary a, dl dd > a { color: var(--rw-link) !important; }

/* ------------------------------------------- Reste des alten Türkis (#66b6d0) */
/* Das Template nutzt #66b6d0 als "secondary": Reiter, Tabellenköpfe, Kästen, Zitate. */
.tabs-corporate .nav-link::before { background: var(--rw-olive) !important; }
.tabs-corporate .nav-link.active, .tabs-corporate .nav-link:hover,
.tabs-horizontal.tabs-corporate .nav-link.active, .tabs-horizontal.tabs-corporate .nav-link:hover {
  background-color: var(--rw-olive) !important; border-color: var(--rw-olive) !important; color: var(--rw-on-olive) !important;
}
.table-custom.table-custom-secondary thead th, .table-custom tr.repeated-head td { background: var(--rw-slate) !important; color: #fff !important; }
.bg-secondary { background-color: var(--rw-slate) !important; }
/* dunkler Kasten in beiden Designs: Absatz-/Fettschrift und rote Links brauchen helle Farben (Regeln für Partner) */
.bg-secondary p, .bg-secondary b, .bg-secondary strong { color: #e9edf0; }
.bg-secondary .text-danger, .bg-secondary .red { color: #f2905c !important; }
.quote-classic_secondary .quote-classic__text { color: var(--rw-text) !important; }
.link-active, .link-active .fa-external-link, p a .fa-external-link, .blue-check, .blue-check-small,
.box-summary__subject, .list-domains_secondary .text-mark { color: var(--rw-link) !important; }

/* breite Tabellen und Codeblöcke: auf schmalen Bildschirmen in sich scrollen statt abgeschnitten */
@media (max-width: 767px) { .table-custom { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } }
pre { max-width: 100%; overflow-x: auto; }

/* ------------------------------------------------ Menü, Formulare (2026-10-04) */
/* Untermenü nur bei Hover oder Tastatur-Fokus: :focus-within ließ es nach einem Klick
   (oder beim Zurückblättern) offen stehen, während die Maus schon auf dem nächsten Punkt war. */
@media (min-width: 1100px) {
  .rw-menu__item--sub:focus-within:not(:has(:focus-visible)):not(:hover):not(.is-open) > .rw-sub { opacity: 0; visibility: hidden; transform: translateY(6px); }
  .rw-menu__list:hover > .rw-menu__item--sub:not(:hover) > .rw-sub { opacity: 0; visibility: hidden; transform: translateY(6px); }
}
/* Datumsfeld: native Maske (TT.MM.JJJJ) nicht über dem Label - die Regel in style.css
   wurde von der Schriftfarbe oben (!important) überstimmt. */
.form-wrap:has(> .form-label:not(.focus)) > input[type="date"].form-input:not(:focus) { color: transparent !important; }
/* Auswahlfelder (Select2) wie die übrigen Felder statt grau und blass */
.select2-container .select2-choice { background: var(--rw-surface) !important; background-image: none !important; border: 1px solid var(--rw-line-dark) !important; color: var(--rw-ink) !important; }
.select2-container .select2-choice .select2-chosen { color: var(--rw-ink) !important; }
.select2-container-active .select2-choice { border-color: var(--rw-olive) !important; }

/* Warenkorb: passende Zusatzprodukte */
.rw-upsell { max-width: 1170px; margin: 0 auto; }
.rw-upsell__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 18px; }
.rw-upsell__item { display: flex; flex-direction: column; gap: 6px; padding: 22px; background: var(--rw-surface); border: 1px solid var(--rw-line); }
.rw-upsell__item h3 { margin: 0; font: 600 16px/1.35 var(--rw-mono) !important; }
.rw-upsell__item p { margin: 0; font-size: 14.5px; color: var(--rw-text); }
.rw-upsell__price { margin-top: auto !important; padding-top: 8px; font-weight: 600; color: var(--rw-orange-text) !important; }
.rw-upsell__item .button { margin-top: 10px; width: 100%; }
@media (max-width: 991px) { .rw-upsell__grid { grid-template-columns: 1fr; } }

/* ------------------------------------------------ Deep Audit (2026-10-04) */
/* Links im Fließtext nicht nur über die Farbe erkennbar (WCAG 1.4.1, axe link-in-text-block) */
p a:not(.btn):not(.button):not([class*="button-"]), td a:not(.btn), dd a,
.rw-faq__answer li a, .rg-content li a, .list-marked li a, .card-body li a {
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em;
}
.rw-more-link a, .rw-footer a, .rw-menu a, .rw-top a, .rw-contact a, .breadcrumbs-custom a { text-decoration: none; }
/* Hinweiszeile unter dem Seitenkopf der Paketseiten (früher orangefarbener Balken) */
p.mark.mark-red {
  display: table; margin: 0 auto 6px; padding: 9px 20px; border: 1px solid var(--rw-olive-line); border-radius: 999px;
  background: var(--rw-olive-soft) !important; color: var(--rw-ink) !important; font: 500 15px/1.45 var(--rw-mono) !important; text-align: center;
}
p.mark.mark-red u { text-decoration: none; font-weight: 600; color: var(--rw-olive-text); }
/* Rechtstexte: Zwischenüberschriften im Datenschutz waren #9b9b9b (zu wenig Kontrast) */
.list-ordered-subnum-header h4 { color: var(--rw-ink) !important; }
.rw-anchor { scroll-margin-top: 90px; }
/* Rechtstexte und Tabellen: restliche Kontrast- und Link-Funde */
.list-ordered-subnum-header h3, .table-custom th[colspan] { color: var(--rw-ink) !important; }
.list-ordered-subnum li a, caption a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.dp-badge, .dp.dp .dp-badge { color: var(--rw-on-olive) !important; }

/* ------------------------------------------------ Testnotizen (2026-10-05) */
/* Kästen mit Sechseck-Symbol: der Hover der alten Vorlage färbte Text hellblau/weiß
   auf jetzt weißem Grund (Überschrift unsichtbar) - stattdessen nur Rahmen und Schatten */
.box-lucy:hover { color: inherit; border-color: var(--rw-olive); box-shadow: 0 10px 28px rgba(21, 21, 21, .08); }
.box-lucy:hover p, .box-lucy:hover li { color: var(--rw-soft); }
.box-lucy:hover .box-lucy__title { color: var(--rw-ink); }
.box-lucy:hover .box-lucy__icon { color: var(--rw-olive-text) !important; }
.box-lucy:hover .box-lucy__icon-shape { stroke: none; }

/* Paketkarten: heben sich bei Maus oder Tastatur leicht ab, der Rahmen wird olivgrün */
.rw-plan, .biz-plan { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
@media (hover: hover) {
  .rw-plan:hover, .biz-plan:hover { transform: translateY(-4px); border-color: var(--rw-olive); box-shadow: 0 16px 36px rgba(21, 21, 21, .12); }
}
.rw-plan:focus-within, .biz-plan:focus-within { border-color: var(--rw-olive); box-shadow: 0 16px 36px rgba(21, 21, 21, .12); }
@media (prefers-reduced-motion: reduce) {
  .rw-plan, .biz-plan { transition: none; }
  .rw-plan:hover, .biz-plan:hover { transform: none; }
}
.rw-lead-center { max-width: 780px; margin: 0 auto 30px; color: var(--rw-soft); }

/* Kontakt (kontakt.php, js/kontakt.js): Formular in drei Schritten, Kontaktwege daneben */
.ct-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 56px; align-items: start; }
.ct-progress { display: flex; gap: 8px; margin: 22px 0 26px; padding: 0; list-style: none; counter-reset: ct; }
.ct-progress li { flex: 1; padding-top: 10px; border-top: 3px solid var(--rw-line); font: 500 13px/1.3 var(--rw-mono); color: var(--rw-soft); counter-increment: ct; }
.ct-progress li::before { content: counter(ct) '. '; }
.ct-progress li.is-current { border-color: var(--rw-olive); color: var(--rw-ink); font-weight: 600; }
.ct-progress li.is-done { border-color: var(--rw-olive-text); color: var(--rw-text); }
.ct-form { margin: 0; }
.ct-step { min-width: 0; margin: 0 0 34px; padding: 0; border: 0; }
.ct-form.is-stepped .ct-step:not(.is-current) { display: none; }
.ct-step__title { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; padding: 0; font: 600 18px/1.3 var(--rw-mono); color: var(--rw-ink); }
.ct-step__title span { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--rw-olive); color: #2c343b; font-size: 14px; }
.ct-topics { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ct-topic { position: relative; display: block; margin: 0; padding: 14px 16px 14px 46px; border: 1px solid var(--rw-line-dark); border-radius: 2px; background: var(--rw-white); cursor: pointer; transition: border-color .15s, background-color .15s; }
.ct-topic input { position: absolute; left: 16px; top: 17px; width: 18px; height: 18px; margin: 0; accent-color: var(--rw-olive-text); }
.ct-topic:hover { border-color: var(--rw-olive); }
.ct-topic:has(input:checked) { border: 2px solid var(--rw-olive); padding: 13px 15px 13px 45px; background: var(--rw-olive-soft); }
.ct-topic:has(input:checked) input { left: 15px; top: 16px; }
.ct-topic:has(input:focus-visible) { outline: 2px solid var(--rw-link); outline-offset: 2px; }
.ct-topic__title { display: block; font-weight: 600; color: var(--rw-ink); line-height: 1.35; }
.ct-topic__text { display: block; margin-top: 2px; font-size: 13.5px; line-height: 1.45; color: var(--rw-soft); }
.ct-shortcuts { margin: 16px 0 0; font-size: 14.5px; color: var(--rw-soft); }
.ct-quick { margin: 24px 0 0; }
.ct-quick__title { margin: 0 0 10px; font-size: 14px; font-weight: 600; color: var(--rw-ink); }
.ct-quick__links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ct-quick__link { position: relative; display: block; padding: 14px 44px 14px 16px; border: 1px dashed var(--rw-line-dark); border-radius: 2px; background: var(--rw-alt); text-decoration: none; transition: border-color .15s; }
.ct-quick__link::after { content: '\2192'; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font: 600 18px var(--rw-mono); color: var(--rw-olive); }
.ct-quick__link:hover { border-style: solid; border-color: var(--rw-olive); text-decoration: none; }
.ct-quick__link:focus-visible { outline: 2px solid var(--rw-link); outline-offset: 2px; }
.ct-quick .ct-shortcuts { margin-top: 12px; }
.ct-redirect { margin: 12px 0 0; padding: 12px 16px; border-left: 3px solid var(--rw-olive); background: var(--rw-olive-soft); font-size: 14.5px; line-height: 1.5; color: var(--rw-text); }
.ct-redirect[hidden] { display: none; }
.ct-nav { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.ct-form:not(.is-stepped) [data-ct-next], .ct-form:not(.is-stepped) [data-ct-back] { display: none; }
.ct-error { margin: 8px 0 0; font-size: 14px; font-weight: 600; color: var(--rw-error); }
.ct-help { margin: 0 0 22px; padding: 14px 18px; border-left: 3px solid var(--rw-olive); background: var(--rw-alt); }
.ct-help__title { margin: 0 0 4px; font-size: 14px; font-weight: 600; color: var(--rw-ink); }
.ct-help ul { margin: 0; padding-left: 18px; font-size: 14.5px; }
.ct-help li { margin: 2px 0; }
.ct-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.ct-field { margin: 0 0 18px; }
.ct-field .form-wrap { margin: 0; }
.ct-label { margin: 0 0 8px; font-weight: 600; color: var(--rw-ink); }
.ct-optional { font-weight: 400; color: var(--rw-soft); }
.ct-note { margin: 6px 0 0; font-size: 13px; color: var(--rw-soft); }
.ct-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.ct-choices--list { flex-direction: column; align-items: flex-start; }
.ct-chip { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 7px 14px; border: 1px solid var(--rw-line-dark); border-radius: 999px; background: var(--rw-white); font-size: 14.5px; color: var(--rw-text); cursor: pointer; }
.ct-chip input { margin: 0; accent-color: var(--rw-olive-text); }
.ct-chip:has(input:checked) { border-color: var(--rw-olive-text); background: var(--rw-olive-soft); color: var(--rw-ink); }
.ct-chip:has(input:focus-visible) { outline: 2px solid var(--rw-link); outline-offset: 2px; }
.ct-form textarea.form-input { min-height: 170px; }
.ct-done { margin: 10px 0 30px; padding: 22px 24px; border: 2px solid var(--rw-olive); background: var(--rw-olive-soft); }
.ct-done:focus { outline: none; }
.ct-aside { display: grid; gap: 20px; }
.ct-card { margin: 0; padding: 24px; border: 1px solid var(--rw-line); border-radius: 2px; background: var(--rw-white); }
.ct-card h2 { margin: 0 0 14px; }
.ct-small { margin: -6px 0 14px; font-size: 14px; color: var(--rw-soft); }
.ct-ways { margin: 0; padding: 0; list-style: none; }
.ct-ways li { display: flex; gap: 14px; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--rw-line); font-size: 14.5px; line-height: 1.45; color: var(--rw-text); }
.ct-ways li:first-child { border-top: 0; padding-top: 0; }
.ct-ways small { display: block; font-size: 12.5px; color: var(--rw-soft); }
.ct-ways a, .ct-ways b { font: 500 15px/1.4 var(--rw-mono); color: var(--rw-ink); text-decoration: none; }
.ct-ways a:hover { color: var(--rw-link); }
.ct-ways__icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: var(--rw-olive-soft); }
.ct-ways__icon svg { width: 18px; height: 18px; fill: var(--rw-olive-text); }
.ct-social { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ct-social a { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border: 1px solid var(--rw-line-dark); border-radius: 2px; color: var(--rw-ink); font-weight: 600; font-size: 14.5px; text-decoration: none; transition: border-color .15s, background-color .15s; }
.ct-social a:hover, .ct-social a:focus-visible { border-color: var(--rw-olive); background: var(--rw-olive-soft); color: var(--rw-ink); }
.ct-social svg { width: 20px; height: 20px; fill: currentColor; }
.ct-search__row { display: flex; gap: 8px; }
.ct-search__input { flex: 1; min-width: 0; height: 46px; padding: 0 14px; border: 1px solid var(--rw-line-dark); border-radius: 2px; background: var(--rw-white); color: var(--rw-ink); font-size: 15px; }
.ct-search .button { margin: 0; padding: 0 18px; height: 46px; }
.ct-search__row { align-items: flex-start; }
@media (max-width: 991px) { .ct-layout { grid-template-columns: minmax(0, 1fr); gap: 40px; } }
@media (max-width: 575px) { .ct-topics, .ct-row, .ct-quick__links { grid-template-columns: 1fr; } }

/* Warenkorb: style.css hat feste Farben (Grau #9b9b9b auf Creme #f7f8f4 = 2,6:1, dunkler Name) – an die Variablen gehängt, gilt für beide Designs */
.box-summary { color: var(--rw-ink); }
.box-summary__row { border-bottom-color: var(--rw-line); }
.cart-row__name, .cart-row__price, .cart-totals__row--total { color: var(--rw-ink); }
.cart-row__type, .cart-row__meta, .cart-row__price-note, .cart-totals__row, .box-summary__row-sub { color: var(--rw-soft); }
.cart-row__qty-badge { background: var(--rw-olive-soft); color: var(--rw-olive-text); }
.cart-row__price-note--discount { color: var(--rw-olive-text); }
.cart-totals { background: var(--rw-alt); border-top-color: var(--rw-olive); }
.cart-totals__row--total { border-bottom-color: var(--rw-line); }
.cart-quantity { background: var(--rw-surface); border-color: var(--rw-line-dark); }
.cart-quantity__btn { color: var(--rw-olive-text); background: var(--rw-alt); }
.cart-quantity__btn:hover, .cart-quantity__btn:focus { color: var(--rw-on-olive); background: var(--rw-olive); }
.cart-quantity__btn:disabled { color: var(--rw-soft); background: var(--rw-alt); opacity: .55; }
.cart-quantity__value { color: var(--rw-ink); background: var(--rw-surface); border-color: var(--rw-line-dark); }
.cart-quantity__value:focus { background: var(--rw-alt); }

/* ------------------------------------------------ Dunkles Design (2026-10-05) */
/* data-theme="dark" setzt der Kopf (includes/header.php) vor der ersten Darstellung: aus der Wahl des
   Besuchers (Schalter im Kopf, localStorage "rw-theme"), sonst aus der Systemeinstellung. Die Farben
   hängen an den Variablen oben; darunter stehen nur die Stellen der alten Vorlage mit festen Farben.
   Textfarben mindestens 4,5:1 auf ihrem Grund, wie im hellen Design (axe prüft beide). */
@media (prefers-color-scheme: dark) { :root:not([data-theme]) { background: #12161b; color-scheme: dark; } }
:root[data-theme='dark'] {
  color-scheme: dark;
  --rw-white: #12161b;
  --rw-surface: #1c232a;
  --rw-alt: #181e24;
  --rw-ink: #f2f4f6;
  --rw-text: #cbd2d9;
  --rw-soft: #a2acb6;
  --rw-line: #2c3640;
  --rw-line-dark: #46535f;
  --rw-olive-soft: #232a17;
  --rw-olive-text: #c5d073;
  --rw-olive-line: #475129;
  --rw-orange-text: #f2905c;
  --rw-link: #6cc3e2;
  --rw-link-hover: #a9e0f2;
  --rw-error: #ff8f84;
  --rw-slate: #232b33;
  --rw-slate-deep: #0e1217;
  --rw-btn: #dfe4e9;
  --rw-btn-contrast: #12161b;
  --rw-shadow: rgba(0, 0, 0, .5);
  --rw-slate-btn: #313c47;
  --rw-note: #2a2118;
  --dp-warn: #f0b45a;
  --rw-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23b6c062' d='m9.5 16.2-4.2-4.2-1.4 1.4 5.6 5.6 11-11-1.4-1.4z'/%3E%3C/svg%3E");
  --rw-cross: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2378848f' d='m18.3 7.1-1.4-1.4-4.9 4.9-4.9-4.9-1.4 1.4 4.9 4.9-4.9 4.9 1.4 1.4 4.9-4.9 4.9 4.9 1.4-1.4-4.9-4.9z'/%3E%3C/svg%3E");
}
[data-theme='dark'] .rw-logo .rw-logo__img { display: none; }
[data-theme='dark'] .rw-logo .rw-logo__img--hell { display: block; }
[data-theme='dark'] body { background: var(--rw-white); }
/* alte Vorlage: Hintergründe, Tabellen, Akkordeons, Karten, Modals, Hinweise */
[data-theme='dark'] .bg-white, [data-theme='dark'] .bg-white2, [data-theme='dark'] .section.bg-white { background-color: var(--rw-white) !important; }
[data-theme='dark'] .card, [data-theme='dark'] .list-group-item, [data-theme='dark'] .modal-content, [data-theme='dark'] .dropdown-menu { background-color: var(--rw-surface); color: var(--rw-text); border-color: var(--rw-line); }
[data-theme='dark'] .card-header { background-color: var(--rw-alt); border-color: var(--rw-line); color: var(--rw-ink); }
[data-theme='dark'] .card-corporate .card-title a, [data-theme='dark'] .card-corporate .card-collapse { background: var(--rw-surface); }
[data-theme='dark'] .card-corporate .card-title a { color: var(--rw-ink); }
[data-theme='dark'] .card-corporate .card-collapse, [data-theme='dark'] .card-corporate .card-body { color: var(--rw-text); }
[data-theme='dark'] .card-corporate .card-body { border-top-color: var(--rw-line); }
[data-theme='dark'] .card-corporate { box-shadow: 0 2px 10px var(--rw-shadow); }
[data-theme='dark'] .table-custom, [data-theme='dark'] .table-custom td { background: var(--rw-surface); color: var(--rw-text); }
[data-theme='dark'] .table-custom th { background: var(--rw-alt); color: var(--rw-ink); }
[data-theme='dark'] .table-custom tr td { border-bottom-color: var(--rw-line); }
[data-theme='dark'] .table-custom.table-custom-secondary thead th { background: var(--rw-slate) !important; }
[data-theme='dark'] .modal-header, [data-theme='dark'] .modal-footer { border-color: var(--rw-line); }
[data-theme='dark'] .modal .close, [data-theme='dark'] .close { color: var(--rw-ink); text-shadow: none; }
[data-theme='dark'] .red, [data-theme='dark'] .red-bold, [data-theme='dark'] .red-underline, [data-theme='dark'] .red-check, [data-theme='dark'] .red-check-small { color: var(--rw-orange-text); }
[data-theme='dark'] .green-check, [data-theme='dark'] .green-check-small { color: var(--rw-olive-text); }
[data-theme='dark'] .text-mark, [data-theme='dark'] .text-default, [data-theme='dark'] .text-gray { color: var(--rw-soft); }
[data-theme='dark'] .alert-danger { background: #3a1d1b; border-color: #6e302b; color: #ffcfc9; }
[data-theme='dark'] .alert-warning { background: #3a3117; border-color: #6a5a22; color: #f6e2a0; }
[data-theme='dark'] .alert-success, [data-theme='dark'] .alert-info { background: #1a2e24; border-color: #2f5a44; color: #bfe9d0; }
[data-theme='dark'] .alert a { color: inherit; }
[data-theme='dark'] hr { border-color: var(--rw-line); }
[data-theme='dark'] .tooltip-inner { background: #e9edf0; color: #151515; }
[data-theme='dark'] .page-header { background: var(--rw-white); }
[data-theme='dark'] .list-marked li::before, [data-theme='dark'] .list-checked li::before { color: var(--rw-olive-text); }
[data-theme='dark'] input::placeholder, [data-theme='dark'] textarea::placeholder { color: var(--rw-soft); }
[data-theme='dark'] .form-label { color: var(--rw-soft); }
[data-theme='dark'] .form-input:-webkit-autofill { -webkit-text-fill-color: var(--rw-ink); box-shadow: 0 0 0 40px var(--rw-surface) inset; }
[data-theme='dark'] .select2-container .select2-choice, [data-theme='dark'] .select2-drop, [data-theme='dark'] .select2-results { background: var(--rw-surface) !important; color: var(--rw-ink) !important; border-color: var(--rw-line-dark) !important; }
/* Auswahlliste (Select2): style.css hat Grau #9b9b9b auf Weiß, weiße Schrift auf Olivgrün und einen festen grauen Platzhalter */
.select2-drop { color: var(--rw-text); }
.select2-results .select2-disabled { background: var(--rw-alt); color: var(--rw-soft); }
.select2-results .select2-highlighted { color: var(--rw-on-olive); }
[data-theme='dark'] .domainresults a.btn.disabled { background: var(--rw-alt); color: var(--rw-soft); border: 1px solid var(--rw-line); opacity: 1; }   /* Ungültig / Inaktiv in den Suchergebnissen */
[data-theme='dark'] .select2-search input { background-color: var(--rw-alt); color: var(--rw-soft); border-color: var(--rw-line); }
[data-theme='dark'] .select2-search:before { color: var(--rw-soft); }
[data-theme='dark'] .select2-results .select2-highlighted { background: var(--rw-olive) !important; color: var(--rw-on-olive) !important; }
[data-theme='dark'] .cc_dialog.cc_dialog { background: var(--rw-surface) !important; color: var(--rw-ink) !important; }
[data-theme='dark'] .table-custom.table-custom-bordered th, [data-theme='dark'] .table-custom.table-custom-bordered td { border-color: var(--rw-line); }
[data-theme='dark'] .table-custom.table-custom-bordered thead > tr:first-of-type > th { background-color: var(--rw-alt) !important; color: var(--rw-ink); }
[data-theme='dark'] .table-custom.table-custom-striped { border-bottom-color: var(--rw-line); }
[data-theme='dark'] .table-custom.table-custom-striped tbody tr:nth-of-type(even) td, [data-theme='dark'] .table-custom.table-custom-secondary tbody tr:hover td { background: var(--rw-alt); }
[data-theme='dark'] .pricing-table-modern__item { background: var(--rw-surface); border-color: var(--rw-line); }
[data-theme='dark'] .card-shadow { background: var(--rw-surface); box-shadow: 0 0 0 1px var(--rw-line); }   /* z. B. Siegelkasten Partnerprogramm */
[data-theme='dark'] .card-shadow .link-image img { border-radius: 4px; }
[data-theme='dark'] .rg-img { filter: brightness(.88); }   /* helle Plesk-Screenshots in den Ratgeber-Artikeln */
[data-theme='dark'] .pricing-table-modern__item .pricing-table__item-price { color: var(--rw-ink); }
/* Quelltext-Kästen (Bootstrap: pre #f2f3f8, code #f8f9fa) und feste Inline-Farben einzelner Seiten (Partnerprogramm) */
[data-theme='dark'] pre { background-color: var(--rw-alt); color: var(--rw-text); border: 1px solid var(--rw-line); }
[data-theme='dark'] code { background-color: var(--rw-alt); color: var(--rw-error); }
[data-theme='dark'] pre code { background-color: transparent; color: inherit; }
[data-theme='dark'] [style*='color: black'] { color: var(--rw-ink) !important; }
[style*='color: red'] { color: var(--rw-orange-text) !important; }   /* #f00 hat auf Weiß nur 4:1 */
[data-theme='dark'] [style*='rgb(233, 57, 33)'] { color: var(--rw-orange-text) !important; }
[data-theme='dark'] [style*='color: green'] { color: var(--rw-olive-text) !important; }
/* Text in Tabellen und "grüner" Text: das Grau #9b9b9b und das Olivgrün #91a700 der alten Vorlage haben auf Weiß zu wenig Kontrast */
.table-custom.table-custom-bordered th, .table-custom.table-custom-bordered td { color: var(--rw-text); }
span.green, .green.big { color: var(--rw-olive-text); }

/* Schon Kunde? Paket wechseln statt ein zweites bestellen (Bestell-Fenster, Warenkorb) - eine zweite
   Paketbestellung für dieselbe Domain scheitert in der Einrichtung und wird ein Support-Fall (2026-10) */
.rw-upgrade-hint { margin: 18px 0 0; padding: 12px 16px; border-left: 3px solid var(--rw-olive); background: var(--rw-olive-soft); font-size: 14.5px; line-height: 1.5; color: var(--rw-text); text-align: left; }
.rw-upgrade-hint a { font-weight: 600; }
