/* ===========================
   Grundlayout / Typografie
   =========================== */
.rw-anfrage {
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:#111;
}
.rw-step { margin:1.5rem 0; }

/* ===========================
   Step 1
   =========================== */
.rw-intro h2 { font-size:1.5rem; margin:0 0 .5rem; }
.rw-intro p { margin:.25rem 0; color:#374151; }
.rw-options {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1rem;
}
.rw-option {
  background:#fafafa;
  padding:1rem 1.25rem;
}
.rw-option h3 { margin:.25rem 0 .5rem; }
.rw-list { margin:.5rem 0; padding-left:1.1rem; }
.rw-note { margin-top:.5rem; color:#374151; }

/* ===========================
   Step 2 – Produkt-Layout
   =========================== */
.rw-grid-inline {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
}
@media (max-width:900px){
  .rw-grid-inline { grid-template-columns:1fr; }
}
.rw-card-inline {
  display:flex; gap:1rem;
  align-items:flex-start;
  background:#fafafa;
  padding:1rem;
}
.rw-card-left {
  flex:0 0 180px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.rw-card-img { max-width:100%; height:150px; object-fit:contain; }
.rw-card-title { font-size:1.1rem; margin:.25rem 0 .5rem; font-weight:700; }
.rw-meta { list-style:none; padding:0; margin:.25rem 0 .75rem; }
.rw-meta li { margin:.15rem 0; }
.rw-meta strong { display:inline-block; min-width:160px; }

/* Quantity controls */
.rw-qty { display:flex; align-items:center; gap:.5rem; }
.rw-qty input[type=number]{
  width:60px;
  text-align:center;
  border:none;
  background:transparent;
  font-size:1rem;
}
.rw-qty button{
  width:28px; height:28px;
  border-radius:50%;
  border:none;
  background:#224a8f;
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.rw-qty button.rw-qty-minus.disabled{ background:#cfd5e2; color:#fff; cursor:default; }
.rw-qty button:hover{ filter:brightness(.95); }

/* ===========================
   Summary + Frequenz
   =========================== */
.rw-summary-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
  margin-top:1rem;
}
@media (max-width:900px){
  .rw-summary-row { grid-template-columns:1fr; }
}
.rw-summary, .rw-frequency {
  background:#fafafa;
  padding:1rem;
}
.rw-summary h3, .rw-frequency h3 { margin:.25rem 0 .5rem; }
#rw-summary-list { list-style:none; padding:0; margin:0; }
#rw-summary-list li { margin:.25rem 0; }

/* ===========================
   Step 3 – Formular
   =========================== */
.rw-form { display:grid; gap:1.5rem; }
.rw-form-row {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1rem;
}
.rw-form label,
.rw-step .form-group label {
  display:block;
  font-size:14px;
  font-weight:600;
  margin-bottom:.3rem;
  color:#000;
}
.rw-form input,
.rw-form select,
.rw-form textarea,
.rw-step .form-control {
  width:100%;
  padding:.55rem .6rem;
  border:1px solid #d1d5db;
  font-size:1rem;
  color:#000;
  background:#fff;
  transition:border-color .2s ease;
}
.rw-form input:focus,
.rw-form select:focus,
.rw-form textarea:focus,
.rw-step .form-control:focus {
  outline:none;
  border-color:#24377c;
}
.rw-form textarea { resize:vertical; min-height:120px; }

/* Radios inline */
.rw-step .radio-form {
  display:flex;
  gap:15px;
  margin-top:.3rem;
}
.rw-step .radio-form label {
  font-weight:400;
  font-size:14px;
  margin-left:4px;
  cursor:pointer;
}

/* ===========================
   Buttons
   =========================== */
.rw-actions { margin-top:1rem; display:flex; gap:.75rem; flex-wrap:wrap; }
.rw-btn {
  border:none;
  padding:.6rem 1rem;
  font-weight:700;
  cursor:pointer;
  text-decoration: none;
}
.rw-btn-primary,
.rw-step .btn.valid {
  background:#0f62fe;
  color:#fff;
}
.rw-btn-primary:hover,
.rw-step .btn.valid:hover {
  background:#155bcb;
}
.rw-btn-secondary {
  background:#eef2ff;
  color:#1e40af;
}
.rw-btn-secondary:hover {
  background:#e0e7ff;
}



/* Andere Bedürfnisse Grid */
/* Andere Bedürfnisse – deutlicher aktiver Zustand */
.rw-other-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}
.rw-other-card {
  position: relative;
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  padding: 1rem;
  text-align: center;
  cursor: pointer;
  transition: border-color .2s, box-shadow .2s, background-color .2s;
  outline: none;
}
.rw-other-card:hover {
  border-color: #0f62fe;
  box-shadow: 0 3px 10px rgba(15, 98, 254, .18);
}
.rw-other-card img {
  max-width: 100%;
  height: 200px;         /* groß & einheitlich */
  object-fit: contain;
  margin-bottom: .75rem;
}
.rw-other-title {
  font-size: 1.05rem;
  font-weight: 600;
  color: #333;
}
.rw-other-card .rw-check {
  position: absolute;
  top: 10px;
  right: 12px;
  font-size: 1.7rem;
  line-height: 1;
  color: #16a34a;        /* grün wie im Screenshot */
  display: none;
}
.rw-other-card.active {
  border-color: #0f62fe;
  background: #eef4ff;   /* sehr helles Blau */
  box-shadow: 0 0 0 3px rgba(15, 98, 254, .25);
}
.rw-other-card.active .rw-check {
  display: block;
}
