/*
Theme Name: Eunita
Theme URI: https://www.eunita.org
Author: Dein Name
Author URI: https://www.eunita.org
Description: Bootstrap-basiertes Theme für die EUniTa App
Version: 1.0
License: GPLv2 or later
Text Domain: eunita-app
*/

@font-face {
  font-family: "Readex Pro";
  font-style: normal;
  font-weight: 160 700;
  font-display: swap;
  src: url("assets/fonts/readex-pro/ReadexPro-VariableFont_wght.ttf")
    format("truetype");
  font-stretch: normal;
}

/* Source Serif Pro – Roman */
/* @font-face {
  font-family: "Source Serif Pro";
  src: url("assets/fonts/SourceSerif4Variable-Roman.otf.woff2") format("woff2"),
    url("assets/fonts/SourceSerif4Variable-Roman.ttf.woff2") format("woff2");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
} */

/* Source Serif Pro – Italic */
/* @font-face {
  font-family: "Source Serif Pro";
  src: url("assets/fonts/SourceSerif4Variable-Italic.otf.woff2") format("woff2"),
    url("assets/fonts/SourceSerif4Variable-Italic.ttf.woff2") format("woff2");
  font-weight: 200 900;
  font-style: italic;
  font-display: swap;
} */

:root {
  /* Lime Green (Atlantis) */
  --color-lime-green: #86c232;
  --color-lime-green-rgb: 134, 194, 50;

  /* Hover (10% darker) */
  --color-lime-green-hover: #76ad2c;
  --color-lime-green-hover-rgb: 118, 173, 44;

  /* Active (20% darker) */
  --color-lime-green-active: #669727;
  --color-lime-green-active-rgb: 102, 151, 39;

  /* Slate Gray (Gravel) */
  --color-slate-gray: #474b4f;
  --color-slate-gray-rgb: 71, 75, 79;

  /* Hover (10% lighter) */
  --color-slate-gray-hover: #5b6065;
  --color-slate-gray-hover-rgb: 91, 96, 101;

  /* Active (15% darker) */
  --color-slate-gray-active: #3a3d40;
  --color-slate-gray-active-rgb: 58, 61, 64;

  /* Dark Anthracite (Baltic Sea) */
  --color-dark-anthracite: #222629;
  --color-dark-anthracite-rgb: 34, 38, 41;

  /* Hover (10% lighter) */
  --color-dark-anthracite-hover: #2d3236;
  --color-dark-anthracite-hover-rgb: 45, 50, 54;

  /* Active (10% darker) */
  --color-dark-anthracite-active: #1a1d1f;
  --color-dark-anthracite-active-rgb: 26, 29, 31;

  /* White */
  --color-white: #ffffff;
  --color-white-rgb: 255, 255, 255;

  /* Hover (slightly gray for subtle feedback) */
  --color-white-hover: #f2f2f2;
  --color-white-hover-rgb: 242, 242, 242;

  /* Active (more gray) */
  --color-white-active: #e6e6e6;
  --color-white-active-rgb: 230, 230, 230;

  /* --bs-light-rgb: #f2f2f2; */
  /* --bs-dark-rgb: 73, 73, 73; */
  --bs-light-rgb: #ecf6ff;

  --bs-font-sans-serif: "Readex Pro", sans-serif;
  --bs-font-serif: "Source Serif Pro", serif;
  --bs-btn-font-size: 18px;
  --bs-link-color: var(--color-lime-green);
  --bs-link-hover-color: var(--color-lime-green-active);

  --wp--preset--color--eunita-fg: #202220;

  --wp--preset--font-size--small: 14px;
  --wp--preset--font-size--medium: 24px;
  --wp--preset--font-size--large: 28px;
  --wp--preset--font-size--x-large: 32px;

  --wp--preset--font-size--huge: 56px;

  /*
  --bs-dark-rgb: 0, 132, 83;
  --eunita-primary: #009664;
  --eunita-primary-rgb: 0, 150, 100;

  --eunita-primary-hover: #007a52;
  --eunita-primary-hover-rgb: 0, 122, 82;

  --eunita-primary-active: #006a48;
  --eunita-primary-active-rgb: 0, 106, 72;
  --bs-dropdown-link-active-bg: #006a48;

  --eunita-primary-dark: #005c3e;
  --eunita-primary-dark-rgb: 0, 92, 62; */

  --eunita-primary: var(--color-lime-green);
  --eunita-primary-rgb: 134, 194, 50;
  --eunita-primary-hover: #6fa32a;
  --eunita-primary-hover-rgb: 111, 163, 42;
  --eunita-primary-active: #628f25;
  --eunita-primary-active-rgb: 98, 143, 37;
  --bs-dropdown-link-active-bg: #628f25;
  --eunita-primary-dark: #547c20;
  --eunita-primary-dark-rgb: 84, 124, 32;

  --bs-dark-rgb: var(--color-slate-gray-rgb);

  --bs-link-color-rgb: 32, 34, 32;
  --bs-link-hover-color-rgb: var(--eunita-primary-dark-rgb);

  --color-gray-rgb: 128, 149, 158;
}

