/* ==== SHELL ==== */
.rules-shell { display:block; width:100%; }
.rules-shell .search-hidden { display: none !important; }

/* ==== TOPBAR (weiß) mit integrierter Suche ==== */
.rules-topbar {
  background: var(--bg-primary);
  border: 1px solid var(--border-color-light);
  border-radius: .75rem;
  padding: 1rem;
  margin-bottom: 1rem;
}
.rules-topbar .rules-search-wrapper { position:relative; }
.rules-topbar .rules-search-input {
  width:100%;
  padding:.9rem 1rem .9rem 2.6rem;
  border:1px solid var(--border-color-light);
  border-radius:.6rem;
  background: var(--bg-secondary);
  color: var(--text-primary);
  font-size: var(--font-size-lg);
}
.rules-topbar .rules-search-icon {
  position:absolute; left:.9rem; top:50%; transform:translateY(-50%);
  width:1.2rem; height:1.2rem; color:var(--text-secondary);
}

/* ==== HEADER-KARTEN ==== */
.rules-hero-card {
  position: relative;
  background: var(--bg-primary);
  /*border: 1px solid var(--border-color-light);
  border-radius: .75rem;
  padding: 1rem;*/
  margin-bottom: .5rem;
}
.rules-hero-card--gov { background: var(--bg-primary); }
.rules-hero-title { font-weight:700; font-size: var(--font-size-xxl); }
.rules-hero-logo  { position:absolute; right:1rem; top:.75rem; height:44px; width:auto; }

/* ==== ACCORDION-SECTIONS (Top-Level) ==== */
.rules-accordion-stack { display:block; width:100%; }
details.rules-section {
  background: var(--bg-secondary);
  border:1px solid var(--border-color-light);
  border-radius:.75rem;
  margin-bottom:.75rem;
}

/* — Summary OHNE Chevron: linksbündig, Icon direkt neben Text — */
.rules-section-summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:flex-start;              /* kein Platzhalter für Chevron */
  gap:1rem;
  padding:1rem 1.25rem;
  font-weight:700;
}
.rules-section-summary::-webkit-details-marker,
.rules-section-summary::marker { display:none; }  /* native Marker aus */

/* Text + Icon in Linie (stabil) */
.rules-summary-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  position: relative;
}

.rules-summary-icon-wrapper {
  display: inline-block;
  width: 1.8em;             /* feste Breite */
  height: 1.8em;            /* feste Höhe */
  line-height: 1.8em;       /* vertikal ausgleichen */
  text-align: center;
  vertical-align: middle;   /* an Textlinie ausrichten */
  flex-shrink: 0;
}

.rules-summary-icon {
  display: inline-block;
  height: 2em;            /* etwas kleiner als Wrapper */
  width: auto;
  vertical-align: middle;
  object-fit: contain;
  transition: transform 0.2s ease;
}

@media (prefers-reduced-motion: reduce) {
  .rules-summary-icon { transition: none; }
}
.rules-section-summary:hover .rules-summary-icon { transform: scale(1.05); }

/* Panel unter dem Summary */
.rules-section-panel   { width:100%; box-sizing:border-box; border-top:1px solid var(--border-color-light); }
.rules-section-content { padding:1rem 1.25rem; }

/* ==== REGELN (Details innerhalb der Section) ==== */
.rules-doc { display:block; }
.rules-doc-title { font-size: var(--font-size-xl); font-weight:700; margin-bottom:.5rem; }

.rules-accordion {
  background: var(--bg-primary);
  border:1px solid var(--border-color-light);
  border-radius:.5rem;
}
.rules-accordion + .rules-accordion { margin-top:.5rem; }

.rules-accordion-trigger {
  display:block;
  font-weight:600;
  padding:.75rem 1rem;
  cursor:pointer;
  border-bottom:1px solid var(--border-color-light);
}
.rules-accordion-content { padding:1rem; }

/* Suche/Highlight */
.js-regel-block.search-hidden { display:none; }
.rules-section-content mark,
.rules-section-summary mark,
.rules-accordion-trigger mark {
  background: transparent;
  color: var(--brand-orange);
  font-weight: 700;
  padding: 0 .1rem;
  border-bottom: 2px solid var(--brand-orange);
  border-radius: 0;
}
mark.mark-brand { background:var(--bg-secondary); color:var(--brand-orange); font-weight:700; }

/* Native Marker-Größe nur für die inneren Regel-Details (NICHT für Section-Summary) */
.rules-accordion-trigger { position: relative; padding-right: 1.75rem; }
.rules-accordion-trigger::marker,
.rules-accordion-trigger::-webkit-details-marker { font-size: 1.35em; line-height:1; }
details:hover > .rules-accordion-trigger::marker,
details:hover > .rules-accordion-trigger::-webkit-details-marker { font-size: 1.45em; }

/* Responsiv */
.rules-section-content img,
.rules-doc img { max-width:100%; height:auto; }

/* Anti-Jump: volle Breite */
.rules-accordion-content,
.rules-section-panel,
.rules-accordion,
.rules-section,
.rules-hero-card,
.rules-topbar { width:100%; box-sizing:border-box; }
