

/* ==========================
   Projektseiten – Hero
   ========================== */

body.projektseite {
  background: linear-gradient(to bottom, #577593 0px, #577593 80px, #ffffff 121px);
}

.artikel-footer,
.hero-projekt-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}

.hero-projekt-background {
  position: relative;
  background-image: var(--img);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 700px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  color: #fff;
  text-align: left;
  padding-bottom: 30px;
}

@media (max-width: 768px) {
  .hero-projekt-background {
    background-image: var(--img-sm);
    height: 500px;
  }

}

@media (max-width: 450px) {
  .hero-projekt-background {
    background-image: var(--img-xs);
    height: 480px;
  }
}


.hero-anwendung-background {
  position: relative;
  background-image: var(--img, url('../bilder/hero/neufeldpraxis.webp'));
  background-size: cover;
  background-position: center;
  height: 600px;
  display: flex;
  align-items: flex-end; /* statt center */
  justify-content: left;
  color: white;
  text-align: center;
  padding-bottom: 30px; /* Abstand zum unteren Rand */
}

.hero-projekt-text {
  background: rgba(0, 0, 0, 0.5); /* optional für Lesbarkeit */
  padding: 1rem 2rem;
  border: solid #ffffff;
  border-width: 2px 2px 2px 0px;
  border-radius: 0px 12px 12px 0px;
}

.hero-projekt-text h1 {
  font-size: 2rem;
  margin-bottom: 0.5rem;
  text-align: left;
}
.hero-projekt-text p {
  font-size: 0.95 rem;
  text-align: left;
color: #ccc;
}

.hero-projekt-text h2 {
  font-size: 1.5rem;
}

.zoom-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  background: rgba(0,0,0,0.6);
  color: #fff;
  border: none;
  padding: 0.5rem 1rem;
  cursor: pointer;
  border-radius: 4px;
}

@media (max-width: 768px) {
  .hero-projekt-text h1 {
    font-size: 1.5rem;
  }
  .hero-projekt-text h2 {
    font-size: 1.2rem;
  }
.hero-projekt-text {
width:100%;
  border-width: 2px 0px 2px 0px;
  border-radius: 0px 0px 0px 0px;
}
}

@media (max-width: 768px) {
  .hero-anwendung-background {
    background-image: var(--img-sm, var(--img, url('../bilder/hero/neufeldpraxis.webp')));
  }
}



/* ===============================
   Hero-Hintergründe Anwendungen
   =============================== */

/* Standard: große Version */
.anwendung-arztpraxis  { background-image: url('../../bilder/hero/pfeffingen-hero.webp'); }
.anwendung-buero          { background-image: url('../../bilder/projekte/contora-stuttgart/contora-stuttgart-zoom-3-0.webp'); }
.anwendung-callcenter    { background-image: url('../../bilder/hero/blackeight.webp'); }
.anwendung-empfangsbereich    { background-image: url('../../bilder/hero/empfangsbereich.webp'); }
.anwendung-gastronomie    { background-image: url('../../bilder/projekte/losteria-leipzig/losteria-leipzig-zoom-0-1.webp'); }
.anwendung-gemeindesaal    { background-image: url('../../bilder/hero/eichtedt-hero.webp'); }
.anwendung-konferenzraum   { background-image: url('../../bilder/projekte/contora-stuttgart/contora-stuttgart-zoom-2-1.webp'); }
.anwendung-schule   { background-image: url('../../bilder/projekte/akustikbilder-schule-schkeuditz/akustikbilder-schule-schkeuditz-zoom-0-0.webp'); }
.anwendung-veranstaltungsraeume   { background-image: url('../../bilder/hero/rosenheim-hero.webp'); }
.anwendung-wartebereich   { background-image: url('../../bilder/hero/wartebereich.webp'); }
.anwendung-wohnraum   { background-image: url('../../bilder/projekte/wohnhaus-stuttgart/wohnhaus-stuttgart-zoom-0-1.webp'); }