body {
  background-color: rgba(var(--color-gray-rgb), 0.1);

  color: var(--wp--preset--color--eunita-fg);
  font-family: var(--bs-font-sans-serif);

  font-size: var(--bs-btn-font-size);
  font-weight: 400;
  line-height: 1.7;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
}
header.bg-light {
  background-color: rgba(var(--color-primary-rgb), 0.3) !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  /* font-family: var(--bs-font-serif); */
  font-weight: 600;
}

.navbar {
  --bs-navbar-padding-y: 1.5rem;
}
.navbar-brand {
  --bs-navbar-brand-font-size: 2.25rem;
  --bs-navbar-brand-color: var(--wp--preset--color--eunita-fg);
  font-size: var(--wp--preset--font-size--large) !important;
  font-family: var(--bs-font-sans-serif);
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.navbar a {
  text-decoration: none;
}

.btn {
  --bs-btn-font-size: var(--bs-btn-font-size);
  --bs-btn-font-weight: 600;
}
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--eunita-primary);
  --bs-btn-border-color: var(--eunita-primary);

  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--eunita-primary-hover);
  --bs-btn-hover-border-color: var(--eunita-primary-active);

  --bs-btn-focus-shadow-rgb: var(--eunita-primary-rgb);

  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--eunita-primary-active);
  --bs-btn-active-border-color: var(--eunita-primary-dark);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);

  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--eunita-primary);
  --bs-btn-disabled-border-color: var(--eunita-primary);
}

h1 {
  font-size: var(--wp--preset--font-size--huge);
  font-weight: 600;
  line-height: 1.25;
}

h2 {
  font-size: var(--wp--preset--font-size--x-large);
  font-weight: 600;
  line-height: 1.35;
}

h3 {
  font-size: var(--wp--preset--font-size--large);
  font-weight: 600;
  line-height: 1.35;
}

h4 {
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 600;
  line-height: 1.4;
}

h5 {
  font-size: var(--wp--preset--font-size--normal);
  font-weight: 600;
  line-height: 1.55;
}

h6 {
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  line-height: 1.6;
}

.callout {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: clamp(3rem, 7vw, 5rem);
  padding-right: clamp(1rem, 3vw, 1.5rem);
  padding-bottom: clamp(3rem, 7vw, 5rem);
  padding-left: clamp(1rem, 3vw, 1.5rem);
}

.callout-block {
  padding-left: clamp(1rem, 3vw, 1.5rem);
  border-left: 4px solid black;
}
.callout.text-white .callout-block {
  border-left: 4px solid #fff;
}

.our-partners .wp-block-column {
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* verteilt oben/unten */
}

.our-partners.wp-block-column .wp-block-image {
  margin-top: auto; /* schiebt Bild nach unten */
  margin-left: auto;
  margin-right: auto;
}

#menu-footer-menu a {
  text-decoration: none; /* unterstreichen weg */
}

/*
 * GUTENBERG
*/
.editor-styles-wrapper .wp-block {
  max-width: 1320px; /* anpassen an Bootstrap Container */
}

.editor-styles-wrapper .wp-block[data-align="wide"] {
  max-width: 100%;
}
.wp-block-button__link,
.wp-element-button {
  @apply btn; /* wenn du Tailwind hättest */
}
.wp-block-button__link,
.wp-element-button {
  display: inline-block;
  font-weight: var(--bs-btn-font-weight, 600);
  text-align: center;
  vertical-align: middle;
  user-select: none;
  border: var(--bs-btn-border-width, 1px) solid transparent;
  padding: var(--bs-btn-padding-y, 0.375rem) var(--bs-btn-padding-x, 0.75rem);
  font-size: var(--bs-btn-font-size, 1rem);
  line-height: var(--bs-btn-line-height, 1.5);
  border-radius: var(--bs-btn-border-radius, 0.375rem);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  padding: calc(0.667em + 2px) calc(1.333em + 2px) !important;
}

