/* Rauschmayer Design Studio — Prototyp-Styles (nutzt DS-Tokens) */

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--color-bg, #F8F8F8);
  color: var(--color-ink, #293132);
  font-family: 'Roboto Flex', system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.5;
}
button { font-family: inherit; color: inherit; }
a { color: var(--color-brand-140, #006A73); }

.rmd-root { min-height: 100vh; display: flex; flex-direction: column; }

/* ---------- Typo-Helfer ---------- */
.rmd-overline {
  font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--color-brand-140, #006A73); font-weight: 600; margin-bottom: 8px;
}
.rmd-h1 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 34px; line-height: 1.15; margin: 0 0 10px; }
.rmd-lead { color: #555A5B; margin: 0 0 22px; max-width: 56ch; }
.rmd-sublabel { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; color: #555A5B; margin: 22px 0 10px; }
.rmd-vatnote { font-size: 12px; color: #7F8384; font-style: normal; }

/* ---------- Kopfzeile ---------- */
.rmd-header {
  display: flex; align-items: center; gap: 14px;
  padding: 10px 20px; position: sticky; top: 0; z-index: 40;
  background: rgba(248,248,248,0.86); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border-subtle, #E9EAEA);
}
.rmd-back { border: 1px solid var(--border-subtle, #E9EAEA); background: #fff; width: 34px; height: 34px; border-radius: 4px; cursor: pointer; display: grid; place-items: center; }
.rmd-back:hover { border-color: var(--color-brand, #009BA4); color: var(--color-brand-140, #006A73); }
.rmd-wordmark { background: none; border: 0; cursor: pointer; text-align: left; display: flex; flex-direction: column; gap: 1px; }
.rmd-wordmark strong { font-family: 'Cormorant Garamond', serif; font-weight: 600; letter-spacing: 0.34em; font-size: 19px; color: var(--color-brand, #009BA4); }
.rmd-wordmark em { font-style: normal; font-size: 9.5px; letter-spacing: 0.28em; text-transform: uppercase; color: #7F8384; }
.rmd-header-right { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.rmd-consult { display: flex; align-items: center; gap: 7px; background: none; border: 0; cursor: pointer; font-size: 13px; color: #555A5B; padding: 8px; border-radius: 4px; }
.rmd-consult:hover { color: var(--color-brand-140, #006A73); background: var(--color-brand-20, #CCEBED); }
.rmd-cartbtn { position: relative; border: 1px solid var(--border-subtle, #E9EAEA); background: #fff; width: 38px; height: 38px; border-radius: 4px; cursor: pointer; display: grid; place-items: center; }
.rmd-cartbtn b {
  position: absolute; top: -6px; right: -6px; background: var(--color-brand, #009BA4); color: #fff;
  font-size: 10.5px; min-width: 17px; height: 17px; border-radius: 999px; display: grid; place-items: center; padding: 0 4px;
}

/* ---------- Einstieg ---------- */
.rmd-entry { max-width: 1060px; margin: 0 auto; padding: 44px 24px 60px; width: 100%; }
.rmd-entry-head { text-align: center; margin-bottom: 30px; }
.rmd-entry-head h1 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(36px, 5vw, 52px); margin: 6px 0 12px; }
.rmd-entry-head p { color: #555A5B; margin: 0; }
.rmd-restore {
  display: flex; align-items: center; gap: 12px; width: 100%; max-width: 620px; margin: 0 auto 26px;
  background: var(--color-brand-20, #CCEBED); border: 0; border-radius: 8px; padding: 13px 18px;
  cursor: pointer; text-align: left; color: var(--color-ink, #293132); font-size: 14px;
  transition: transform 240ms cubic-bezier(0.4,0,0.2,1);
}
.rmd-restore:hover { transform: translateY(-2px); }
.rmd-restore svg { flex: none; color: var(--color-brand-140, #006A73); }
.rmd-restore span { flex: 1; }
.rmd-entry-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rmd-tile {
  position: relative; background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px;
  padding: 0 0 18px; cursor: pointer; text-align: center; overflow: hidden;
  transition: transform 240ms cubic-bezier(0.4,0,0.2,1), box-shadow 240ms;
  display: flex; flex-direction: column; gap: 3px;
}
.rmd-tile:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -14px rgba(41,49,50,0.28); }
.rmd-tile-img { display: block; position: relative; background: #fff; margin-bottom: 12px; overflow: hidden; }
.rmd-tile-img img.rmd-tile-worn { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 420ms cubic-bezier(0.4,0,0.2,1), transform 600ms cubic-bezier(0.4,0,0.2,1); }
.rmd-tile:hover .rmd-tile-worn { opacity: 1; }
.rmd-tile-img img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; transition: transform 600ms cubic-bezier(0.4,0,0.2,1); }
.rmd-tile:hover .rmd-tile-img img { transform: scale(1.03); }
.rmd-tile-title { font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 600; }
.rmd-tile-sub { font-size: 13px; color: #7F8384; padding: 0 12px; }
.rmd-tile-go { position: absolute; top: 12px; right: 12px; width: 30px; height: 30px; border-radius: 999px; background: rgba(255,255,255,0.9); display: grid; place-items: center; opacity: 0; transition: opacity 240ms; color: var(--color-brand-140, #006A73); }
.rmd-tile:hover .rmd-tile-go { opacity: 1; }
.rmd-entry-more { text-align: center; font-size: 13px; color: #7F8384; margin-top: 22px; }
.rmd-trust-row { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 18px; }
.rmd-trust-row.is-entry { justify-content: center; margin-top: 34px; }
.rmd-trust { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; color: #555A5B; }
.rmd-trust svg { color: var(--color-brand-140, #006A73); flex: none; }

/* ---------- Studio-Layout ---------- */
.rmd-studio {
  flex: 1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(380px, 470px);
  gap: 0; align-items: stretch; max-width: 1440px; margin: 0 auto; width: 100%;
}
.rmd-studio-viewer { padding: 26px 30px; display: flex; flex-direction: column; gap: 16px; position: sticky; top: 55px; height: calc(100vh - 55px); }
.rmd-panel {
  background: #fff; border-left: 1px solid var(--border-subtle, #E9EAEA);
  display: flex; flex-direction: column; min-height: calc(100vh - 55px); padding: 22px 28px 18px;
}
.rmd-panel-scroll { flex: 1; overflow-y: auto; margin: 0 -8px; padding: 0 8px 12px; animation: rmdFade 240ms ease-out; }
@media (prefers-reduced-motion: reduce) { .rmd-panel-scroll { animation: none; } }
@keyframes rmdFade { from { transform: translateY(8px); } to { transform: none; } }
.rmd-panel-foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 14px; border-top: 1px solid var(--border-subtle, #E9EAEA); }

/* ---------- Viewer ---------- */
.rmd-viewer {
  position: relative; background: #F8F8F8; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px;
  flex: 1; min-height: 320px; display: flex; flex-direction: column; overflow: hidden;
}
.is-atmo .rmd-viewer { background: linear-gradient(180deg, #f3f1ed 0%, #e8e5df 100%); border-color: #e0dcd4; }
.rmd-viewer-stage { flex: 1; display: flex; align-items: center; justify-content: center; padding: 10px; min-height: 0; position: relative; }
.rmd-render-wrap { position: relative; height: 100%; width: fit-content; max-width: 100%; display: flex; align-items: center; justify-content: center; transition: transform 420ms cubic-bezier(0.4,0,0.2,1); }
.rmd-render-wrap > svg { width: min(76vw, 300px); height: auto; aspect-ratio: 360 / 400; max-height: 48vh; }
.rmd-render { max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: filter 420ms; }
.rmd-render.is-tall { max-height: 100%; }
.rmd-render-wrap.is-photo-wrap { width: 100%; height: 100%; min-height: 0; display: flex; align-items: center; justify-content: center; }
.rmd-render.is-photo { mix-blend-mode: normal; max-height: 100%; max-width: 100%; border-radius: 6px; object-fit: contain; }
.rmd-viewer-hint {
  position: absolute; top: 12px; left: 12px; display: flex; align-items: center; gap: 6px;
  font-size: 11.5px; color: #7F8384; background: rgba(255,255,255,0.78); border-radius: 999px; padding: 5px 11px; z-index: 4; pointer-events: none;
}
/* Aktions-Leiste links am Viewer */
.rmd-viewer-rail { position: absolute; left: 10px; top: 44px; bottom: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; z-index: 3; }
.rmd-viewer.has-mode .rmd-viewer-rail { gap: 4px; }
.rmd-viewer.has-mode .rmd-vact, .rmd-viewer.has-mode .rmd-viewer-mode button { width: 28px; height: 28px; }
.rmd-viewer.has-mode.is-full .rmd-vact, .rmd-viewer.has-mode.is-full .rmd-viewer-mode button { width: 32px; height: 32px; }
.rmd-viewer-mode { display: flex; flex-direction: column; gap: 5px; padding: 0 0 5px; margin-bottom: 2px; border-bottom: 1px solid var(--border-subtle, #E9EAEA); border-right: 0; }
.rmd-vact { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--border-subtle, #E9EAEA); background: rgba(255,255,255,0.92); border-radius: 999px; color: #555A5B; cursor: pointer; transition: color 160ms, border-color 160ms, background 160ms; }
.rmd-vact:hover { color: var(--color-brand-140, #006A73); border-color: var(--color-brand, #009BA4); background: #fff; }
.rmd-vact.is-on { color: #B4485A; border-color: #E3B6BE; background: #FCF3F4; }
.rmd-vact.is-on svg { fill: currentColor; }
.rmd-viewer.is-full { position: fixed; inset: 0; z-index: 200; border-radius: 0; border: 0; background: #fff; }
body.rmd-has-full .rmd-header { display: none; }
.rmd-viewer.is-full .rmd-viewer-rail { left: 18px; top: 8px; }
.rmd-viewer.is-full .rmd-viewer-hint { left: 22px; top: 22px; }
.rmd-viewer.is-full .rmd-viewer-stage { padding: 16px 24px; }
.rmd-viewer.is-full .rmd-viewer-caption { padding-left: 0; }
.rmd-viewer.is-full .rmd-render.is-photo { max-height: 100%; max-width: min(90vw, 560px); }
.rmd-viewer.is-full .rmd-render { max-width: min(92vw, 900px); max-height: 100%; }
.rmd-viewer.is-full .rmd-render-wrap > svg { width: min(80vw, 560px); max-height: 100%; }
.rmd-viewer-close { position: absolute; top: 14px; right: 14px; z-index: 4; height: 38px; padding: 0 16px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--border-subtle, #E9EAEA); background: #fff; border-radius: 999px; color: #293132; cursor: pointer; font-size: 13px; }
.rmd-viewer-close:hover { border-color: var(--color-brand, #009BA4); color: var(--color-brand-140, #006A73); }

/* ---------- Merkliste ---------- */
.rmd-favs { max-width: 1000px; margin: 0 auto; padding: 44px 24px 80px; }
.rmd-favs-head { margin-bottom: 28px; }
.rmd-favs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.rmd-favcard { border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px; background: #fff; overflow: hidden; display: flex; flex-direction: column; }
.rmd-favcard-main { display: flex; gap: 14px; align-items: center; text-align: left; padding: 16px; border: 0; background: none; cursor: pointer; width: 100%; }
.rmd-favcard-main .rmd-minithumb { flex: none; width: 84px !important; height: 84px !important; }
.rmd-favcard-txt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.rmd-favcard-txt strong { font-size: 15px; color: #293132; }
.rmd-favcard-txt em { font-style: normal; font-size: 11.5px; color: #AAACAD; }
.rmd-favcard-txt b { font-size: 15px; font-weight: 600; color: var(--color-brand-140, #006A73); margin-top: 4px; font-variant-numeric: tabular-nums; }
.rmd-favcard-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px; border-top: 1px solid var(--border-subtle, #E9EAEA); }
.rmd-favs-empty { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; padding: 60px 20px; border: 1px dashed var(--border-subtle, #E9EAEA); border-radius: 8px; color: #7F8384; }
.rmd-favs-empty p { max-width: 42ch; font-size: 14px; }
.rmd-dialog-note { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #7F8384; margin-top: 10px; }

/* ---------- Druckblatt ---------- */
.rmd-printsheet { display: none; }
@media print {
  body * { visibility: hidden !important; }
  .rmd-printsheet, .rmd-printsheet * { visibility: visible !important; }
  .rmd-printsheet { display: block; position: absolute; inset: 0; padding: 24mm 20mm; font-size: 11pt; color: #293132; }
}
.rmd-print-head { display: flex; align-items: baseline; gap: 14px; border-bottom: 1px solid #C4C6C7; padding-bottom: 10px; margin-bottom: 22px; }
.rmd-print-head strong { letter-spacing: 0.18em; font-size: 13pt; }
.rmd-print-head em { font-style: normal; font-size: 9pt; color: #7F8384; }
.rmd-print-body { display: flex; gap: 24px; align-items: flex-start; }
.rmd-print-body h2 { font-size: 18pt; margin: 0 0 2px; font-weight: 500; }
.rmd-print-no { font-size: 9.5pt; color: #7F8384; margin: 0 0 16px; letter-spacing: 0.06em; }
.rmd-print-body dl { margin: 0; }
.rmd-print-body dl > div { display: flex; gap: 16px; padding: 5px 0; border-bottom: 1px dotted #E9EAEA; }
.rmd-print-body dt { width: 34%; color: #7F8384; font-size: 10pt; }
.rmd-print-body dd { margin: 0; flex: 1; font-size: 10.5pt; }
.rmd-print-total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 16px; padding-top: 10px; border-top: 1px solid #C4C6C7; }
.rmd-print-total strong { font-size: 16pt; }
.rmd-print-foot { font-size: 8.5pt; color: #7F8384; margin-top: 18px; }

.rmd-viewer-engine { font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: #C4C6C7; text-align: center; padding: 0 12px 10px; }
.rmd-viewer-caption { display: flex; gap: 6px; justify-content: center; padding: 0 14px 8px; flex-wrap: wrap; }
.rmd-viewer-caption span { font-size: 11.5px; color: #7F8384; background: #F4F4F4; border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
.rmd-viewer-caption span.is-on { background: var(--color-brand-20, #CCEBED); color: var(--color-brand-140, #006A73); font-weight: 500; }
.rmd-sparkle {
  position: absolute; border-radius: 999px; pointer-events: none;
  background: radial-gradient(circle, #ffffff 0%, rgba(255,255,255,0.9) 35%, rgba(255,255,255,0) 70%);
  box-shadow: 0 0 6px 1px rgba(255,255,255,0.9), 0 0 2px rgba(120,140,150,0.4);
  transform: translate(-50%, -50%);
}
.rmd-sparkle.is-glow { box-shadow: 0 0 14px 4px rgba(255,255,255,0.95), 0 0 3px rgba(120,140,150,0.5); }
.rmd-engrave-svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.rmd-neck { width: 100%; height: 100%; }
.rmd-neck-name {
  position: absolute; left: 50%; transform: translateX(-50%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 2px 1px rgba(41,49,50,0.22));
  white-space: nowrap; line-height: 1;
  transition: opacity 240ms;
}

/* ---------- Fortschritt ---------- */
.rmd-progress { list-style: none; display: flex; gap: 2px; padding: 0; margin: 0 0 16px; }
.rmd-progress li { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 5px; position: relative; }
.rmd-progress li::before { content: ''; position: absolute; top: 14px; left: -50%; width: 100%; height: 1px; background: var(--border-subtle, #E9EAEA); }
.rmd-progress li:first-child::before { display: none; }
.rmd-progress button {
  width: 28px; height: 28px; border-radius: 999px; border: 1px solid var(--border-subtle, #E9EAEA);
  background: #fff; display: grid; place-items: center; cursor: pointer; color: #AAACAD; position: relative; z-index: 1;
}
.rmd-progress li.is-done button { border-color: var(--color-brand, #009BA4); color: var(--color-brand, #009BA4); }
.rmd-progress li.is-current button { background: var(--color-brand, #009BA4); border-color: var(--color-brand, #009BA4); color: #fff; }
.rmd-progress button:disabled { cursor: default; }
.rmd-progress em { font-style: normal; font-size: 10px; letter-spacing: 0.04em; color: #AAACAD; }
.rmd-progress li.is-current em { color: var(--color-ink, #293132); font-weight: 600; }
.rmd-progress li.is-done em { color: #555A5B; }
.rmd-progressbar { height: 4px; border-radius: 999px; background: var(--border-subtle, #E9EAEA); margin: 6px 0 20px; overflow: hidden; }
.rmd-progressbar span { display: block; height: 100%; background: var(--color-brand, #009BA4); border-radius: 999px; transition: width 420ms cubic-bezier(0.4,0,0.2,1); }

/* ---------- Ring-Tabs ---------- */
.rmd-ringtabs { display: flex; gap: 6px; align-items: center; margin-bottom: 14px; }
.rmd-ringtabs button[role="tab"] em { display: block; font-style: normal; font-size: 11px; letter-spacing: 0.02em; text-transform: none; color: #AAACAD; margin-top: 2px; }
.rmd-ringtabs button[role="tab"].is-active em { color: var(--color-brand-140, #006A73); }
.rmd-ringtabs button[role="tab"] {
  flex: 1; padding: 8px 10px; border: 1px solid var(--border-subtle, #E9EAEA); background: #fff;
  border-radius: 4px; cursor: pointer; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase;
}
.rmd-ringtabs button[role="tab"].is-active { background: var(--color-brand-20, #CCEBED); border-color: var(--color-brand, #009BA4); color: var(--color-brand-140, #006A73); font-weight: 600; }
.rmd-copyring { display: inline-flex; align-items: center; gap: 5px; border: 0; background: none; font-size: 12px; color: var(--color-brand-140, #006A73); cursor: pointer; padding: 6px; white-space: nowrap; }

/* ---------- Schritt ---------- */
.rmd-step-title { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 27px; margin: 0 0 6px; }
.rmd-step-intro { color: #555A5B; font-size: 14px; margin: 0 0 18px; text-wrap: pretty; }
.rmd-step-body { display: flex; flex-direction: column; }

/* ---------- Optionen ---------- */
.rmd-grid-1 { display: grid; gap: 8px; }
.rmd-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.rmd-opt {
  display: flex; align-items: center; gap: 13px; text-align: left; width: 100%;
  background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px;
  padding: 12px 14px; cursor: pointer; transition: border-color 140ms, box-shadow 140ms;
}
.rmd-opt:hover { border-color: #AAACAD; }
.rmd-opt.is-selected { border-color: var(--color-brand, #009BA4); box-shadow: 0 0 0 1px var(--color-brand, #009BA4) inset; }
.rmd-opt.is-small { padding: 9px 12px; }
.rmd-opt-text { flex: 1; display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.rmd-opt-title { font-weight: 600; font-size: 14.5px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.rmd-opt-meta { font-weight: 400; font-size: 12px; color: #7F8384; margin-left: auto; }
.rmd-opt-line { font-size: 12.5px; color: #555A5B; }
.rmd-opt-check { width: 20px; height: 20px; border-radius: 999px; display: grid; place-items: center; color: #fff; flex: none; }
.rmd-opt.is-selected .rmd-opt-check { background: var(--color-brand, #009BA4); }
.rmd-reco {
  font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600;
  color: var(--color-brand-140, #006A73); background: var(--color-brand-20, #CCEBED);
  border-radius: 999px; padding: 2px 8px;
}
.rmd-alloy-chip {
  width: 44px; height: 44px; border-radius: 4px; background: #F4F4F4; display: grid; place-items: center;
  font-size: 12px; font-weight: 600; color: #555A5B; flex: none; border: 1px solid rgba(41,49,50,0.08);
}
.rmd-width-chip { width: 44px; height: 44px; display: grid; place-items: center; flex: none; }
.rmd-width-chip span { display: block; width: 34px; border-radius: 2px; background: linear-gradient(180deg,#f0dca4,#d9b96a); border: 1px solid #cbb87a; }
.rmd-carat-dot { width: 44px; height: 44px; display: grid; place-items: center; flex: none; }
.rmd-carat-dot span {
  display: block; border-radius: 999px;
  background: radial-gradient(circle at 35% 30%, #ffffff 0%, #eef1f2 45%, #c7ccce 100%);
  border: 1px solid #b9bec0; box-shadow: 0 0 6px rgba(255,255,255,0.9);
}

/* Stil-Karten */
.rmd-style-card {
  background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px; overflow: hidden;
  cursor: pointer; text-align: left; padding: 0 0 12px; display: flex; flex-direction: column; gap: 2px;
  transition: transform 240ms cubic-bezier(0.4,0,0.2,1), box-shadow 240ms, border-color 140ms;
}
.rmd-style-card:hover { transform: translateY(-2px); box-shadow: 0 12px 26px -14px rgba(41,49,50,0.25); }
.rmd-style-card.is-selected { border-color: var(--color-brand, #009BA4); box-shadow: 0 0 0 1px var(--color-brand, #009BA4) inset; }
.rmd-style-img { background: #F8F8F8; margin-bottom: 8px; }
.rmd-style-more { border-style: dashed; border-color: #b8ced0; background: linear-gradient(180deg, #fdfefe, #f3fafa); align-items: center; text-align: center; justify-content: center; padding: 14px; }
.rmd-style-more:hover { border-color: var(--color-brand, #009BA4); }
.rmd-style-more .rmd-tile-plus { width: 52px; height: 52px; margin: 0 0 10px; }
.rmd-style-more:hover .rmd-tile-plus { transform: scale(1.08); }
.rmd-style-more.is-open { border-color: var(--color-brand, #009BA4); }
.rmd-morestrip { margin-top: 14px; animation: rmdFade 240ms ease-out; }
.rmd-style-img img { width: 100%; aspect-ratio: 1.35; object-fit: cover; display: block; }
.rmd-style-name { font-weight: 600; font-size: 14.5px; padding: 0 12px; }
.rmd-style-line { font-size: 12px; color: #555A5B; padding: 0 12px; }

/* ---------- Kuratierung ---------- */
.rmd-curation { margin: -6px 0 14px; }
.rmd-curation-chip {
  display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; letter-spacing: 0.05em;
  border: 1px dashed #c9a86a; color: #8a6d33; background: #faf6ec; border-radius: 999px; padding: 4px 10px; cursor: pointer;
}
.rmd-curation-body {
  border: 1px dashed #c9a86a; background: #faf6ec; border-radius: 8px; padding: 12px 14px; margin-top: 8px;
  font-size: 12.5px; color: #6b5526;
}
.rmd-curation-body p { margin: 0 0 6px; }
.rmd-curation-body p:last-child { margin: 0; }

/* Goldqualität — drei klare Karten */
.rmd-alloy-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.rmd-alloy-card {
  position: relative; background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px;
  padding: 14px 12px 12px; cursor: pointer; text-align: center; display: flex; flex-direction: column; gap: 4px; align-items: center;
  transition: border-color 140ms, box-shadow 140ms;
}
.rmd-alloy-card:hover { border-color: #AAACAD; }
.rmd-alloy-card.is-selected { border-color: var(--color-brand, #009BA4); box-shadow: 0 0 0 1px var(--color-brand, #009BA4) inset; }
.rmd-alloy-card strong { font-family: 'Cormorant Garamond', serif; font-size: 30px; font-weight: 600; line-height: 1; display: flex; align-items: baseline; gap: 4px; }
.rmd-alloy-card strong em { font-style: normal; font-family: 'Roboto Flex', sans-serif; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: #7F8384; }
.rmd-alloy-card span { font-size: 11.5px; color: #7F8384; }
.rmd-alloy-card small { font-size: 11.5px; color: #555A5B; line-height: 1.4; text-wrap: pretty; }
.rmd-alloy-card .rmd-reco { position: static; margin-top: 2px; }

/* Ringgröße — Original-Größen-Bühne */
.rmd-sizestage {
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px;
  padding: 22px 18px 16px; margin-top: 16px;
}
.rmd-sizestage-circle {
  border: 2.5px solid #d9b96a; border-radius: 999px; display: grid; place-items: center;
  box-shadow: inset 0 0 0 1.5px #f0dca4; transition: width 240ms, height 240ms;
}
.rmd-sizestage-circle em { font-style: normal; font-size: 11.5px; color: #7F8384; white-space: nowrap; }
.rmd-sizestage-caption { font-size: 12px; color: #7F8384; text-align: center; max-width: 34ch; text-wrap: pretty; }

/* Info-Knopf im Schritt-Titel */
.rmd-infobtn-step { vertical-align: 3px; margin-left: 8px; }
.rmd-step-title .rmd-infobtn-step { color: #AAACAD; }
.rmd-slider-note { margin: 0 2px 4px; min-height: 17px; }
.rmd-heads-panel .rmd-cg-head { width: 148px; }
.rmd-heads-panel { margin-top: 4px; }

.rmd-color-pill { display: inline-flex; align-items: center; gap: 6px; }
.rmd-color-dot { width: 14px; height: 14px; border-radius: 999px; border: 1px solid rgba(41,49,50,0.18); flex: none; }

/* ---------- Diverses ---------- */
.rmd-expander { margin-top: 14px; }
.rmd-expander > button { display: flex; align-items: center; gap: 7px; background: none; border: 0; cursor: pointer; font-size: 13px; color: var(--color-brand-140, #006A73); padding: 6px 0; }
.rmd-expander-body { padding: 8px 0 0; }
.rmd-fine-row { display: flex; flex-wrap: wrap; gap: 6px; }
.rmd-fine-pill { border: 1px solid var(--border-subtle, #E9EAEA); background: #fff; border-radius: 999px; padding: 6px 12px; font-size: 13px; cursor: pointer; }
.rmd-fine-pill.is-selected { border-color: var(--color-brand, #009BA4); background: var(--color-brand-20, #CCEBED); color: var(--color-brand-140, #006A73); font-weight: 600; }
.rmd-fine-note { font-size: 12.5px; color: #7F8384; margin: 10px 0 0; }
.rmd-fine-list { display: grid; gap: 6px; margin-top: 4px; }
.rmd-fine-opt { display: flex; flex-direction: column; gap: 2px; text-align: left; border: 1px solid var(--border-subtle, #E9EAEA); background: #fff; border-radius: 6px; padding: 9px 12px; cursor: pointer; }
.rmd-fine-opt strong { font-size: 13.5px; font-weight: 500; color: #293132; }
.rmd-fine-opt em { font-style: normal; font-size: 12px; color: #7F8384; }
.rmd-fine-opt.is-selected { border-color: var(--color-brand, #009BA4); background: var(--color-brand-20, #CCEBED); }
.rmd-fine-opt.is-selected strong { color: var(--color-brand-140, #006A73); font-weight: 600; }
.rmd-fine-swap { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; }
.rmd-upload-head { display: flex; align-items: center; gap: 8px; margin: 16px 0 6px; }
.rmd-infodot { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 999px; border: 1px solid var(--border-subtle, #E9EAEA); background: #fff; color: #7F8384; cursor: pointer; }
.rmd-infodot:hover { color: var(--color-brand-140, #006A73); border-color: var(--color-brand, #009BA4); }
.rmd-tops { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.rmd-top-card { display: grid; justify-items: center; gap: 4px; text-align: center; padding: 12px 10px 10px; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px; background: #fff; cursor: pointer; transition: border-color 160ms, box-shadow 160ms; }
.rmd-top-card:hover { border-color: #AAACAD; }
.rmd-top-card.is-selected { border-color: var(--color-brand, #009BA4); box-shadow: 0 0 0 1px var(--color-brand, #009BA4); }
.rmd-top-card strong { font-size: 13px; font-weight: 500; color: #293132; }
.rmd-top-card em { font-style: normal; font-size: 11.5px; color: #7F8384; line-height: 1.35; text-wrap: pretty; }
.rmd-top-price { font-size: 11.5px; font-weight: 500; color: var(--color-brand-140, #006A73); font-variant-numeric: tabular-nums; }
.rmd-infodot.is-inline { width: 17px; height: 17px; margin-left: 6px; vertical-align: middle; display: inline-grid; }
.rmd-rules { margin: 0; padding-left: 18px; display: grid; gap: 8px; font-size: 13.5px; color: #555A5B; }
.rmd-rules li { text-wrap: pretty; }
.rmd-cg-head-price { display: block; margin-top: 4px; font-size: 11.5px; font-weight: 500; color: var(--color-brand-140, #006A73); font-variant-numeric: tabular-nums; }
.rmd-customct { display: flex; gap: 6px; align-items: baseline; margin: 8px 0 0; padding: 8px 12px; border: 1px dashed var(--color-brand, #009BA4); border-radius: 6px; color: #555A5B; }
.rmd-customct b { font-weight: 500; color: var(--color-brand-140, #006A73); font-variant-numeric: tabular-nums; }
.rmd-delta { display: inline-block; font-size: 11.5px; font-weight: 500; color: #7F8384; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rmd-delta.is-up { color: var(--color-brand-140, #006A73); }
.rmd-delta.is-down { color: #7F8384; }
.rmd-fine-total { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--border-subtle, #E9EAEA); font-size: 13px; color: #555A5B; }
.rmd-fine-total b { font-size: 15px; font-weight: 500; color: #293132; font-variant-numeric: tabular-nums; margin-left: auto; }
.rmd-fine-total em { font-style: normal; font-size: 11.5px; color: #AAACAD; flex-basis: 100%; text-align: right; }
.rmd-stocklist { display: grid; gap: 6px; margin-top: 4px; }
.rmd-stone { display: flex; align-items: center; gap: 12px; text-align: left; border: 1px solid var(--border-subtle, #E9EAEA); background: #fff; border-radius: 6px; padding: 9px 12px; cursor: pointer; }
.rmd-stone:hover { border-color: #AAACAD; }
.rmd-stone.is-selected { border-color: var(--color-brand, #009BA4); background: var(--color-brand-20, #CCEBED); }
.rmd-stone-id { font-size: 11px; letter-spacing: 0.06em; color: #AAACAD; width: 62px; flex: none; font-variant-numeric: tabular-nums; }
.rmd-stone.is-selected .rmd-stone-id { color: var(--color-brand-140, #006A73); }
.rmd-stone-spec { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.rmd-stone-spec strong { font-size: 13.5px; font-weight: 500; color: #293132; }
.rmd-stone-spec em { font-style: normal; font-size: 11.5px; color: #7F8384; }
.rmd-stone-price { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 500; color: #293132; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rmd-stone.is-selected .rmd-stone-price { color: var(--color-brand-140, #006A73); }
.rmd-widthbar { margin: 18px 2px 2px; }
.rmd-widthbar-bar { border-radius: 2px; background: linear-gradient(180deg,#f0dca4,#d9b96a); border: 1px solid #cbb87a; transition: height 240ms cubic-bezier(0.4,0,0.2,1); }
.rmd-widthbar-scale { display: flex; align-items: center; gap: 8px; font-size: 11.5px; color: #7F8384; margin-top: 6px; }
.rmd-widthbar-tick { width: 34px; border-top: 1px solid #AAACAD; }
.rmd-sizecircle { display: flex; align-items: center; gap: 16px; margin-top: 16px; }
.rmd-sizecircle span { border: 2px solid var(--color-brand, #009BA4); border-radius: 999px; flex: none; transition: width 240ms, height 240ms; }
.rmd-sizecircle em { font-style: normal; font-size: 12px; color: #7F8384; max-width: 30ch; }
@media (max-width: 480px) { .rmd-alloy-cards { grid-template-columns: 1fr; } .rmd-alloy-card { flex-direction: row; text-align: left; justify-content: flex-start; gap: 12px; } }
.rmd-size-select.is-muted { opacity: 0.45; pointer-events: none; }
.rmd-unknown { display: flex; gap: 11px; align-items: flex-start; margin-top: 16px; font-size: 13.5px; cursor: pointer; background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px; padding: 13px 14px; }
.rmd-unknown input { accent-color: var(--color-brand, #009BA4); margin-top: 2px; width: 16px; height: 16px; flex: none; }
.rmd-symbols { display: flex; gap: 6px; margin: 10px 0 2px; }
.rmd-symbols button { width: 38px; height: 38px; border: 1px solid var(--border-subtle, #E9EAEA); background: #fff; border-radius: 4px; cursor: pointer; font-size: 17px; }
.rmd-symbols button:hover { border-color: var(--color-brand, #009BA4); }
.rmd-font-card {
  border: 1px solid var(--border-subtle, #E9EAEA); background: #fff; border-radius: 8px; padding: 12px 14px 9px;
  cursor: pointer; text-align: left; display: flex; flex-direction: column; gap: 4px; overflow: hidden;
}
.rmd-font-card.is-selected { border-color: var(--color-brand, #009BA4); box-shadow: 0 0 0 1px var(--color-brand, #009BA4) inset; }
.rmd-font-card span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rmd-font-card em { font-style: normal; font-size: 11px; letter-spacing: 0.05em; color: #7F8384; }
.rmd-font-card.is-wide span { font-size: 26px; }
.rmd-engrave-preview { display: flex; align-items: center; gap: 8px; margin-top: 16px; font-size: 15px; color: #555A5B; }
.rmd-magic-hint { display: flex; align-items: center; gap: 9px; margin-top: 16px; font-size: 13px; color: #555A5B; }
.rmd-magic-hint svg { color: var(--color-brand, #009BA4); flex: none; }
.rmd-chain-wrap { display: flex; gap: 18px; align-items: flex-start; }
.rmd-chain-svg { width: 170px; flex: none; }

/* ---------- Preisleiste ---------- */
.rmd-pricebar { background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px; padding: 14px 18px; }
.rmd-pricebar-lines { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; color: #555A5B; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--border-subtle, #E9EAEA); }
.rmd-priceline { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; }
.rmd-priceline-label { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.rmd-priceline-label em { font-style: normal; font-size: 11.5px; color: #AAACAD; letter-spacing: 0.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rmd-priceline b { font-weight: 500; color: #293132; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rmd-pricebar-total { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.rmd-pricebar-total span { font-size: 13px; color: #555A5B; }
.rmd-pricebar-total em { font-style: normal; font-size: 11px; color: #AAACAD; }
.rmd-pricebar-total strong { font-size: 24px; font-weight: 600; color: var(--color-brand-140, #006A73); transition: color 240ms; }
.rmd-pricebar-total strong.is-flash { color: var(--color-brand, #009BA4); }
.rmd-pricebar-delivery { display: flex; align-items: center; gap: 7px; font-size: 12.5px; color: #555A5B; margin-top: 7px; }
.rmd-pricebar-delivery svg { color: var(--color-brand-140, #006A73); }

/* ---------- Mobile Leiste ---------- */
.rmd-mobilebar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 30;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: rgba(255,255,255,0.94); backdrop-filter: blur(10px);
  border-top: 1px solid var(--border-subtle, #E9EAEA); padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
}
.rmd-mobilebar-price { display: flex; flex-direction: column; }
.rmd-mobilebar-price strong { font-size: 18px; color: var(--color-brand-140, #006A73); }
.rmd-mobilebar-price em { font-style: normal; font-size: 11px; color: #7F8384; }

/* ---------- Zusammenfassung ---------- */
.rmd-summary { flex: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(400px, 520px); max-width: 1340px; margin: 0 auto; width: 100%; gap: 34px; padding: 30px 30px 60px; }
.rmd-summary-viewer { position: sticky; top: 80px; height: calc(100vh - 110px); display: flex; flex-direction: column; }
.rmd-summary-list { margin: 0 0 20px; border-top: 1px solid var(--border-subtle, #E9EAEA); }
.rmd-summary-list > div { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--border-subtle, #E9EAEA); font-size: 14px; }
.rmd-summary-list dt { color: #7F8384; margin: 0; }
.rmd-summary-list dd { margin: 0; text-align: right; font-weight: 500; }
.rmd-summary-list dd.is-personal { font-family: 'Cormorant Garamond', serif; font-size: 16px; }
.rmd-editlink { border: 0; background: none; color: var(--color-brand-140, #006A73); font-size: 12px; cursor: pointer; margin-left: 9px; text-decoration: underline; text-underline-offset: 2px; }
.rmd-summary-price { background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px; padding: 15px 18px; margin-bottom: 18px; }
.rmd-sumline { display: flex; justify-content: space-between; font-size: 13.5px; color: #555A5B; padding: 3px 0; }
.rmd-sumline.is-total { font-size: 16px; color: var(--color-ink, #293132); padding-top: 8px; }
.rmd-sumline.is-total strong { color: var(--color-brand-140, #006A73); font-size: 21px; }
.rmd-summary-ctas { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.rmd-summary-ctas-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rmd-summary-ctas-row button { white-space: nowrap; }
.rmd-summary-jeweler { display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px 14px; margin-top: 2px; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 4px; background: #fff; font-size: 13.5px; color: #555A5B; cursor: pointer; text-align: left; }
.rmd-summary-jeweler span { flex: 1; }
.rmd-summary-jeweler:hover { border-color: var(--color-brand, #009BA4); color: var(--color-brand-140, #006A73); }
.rmd-dialog-text { font-size: 14px; color: #555A5B; margin: 0 0 14px; }
.rmd-sharelink { display: flex; align-items: center; gap: 9px; background: #F4F4F4; border-radius: 4px; padding: 11px 14px; font-size: 14px; font-weight: 500; letter-spacing: 0.02em; }
.rmd-jeweler { display: flex; gap: 11px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid var(--border-subtle, #E9EAEA); }
.rmd-jeweler:last-child { border-bottom: 0; }
.rmd-jeweler > span { display: flex; flex-direction: column; }
.rmd-jeweler em { font-style: normal; font-size: 12.5px; color: #7F8384; }
.rmd-jeweler svg { color: var(--color-brand-140, #006A73); margin-top: 2px; flex: none; }

/* ---------- Checkout ---------- */
.rmd-checkout { flex: 1; max-width: 1080px; margin: 0 auto; width: 100%; padding: 26px 24px 50px; }
.rmd-checkout-steps { list-style: none; display: flex; justify-content: center; gap: 6px; padding: 0; margin: 0 0 26px; flex-wrap: wrap; }
.rmd-checkout-steps li { display: flex; align-items: center; gap: 6px; }
.rmd-checkout-steps li:not(:first-child)::before { content: '—'; color: #D4D6D6; margin-right: 6px; }
.rmd-checkout-steps button { border: 0; background: none; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: #AAACAD; cursor: pointer; padding: 4px 2px; }
.rmd-checkout-steps li.is-current button { color: var(--color-ink, #293132); font-weight: 600; border-bottom: 2px solid var(--color-brand, #009BA4); }
.rmd-checkout-steps li.is-done button { color: var(--color-brand-140, #006A73); }
.rmd-checkout-steps button:disabled { cursor: default; }
.rmd-page { animation: rmdFade 240ms ease-out; }
.rmd-narrow { max-width: 620px; margin: 0 auto; }
.rmd-empty { text-align: center; padding: 60px 0; color: #7F8384; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.rmd-cart-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 30px; align-items: start; }
.rmd-cart-item { position: relative; display: flex; gap: 16px; background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px; padding: 18px; margin-bottom: 14px; }
.rmd-cart-thumb { flex: none; }
.rmd-minithumb { display: grid; place-items: center; background: #F4F4F4; border-radius: 8px; overflow: hidden; }
.rmd-minithumb img { width: 86%; height: 86%; object-fit: contain; mix-blend-mode: multiply; }
.rmd-minithumb svg { width: 100%; height: 100%; }
.rmd-cart-main { flex: 1; min-width: 0; }
.rmd-cart-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.rmd-cart-head h3 { font-family: 'Cormorant Garamond', serif; font-size: 21px; font-weight: 600; margin: 0 0 8px; }
.rmd-cart-head strong { color: var(--color-brand-140, #006A73); }
.rmd-cart-specs { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 2px 22px; }
.rmd-cart-specs > div { display: flex; justify-content: space-between; gap: 8px; font-size: 12.5px; padding: 2.5px 0; border-bottom: 1px dotted var(--border-subtle, #E9EAEA); }
.rmd-cart-specs dt { color: #7F8384; margin: 0; }
.rmd-cart-specs dd { margin: 0; text-align: right; }
.rmd-cart-specs dd.is-personal { font-family: 'Cormorant Garamond', serif; font-size: 14px; }
.rmd-cart-delivery { display: flex; align-items: center; gap: 7px; font-size: 12.5px; color: #555A5B; margin-top: 10px; }
.rmd-cart-remove { position: absolute; top: 10px; right: 10px; border: 0; background: none; color: #AAACAD; cursor: pointer; padding: 6px; }
.rmd-cart-remove:hover { color: var(--color-ink, #293132); }
.rmd-spelling { display: flex; gap: 11px; align-items: flex-start; margin-top: 13px; font-size: 12.5px; cursor: pointer; background: #FBF7EE; border: 1px solid #E8D9B5; border-radius: 8px; padding: 11px 13px; }
.rmd-spelling.is-ok { background: var(--color-brand-20, #CCEBED); border-color: var(--color-brand, #009BA4); }
.rmd-spelling input { accent-color: var(--color-brand, #009BA4); margin-top: 2px; flex: none; width: 15px; height: 15px; }
.rmd-spelling em { font-style: normal; color: #7F8384; }
.rmd-cart-summary { background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px; padding: 18px; position: sticky; top: 80px; }
.rmd-cart-summary h3 { font-family: 'Cormorant Garamond', serif; font-size: 20px; margin: 0 0 10px; font-weight: 600; }
.rmd-spelling-hint { display: flex; gap: 7px; font-size: 12px; color: #8a6d33; margin: 10px 0; }
.rmd-quietlink { display: inline-flex; align-items: center; gap: 7px; border: 0; background: none; color: #555A5B; font-size: 13.5px; cursor: pointer; padding: 8px 0; }
.rmd-quietlink:hover { color: var(--color-brand-140, #006A73); }
.rmd-form { display: flex; flex-direction: column; gap: 14px; }
.rmd-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rmd-form-row.is-plz { grid-template-columns: 130px 1fr; }
.rmd-checkout-nav { display: flex; justify-content: space-between; align-items: center; margin-top: 26px; gap: 14px; }
.rmd-gift-opts { margin-left: 26px; display: flex; flex-direction: column; }
.rmd-gift-opts .rmd-unknown { margin-top: 8px; }
.rmd-payfail { display: flex; gap: 12px; background: #FDF1EC; border: 1px solid #EFC4B2; border-radius: 8px; padding: 14px 16px; margin-bottom: 18px; }
.rmd-payfail svg { color: #B4552D; flex: none; margin-top: 2px; }
.rmd-payfail strong { color: #8F3F1E; }
.rmd-payfail p { margin: 4px 0 0; font-size: 13px; color: #555A5B; }
.rmd-paysummary { display: flex; justify-content: space-between; align-items: baseline; margin-top: 18px; padding: 13px 16px; background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px; }
.rmd-paysummary strong { font-size: 20px; color: var(--color-brand-140, #006A73); }
.rmd-reassure { display: flex; flex-wrap: wrap; gap: 10px 24px; justify-content: center; margin-top: 34px; padding-top: 18px; border-top: 1px solid var(--border-subtle, #E9EAEA); }

/* Concierge: 3D-Spalte, Inspiration, Details, Teilen */
.rmd-cg-cols { display: grid; grid-template-columns: 340px 1fr; gap: 16px; align-items: start; margin-top: 14px; }
.rmd-cg-cols.is-wide { grid-template-columns: 1.15fr 0.85fr; }
.rmd-cg-viewer.is-cad .rmd-viewer-stage { min-height: 440px; }
.rmd-cg-concept { overflow: hidden; }
.rmd-cg-concept .rmd-viewer-stage { min-height: 320px; display: grid; place-items: center; }
.rmd-cg-concept-img { width: 100%; height: 100%; max-height: 360px; object-fit: cover; border-radius: 6px; }
.rmd-cg-concept-badge {
  position: absolute; top: 12px; left: 12px; z-index: 2; display: inline-flex; align-items: center; gap: 5px;
  font-size: 10.5px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
  background: rgba(255,255,255,0.92); color: var(--color-brand-140, #006A73);
  border-radius: 999px; padding: 4px 10px; box-shadow: 0 2px 8px rgba(41,49,50,0.10);
}
.rmd-cg-colviewer { position: sticky; top: 74px; }
.rmd-cg-viewer .rmd-viewer-stage { overflow: hidden; }
.rmd-cg-viewer .rmd-render-wrap { transition: none; will-change: transform; }
.rmd-cg-viewer .rmd-viewer-engine { position: static; text-align: center; padding: 0 12px 12px; }
.rmd-cg-viewer .rmd-viewer-hint { max-width: calc(100% - 24px); }
.rmd-cg .rmd-cg-head-block { max-width: 620px; margin-left: auto; margin-right: auto; }
.rmd-cg .rmd-cg-notice { max-width: 640px; margin-left: auto; margin-right: auto; }
.rmd-cg-concept .rmd-viewer-stage { padding: 40px 14px 10px; }
@media (max-width: 860px) {
  .rmd-cg-cols { grid-template-columns: 1fr; }
  .rmd-cg-colviewer { position: static; }
  .rmd-cg-viewer.rmd-viewer.is-tall { min-height: 300px; }
  .rmd-cg-viewer.is-cad .rmd-viewer-stage { min-height: 320px; }
  .rmd-cg-nav { flex-wrap: wrap; }
  .rmd-cg-nav > * { flex: 1; }
}
@media (max-width: 640px) {
  .rmd-cg-text, .rmd-cg input[type="text"], .rmd-cg input:not([type]), .rmd-cg select { font-size: 16px; }
  .rmd-cg-listhead { flex-wrap: wrap; }
  .rmd-cg-listhead > div { max-width: none; width: 100%; }
  .rmd-reco-card strong { font-size: 26px; }
}
.rmd-inspo-row { display: flex; gap: 10px; overflow-x: auto; padding: 2px 2px 6px; scroll-snap-type: x proximity; }
.rmd-inspo-card {
  flex: none; width: 118px; scroll-snap-align: start; border: 1px solid var(--border-subtle, #E9EAEA);
  background: #fff; border-radius: 8px; padding: 6px 6px 8px; cursor: pointer; display: flex; flex-direction: column; gap: 6px;
  transition: border-color 140ms;
}
.rmd-inspo-card:hover { border-color: var(--color-brand, #009BA4); }
.rmd-inspo-card img { width: 100%; height: 74px; object-fit: cover; border-radius: 5px; background: #F5F6F6; }
.rmd-inspo-card span { font-size: 11.5px; color: #555A5B; line-height: 1.35; text-align: center; text-wrap: pretty; }
.rmd-spec-grid { display: grid; grid-template-columns: auto 1fr auto 1fr; gap: 8px 14px; font-size: 13px; }
.rmd-spec-grid span { color: #7F8384; }
.rmd-spec-grid strong { font-weight: 600; color: #293132; }
@media (max-width: 560px) { .rmd-spec-grid { grid-template-columns: auto 1fr; } }
.rmd-cg-share { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border-subtle, #E9EAEA); }
.rmd-cg-sharebtn {
  display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 600;
  border: 1px solid var(--border-strong, #C6C8C8); background: #fff; color: #293132;
  border-radius: 4px; padding: 8px 14px; cursor: pointer; transition: border-color 140ms, background 140ms;
}
.rmd-cg-sharebtn:hover { border-color: var(--color-brand, #009BA4); color: var(--color-brand-140, #006A73); }
.rmd-cg-sharelink { font-size: 11.5px; color: #AAACAD; letter-spacing: 0.02em; }

/* Concierge-Flow */
.rmd-cg-progress { display: flex; flex-direction: column; align-items: center; gap: 6px; margin-bottom: 10px; }
.rmd-cg-dots { display: flex; gap: 7px; }
.rmd-cg-dots span { width: 8px; height: 8px; border-radius: 999px; background: #D5D6D6; transition: background 240ms; }
.rmd-cg-dots span.is-on { background: var(--color-brand, #009BA4); }
.rmd-cg-dots span.is-done { background: var(--color-brand-60, #66C3C8); }
.rmd-cg-head-block { text-align: center; margin-bottom: 18px; }
.rmd-cg-rule { display: block; width: 44px; height: 2px; background: var(--color-brand, #009BA4); margin: 14px auto 0; }
.rmd-cg-paths { display: grid; gap: 12px; margin-top: 18px; }
.rmd-cg-path {
  position: relative; text-align: left; background: #fff; border: 1px solid var(--border-subtle, #E9EAEA);
  border-left: 3px solid var(--color-brand, #009BA4); border-radius: 8px; padding: 20px 22px 18px;
  cursor: pointer; display: flex; flex-direction: column; gap: 6px;
  transition: transform 240ms cubic-bezier(0.4,0,0.2,1), box-shadow 240ms;
}
.rmd-cg-path:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(41,49,50,0.10); }
.rmd-cg-path strong { font-family: 'Cormorant Garamond', serif; font-size: 21px; font-weight: 600; }
.rmd-cg-path > span:not(.rmd-cg-path-icon) { font-size: 13.5px; color: #555A5B; line-height: 1.5; text-wrap: pretty; }
.rmd-cg-path em { font-style: normal; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-brand-140, #006A73); display: inline-flex; align-items: center; gap: 5px; margin-top: 4px; }
.rmd-cg-path-icon { width: 40px; height: 40px; border-radius: 999px; background: var(--color-brand-20, #CCEBED); color: var(--color-brand-140, #006A73); display: grid; place-items: center; margin-bottom: 4px; }
.rmd-cg-nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 20px; }
.rmd-cg-notice {
  display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--color-brand-140, #006A73);
  background: var(--color-brand-20, #CCEBED); border-radius: 6px; padding: 10px 14px; margin-bottom: 4px;
}
.rmd-cg-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.rmd-cg-field:last-child { margin-bottom: 0; }
.rmd-cg-hint { font-style: normal; text-transform: none; letter-spacing: 0; font-weight: 400; color: #AAACAD; font-size: 11.5px; }
.rmd-cg-listhead { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.rmd-cg-listhead > div { max-width: 210px; }
.rmd-diamond-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.rmd-diamond-card {
  background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px; padding: 14px 10px 12px;
  cursor: pointer; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 4px;
  transition: border-color 140ms, box-shadow 140ms;
}
.rmd-diamond-card:hover { border-color: #AAACAD; }
.rmd-diamond-card.is-selected { border-color: var(--color-brand, #009BA4); box-shadow: 0 0 0 1px var(--color-brand, #009BA4) inset; }
.rmd-diamond-card strong { font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 600; line-height: 1.1; }
.rmd-diamond-spec { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; color: #7F8384; }
.rmd-diamond-card em { font-style: normal; font-size: 13.5px; font-weight: 600; color: var(--color-brand-140, #006A73); }
.rmd-reco-wrap { background: #FAFDFD; }
.rmd-reco-card { width: 100%; padding: 18px 14px 16px; position: relative; margin-top: 8px; border-color: var(--color-brand, #009BA4); }
.rmd-reco-card strong { font-size: 30px; }
.rmd-reco-badge {
  position: absolute; top: -10px; left: 50%; transform: translateX(-50%); white-space: nowrap;
  display: inline-flex; align-items: center; gap: 4px; font-size: 10.5px; font-weight: 600; letter-spacing: 0.06em;
  text-transform: uppercase; background: var(--color-brand, #009BA4); color: #fff; border-radius: 999px; padding: 3px 10px;
}
.rmd-cg-budgetinfo {
  display: flex; flex-direction: column; gap: 6px; font-size: 12px; color: #555A5B; line-height: 1.5;
  background: #F5F6F6; border-left: 3px solid var(--color-brand, #009BA4); border-radius: 0 6px 6px 0; padding: 12px 14px;
}
.rmd-cg-budgetinfo strong { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: #293132; }
.rmd-cg-budgetinfo span.is-on { color: var(--color-brand-140, #006A73); }
.rmd-cg-budgetinfo span.is-on b { color: inherit; }
@media (max-width: 560px) { .rmd-diamond-grid { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Ihre Idee (Concierge) ---------- */
.rmd-idea-rot { position: relative; }
.rmd-idea-rot img { position: absolute; inset: 0; height: 100%; opacity: 0; transition: opacity 700ms ease-out; }
.rmd-idea-rot img:first-child { position: relative; }
.rmd-idea-rot img.is-on { opacity: 1; }
.rmd-idea-rot .rmd-tile-plus { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 48px; height: 48px; margin: 0; background: rgba(255,255,255,0.92); backdrop-filter: blur(6px); }
.rmd-tile-idea:hover .rmd-idea-rot .rmd-tile-plus { transform: translate(-50%, -50%) scale(1.08); }
.rmd-tile-idea { border-style: dashed; border-color: #b8ced0; background: linear-gradient(180deg, #fdfefe, #f3fafa); justify-content: center; }
.rmd-tile-idea:hover { border-color: var(--color-brand, #009BA4); }
.rmd-tile-plus {
  width: 62px; height: 62px; border-radius: 999px; border: 1.5px dashed var(--color-brand, #009BA4);
  color: var(--color-brand, #009BA4); display: grid; place-items: center; margin: 28px auto 14px;
  background: #fff; transition: transform 240ms cubic-bezier(0.4,0,0.2,1);
}
.rmd-tile-idea:hover .rmd-tile-plus { transform: scale(1.08); }
.rmd-cg { padding-bottom: 70px; }
.rmd-cg-section { background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px; padding: 20px 22px 18px; margin-top: 16px; }
.rmd-cg-sechead { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.rmd-cg-sechead h2 { font-family: 'Cormorant Garamond', serif; font-weight: 600; font-size: 21px; margin: 0; }
.rmd-cg-sechead em { font-style: normal; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: #AAACAD; }
.rmd-cg-no {
  font-size: 11px; font-weight: 600; letter-spacing: 0.08em; color: var(--color-brand-140, #006A73);
  border: 1px solid var(--color-brand-20, #CCEBED); background: var(--color-brand-20, #CCEBED);
  border-radius: 999px; padding: 3px 9px;
}
.rmd-infobtn {
  border: 0; background: none; color: #AAACAD; cursor: pointer; padding: 3px;
  display: inline-grid; place-items: center; vertical-align: middle; border-radius: 999px;
}
.rmd-infobtn:hover { color: var(--color-brand-140, #006A73); background: var(--color-brand-20, #CCEBED); }
.rmd-cg-startgrid { display: grid; grid-template-columns: 220px 1fr; gap: 12px; }
.rmd-cg-upload {
  position: relative; border: 1.5px dashed #b8ced0; border-radius: 8px; background: #FAFCFC;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  cursor: pointer; padding: 18px 14px; color: #555A5B; min-height: 150px; overflow: hidden;
}
.rmd-cg-upload:hover { border-color: var(--color-brand, #009BA4); color: var(--color-brand-140, #006A73); }
.rmd-cg-upload strong { font-size: 13.5px; }
.rmd-cg-upload em { font-style: normal; font-size: 11.5px; color: #7F8384; text-align: center; }
.rmd-cg-upload.has-img { padding: 0; border-style: solid; }
.rmd-cg-upload-hint { opacity: 0.22; object-fit: contain !important; padding: 12px; box-sizing: border-box; pointer-events: none; transition: opacity 240ms cubic-bezier(0.4,0,0.2,1); }
.rmd-cg-upload:hover .rmd-cg-upload-hint { opacity: 0.34; }
.rmd-cg-upload > :not(.rmd-cg-upload-hint) { position: relative; z-index: 1; }
.rmd-cg-upload img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rmd-cg-upload-name {
  position: absolute; left: 8px; bottom: 8px; right: 8px; display: flex; align-items: center; gap: 5px;
  font-size: 11px; background: rgba(255,255,255,0.92); border-radius: 4px; padding: 5px 8px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rmd-cg-text {
  width: 100%; resize: vertical; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px;
  padding: 12px 14px; font: inherit; font-size: 14px; color: inherit; background: #fff; min-height: 150px;
}
.rmd-cg-text:focus { outline: none; border-color: var(--color-brand, #009BA4); box-shadow: 0 0 0 1px var(--color-brand, #009BA4); }
.rmd-cg-text::placeholder, .rmd-cg input::placeholder { color: #AAACAD; opacity: 1; font-style: italic; }
.rmd-viewer-mode { display: flex; flex-direction: column; gap: 5px; z-index: 2; }
.rmd-viewer-mode button { width: 32px; height: 32px; border-radius: 999px; border: 1px solid var(--border-subtle, #E9EAEA); background: rgba(255,255,255,0.92); color: #7F8384; display: grid; place-items: center; cursor: pointer; transition: border-color 140ms, color 140ms; }
.rmd-viewer-mode button:hover { border-color: #AAACAD; }
.rmd-viewer-mode button.is-active { border-color: var(--color-brand, #009BA4); color: var(--color-brand-140, #006A73); box-shadow: 0 0 0 1px var(--color-brand, #009BA4) inset; }
.rmd-hand { position: absolute; inset: 18px; display: flex; align-items: center; justify-content: center; }
.rmd-hand-fit { position: relative; height: 100%; }
.rmd-hand-photo { height: 100%; width: auto; max-width: 100%; object-fit: contain; border-radius: 6px; display: block; }
.rmd-hand-ring { position: absolute; pointer-events: none; transform: translate(-50%, -50%); }
.rmd-hand-ring img, .rmd-hand-ring svg { width: 100%; height: auto; mix-blend-mode: multiply; }
.rmd-hand-note { position: absolute; left: 50%; bottom: 10px; transform: translateX(-50%); font-style: normal; font-size: 10.5px; color: #fff; background: rgba(41,49,50,0.55); border-radius: 999px; padding: 4px 11px; white-space: nowrap; }
.rmd-render-head { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.rmd-upload { display: flex; flex-direction: column; align-items: center; gap: 7px; width: 100%; padding: 22px 16px; border: 1.5px dashed var(--border-strong, #C4C6C7); border-radius: 8px; background: #FBFBFB; cursor: pointer; color: #54595A; text-align: center; transition: border-color 140ms, background 140ms; }
.rmd-upload:hover, .rmd-upload.is-over { border-color: var(--color-brand, #009BA4); background: #F3FAFA; }
.rmd-upload img { width: 72px; height: 72px; object-fit: contain; border-radius: 4px; background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); }
.rmd-upload strong { font-size: 13.5px; }
.rmd-upload em { font-style: normal; font-size: 11.5px; color: #7F8384; line-height: 1.5; max-width: 360px; }
.rmd-upload > svg { color: var(--color-brand-140, #006A73); }
.rmd-style-meta { font-size: 11.5px; color: var(--color-brand-140, #006A73); letter-spacing: .02em; }
.rmd-cg-head-meta { font-size: 11px; font-weight: 500; color: var(--color-brand-140, #006A73); }
.rmd-arm { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; width: 100%; padding: 0 18px; }
.rmd-arm-row { display: flex; align-items: center; width: 100%; max-width: 460px; }
.rmd-arm-strand { flex: 1; border-top: 2.5px dashed currentColor; align-self: center; }
.rmd-arm-name { flex: 0 0 auto; padding: 0 10px; -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 2px 1px rgba(41,49,50,0.22)); white-space: nowrap; line-height: 1.25; transition: opacity 240ms; }
.rmd-arm-hint { margin: 0; font-size: 11.5px; color: #7F8384; letter-spacing: .06em; text-transform: uppercase; text-align: center; }
.rmd-cg-shapes { display: flex; gap: 8px; overflow-x: auto; padding: 2px; scroll-snap-type: x proximity; }
.rmd-cg-shape {
  flex: none; width: 86px; scroll-snap-align: start; display: flex; flex-direction: column; align-items: center; gap: 4px;
  border: 1px solid var(--border-subtle, #E9EAEA); background: #fff; border-radius: 8px; padding: 12px 6px 10px;
  cursor: pointer; color: #555A5B;
}
.rmd-cg-shape svg { width: 40px; height: 40px; }
.rmd-cg-shape span { font-size: 12px; }
.rmd-cg-shape:hover { border-color: #AAACAD; }
.rmd-cg-shape.is-selected { border-color: var(--color-brand, #009BA4); box-shadow: 0 0 0 1px var(--color-brand, #009BA4) inset; color: var(--color-brand-140, #006A73); }
.rmd-cg-slider { margin: 18px 2px 6px; }
.rmd-cg-slider-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 4px; }
.rmd-cg-slider-label { font-size: 13.5px; font-weight: 600; }
.rmd-cg-slider-head strong { font-size: 14px; color: var(--color-brand-140, #006A73); font-variant-numeric: tabular-nums; }
.rmd-cg-slider input[type="range"] { width: 100%; accent-color: var(--color-brand, #009BA4); height: 22px; }
.rmd-cg-marks { display: flex; justify-content: space-between; font-size: 11px; color: #AAACAD; margin-top: 1px; }
.rmd-cg-scale-note { margin: 2px 2px 0; min-height: 18px; }
.rmd-cg-heads { display: flex; gap: 10px; overflow-x: auto; padding: 2px 2px 6px; scroll-snap-type: x proximity; }
.rmd-cg-head {
  position: relative; flex: none; width: 132px; scroll-snap-align: start; text-align: center;
  border: 1px solid var(--border-subtle, #E9EAEA); background: #fff; border-radius: 8px; padding: 10px 10px 12px;
  cursor: pointer; display: flex; flex-direction: column; gap: 3px;
}
.rmd-cg-head:hover { border-color: #AAACAD; }
.rmd-cg-head.is-selected { border-color: var(--color-brand, #009BA4); box-shadow: 0 0 0 1px var(--color-brand, #009BA4) inset; }
.rmd-cg-head-img { height: 76px; display: grid; place-items: center; background: #F8F8F8; border-radius: 6px; margin-bottom: 5px; color: #AAACAD; overflow: hidden; }
.rmd-cg-head-img img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.rmd-cg-head strong { font-size: 12.5px; }
.rmd-cg-head em { font-style: normal; font-size: 11px; color: #7F8384; line-height: 1.35; }
.rmd-cg-head-check {
  position: absolute; top: 6px; right: 6px; width: 18px; height: 18px; border-radius: 999px;
  background: var(--color-brand, #009BA4); color: #fff; display: grid; place-items: center;
}
.rmd-cg-estimate {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 14px;
  padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--border-subtle, #E9EAEA);
}
.rmd-cg-estimate > span { font-size: 13px; font-weight: 600; display: flex; flex-direction: column; flex: 1 1 100%; min-width: 0; }
.rmd-cg-estimate em { font-style: normal; font-weight: 400; font-size: 11.5px; color: #7F8384; text-wrap: pretty; }
.rmd-cg-estimate strong { font-size: 22px; color: var(--color-brand-140, #006A73); white-space: nowrap; flex: none; margin-left: auto; }
.rmd-cg-describe { border-left: 2px solid var(--color-brand, #009BA4); padding: 2px 0 2px 14px; margin-bottom: 18px; display: grid; gap: 4px; }
.rmd-cg-describe p { margin: 0; font-family: 'Cormorant Garamond', serif; font-size: 19px; line-height: 1.38; color: #293132; text-wrap: pretty; }
.rmd-cg-describe em { font-style: normal; font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; color: #AAACAD; }
.rmd-cg-sendbox { display: grid; gap: 12px; }
.rmd-cg-sendlead { margin: 0; font-size: 13px; color: #555A5B; text-wrap: pretty; }
.rmd-cg-sendfields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 640px) { .rmd-cg-sendfields { grid-template-columns: 1fr; } }
.rmd-cg-contact { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; margin-bottom: 8px; }
@media (max-width: 640px) {
  .rmd-cg-startgrid { grid-template-columns: 1fr; }
  .rmd-cg-contact { grid-template-columns: 1fr; }
  .rmd-cg-estimate { flex-direction: column; gap: 4px; }
}

/* ---------- Bestätigung ---------- */
.rmd-confirm { padding-top: 20px; }
.rmd-confirm-mark { width: 58px; height: 58px; border-radius: 999px; background: var(--color-brand, #009BA4); color: #fff; display: grid; place-items: center; margin: 0 auto 16px; }
.rmd-confirm-piece { display: flex; justify-content: center; margin: 18px 0; }
.rmd-timeline { list-style: none; padding: 0; margin: 26px 0; border-left: 2px solid var(--color-brand-20, #CCEBED); }
.rmd-timeline li { position: relative; padding: 0 0 18px 22px; }
.rmd-timeline li::before { content: ''; position: absolute; left: -6px; top: 5px; width: 10px; height: 10px; border-radius: 999px; background: #fff; border: 2px solid var(--color-brand, #009BA4); }
.rmd-timeline li.is-now::before { background: var(--color-brand, #009BA4); }
.rmd-timeline b { display: block; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; }
.rmd-timeline span { font-size: 13.5px; color: #555A5B; }
.rmd-aftercare { background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 8px; padding: 16px 18px; margin-bottom: 22px; }
.rmd-aftercare h3 { font-family: 'Cormorant Garamond', serif; margin: 0 0 6px; font-size: 19px; font-weight: 600; }
.rmd-aftercare p { margin: 0; font-size: 13.5px; color: #555A5B; }

/* ---------- Mobil ---------- */
@media (max-width: 860px) {
  .rmd-studio { display: flex; flex-direction: column; }
  .rmd-studio-viewer { position: static; height: auto; padding: 12px 14px 0; }
  .rmd-viewer { min-height: 34vh; }
  .rmd-viewer-stage { padding: 10px; }
  .rmd-render { max-height: 26vh; }
  .rmd-render.is-tall { max-height: 28vh; }
  .rmd-render-wrap > svg { max-height: 26vh; }
  .rmd-panel { border-left: 0; border-top: 1px solid var(--border-subtle, #E9EAEA); min-height: 0; padding: 16px 16px 84px; border-radius: 16px 16px 0 0; margin-top: 12px; box-shadow: 0 -8px 24px -18px rgba(41,49,50,0.35); }
  .rmd-panel-foot { display: none; }
  .rmd-progress em { display: none; }
  .rmd-grid-2 { grid-template-columns: 1fr; }
  .rmd-entry-tiles { grid-template-columns: 1fr 1fr; }
  .rmd-summary { display: flex; flex-direction: column; padding: 16px 16px 50px; gap: 18px; }
  .rmd-summary-viewer { position: static; height: auto; }
  .rmd-summary-viewer .rmd-viewer { min-height: 300px; }
  .rmd-cart-grid { display: flex; flex-direction: column; }
  .rmd-cart-summary { position: static; }
  .rmd-cart-specs { grid-template-columns: 1fr; }
  .rmd-consult span { display: none; }
  .rmd-consult { border: 1px solid var(--border-subtle, #E9EAEA); background: #fff; width: 38px; height: 38px; border-radius: 4px; display: grid; place-items: center; padding: 0; }
  .rmd-chain-wrap { flex-direction: column; align-items: center; }
  .rmd-header { padding: 8px 12px; }
  .rmd-h1 { font-size: 28px; }
}
@media (max-width: 480px) {
  .rmd-entry-tiles { grid-template-columns: 1fr; }
}

.rmd-scope { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }
.rmd-scope-opt { display: flex; flex-direction: column; gap: 3px; text-align: left; padding: 12px 14px; background: #fff; border: 1px solid var(--border-subtle, #E9EAEA); border-radius: 4px; cursor: pointer; transition: border-color 240ms cubic-bezier(0.4,0,0.2,1), background 240ms cubic-bezier(0.4,0,0.2,1); }
.rmd-scope-opt:hover { border-color: #b8ced0; }
.rmd-scope-opt.is-selected { border-color: var(--color-brand, #009BA4); background: rgba(0,155,164,0.05); }
.rmd-scope-opt strong { font-size: 14px; font-weight: 600; color: #293132; }
.rmd-scope-opt em { font-style: normal; font-size: 12px; line-height: 1.45; color: #7F8384; }
@media (max-width: 860px) { .rmd-scope { grid-template-columns: 1fr; } }
