.ech-etb {
  --bg-light: rgb(242,242,242);
  --bg-dark:  rgb(60,60,60);
  --fg-light: rgb(0,0,0);
  --fg-dark:  rgb(242,242,242);
  --accent:   rgb(0,84,134);
  --radius:   16px;
  --gap:      28px;

  background: var(--bg-light);
  color: var(--fg-light);
  border-radius: var(--radius);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
@media (prefers-color-scheme: dark) {
  .ech-etb { background: var(--bg-dark); color: var(--fg-dark); }
}
.ech-etb.ech-dark { background: var(--bg-dark); color: var(--fg-dark); }


.ech-etb__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); }
@media (max-width: 980px){ .ech-etb__grid { grid-template-columns: 1fr; } }

.ech-etb__left  { padding: 0 0 30px 0; }
.ech-etb__right { padding: 30px; }


.ech-etb__headline-wrap { margin: 30px; }
.ech-etb__headline-wrap.is-half { width: calc(50% - 60px); display: block; }
.ech-etb__headline-wrap.is-full { width: calc(100% - 60px); display: block; }

.ech-text__headline{
    background-color: rgb(0, 84, 134);
    color: rgb(242, 242, 242);
    font-weight: bold;
    padding: 10px;
    margin: 0 0 30px 0;
    line-height: 1.2;
    width: 100%;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}


.ech-etb__body--text { padding: 0 30px 30px 30px; }
.ech-etb__body--text p { margin: 0 0 12px 0; }

.ech-etb__media { min-height: 180px; }


.ech-etb__img {
  display: block;
  width: auto;
  max-width: 100%;
  height: var(--etb-img-h, auto) !important;
  object-fit: contain;
}


.ech-etb__img.pos-tl { object-position: left   top; }
.ech-etb__img.pos-tc { object-position: center top; }
.ech-etb__img.pos-tr { object-position: right  top; }
.ech-etb__img.pos-cl { object-position: left   center; }
.ech-etb__img.pos-cc { object-position: center center; }
.ech-etb__img.pos-cr { object-position: right  center; }
.ech-etb__img.pos-bl { object-position: left   bottom; }
.ech-etb__img.pos-bc { object-position: center bottom; }
.ech-etb__img.pos-br { object-position: right  bottom; }

.ech-etb__img--placeholder{
  width: 100%;
  border: 2px dashed rgba(0,0,0,.25);
  color: rgba(0,0,0,.6);
  padding: 24px;
  text-align: center;
  border-radius: 10px;
}
.ech-etb.ech-dark .ech-etb__img--placeholder{
  border-color: rgba(255,255,255,.35);
  color: rgba(255,255,255,.8);
}

.ech-etb__desc{
  margin-top: 12px;
  padding: 0 2px;
  opacity: .85;
  font-size: 14px;
}