/* Mittelgroße Version (max 768px) */
@media (max-width: 768px) {
  .anwendung-arztpraxis  { background-image: url('../bilder/hero/pfeffingen-hero_768.webp'); }
  .anwendung-buero         { background-image: url('../../bilder/projekte/contora-stuttgart/contora-stuttgart-3-0.webp'); }
  .anwendung-callcenter    { background-image: url('../../bilder/hero/blackeight_768.webp'); }
  .anwendung-empfangsbereich    { background-image: url('../../bilder/hero/empfangsbereich_768.webp'); }
.anwendung-gastronomie   { background-image: url('../../bilder/projekte/losteria-leipzig/losteria-leipzig-0-1.webp'); }
.anwendung-gemeindesaal    { background-image: url('../../bilder/hero/eichtedt-hero_768.webp'); }
.anwendung-konferenzraum    { background-image: url('../../bilder/projekte/contora-stuttgart/contora-stuttgart-2-1.webp'); }
.anwendung-schule   { background-image: url('../../bilder/projekte/akustikbilder-schule-schkeuditz/akustikbilder-schule-schkeuditz-0-0.webp'); }
.anwendung-veranstaltungsraeume   { background-image: url('../../bilder/hero/rosenheim-hero_768.webp'); }
.anwendung-wartebereich  { background-image: url('../../bilder/hero/wartebereich_768.webp'); }
.anwendung-wohnraum   { background-image: url('../../bilder/projekte/wohnhaus-stuttgart/wohnhaus-stuttgart-0-1.webp'); }
}


/* =================
zweispaltig Projekt
=================== */


.zweispaltig-projekt {
  display: grid;
  grid-template-columns: 4.6fr 7fr;
  gap: 40px;
  max-width: 1200px;
  margin: 40px auto;
}

.zweispaltig-projekt .spalte p {
  line-height: 1.8;
  color: #333;
  margin-bottom: 20px;
}
.projektbeschreibung {
  padding: 10px;
}
h2.projekt-titel {
  margin-bottom: 30px;
}
.projektbeschreibung.ohne-referenz h2.projekt-titel {
  margin-top: -10px;
}

h3.projekt-titel {
  margin-top: 40px;
  font-size: 0.8em;
  color: #577492;
}
.zweispaltig-projekt  h3{
  font-size: 1.2rem;
margin-bottom: 20px;
 border-bottom: 2px solid #577492;
}

.projektbeschreibung ul {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.projektbeschreibung ul li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 10px;
  line-height: 1.6;
}

.projektbeschreibung ul li::before {
  content: "+";
  position: absolute;
  left: 0;
  top: 0;
  color: #a20002;
  font-weight: bold;
}

@media (max-width: 1199px) {
.zweispaltig-projekt {
  display: grid;
  grid-template-columns: 4.6fr 7fr;
  gap: 30px;
  margin: 40px 10px;
}

}

@media (max-width: 768px) {

.artikel-footer{
    max-width: 90%;
}
  .zweispaltig-projekt {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 90%;
    margin: 40px auto;
  }

  .spalte {
    padding: 0 10px;
  }

  .projektbeschreibung {
    padding-left: 10px;
  }

  .spalte.links {
    order: 2; /* Infobox kommt nach dem Text */
  }

  .spalte.rechts {
    order: 1;
  }
}

/*===========
CTA werbebild
============*/

.cta-werbebild {
  max-width: 1200px;
  margin: 80px auto;
background-color: #dedede;
}

.cta-image {
  background-size: cover;
  background-position: center;
  height: 400px;
  display: flex;
  align-items: flex-end;
  padding: 40px;
  border-radius: 8px;
  position: relative;
}

.cta-text {
  background-color: rgba(255, 255, 255, 0.85);
  padding: 20px 30px;
  border-radius: 6px;
  max-width: 600px;
}

.cta-text h2 {
  margin-bottom: 10px;
  color: #577593;
}

.cta-button {
  display: inline-block;
  margin-top: 20px;
  background-color: #a20002;
  color: white;
  padding: 12px 24px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: bold;
}




/* ===========
infobox
========== */



.infobox-inhalt {
  align-self: end; /* Infobox sitzt unten in der linken Spalte */
margin-bottom: 30px;
}

/* ===========
linkverhalten
========== */

.projektlink {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #333;
  transition: color 0.3s ease;
  line-height: 1.4;
}


.projektlink:hover {
  color: #a20002;
}

.projektlink::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: #a20002;
  transition: width 0.3s ease;
}

.projektlink:hover::after {
  width: 100%;
}

.projekt-links {
  list-style: none;
  padding: 0;
  margin: 20px 0;
}

.projekt-links li {
  margin-bottom: 12px;
}

.subnav-active{
color: #a20002;
text-decoration: none;
  font-weight: bold;}