.wp-block-button__link,
.wp-element-button,
.btn-primary {
  color: var(--bs-btn-color, #fff);
  background-color: var(--bs-btn-bg, var(--eunita-primary));
  border-color: var(--bs-btn-border-color, var(--eunita-primary));
  border-width: 2px;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
  color: var(--bs-btn-hover-color, #fff);
  background-color: var(--bs-btn-hover-bg, var(--eunita-primary-hover));
  border-color: var(--bs-btn-hover-border-color, var(--eunita-primary-active));
}

.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-element-button {
  color: var(--eunita-primary);
  background-color: transparent;
  border: 2px solid var(--eunita-primary);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-element-button:hover {
  color: #fff;
  background-color: var(--eunita-primary-hover);
  border-color: var(--eunita-primary-active);
}

.alignfull > .wp-block-group__inner-container,
.alignfull > .wp-block-cover__inner-container {
  max-width: 1320px; /* Bootstrap container max-width */
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

.wp-block-group:not(.alignfull):not(.alignwide),
.wp-block-paragraph:not(.alignfull):not(.alignwide) {
  max-width: 1320px; /* Bootstrap container max-width */
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
/* sorgt dafür, dass full-width im Editor 100% Breite zeigt */
.editor-styles-wrapper .wp-block[data-align="full"] {
  max-width: none;
  width: 100%;
}
.editor-styles-wrapper
  .wp-block[data-align="full"]
  > .wp-block-group__inner-container {
  max-width: 1320px; /* Bootstrap Container */
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Startzustand */

header,
aside,
main .wp-block-group,
article {
  opacity: 0;
  animation: fadeInUp 0.8s ease-out forwards;
}

/* Optional: gestaffelte Verzögerungen */

header {
  animation-delay: 0.1s;
}
main .wp-block-group {
  animation-delay: 0.3s;
}
article {
  animation-delay: 0.5s;
}
aside {
  animation-delay: 0.7s;
}

/* Grundstruktur für Seiten */
.content-body {
  background-color: #fff;
}

/* Listen */
.page-content ul {
  padding-left: 1.2rem;
  margin-bottom: 1.5rem;
}

.page-content ul li {
  margin-bottom: 0.5rem;
}

/* Horizontal Rule */
.page-content hr {
  border: 0;
  border-top: 1px solid #ddd;
  margin: 2rem 0;
}

/* ==== MATERIALS SECTION ==== */
.materials .filter-bar {
  background: #fff;
  border-radius: 10px;
  padding: 1.25rem 1.5rem;
  margin-bottom: 2rem;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);
}

.materials .filter-bar input,
.materials .filter-bar select {
  border-radius: 50px;
  padding: 0.75rem 1.25rem;
  font-size: 1rem;
}

.materials .filter-bar input::placeholder {
  text-align: center;
  color: #383838;
}

.materials #filter-title {
  border-radius: 7px;
  padding: 0 1.5rem;
}

/* ==== CARDS ==== */
.materials .card {
  border: none;
  border-radius: 0.6rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.materials .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

/* ==== CARD TITLE ==== */
.materials .card-title a {
  color: #212529 !important;
  text-decoration: none;
  font-weight: 600;
}

.materials .card-title a:hover {
  color: #0d6efd;
  text-decoration: underline;
}

/* ==== CARD TEXT ==== */
.materials .card-text.small,
.materials .card-text.fs-6 {
  line-height: 1.4;
  margin-bottom: 0.25rem;
}

/* ==== BADGES ==== */
.materials .badge {
  font-size: 0.85rem;
  padding: 0.4em 0.8em;
  border-radius: 0.5rem;
}

.materials .badge.bg-success {
  background-color: #198754 !important;
  /* Preparation not needed */
}

.materials .badge.bg-warning {
  background-color: #ffc107 !important;
  /* Preparation needed */
  color: #212529 !important;
}

/* ==== CARD FOOTER ==== */
.materials .card-footer {
  background-color: #f8f9fa !important;
  border-top: none;
  padding: 1rem 0;
}

/* ==== GRID ==== */
@media (min-width: 992px) {
  .materials .card {
    min-height: 100%;
  }
}
