/* =============================================================
   Blog-Slider "Insight Leopold – Unser Technik Blog"
   Werte 1:1 aus Original (286.css + universal.css, section-8069-12)
   ============================================================= */

/* --- Sektion (section-8069-12) --- */
.blog-section {
  text-align: left;
}

.blog-section > .section-inner {
  max-width: 100%;
  padding-right: 0;
  padding-left: 0;
  align-items: center;
}

/* Original: #section-8069-12.has-blured-end:after { bottom: -200px } */
.blog-section.has-blured-end:after {
  bottom: -200px;
}

/* --- Intro (div_block-6613-12) --- */
.blog-intro {
  display: flex;
  flex-direction: column;
  width: 50%;
  text-align: left;
  align-items: center;
  z-index: 8;
  position: relative;
}

/* headline-6614-12 */
.blog-section .blog-headline {
  text-align: center;
  color: #fdfeff;
  margin-top: 0;
  margin-bottom: 20px;
}

/* span-6619-12 */
.blog-headline-sub {
  color: #223a4f;
}

/* text_block-6616-12 (+ .margin-bottom-l, ID gewinnt: margin-bottom 10px) */
.blog-section .blog-intro-text {
  color: #fdfeff;
  max-width: 815px;
  text-align: center;
  font-size: 22px;
  margin-bottom: 10px;
  font-weight: 300;
}

/* Pfeil-Icon im Button (universal: .btn-el-right:before) — sektions-scoped */
.blog-intro .btn-el-right:before {
  content: "";
  background: var(--btn-arrow-image);
  background-size: contain;
  width: 20px;
  height: 20px;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  position: absolute;
  transition: var(--global-transition);
}

.blog-intro .btn-el-right:hover:before {
  right: 15px;
}

/* Oxygen .ct-link-button Grundverhalten für die Buttons dieser Sektion */
.blog-btn,
.blog-tile-btn {
  display: inline-block;
  text-align: center;
}

/* --- Slider-Bereich (div_block-8099-12 / .first-section) --- */
.blog-slider-outer {
  width: 100%;
  max-width: 100%;
  padding-top: 75px;
  padding-bottom: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: row;
  align-items: center;
}

/* div_block-8100-12 */
.blog-slider-row {
  display: flex;
  flex-direction: row-reverse;
  text-align: left;
  width: 100%;
  z-index: 3;
  position: relative;
}

/* div_block-8101-12 — dekorativer grüner Block (rechts durch row-reverse) */
.blog-deco {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: center;
  width: 10%;
  height: 600px;
  margin-top: 0;
  padding-top: 135px;
  padding-bottom: 135px;
  padding-left: 50px;
  background-color: #32b4a2;
  position: relative;
}

/* div_block-8108-12 (+ .border-radius-global aus base.css) */
.blog-slider-wrap {
  width: 90%;
}

/* --- Carousel (-carousel-builder-8109-12 / .post-slider) --- */
.blog-carousel {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  overflow: visible;
  border-radius: 15px 0 0 15px;
}

/* oxy-dynamic-list vor Flickity-Init: Zellen in einer Reihe */
.blog-carousel-track {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
}

.blog-carousel-track.flickity-enabled {
  display: block;
}

.blog-carousel .flickity-viewport {
  overflow: hidden;
}

/* Dots existieren (pageDots true), sind im Original aber ausgeblendet */
.blog-carousel .flickity-page-dots {
  display: none !important;
}

/* --- Post-Kachel (div_block-8111-12) --- */
.blog-tile {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 480px;
  height: 600px;
  margin-right: 50px;
  border-radius: 15px;
  overflow: hidden;
  flex-shrink: 0;
}

/* div_block-8112-12 / .post-tile-wrapper */
.blog-tile-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-align: left;
  padding: 45px;
  background: linear-gradient(180deg, rgba(35, 37, 39, 0.00) 20%, #232527 100%);
}

/* div_block-8949-12 */
.blog-tile-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: left;
  z-index: 5;
}

/* div_block-8966-12 / .post-tile-wrapper (zweite Gradient-Ebene) */
.blog-tile-shade {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: linear-gradient(180deg, rgba(35, 37, 39, 0.00) 20%, #232527 100%);
}

/* div_block-8962-12 — Meta-Zeile */
.blog-tile-meta {
  display: flex;
  flex-direction: row;
  gap: 10px;
  margin-bottom: 7px;
  text-align: left;
}

/* text_block-8952-12 — Datum */
.blog-tile-date {
  color: #fdfeff;
  text-transform: uppercase;
  font-style: italic;
  font-size: 15px;
  letter-spacing: .5px;
}

/* text_block-8958-12 / .category-link */
.blog-tile-category {
  background-color: #32b4a2;
  color: #fdfeff;
  padding: 2px 10px;
  border-radius: 5px;
  font-style: italic;
  font-size: 12px;
  letter-spacing: .5px;
}

.blog-tile-category a {
  color: white !important;
}

/* text_block-8114-12 — Titel */
.blog-tile-title {
  color: #fdfeff;
  font-size: 26px;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 16px;
}

/* image-8132-12 — Beitragsbild */
.blog-tile-image {
  width: 480px;
  height: 600px;
  object-fit: cover;
  z-index: 1;
  max-width: none;
}

/* --- Pfeile (.oxy-carousel-builder_icon / .post-slider) --- */
.blog-carousel-arrow {
  position: absolute;
  display: inline-flex;
  width: 40px;
  height: 40px;
  border: 1px solid var(--light-primary);
  border-radius: 50%;
  background-color: transparent;
  background-image: url(/wp-content/uploads/2024/02/chevron-left.png);
  background-position: center;
  background-size: 50%;
  background-repeat: no-repeat;
  cursor: pointer;
  right: -100px;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.blog-carousel-prev {
  top: calc(50% - 35px);
  transform: translateY(-50%);
}

.blog-carousel-next {
  top: calc(50% + 35px);
  transform: translateY(-50%) rotate(180deg);
}

/* =============================================================
   Breakpoints
   ============================================================= */

@media (max-width: 1399px) {
  .blog-intro {
    width: 100%;
    padding-left: 50px;
    padding-right: 50px;
  }

  .blog-section .blog-headline {
    font-size: 30px;
  }
}

@media (max-width: 767px) {
  .blog-intro {
    padding-left: 20px;
    padding-right: 20px;
  }

  .blog-section .blog-headline {
    font-size: 37px;
  }

  .blog-section .blog-intro-text {
    font-size: 20px;
  }

  .blog-slider-row {
    padding-left: 0;
  }

  .blog-deco {
    display: none;
  }

  .blog-slider-wrap {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  .blog-tile {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
  }

  .blog-tile-image {
    width: 100%;
  }

  .blog-carousel-arrow {
    top: auto !important;
    bottom: -85px;
    right: 20px;
  }

  .blog-carousel-prev {
    right: 85px;
  }
}

@media (max-width: 479px) {
  .blog-intro {
    padding-left: 20px;
    padding-right: 20px;
  }

  .blog-section .blog-headline {
    font-size: 30px;
  }
}

/* A11y: Pfeile sind jetzt echte <button> — UA-Styles neutralisieren,
   Optik bleibt identisch zur bisherigen <div role="button">-Variante */
button.blog-carousel-arrow {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  text-align: inherit;
}