/* ===========
Galerie-Zeilen
=========== */
.projekt-galerie {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 1200px;
  margin: 20px auto;
}

.galerie-zeile {
  display: flex;
  gap: 20px;
  align-items: stretch;
}

.galerie-item {
position: relative;
  overflow: hidden;
  flex-shrink: 0;
  border: 2px solid #ffffff;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
}

.galerie-item:hover {
  transform: scale(1.01);
border: 2px solid #a20002;
}

.galerie-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

}
.projekt-galerie .galerie-einzelbild {
  display: flex;
  justify-content: flex-end;
}

.projekt-galerie .galerie-einzelbild .galerie-item {
  max-width: 700px;
  width: 100%;
}

/* Responsive */
@media (max-width: 768px) {
  .galerie-zeile {
    flex-direction: column;
  }

  .galerie-item {
    width: 100% !important;
    aspect-ratio: auto !important;
  }
  .galerie-item img {
    height: auto;
  }
}


.teaser-projekt {
  width: 580px;
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid #ddd;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
  transition: box-shadow 0.3s ease;
}

.teaser-projekt:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.teaser-image-top img {
  width: 100%;
  height: auto;
  display: block;
  border-bottom: 1px solid #eee;
}

.teaser-image-top:hover img{
  transform: scale(1.05);
  border: 1px solid #a20002;
  box-shadow: 0 0 0 2px #a20002;
}

/*.teaser-content {
  padding: 10px;
}*/

.teaser-title {
  margin: 0 0 12px;
  font-size: 1.2em;
  border-bottom: 1px solid #ccc;
  padding-bottom: 4px;
  display: block;
  width: 100%;
}

.teaser-content p {
  margin: 0;
  font-size: 0.95em;
  line-height: 1.4;
}


/* ===========
bildhinweis-footer
========== */

.bildhinweis-footer {
  max-width: 1200px;
  margin: 3em auto 2em;
  padding-top: 1em;
  border-top: 1px solid #ddd;
  font-size: 0.85rem;
  color: #555;
  text-align: right;
}

/* ===============================
   Wissensseiten – Hero + Layout + Module
================================ */

/* ---- Variablen für Wissen (einfach feinjustierbar) ---- */
:root{
  --wissen-max: 1200px;
  /* fluid: wird bei 900px kleiner, bei großen Screens größer */
  --wissen-sidebar: clamp(220px, 26vw, 360px);

  /* fluider Abstand */
  --wissen-gap: clamp(18px, 2.5vw, 40px);
  --wissen-main-max: 740px;
}

/* Wissens-Hero: nur Hintergrund tauschen */
.hero.hero-wissen{
  background: transparent; /* falls alte Regeln existieren */
max-height: 300px;
}

/* Hintergrund über Variable (wie besprochen) */
.hero.hero-wissen{
  background-image: var(--img);
  background-size: cover;
  background-position: center;
}

.hero-wissen p{
font-size: 2rem;
font-weight: bold;
  margin-bottom: 0.5rem;
  text-align: left;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.6);
}

@media (max-width:768px){
  .hero.hero-wissen{
    background-image: var(--img-sm, var(--img));
max-height: 380px;
  }
}


/* --------------------------------
   LAYOUT (Sidebar links / Main rechts)
---------------------------------- */
.wissenseite .wissen-layout{
  max-width: var(--wissen-max);
  margin: 0 auto;
  padding: 0 10px;
  display:grid;
  grid-template-columns: var(--wissen-sidebar) 1fr;  /* sidebar / main */
  grid-template-areas: "sidebar main";
  gap: var(--wissen-gap);
  align-items:start;
}

.wissenseite .wissen-sidebar{ grid-area: sidebar; min-width:0; }
.wissenseite .wissen-main{ grid-area: main; min-width:0; }

/* Mobile: Sidebar unten */
@media (max-width:768px){
  .wissenseite .wissen-layout{
    grid-template-columns: 1fr;
    grid-template-areas:
      "main"
      "sidebar";
    gap:22px;

  }
}

/* Sidebar: Stand/Erstveröffentlichung unten */
.wissenseite .wissen-sidebar{
  display:flex;
  flex-direction:column;
  min-height:100%;
}

.wissenseite .wissen-sidebar-top{
  display:flex;
  flex-direction:column;
  gap:16px;
}

