/* ==========================================================================
   DRK WordPress Theme – Overrides & Additions
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400&display=swap');

:root {
  --main-font-family: 'Helvetica Neue', 'Open Sans', OpenSans, Arial, sans-serif;
}

/* ─── Toolbar always visible ─── */
.toolbar__wrap {
  transform: translateY(0) !important;
  position: relative !important;
}
.body__wrapper {
  padding-top: 0 !important;
}
body.admin-bar .toolbar__wrap { top: 32px; }
@media (max-width: 782px) { body.admin-bar .toolbar__wrap { top: 46px; } }

#header {
	position: fixed;
	z-index: 200;
	min-height: 100vw;
	width: 100vw;
	max-width: 100vw;
}

/* ─── Logo + Vereinstext ─── */
.toolbar__logo {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  text-decoration: none !important;
  color: inherit !important;
  flex-shrink: 0;
}
.toolbar__logo:hover { text-decoration: none !important; }
.toolbar__logo-icon { height: 48px; flex-shrink: 0; }
.toolbar__logo-icon svg,
.toolbar__logo-icon img { height: 48px; width: auto; display: block; }
.toolbar__logo-separator {
  width: 1px; height: 42px;
  margin: 0 0.75rem; flex-shrink: 0;
  border-left: 1px solid #ccc;
}
.toolbar__logo-text {
  display: flex; flex-direction: column; justify-content: center;
  line-height: 1.25; font-family: Arial, 'Helvetica Neue', sans-serif;
  white-space: nowrap;
}
.toolbar__logo-text .logo-line { display: block; font-size: 0.85rem; color: var(--col-black-80, #333); }
.toolbar__logo-text .logo-line--name { font-weight: 700; }

/* ─── Desktop Main Nav in Toolbar ─── */
.toolbar__main-nav {
  display: none;
  margin-left: auto;
}
.toolbar__nav-list {
  list-style: none;
  display: flex;
  gap: 0;
  margin: 0;
  padding: 0;
}
.toolbar__nav-list li a {
  display: block;
  padding: 0.5rem 1rem;
  color: var(--col-black-80, #333);
  font-weight: 600;
  font-size: var(--small-size-fluid, 0.95rem);
  text-decoration: none;
  border-radius: 0.5rem;
  transition: background 0.15s, color 0.15s;
}
.toolbar__nav-list li a:hover,
.toolbar__nav-list li.current-menu-item a {
  background: var(--col-red, #e60005);
  color: #fff;
  text-decoration: none;
}

@media (min-width: 769px) {
  .toolbar__main-nav { display: block; }
  .toolbar__hamburger { display: none !important; }
}

/* ─── Mobile Hamburger ─── */
.toolbar__hamburger {
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  margin-left: auto;
}
.toolbar__hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--col-black-80, #333);
  transition: transform 0.2s;
}

/* ─── Mobile Menu ─── */
.mobile-menu {
  background: var(--col-black-05, #f2f2f2);
  padding: 1rem;
  border-bottom: 1px solid var(--col-black-20, #cbcbcb);
}
.mobile-menu__search {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.mobile-menu__search input {
  flex: 1;
  padding: 0.5rem;
  border: 1px solid var(--col-black-20, #cbcbcb);
  font-family: var(--main-font-family);
}
.mobile-menu__search button {
  background: var(--col-blue-gradient, linear-gradient(to bottom right, #002d55, #2276d0));
  color: #fff;
  border: none;
  padding: 0.5rem 1rem;
  cursor: pointer;
  font-weight: 600;
}
.mobile-menu__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mobile-menu__list li a {
  display: block;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--col-black-20, #cbcbcb);
  color: var(--col-black-80, #333);
  font-weight: 600;
  text-decoration: none;
}

/* ─── Hide TYPO3 flyout menu stuff ─── */
.main-menu__wrap { display: none !important; }
.language-suggest { display: none !important; }
.c-flyout { display: none !important; }

/* ─── Teaser: grid on desktop, not slider ─── */
.teaser__slider { display: none !important; }
.teaser__grid { display: block !important; }
.news-swiper__media { display: none !important; }
.news-grid__media { display: block !important; }

/* ─── Footer accordion: visible on desktop ─── */
@media (min-width: 769px) {
  .footer-acco__panel { display: block !important; }
  .footer-acco__trigger { display: none !important; }
  .footer-acco__label {
    display: block !important;
    font-weight: 700;
    font-size: var(--main-size-fluid, 1.125rem);
    margin-bottom: 0.75rem;
  }
}

/* ─── Footer Copyright ─── */
.footer__copyright {
  text-align: center;
}
@media (min-width: 769px) {
  .footer__copyright { text-align: left; }
}

/* ─── Spenden Section ─── */
.drk-spenden-section {
	width: 100%;
  position: relative;
  overflow: hidden;
}
@media (max-width: 768px) {
  .drk-spenden-inner {
    flex-direction: column !important;
    text-align: center;
  }
  .drk-spenden-right {
    width: 100% !important;
    flex: 1 1 100% !important;
  }
}

/* ─── Mobile: hide logo text, show hamburger ─── */
@media (max-width: 480px) {
  .toolbar__logo-text { display: none; }
  .toolbar__logo-separator { display: none; }
}

/* ─── WordPress specifics ─── */
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignleft { float: left; margin: 0 1.5rem 1rem 0; }
.alignright { float: right; margin: 0 0 1rem 1.5rem; }
.wp-block-image img { max-width: 100%; height: auto; }
.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0;
  position: absolute; width: 1px;
}
.pagination .nav-links { display: flex; gap: 0.5rem; justify-content: center; margin: 2rem 0; }

/* ─── News/Aktuelles: Vertikale Karten ─── */
.news__container .teaser__block {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
}

.news__container .teaser__item.news__article {
  display: flex !important;
  flex-direction: column !important;
  background: var(--col-black-05, #f2f2f2);
  border-radius: 1.5rem;
  overflow: hidden;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
}

.news__container .teaser__item.news__article .news__media {
  width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.news__container .teaser__item.news__article .news__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.news__container .teaser__item.news__article .news__content {
  padding: 1.25rem 1.5rem 1.5rem !important;
  margin: 0 !important;
  width: auto !important;
}

.news__container .teaser__item.news__article .news__metadates {
  margin-bottom: 0.5rem;
}

.news__container .teaser__item.news__article .news__date {
  color: var(--col-red, #e60005) !important;
  font-weight: 700;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.news__container .teaser__item.news__article .news__category {
  color: var(--col-red, #e60005) !important;
  font-size: 0.8rem;
  text-transform: uppercase;
}

.news__container .teaser__item.news__article .news__title {
  font-size: 1.1rem !important;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.news__container .teaser__item.news__article .news__title--link {
  color: var(--col-black-80, #333) !important;
}

.news__container .teaser__item.news__article .teaser__text {
  font-size: var(--small-size-fluid, 0.95rem);
  color: var(--col-black-60, #666);
  line-height: 1.5;
}

/* Bild-Platzhalter wenn kein Bild vorhanden */
.news__container .teaser__item.news__article .news__media:empty,
.news__container .teaser__item.news__article:not(:has(.news__media)) {
  /* Karte ohne Bild bekommt trotzdem die richtige Form */
}

/* Auch für Angebote-Karten: vertikales Layout */
.teaser__wrapper:not(.news__container) .teaser__block {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
}

.teaser__wrapper:not(.news__container) .teaser__item {
  display: flex !important;
  flex-direction: column !important;
  background: var(--col-black-05, #f2f2f2);
  border-radius: 1.5rem;
  overflow: hidden;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
}

.teaser__wrapper:not(.news__container) .teaser__item .teaser__media {
  width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.teaser__wrapper:not(.news__container) .teaser__item .teaser__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.teaser__wrapper:not(.news__container) .teaser__item .teaser__content {
  padding: 1.25rem 1.5rem 1.5rem !important;
  margin: 0 !important;
  width: auto !important;
}
