/*
Theme Name: Genial Media
Theme URI: https://www.genial-media.de
Author: GENIAL MEDIA GbR
Author URI: https://www.genial-media.de
Description: Modernes B2B-Theme für GENIAL MEDIA – WLAN, Schul-IT, Netzwerk-Infrastruktur. Elementor-kompatibel.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
License: Private
Text Domain: genial-media
Tags: business, custom-menu, full-width-template, theme-options, translation-ready
*/

/* Brand CSS Custom Properties */
:root {
  --gm-green:       #bccf21;
  --gm-green-dark:  #9aaa17;
  --gm-gray:        #9d9d9c;
  --gm-red:         #a70f13;
  --gm-blue:        #1b6e94;
  --gm-amber:       #f0ad45;
  --gm-green-pale:  #f4f8d8;
  --gm-blue-pale:   #e8f4fb;
}

/* Typography */
body {
  font-family: 'Source Sans 3', sans-serif;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6,
.font-heading {
  font-family: 'Lexend', sans-serif;
}

/* Glass / Backdrop */
.glass {
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Hero gradient */
.hero-grad {
  background: linear-gradient(135deg, #0f2027 0%, #1b3a4b 50%, #1b6e94 100%);
}

/* Section label chip */
.section-label {
  display: block;          /* eigene Zeile – nicht inline neben dem H2 */
  width: fit-content;      /* nur so breit wie der Text */
  font-family: 'Lexend', sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gm-green-dark);
  background: var(--gm-green-pale);
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  margin-bottom: 0.75rem;
}
/* In zentrierten Sektionen mittig ausrichten */
.text-center .section-label {
  margin-left: auto;
  margin-right: auto;
}

/* Green underline decoration */
.underline-green {
  position: relative;
  padding-bottom: 0.5rem;
}
.underline-green::after {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 3rem; height: 3px;
  background: var(--gm-green);
  border-radius: 2px;
}

/* Card hover lift */
.card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

/* Dropdown */
.dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 220px;
  background: #fff;
  border-radius: 12px;
  padding: 8px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease, transform 0.15s ease;
  transform: translateY(-4px);
  z-index: 100;
  border: 1px solid #f0f0f0;
}
.dropdown-parent:hover .dropdown,
.dropdown-parent:focus-within .dropdown {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}
.dropdown button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 0.875rem;
  color: #374151;
  transition: background 0.1s;
  background: none;
  border: none;
  cursor: pointer;
  font-family: 'Source Sans 3', sans-serif;
}
.dropdown button:hover {
  background: #f9fafb;
  color: var(--gm-green-dark);
}

/* Tab underline active */
.tab-active {
  border-bottom-color: var(--gm-green) !important;
  color: var(--gm-green-dark) !important;
}

/* Accordion */
.accordion-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.accordion-body.open {
  max-height: 600px;
}

/* Carousel fade */
.slide {
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  position: absolute;
  inset: 0;
}
.slide.active {
  opacity: 1;
  pointer-events: auto;
  position: relative;
}

/* Elementor full-width page override */
.elementor-page .site-main,
body.page .entry-content {
  padding: 0;
  margin: 0;
  max-width: 100%;
}

/* WP admin bar spacing */
.admin-bar #site-header {
  top: 32px;
}
@media (max-width: 782px) {
  .admin-bar #site-header {
    top: 46px;
  }
}

/* Blog Pagination */
.gm-pagination { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; justify-content:center; }
.gm-pagination .page-numbers { display:inline-flex; align-items:center; gap:.25rem; font-family:'Lexend',sans-serif; font-weight:600; font-size:.875rem; padding:.5rem .875rem; border-radius:.75rem; border:1px solid #e5e7eb; color:#374151; transition:all .15s; text-decoration:none; }
.gm-pagination .page-numbers:hover { background:#f4f8d8; border-color:#bccf21; color:#9aaa17; }
.gm-pagination .page-numbers.current { background:#bccf21; border-color:#bccf21; color:#1f2937; }
.gm-pagination .page-numbers.dots { border:none; background:none; }

/* Partner logo grayscale (Fallback für ältere Browser) */
.grayscale       { filter: grayscale(100%); }
.grayscale-0     { filter: grayscale(0%); }
.hover\:grayscale-0:hover { filter: grayscale(0%); }

/* Prose / Blog content */
.prose h2 { font-family:'Lexend',sans-serif; font-size:1.5rem; font-weight:700; margin:2rem 0 1rem; color:#111827; }
.prose h3 { font-family:'Lexend',sans-serif; font-size:1.2rem; font-weight:700; margin:1.5rem 0 .75rem; color:#111827; }
.prose p  { margin:0 0 1.25rem; line-height:1.75; color:#374151; }
.prose ul { margin:0 0 1.25rem 1.5rem; list-style:disc; color:#374151; }
.prose li { margin-bottom:.5rem; line-height:1.7; }
.prose strong { font-weight:700; color:#111827; }
.prose blockquote { border-left:4px solid var(--gm-green); padding:1rem 1.5rem; background:var(--gm-green-pale); border-radius:0 .75rem .75rem 0; margin:1.5rem 0; }
.prose blockquote p { color:#374151; margin:0; font-style:italic; }