/* drückt Bottom nach unten, wenn vorhanden */
.wissenseite .wissen-sidebar-bottom{
  margin-top:auto;
}
.wissenseite .wissen-sidebar .wissen-seitenleiste{ flex:1 1 auto; }
.wissenseite .wissen-sidebar .infobox{ margin-top:auto; }

/* Main: Lesespalte */
.wissenseite .wissen-main .projektbeschreibung{
  max-width: var(--wissen-main-max);
}

/* Headings/Text */
.wissenseite .wissen-h1{
  margin:40px 0 30px 0;
  padding-bottom: 10px;
  font-size: clamp(22px, 3.2vw, 34px);
  line-height:1.08;
  border-bottom: 2px solid #577492;
}

.wissenseite h2{
  margin: 60px 0 30px 0;
}
.wissen-sidebar h3{
  font-size: 1.4rem;
  margin: 50px 0 -10px 0;
  border-bottom: 2px solid #577492;
max-width: 280px;
}

.wissenseite .wissen-subtitle{
  margin:0 0 12px;
  max-width: var(--wissen-main-max);
  color:#555;
  font-size: 1.05rem;
  line-height:1.45;
}

.wissenseite .wissen-intro{
  margin:0 0 18px;
  max-width: var(--wissen-main-max);
  color:#444;
  line-height:1.55;
}


/* --------------------------------
   MODULE BASE
---------------------------------- */
.wissen-modul{ margin: 18px 0; }
.wissen-modul.narrow{ max-width: var(--wissen-main-max); }

/* Farbbedeutung (narrow) */
.wissen-farbbedeutung .grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:16px;
  margin-top:12px;
}

.wissen-farbbedeutung .card{
  background:#f4f4f4;
  border:1px solid #ddd;
  border-radius:0px;
  padding:14px;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
}

.wissen-farbbedeutung .label{
  display:block;
  font-size:1.1rem;
  color:#999;
border-bottom: 1px solid #ddd;
  margin-bottom:12px;
}

@media (max-width:768px){
  .wissen-farbbedeutung .grid{ grid-template-columns:1fr; }
}

/* Holz-Facts nutzt deine bestehende Infobox, nur leichte Anpassung */
.infobox-projekt--holz{
  margin-top: 10px;
width: 100%;
}

/* optional: etwas kompaktere Zeilen */
.infobox-projekt--holz .infopunkt{
  padding: 6px 0;
}

/* optional: Labels nicht umbrechen lassen */
.infobox-projekt--holz .label{
  white-space: nowrap;
}




/* --------------------------------
   BREAKOUT (wide) – Sidebar links / Main rechts
   Breakout sitzt in der Main-Spalte und bricht nach links in die Sidebar aus.
---------------------------------- */
.wissen-breakout{
  background:#fff;
  margin: 0;

  width: calc(100% + var(--wissen-sidebar) + var(--wissen-gap));
  margin-left: calc(-1 * (var(--wissen-sidebar) + var(--wissen-gap)));

  overflow: visible;
}

.wissen-breakout .breakout-inner{
  max-width: var(--wissen-max);
  margin: 0 auto;
  padding: 30px 0px;
}

/* Mobile: Breakout normal (keine negativen Margins) */
@media (max-width:768px){
  .wissen-breakout{
    width: 100%;
    margin-left: 0;
  }
}

/* Breakout darf nicht von Eltern abgeschnitten werden */
.wissenseite .wissen-layout,
.wissenseite .wissen-main,
.wissenseite .wissen-main .projektbeschreibung{
  overflow: visible;
}



/* ===========
   GALERIE (Ihr bewährtes CSS)
=========== */
.projekt-galerie {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 1200px;
  margin: 20px auto;
  box-sizing: border-box;
}

.galerie-zeile {
  display: flex;
  gap: 20px;
  align-items: stretch;
}

.galerie-item {
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
  border: 2px solid #ffffff;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
}

.galerie-item:hover {
  transform: scale(1.01);
  border: 2px solid #a20002;
}

.galerie-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.projekt-galerie .galerie-einzelbild {
  display: flex;
  justify-content: flex-end;
}

.projekt-galerie .galerie-einzelbild .galerie-item {
  max-width: 700px;
  width: 100%;
}

/* Responsive Galerie */
@media (max-width: 768px) {
  .galerie-zeile {
    flex-direction: column;
  }

  .galerie-item {
    width: 100% !important;
    aspect-ratio: auto !important;
  }

  .galerie-item img {
    height: auto;
  }
}

