/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.6.0.1756893739
Updated: 2025-09-03 10:02:19

*/

/*
Theme Name:   AiG Child (Styles)
Template:     generatepress
Version:      1.0.2
*/

/* ===== Base / Typo / Links ======================================== */
body{ color:var(--aig-text); background:var(--aig-white);}
a{ color:var(--aig-green); text-decoration:none; }
a:hover{ color:#004a2c; } /* Hex-Fallback bis ggf. --aig-green-700 existiert */
h1,h2,h3,h4,h5,h6,.entry-title,.page-title{ color:var(--aig-text); }

/* ===== Layout Helpers ============================================== */
.container{ max-width:1200px; margin:0 auto;}
.section{ padding:clamp(48px,8vw,96px) 0; }
.grid{ display:grid; gap:28px; grid-template-columns:repeat(12,1fr); }
.col-4{ grid-column:span 4; } .col-6{ grid-column:span 6; } .col-12{ grid-column:1/-1; }
@media (max-width:1024px){ .col-4,.col-6{ grid-column:1/-1; } }
.sect-soft{ background:var(--aig-soft); }
.border{ border:1px solid var(--aig-border); border-radius:12px; }

/* ===== Buttons (für Gutenberg/GB) ================================== */
.btn{ display:inline-flex; align-items:center; gap:.6rem; padding:.85rem 1.2rem; border-radius:999px; border:1px solid transparent; font-weight:800; letter-spacing:.01em; cursor:pointer; }
.btn--primary{ background:var(--aig-green); color:var(--aig-white); }
.btn--primary:hover{ background:#004a2c; color:var(--aig-white); }
.btn--gold{ background:var(--aig-gold); color:var(--aig-text); }
.btn--gold:hover{ filter:saturate(110%); }

/* ===== Cards + Iconlist ============================================ */
.aig-card{ background:var(--aig-white); border:1px solid var(--aig-text-30); border-radius:16px; padding:24px; }
.aig-card .muted{ color:var(--aig-text-60); }
.aig-iconlist{ list-style:none; margin:12px 0 0; padding:0; }
.aig-iconlist li{ display:flex; gap:.65rem; padding:.35rem 0; }
.aig-iconlist li::before{ content:""; width:16px; height:16px; border-radius:50%; background: radial-gradient(circle at 30% 30%, #f5d26a, var(--aig-gold)); margin-top:.25rem; flex:0 0 16px; }

/* ===== Hero ======================================================== */
.aig-hero{ padding:clamp(64px,10vw,120px) 0; background:linear-gradient(180deg,var(--aig-white) 0%, #fafbfa 100%); border-bottom:1px solid var(--aig-text-30); }
.aig-hero .kicker{ display:inline-block; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--aig-green); background:rgba(0,96,57,.06); border:1px solid rgba(0,96,57,.18); border-radius:999px; padding:.35rem .7rem; }
.aig-hero .lead{ color:var(--aig-text-60); max-width:70ch; }

/* ===== FAQ (native <details>) ====================================== */
.aig-faq details{ background:var(--aig-white); border:1px solid var(--aig-text-30); border-radius:16px; padding:.9rem 1rem; }
.aig-faq details+details{ margin-top:12px; }
.aig-faq summary{ font-weight:800; cursor:pointer; }
.aig-faq .answer{ color:var(--aig-text-60); padding-top:.5rem; }

/* ===== Form (Demo) ================================================= */
.aig-form{ display:grid; gap:14px; max-width:560px; }
.aig-input, .aig-textarea{ width:100%; padding:.8rem 1rem; border:1px solid var(--aig-border); border-radius:10px; background:var(--aig-white); color:var(--aig-text); }
.aig-input:focus, .aig-textarea:focus{ outline:none; border-color:var(--aig-gold); }

/* Buttons sollen nicht von globalen Linkfarben übermalt werden */
a.btn,
.wp-block-button .wp-block-button__link {
  color: var(--aig-white) !important;
}
a.btn.btn--gold,
.wp-block-button .wp-block-button__link.btn--gold {
  color: var(--aig-text) !important;
}

/* Auch im Artikelkontext (GeneratePress) sicherstellen */
.inside-article a.btn,
.entry-content a.btn {
  color: var(--aig-white) !important;
}



/* TEST Phil */
/* Animiertes Gradient-Text – kompatibel & performant */
.gradient-text {
  --speed: 8s;                 /* ändere Geschwindigkeit */
  --angle: 90deg;              /* Winkel des Gradients */
  --colors: #d29f13, #ffffff, #ffffff, #d29f13, #ffffff, #ffffff, #d29f13;

  font-weight: 800;
  background: linear-gradient(var(--angle), var(--colors));
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent; /* wichtig für Safari */
  animation: gradient-move var(--speed) linear infinite;
}

@keyframes gradient-move {
  0%   { background-position:   0% 50%; }
  100% { background-position: 200% 50%; }
}

/* Respektiere Nutzer, die Animationen reduzieren möchten */
@media (prefers-reduced-motion: reduce) {
  .gradient-text { animation: none; }
}

/* === Vertical Dock (right edge) ======================================= */
.gp-vertical-dock{
  --size: 36px;             /* Icon-Basisgröße */
  --gap: 10px;              /* Abstand zwischen Icons */
  --max-scale: 1.6;         /* maximale Vergrößerung bei Hover */
  --falloff: 60;           /* Einflussbereich in px (Magnify) */
  --pad: 10px;              /* Innenabstand Container */
  --bg: rgba(15,23,42,0.28);/* Glas-Hintergrund */
  --border: rgba(255,255,255,0.25);
  --tooltip-bg: rgba(15,23,42,0.9);
  --tooltip-fg: #fff;

  position: fixed;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  padding: var(--pad);
  border-radius: 9999px;
  background: var(--bg);
  border: 1px solid var(--border);
  backdrop-filter: blur(10px) saturate(1.2);
  -webkit-backdrop-filter: blur(10px) saturate(1.2);
}

.gp-vertical-dock .dock-item{
  width: var(--size);
  height: var(--size);
  display: grid;
  place-items: center;
  border-radius: 9999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  transition: transform 120ms ease, background 120ms ease, box-shadow 120ms ease;
  position: relative;
  will-change: transform;
  text-decoration: none;
  color: #fff;
}

.gp-vertical-dock .dock-item svg{
  width: 60%;
  height: 60%;
  transition: transform 120ms ease, background 120ms ease, box-shadow 120ms ease;
  fill: #fff;
  pointer-events: none;
}

/* Hover-/Focus-Farbe */
.gp-vertical-dock .dock-item:hover,
.gp-vertical-dock .dock-item:focus-visible {
  color: rgb(210,159,19); /* deine Wunschfarbe */
}

/* Tooltip */
.gp-vertical-dock .dock-item::after{
  content: attr(data-tooltip);
  position: absolute;
  right: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%) scale(.95);
  background: var(--aig-border);
  color: var(--aig-soft);
  font-size: 12px;
  line-height: 1;
  padding: 6px 8px;
  border-radius: 6px;
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  transition: opacity 120ms ease, transform 120ms ease;
}
.gp-vertical-dock .dock-item:hover::after,
.gp-vertical-dock .dock-item:focus-visible::after{
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

/* Hover/Fokus-Optik */
.gp-vertical-dock .dock-item:hover,
.gp-vertical-dock .dock-item:focus-visible{
  background: rgba(255,255,255,0.16);
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}

/* Responsiv: mobil kleiner/abschalten */
@media (max-width: 768px){
  .gp-vertical-dock{
    right: 10px;
    --size: 40px;
    --gap: 8px;
  }
}
@media (max-width: 480px){
  .gp-vertical-dock{
    display: none; /* oder ausblenden, wenn’s stört */
  }
}

/* Nutzer, die Bewegungen reduzieren wollen, respektieren */
@media (prefers-reduced-motion: reduce){
  .gp-vertical-dock .dock-item{ transition: none; }
}


/* ===== Logo Loop ===== */
.logo-loop{
  --h: 245px;
  --gap: clamp(64px,5vw,96px);
  --speed: 120s;
  --bg: transparent;
  position: relative;
  overflow: hidden;
  background: var(--bg);
  padding: 12px 0;
}

.logo-track{
  display: flex;
  gap: var(--gap);
  align-items: center;
  width: max-content;
  animation: logo-scroll var(--speed) linear infinite;
  will-change: transform;
  padding-inline: var(--gap);
}

@keyframes logo-scroll{
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.logo{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--h);
  min-width: calc(var(--h) * .65);
  opacity: .9;
  transition: opacity .2s ease, transform .2s ease, filter .2s ease;
}

.logo img{
  height: 100%;
  width: auto;
  object-fit: contain;
  /*filter: grayscale(1) contrast(1.1) brightness(0.9);*/
}

.logo:hover img,
.logo:focus-visible img{
  filter: none;
}

.logo:hover,
.logo:focus-visible{
  opacity: 1;
  transform: translateY(-2px);
}

.logo-loop:hover .logo-track{ animation-play-state: paused; }

@media (max-width: 768px){
  .logo-loop{ --h: 110px; --speed: 28s; }
}
@media (max-width: 480px){
  .logo-loop{ --h: 90px; --speed: 24s; }
}

@media (prefers-reduced-motion: reduce){
  .logo-track{ animation: none; }
}

/* Zieht den Block wirklich randlos über die ganze Bildschirmbreite */
.fullbleed-force{
  position: relative;
  width: 100dvw;                 /* moderne Viewport-Breite, verhindert Scroll-Jitter */
  max-width: 100dvw;
  margin-left: calc(50% - 50dvw);
  margin-right: calc(50% - 50dvw);
  /* häufig stören Theme-Paddings: */
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Falls GP/GenerateBlocks einen Inside-Container hat, alles aufziehen */
.fullbleed-force > .gb-inside-container,
.fullbleed-force .wp-block-group__inner-container{
  width: 100%;
  max-width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Optional: Inhalt wieder zentriert begrenzen */
.fullbleed-inner{
  --content-max: 1200px;         /* anpassen nach Wunsch */
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 24px 16px;            /* Innenabstand für Text/Logos */
}

/* Eltern dürfen nicht clippen */
.site-main, .site-content{ overflow: visible; }

/* Manche Themes setzen max-width auf alignfull – sicherheitshalber neutralisieren */
.alignfull.fullbleed-force{ max-width: none !important; }


.text-button-test {
	background: linear-gradient(135deg, #d29f13 0%, #fde299 33%, #fde299 50%, #fde299 66%, #d29f13 100%) !important;
    color: #2d2d2b !important;
    border: 0px solid #ffffff00;
    border-radius: 100px !important;
    padding: 16px 32px !important;
    text-decoration: none !important;
    display: inline-block !important;
    letter-spacing: normal !important;
    transition: background 0.3s 
ease-in-out, color 0.3s 
ease-in-out, border-color 0.3s 
ease-in-out;
    box-sizing: border-box !important;
}

/* === MAX neuziel === */
/* === GENERALLY === */
h2{
	font-size: 32px;
	font-weight: 700;
}

h3{
	font-size: 24px;
	font-weight: 700;
}

body{
	font-size: 16px!important;
}

.btn-list .gb-shape{
	font-weight: 700;
	background: #c1c1c1!important;
	padding: 10px 6px;
	border: 2px solid #c1c1c1;
	border-radius: 100%;
}

.btn-list-block .gb-shape svg{
	font-size: 25px!important;
	padding-bottom: 5px!important;
}