/*
Theme Name:   GFP Child (Divi 5)
Theme URI:    https://www.ib-gfp.de
Description:  Child-Theme für GFP Ingenieurbüro für Geotechnik und Umweltplanung GmbH. CPTs für Jobs & Projekte, SEO/GEO-Schema, Shortcodes für den Divi Theme Builder.
Author:       Nestocom Webdesign
Author URI:   https://www.nestocom.de
Template:     Divi
Version:      1.0.0
License:      GNU General Public License v2 or later
Text Domain:  gfp-child
*/

/* ============================================================
   GFP Design-Token (aus dem freigegebenen Entwurf)
   ============================================================ */
:root {
  --gfp-blue-900: #0d3a5c;
  --gfp-blue-700: #1e6fa8;
  --gfp-blue-500: #4a90c4;
  --gfp-blue-200: #a8c8e0;
  --gfp-blue-050: #eef5fa;
  --gfp-accent:   #f28c28;
  --gfp-accent-d: #d97817;
  --gfp-ink:      #22303b;
  --gfp-gray:     #5d6b77;
  --gfp-line:     #dde6ee;
}

/* ============================================================
   Projekt-Faktenbox  [gfp_projekt_fakten]
   ============================================================ */
.gfp-fakten {
  background: var(--gfp-blue-050);
  border-radius: 14px;
  padding: 26px;
}
.gfp-fakten h3 { margin-bottom: 14px; color: var(--gfp-blue-900); }
.gfp-fakten dt { font-weight: 700; color: var(--gfp-blue-900); margin-top: 12px; }
.gfp-fakten dd { color: var(--gfp-gray); margin-left: 0; }

/* ============================================================
   Job-Karten  [gfp_jobs_grid]
   ============================================================ */
.gfp-jobs { display: grid; gap: 18px; }
.gfp-job {
  border: 1px solid var(--gfp-line);
  border-left: 5px solid var(--gfp-accent);
  border-radius: 12px;
  padding: 24px 26px;
  background: #fff;
}
.gfp-job .gfp-tag {
  display: inline-block;
  background: var(--gfp-blue-050);
  color: var(--gfp-blue-700);
  font-size: .75rem; font-weight: 700;
  padding: 4px 10px; border-radius: 999px;
  margin-bottom: 10px;
}
.gfp-job h3 { color: var(--gfp-blue-900); font-size: 1.15rem; margin-bottom: 6px; }
.gfp-job p { font-size: .92rem; color: var(--gfp-gray); margin-bottom: 14px; }
.gfp-job a { font-weight: 700; text-decoration: none; color: var(--gfp-blue-700); }

/* ============================================================
   Projekt-Karten  [gfp_projekte_grid]
   ============================================================ */
.gfp-projekte {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.gfp-proj {
  border-radius: 14px; overflow: hidden;
  background: #fff; border: 1px solid var(--gfp-line);
  transition: .2s; text-decoration: none; color: var(--gfp-ink); display: block;
}
.gfp-proj:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(30,111,168,.15); }
.gfp-proj .gfp-proj-img {
  height: 170px; background-size: cover; background-position: center;
  background-color: var(--gfp-blue-500);
  display: flex; align-items: flex-end; padding: 14px; position: relative;
}
.gfp-proj .gfp-proj-cat {
  color: #fff; font-size: .78rem; font-weight: 600;
  letter-spacing: .05em; text-transform: uppercase;
  text-shadow: 0 1px 3px rgba(0,0,0,.5);
}
.gfp-proj .gfp-drone {
  position: absolute; top: 12px; right: 12px;
  background: rgba(0,0,0,.45); border: 1px solid rgba(255,255,255,.4);
  color: #fff; font-size: .7rem; padding: 4px 10px; border-radius: 999px;
}
.gfp-proj .gfp-proj-body { padding: 20px 22px; }
.gfp-proj h3 { font-size: 1.05rem; color: var(--gfp-blue-900); margin-bottom: 6px; }
.gfp-proj p { font-size: .9rem; color: var(--gfp-gray); }

/* ============================================================
   FAQ  [gfp_projekt_faq]
   ============================================================ */
.gfp-faq details {
  border: 1px solid var(--gfp-line);
  border-radius: 10px;
  margin-bottom: 10px;
  background: #fff;
}
.gfp-faq summary {
  cursor: pointer; font-weight: 700; color: var(--gfp-blue-900);
  padding: 14px 18px; list-style: none;
}
.gfp-faq summary::after { content: "+"; float: right; color: var(--gfp-accent); font-size: 1.2rem; }
.gfp-faq details[open] summary::after { content: "–"; }
.gfp-faq .gfp-faq-a { padding: 0 18px 16px; color: var(--gfp-gray); }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 900px) {
  .gfp-projekte { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .gfp-projekte { grid-template-columns: 1fr; }
}