/* optional: sicherstellen, dass alle Galerie-Elemente border-box nutzen */
.projekt-galerie, .projekt-galerie *{
  box-sizing:border-box;
}

.wissen-links{
  margin: 28px 0 10px;
}

.wissen-links-inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.wissen-links h2{
  margin: 0 0 12px;
}

.wissen-links ul{
  margin: 0;
  padding-left: 18px;
}


/* ===============================
   RAL Classic – Grid (3er) + 200x200 Swatches
   Überschreibt alte ral-grid/ral-swatch/ral-chip Regeln
================================ */

.ral-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 24px;
}
@media (max-width: 1024px){
  .ral-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .ral-grid{ grid-template-columns: 1fr; }
}
.ral-tile{
  background:#fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 14px;
}
.ral-swatch{
  width:100%;
  aspect-ratio: 1 / 1;
  max-height: 200px;
  border: 1px solid #222;
  box-sizing: border-box;
}
.ral-info{ margin-top: 12px; font-size:.95rem; line-height:1.45; }
.ral-code{ display:block; font-weight:700; }
.ral-name{ margin:2px 0 6px; color:#444; }
.ral-values{ font-size:.85rem; color:#666; line-height:1.35; }




.ral-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 24px;
}

/* responsive: 2 / 1 Spalte */
@media (max-width: 1024px){
  .ral-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .ral-grid{ grid-template-columns: 1fr; }
}

/* Kachel */
.ral-tile{
  background:#fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 14px;
  color: inherit;          /* keine blauen/violetten Linkfarben */
  text-decoration: none;   /* keine Unterstreichung */
}

/* Farbfläche: quadratisch, optisch max 200px */
.ral-swatch{
  width:100%;
  aspect-ratio: 1 / 1;
  max-height: 200px;
  border: 1px solid #222;      /* wichtig bei Weiß */
  box-sizing: border-box;

  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* Text unter der Farbe */
.ral-info{
  margin-top: 12px;
  font-size: 0.95rem;
  line-height: 1.45;
}

.ral-code{
  display:block;
  font-weight:700;
}

.ral-name{
  margin: 2px 0 6px;
  color:#444;
}

.ral-values{
  font-size: .85rem;
  color:#666;
  line-height: 1.35;
}

.ral-mini{
  margin-top: 10px;
}

.ral-mini img{
  width: 70px;
  height: auto;
  display:block;
  border: 1px solid #eee;
  border-radius: 4px;
}

/* RAL Gruppen-Teaserliste (narrow, untereinander) */
.ral-teaserlist{ margin-top: 10px; }

.ral-group-teaser{
  border: 1px solid #ddd;
  border-radius: 0px;
  padding: 12px 14px;
  background: #fff;
  margin: 14px 0;
}

.ral-group-link{
  display:block;
  text-decoration:none;
  color:inherit;
}

.ral-group-teaser:hover{
  border-color:#a20002;
}

.ral-group-teaser:hover .ral-group-link{
  /* optional: minimaler Effekt */
}
.ral-group-teaser:hover{
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

.ral-group-teaser h3{ margin: 0 0 6px; }
.ral-group-teaser p{ margin: 0 0 10px; color:#555; line-height: 1.45; }

.ral-preview{
  display:flex;
  gap:8px;
  flex-wrap: wrap;
}

.ral-preview-swatch{
  width: 70px;
  height: 70px;
  border-radius: 2px;
  border: 1px solid #222; /* auch für sehr helle Töne */
  display:inline-block;
}
@media (max-width: 600px){
.ral-preview-swatch{
  width: 60px;
  height: 60px;}
}
@media (max-width: 500px){
.ral-preview-swatch{
  width: 50px;
  height: 50px;}
}

/* ===============================
   NCS Schnitt – Grid
================================ */




/* NCS Schnitt – 4 Spalten */
.ncs-cols{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 20px;
}

/* responsiv */
@media (max-width: 1100px){
  .ncs-cols{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px){
  .ncs-cols{ grid-template-columns: 1fr; }
}

.ncs-col{
  background:#fff;
}

.ncs-col-title{
  margin: 0 0 12px;
  font-size: 1rem;
}

/* Kacheln untereinander */
.ncs-tiles{
  display:flex;
  flex-direction:column;
  gap:8px;
}

/* Eine Kachel: Swatch + Text darunter */
.ncs-tile{
  border:1px solid #eee;
  border-radius:6px;
  padding:10px;
}

/* 150×150 Swatch */
.ncs-swatch{
  width:150px;
  height:150px;
  border:1px solid #222;
  border-radius:0px;
}

/* falls die Spalte schmal wird: Swatch automatisch kleiner */
@media (max-width: 480px){
  .ncs-swatch{ width:130px; height:130px; }
}

.ncs-text{
  margin-top:10px;
}

.ncs-name{
  color:#444;
  margin-top:2px;
}

.ncs-values{
  font-size:.85rem;
  color:#666;
  line-height:1.35;
  margin-top:4px;
}
.projekt-link.is-current{
  opacity:1;
  cursor: default;
}

.projekt-link.is-current .bullet{
  display:inline-block;
  width: 1em;
  color:#999;
}

.muted{
  color:#666;
  font-size:.95rem;
}

:root{
  --furnier-narrow: 740px;
  --furnier-gap: 20px;
  --furnier-tile: 360px; /* (740-20)/2 */
}

.furnier-set{
  max-width: var(--furnier-narrow);
  display:grid;
  gap: var(--furnier-gap);
}

.furnier-set.count-1{ grid-template-columns: 1fr; }

.furnier-set.count-2,
.furnier-set.count-3,
.furnier-set.count-4{
  grid-template-columns: repeat(2, var(--furnier-tile));
}

.furnier-set.count-3 .furnier-card:nth-child(1){
  grid-column: 1 / -1;
}

.furnier-card{
  border:1px solid #ddd;
  border-radius:6px;
  overflow:hidden;
  background:#fff;
}

.furnier-img{
  width:100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display:block;
}

.furnier-label{
  padding: 8px 10px;
  font-size: .9rem;
  color:#444;
}

@media (max-width: 768px){
  .furnier-set.count-2,
  .furnier-set.count-3,
  .furnier-set.count-4{
    grid-template-columns: 1fr;
  }
  .furnier-set.count-3 .furnier-card:nth-child(1){
    grid-column: auto;
  }
}

.furnier-mini-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  max-width: 740px;
  margin: 10px 0 18px;
}
@media (max-width: 1100px){ .furnier-mini-grid{ grid-template-columns: repeat(3, 1fr);} }
@media (max-width: 800px){  .furnier-mini-grid{ grid-template-columns: repeat(2, 1fr);} }
@media (max-width: 520px){  .furnier-mini-grid{ grid-template-columns: 1fr;} }

.furnier-mini-card{
  display:block;
  text-decoration:none;
  color:inherit;
  border:1px solid #ddd;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.furnier-mini-card:hover{ border-color:#a20002; }
.furnier-mini-card img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
  border-bottom:1px solid #eee;
  background:#f5f5f5;
}
.furnier-mini-card .t{
  padding:8px 10px 10px;
  font-weight:700;
  font-size:.95rem;
  line-height:1.15;
}
.wissen-abbildung{border: 2px solid #ffffff;   box-shadow: 0 4px 6px rgba(0,0,0,0.2);}


/* =========================
   Wissens-Tabellen
   ========================= */

.wissen-tabelle {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 0.95rem;
  line-height: 1.4;
  min-width: 700px; /* erzwingt Scroll bei kleinen Screens */
}

.wissen-tabelle thead th {
  background-color: #f0f2f4;
  color: #222;
  text-align: left;
  font-weight: 600;
  padding: 0.35rem 0.45rem;
  border-bottom: 2px solid #d6d9dd;
  white-space: nowrap;
}

.wissen-tabelle td {
  padding: 0.35rem 0.45rem;
  border-bottom: 1px solid #e2e5e9;
  vertical-align: top;
}

.wissen-tabelle tbody tr:nth-child(odd) {
  background-color: #ffffff;
}

.wissen-tabelle tbody tr:nth-child(even) {
  background-color: #f7f8fa;
}

.wissen-tabelle tbody tr:hover {
  background-color: #eef2f6;
}
.wissen-tabelle-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1.5rem 0;
}
@media (max-width: 768px) {
  .wissen-tabelle-wrapper::after {
    content: "← Tabelle seitlich scrollen →";
    display: block;
    font-size: 0.8rem;
    color: #777;
    text-align: right;
    margin-top: 0.25rem;
  }
}

.wissen-tabelle td.num,
.wissen-tabelle th.num {
  text-align: right;
  white-space: nowrap;
}
.wissen-tabelle .schmal {
  width: 1%;
  white-space: nowrap;
}
.wissen-tabelle caption {
 font-weight: 600;
 color: #577492;
margin-bottom: 20px;
}

/* Visually hidden, but accessible */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.wissen-tabelle caption.sr-only {
  caption-side: top;
}

/* =========================
   Kompakte Wissens-Tabelle
   (ohne Scroll, mobil stauchbar)
   ========================= */

.wissen-tabelle.wissen-tabelle-compact {
  min-width: 0 !important;          /* überschreibt 700px */
  table-layout: fixed;              /* zwingt Stauchung */
}

/* Header darf umbrechen */
.wissen-tabelle.wissen-tabelle-compact thead th {
  white-space: normal;              /* überschreibt nowrap */
  text-align: center;
}

/* Zellen dürfen umbrechen */
.wissen-tabelle.wissen-tabelle-compact td {
  white-space: normal;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

/* Wrapper-Scroll explizit deaktivieren */
.wissen-tabelle-wrapper .wissen-tabelle.wissen-tabelle-compact {
  min-width: 0 !important;
}

/* Spaltenbreiten festlegen */
.wissen-tabelle.wissen-tabelle-compact th:nth-child(1),
.wissen-tabelle.wissen-tabelle-compact td:nth-child(1) {
  width: 30%;
}

.wissen-tabelle.wissen-tabelle-compact th:nth-child(2),
.wissen-tabelle.wissen-tabelle-compact td:nth-child(2) {
  width: 35%;
}

.wissen-tabelle.wissen-tabelle-compact th:nth-child(3),
.wissen-tabelle.wissen-tabelle-compact td:nth-child(3) {
  width: 35%;
}

/* Mobile: etwas kleinere Schrift */
@media (max-width: 600px) {
  .wissen-tabelle.wissen-tabelle-compact {
    font-size: 0.9rem;
  }
}




.wissen-video {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
}


summary{
color: #a20002;
  border-bottom: 1px solid #a20002;
}
details{
padding: 10px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}



figcaption{color: #666; font-size:0.90rem; padding: 5px;}

blockquote{color: #577593; font-size:1.10rem; padding: 10px; border: 2px solid #577593, box-shadow: 0 4px 6px rgba(0,0,0,0.4);  display:block;}

.zitat-wrapper blockquote{color: #fff;}
.zitat-wrapper figcaption{color: #fff;}

.ral-gruppen-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:16px;
  max-width:740px;
  margin:18px 0 28px;
  overflow: visible;
}

@media (max-width:900px){
  .ral-gruppen-grid{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width:520px){
  .ral-gruppen-grid{ grid-template-columns: 1fr; }
}

.ral-gruppe-card{
  display:block;
  text-decoration:none;
  border-radius:0px;
  border:1px solid rgba(0,0,0,.12);
  background:var(--bg);
  min-height:140px;

}

.ral-gruppe-card:hover{
  transform: scale(1.02);
  box-shadow: 0 4px 6px rgba(0,0,0,0.4);}

.ral-gruppe-card-inner{
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.ral-gruppe-num{
  font-size:1.4rem;
  font-weight:800;
  line-height:1;
}

.ral-gruppe-name{
  font-size:1.05rem;
  font-weight:600;
  line-height:1.2;
}

.ral-gruppe-card.is-dark{ color:#fff; }
.ral-gruppe-card.is-light{ color:#111; }

.ral-gruppe-card:hover{
  border-color:#a20002;
}

.ral-card{
  display:block;
  text-decoration:none;
  border:1px solid #222;
  border-radius:8px;
  overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease;
  background:#fff;
}

.ral-tile:hover,
.ral-card:hover{
  transform:scale(1.01);
  border-color:#a20002;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
}
.ral-swatch{
  height:200px;
}
.ral-body{
  padding:10px 12px;
}
.ral-code{
  font-weight:700;
}
.ral-name{
  color:#555;
  font-size:.95rem;
}

/* =========================
   Wissens-Balken (global)
   ========================= */

/* Basisbalken – überall wiederverwendbar */
.wissen-balken{
  width:100%;
  height:12px;
  background:#eee;
  border-radius:999px;
  overflow:hidden;
  position:relative;
}

/* Füllung in Bilder-Plus-Rot */
.wissen-balken > span{
  display:block;
  height:100%;
  width:0;                /* Default; wird inline per style="width:XX%" gesetzt */
  background:#a20002;     /* CI-Rot */
  border-radius:999px;
}

/* Optional: etwas größer auf größeren Screens */
@media (min-width: 768px){
  .wissen-balken{ height:14px; }
}

/* Optional: Tabelle besser lesbar */
.laerm-ranking td,
.laerm-ranking th{
  vertical-align:middle;
}

/* Optional: die Balkenspalte etwas breiter (falls deine Tabellen-CSS das zulässt) */
.laerm-ranking td:last-child{
  min-width: 180px;
}


/* Audio-Block im Wissensbereich */
.wissen-audio-block{
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  background: #f7f7f7;          /* sehr helles Grau */
  border-left: 4px solid #a20002; /* Bilder-Plus-Rot */
  border-radius: 4px;
}

/* Beschriftung */
.wissen-audio-block figcaption{
  font-size: 0.9rem;
  color: #444;
  margin-bottom: 0.5rem;
}

/* Audio-Player selbst */
.wissen-audio-block audio{
  width: 100%;
  display: block;
}

/* Optional: etwas mehr Luft auf größeren Screens */
@media (min-width: 768px){
  .wissen-audio-block{
    padding: 1.25rem 1.5rem;
  }
}


/* Table reset + compact numeric table */
.wissen-tabelle-compact{
  width:100% !important;
  max-width:100% !important;
  border-collapse: collapse;
  table-layout: fixed;          /* zwingt Stauchung */
  display: table;               /* falls global umgestellt wurde */
  overflow: visible;            /* falls global overflow gesetzt wurde */
}

.wissen-tabelle-compact th,
.wissen-tabelle-compact td{
  padding: .35rem .45rem;
  text-align: center;
  white-space: normal;          /* wichtig: keine nowrap-Bremse */
  word-break: normal;
  font-variant-numeric: tabular-nums;
}

/* Spaltenbreiten: 3 Spalten */
.wissen-tabelle-compact th:nth-child(1),
.wissen-tabelle-compact td:nth-child(1){ width: 30%; }
.wissen-tabelle-compact th:nth-child(2),
.wissen-tabelle-compact td:nth-child(2){ width: 35%; }
.wissen-tabelle-compact th:nth-child(3),
.wissen-tabelle-compact td:nth-child(3){ width: 35%; }

/* Mobile: Schrift etwas kleiner */
@media (max-width: 600px){
  .wissen-tabelle-compact{
    font-size: .9rem;
  }
}

/* =========================
   Kompakte 4-Spalten-Tabelle
   ========================= */

.wissen-tabelle.wissen-tabelle-compact-4{
  min-width: 0 !important;        /* überschreibt 700px */
  table-layout: fixed;
}

/* Header & Zellen dürfen umbrechen */
.wissen-tabelle.wissen-tabelle-compact-4 th,
.wissen-tabelle.wissen-tabelle-compact-4 td{
  white-space: normal;
  text-align: center;
  padding: 0.35rem 0.35rem;       /* etwas enger */
  font-variant-numeric: tabular-nums;
}

/* Spaltenbreiten: 4 Spalten */
.wissen-tabelle.wissen-tabelle-compact-4 th:nth-child(1),
.wissen-tabelle.wissen-tabelle-compact-4 td:nth-child(1){
  width: 28%;                     /* Frequenz */
}

.wissen-tabelle.wissen-tabelle-compact-4 th:nth-child(2),
.wissen-tabelle.wissen-tabelle-compact-4 td:nth-child(2),
.wissen-tabelle.wissen-tabelle-compact-4 th:nth-child(3),
.wissen-tabelle.wissen-tabelle-compact-4 td:nth-child(3),
.wissen-tabelle.wissen-tabelle-compact-4 th:nth-child(4),
.wissen-tabelle.wissen-tabelle-compact-4 td:nth-child(4){
  width: 24%;
}

/* Mobile: Schrift weiter reduzieren */
@media (max-width: 600px){
  .wissen-tabelle.wissen-tabelle-compact-4{
    font-size: 0.85rem;
  }
}
@media (max-width: 360px){
  .wissen-tabelle.wissen-tabelle-compact-4 th{
    font-size: 0.8rem;
  }
}



