/* --- Kachel --- */
.dbundle { width: 100%; }

.dbundle-tile{
  width: 100%;
  display:flex;
  flex-direction: column;
  align-items:center;
  gap:10px;
  padding:14px 16px;

  border-style: solid;
  border-color: rgba(0,0,0,.12);
  border-width: var(--db-tile-border-width, 1px);

  border-radius:12px;
  background: var(--db-tile-bg, #fff);
  cursor:pointer;
  text-align:center;
}

.dbundle-icon{
  /* spürbar responsiv (min/ideal/max) */
  width: clamp(44px, var(--db-icon-size, 22%), 190px);
  aspect-ratio: 1 / 1;

  display:flex;
  align-items:center;
  justify-content:center;
  
  transition: transform .18s ease;
will-change: transform;

}

.dbundle-icon svg{
  width:100%;
  height:100%;
  display:block;
}

.dbundle-title-row{
  display:inline-flex;
  align-items:center;
  gap:10px;

  /* Titel + Pfeil immer gleiche Farbe */
  color: var(--db-title-color, #111111);
}

.dbundle-title{
  font-weight: 700;
  font-family: var(--db-title-font, inherit);
  font-size: var(--db-title-size, 1.05rem);
}

/* ✅ SVG-Caret: zuverlässig groß und sauber */
.dbundle-caret{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity: .95;
  transition: transform .15s ease;
  transform-origin: 50% 50%;

  /* ✅ feste Größe, Theme-unabhängig */
  width: var(--db-caret-size, 18px);
  height: var(--db-caret-size, 18px);
}


.dbundle-caret svg{
  width: 100%;
  height: 100%;
  display:block;
  fill: none;
  stroke: currentColor;
  stroke-width: 3.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* geschlossen: Pfeil nach rechts (default) */
.dbundle-tile[aria-expanded="true"] .dbundle-caret{
  transform: rotate(90deg); /* geöffnet: nach unten */
}

/* --- Panel in der ROW (Zeile) --- */
.dbundles-row-panel{
  margin-top: 10px;
  width: 100%;
}

/* Divi Row ist oft flex/float – sicherstellen, dass Panel volle Zeilenbreite nimmt */
.et_pb_row > .dbundles-row-panel{
  flex: 0 0 100%;
  max-width: 100%;
  clear: both;
}

.dbundles-row-panel-inner{
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  padding:14px 16px;
  background:#fafafa;
}

/* Dateien Grid */
.dbundles-row-panel-body{
  display:grid;
  gap:10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 640px){
  .dbundles-row-panel-body{ grid-template-columns: 1fr; }
}

.dbundle-file{
  display:flex;
  align-items:center;
  padding:10px 12px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:10px;
}

.dbundle-file a{
  text-decoration:none;
  font-weight:600;
  color: var(--db-link-color, #0a58ca);
  font-family: var(--db-file-font, inherit);
  font-size: var(--db-file-size, 1rem);
}

.dbundle--icon-grow .dbundle-tile[aria-expanded="true"] .dbundle-icon{
  transform: scale(1.06);
}
