/*
Theme Name: QualiGem
Theme URI: https://www.qualigem.de
Author: FAR Group
Author URI: https://www.far-group.de
Description: 1:1-WordPress-Theme der QualiGem-Startseite. Voll editierbar über den Customizer (Kontaktdaten, Hero, CTA, News, Partner, Bilder, Logo, Menü, Footer).
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: qualigem
*/

/* ===== Variablen-Bridge (neue Seiten nutzen Kurznamen, gleiche CI-Werte) ===== */
:root{
  --B:#1E5A8E; --Bd:#164a78; --Bl:#EBF3FA; --Bll:#f3f8fc;
  --G:#1F8A4C; --Gd:#166338; --Gl:#EBF6EF;
  --O:#F2B72E; --Od:#D49A1A; --Ol:#FEF7E0;
  --N:#0c1929; --T:#1F2937; --S:#667085; --L:#D9E0E6; --BG:#F7F8FA;
  --fH:'Montserrat',sans-serif; --fB:'Open Sans',Arial,sans-serif;
}


/* === CI COLORS === */
:root {
  --blue:    #1E5A8E;
  --blue-dk: #174878;
  --green:   #1F8A4C;
  --green-dk:#186038;
  --gold:    #F2B72E;
  --gold-dk: #D9A020;
  --navy:    #153E63;
  --white:   #ffffff;
  --bg:      #F7F8FA;
  --bg2:     #EEF1F4;
  --line:    #D9E0E6;
  --txt:     #1F2937;
  --gray:    #667085;
  --font-h:  'Montserrat', sans-serif;
  --font-b:  'Open Sans', Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-b);color:var(--txt);background:#fff;font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}

/* === TOPBAR === */
.topbar{
  background:#fff;
  border-bottom:2px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 44px;height:82px;
  box-shadow:0 2px 12px rgba(0,0,0,0.07);
  position:sticky;top:0;z-index:200;
}
.logo-wrap{display:flex;align-items:center;gap:14px;}
.logo-img{height:60px;width:auto;object-fit:contain;}
.logo-text-block{display:flex;flex-direction:column;gap:1px;}
.logo-name{font-family:var(--font-h);font-size:1.65rem;font-weight:800;color:var(--blue);line-height:1.05;letter-spacing:-0.01em;}
.logo-name .gem{color:var(--green);}
.logo-tagline{font-size:0.63rem;color:var(--gray);line-height:1.4;font-family:var(--font-b);}
.topbar-right{display:flex;align-items:center;gap:22px;}
.tb-contact{display:flex;align-items:center;gap:7px;font-size:0.81rem;color:var(--blue);font-weight:600;white-space:nowrap;}
.tb-contact svg{flex-shrink:0;}
.btn-beratung{
  background:var(--green);color:#fff;
  font-family:var(--font-b);font-size:0.8rem;font-weight:700;
  padding:11px 20px;border:none;cursor:pointer;
  display:flex;align-items:center;gap:7px;
  transition:background .18s;white-space:nowrap;
}
.btn-beratung:hover{background:var(--green-dk);}
.btn-beratung svg{width:11px;height:11px;}

/* === NAVBAR === */
.navbar{
  background:#fff;
  border-bottom:2px solid var(--line);
  padding:0 44px;
  position:sticky;top:82px;z-index:199;
  box-shadow:0 1px 4px rgba(0,0,0,0.04);
}
.nav-ul{list-style:none;display:flex;}
.nav-ul li a{
  display:block;padding:13px 16px;
  font-family:var(--font-b);font-size:0.8rem;font-weight:600;color:#444;
  border-bottom:3px solid transparent;
  transition:color .15s,border-color .15s;
  white-space:nowrap;
}
.nav-ul li a:hover{color:var(--blue);}
.nav-ul li a.active{color:var(--green);border-bottom-color:var(--gold);}

/* === HERO === */
/* Gold/green swoosh bottom decoration like on original */
/* diagonal overlap panel */

/* Hero right */

/* === SECTIONS === */

/* === FÜR WEN === */

/* === WAS WIR TUN === */
.wwt-img{height:158px;position:relative;overflow:hidden;}
.wwt-img.wi1{}
.wwt-img.wi2{}
.wwt-img.wi3{}
.wwt-img::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 35% 38%,rgba(255,255,255,0.12) 0%,transparent 55%);}
.wwt-body{padding:15px 16px 17px;background:#fff;}

/* === BILDUNGSBEREICHE === */

/* === CTA STRIP === */

/* === AKTUELLES === */
.nc-img{height:110px;position:relative;overflow:hidden;}
.nc-img.ni1{}
.nc-img.ni2{}
.nc-img.ni3{}
.nc-img::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 38% 38%,rgba(255,255,255,0.1) 0%,transparent 58%);}
.nc-body{padding:14px 14px 16px;}

/* === PARTNER === */

/* === FOOTER === */
footer{background:#0c1929;color:rgba(255,255,255,0.82);padding:50px 48px 22px;}
.ft-grid{display:grid;grid-template-columns:220px 1fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px;}
.ft-logo-row{display:flex;align-items:center;gap:11px;margin-bottom:10px;}
.ft-logo-img{height:46px;width:auto;object-fit:contain;}
.ft-logo-name{font-family:var(--font-h);font-size:1.15rem;font-weight:800;color:#fff;}
.ft-logo-name .gem{color:var(--gold);}
.ft-tagline{font-size:0.62rem;color:rgba(255,255,255,0.44);line-height:1.48;margin-bottom:14px;}
.ft-cr{display:flex;align-items:center;gap:7px;font-size:0.72rem;color:rgba(255,255,255,0.62);margin-bottom:5px;}
.ft-cr svg{width:13px;height:13px;color:rgba(255,255,255,0.4);flex-shrink:0;}
.ft-soc-lbl{font-family:var(--font-b);font-size:0.68rem;font-weight:700;color:rgba(255,255,255,0.75);margin:13px 0 8px;}
.ft-socials{display:flex;gap:8px;}
.ft-sico{width:30px;height:30px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .18s,background .18s;}
.ft-sico:hover{background:rgba(255,255,255,0.09);border-color:rgba(255,255,255,0.45);}
.ft-sico svg{width:13px;height:13px;color:rgba(255,255,255,0.72);}
.ft-col-title{font-family:var(--font-b);font-size:0.68rem;font-weight:700;color:rgba(255,255,255,0.88);margin-bottom:13px;text-transform:uppercase;letter-spacing:0.06em;}
.ft-ul{list-style:none;display:flex;flex-direction:column;gap:7px;}
.ft-ul a{font-size:0.72rem;color:rgba(255,255,255,0.56);transition:color .18s;}
.ft-ul a:hover{color:rgba(255,255,255,0.92);}
.ft-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:17px;text-align:center;font-size:0.67rem;color:rgba(255,255,255,0.34);}

/* Arrow helper */


/* === EINGEBUNDENE STARTSEITEN-FOTOS === */

.wwt-img,.nc-img{
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.wwt-img{height:180px;}
.wwt-img.wi1{background-image:url("assets/vernetzen-meeting.jpg")!important;background-position:center center!important;}
.wwt-img.wi2{background-image:url("assets/entwickeln-wachstum.jpg")!important;background-position:center center!important;}
.wwt-img.wi3{background-image:url("assets/wirken-bruecke.jpg")!important;background-position:center center!important;}
.wwt-img::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,28,45,0.02) 0%,rgba(8,28,45,0.20) 100%);
  z-index:1;
}

.nc-img{height:128px;}
.nc-img.ni1{background-image:url("assets/news-netzwerktreffen.jpg")!important;background-position:center center!important;}
.nc-img.ni2{background-image:url("assets/news-bildungskongress.jpg")!important;background-position:center center!important;}
.nc-img.ni3{background-image:url("assets/news-kooperationen.jpg")!important;background-position:center center!important;}
.nc-img::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,28,45,0.00) 0%,rgba(8,28,45,0.16) 100%);
  z-index:1;
}
@media (max-width:760px){
  .topbar{position:relative;height:auto;min-height:82px;padding:18px 24px;align-items:flex-start;gap:16px;}
  .topbar-right{display:none;}
  .navbar{position:relative;top:0;padding:0 24px;overflow-x:auto;}
  .ft-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){
  .ft-grid{grid-template-columns:1fr;}
  .logo-name{font-size:1.4rem;}
  .logo-img{height:54px;}}



/* === FINAL FEINTUNING: Vorlagennahe Startseite und passgenaue Fotokarten === */
.topbar{
  height:88px !important;
  padding:0 46px !important;
  border-bottom:none !important;
  box-shadow:0 8px 26px rgba(17,58,96,0.04) !important;
}
.logo-img{height:62px !important;}
.logo-name{font-size:1.72rem !important;}
.logo-tagline{color:#2f3f52 !important;}
.navbar{
  top:88px !important;
  padding:0 46px !important;
  border-top:1px solid rgba(217,224,230,0.72) !important;
  border-bottom:1px solid rgba(217,224,230,0.72) !important;
  box-shadow:none !important;
}
.nav-ul{justify-content:flex-start;gap:8px;}
.nav-ul li a{padding:15px 14px !important;color:#113b63 !important;font-size:0.81rem !important;font-weight:700 !important;}
.nav-ul li a.active{color:var(--green) !important;border-bottom-color:var(--green) !important;}
.btn-beratung{border-radius:2px;box-shadow:0 8px 18px rgba(31,138,76,.16);}
.wwt-img{height:184px !important;position:relative !important;overflow:hidden !important;background-size:cover !important;background-repeat:no-repeat !important;border-radius:0 !important;}
.wwt-img.wi1{background-image:url("assets/vernetzen-meeting.jpg") !important;background-position:center center !important;}
.wwt-img.wi2{background-image:url("assets/entwickeln-wachstum.jpg") !important;background-position:center center !important;}
.wwt-img.wi3{background-image:url("assets/wirken-bruecke.jpg") !important;background-position:center center !important;}
.wwt-img::before{content:'' !important;position:absolute !important;inset:0 !important;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(13,43,78,.10) 100%) !important;z-index:1 !important;}
.wwt-body{padding:43px 20px 22px !important;background:#fff !important;min-height:148px !important;}
.nc-img{height:122px !important;background-size:cover !important;background-position:center center !important;}
.nc-img.ni1{background-image:url("assets/news-netzwerktreffen.jpg") !important;}
.nc-img.ni2{background-image:url("assets/news-bildungskongress.jpg") !important;}
.nc-img.ni3{background-image:url("assets/news-kooperationen.jpg") !important;}
@media (max-width:760px){
  .topbar{position:relative !important;height:auto !important;min-height:82px !important;padding:18px 24px !important;}
  .navbar{position:relative !important;top:0 !important;padding:0 24px !important;overflow-x:auto !important;}}

/* ===== Aktiver Menüpunkt (WordPress) ===== */
.nav-ul li.current-menu-item > a,
.nav-ul li.current_page_item > a,
.nav-ul li.current-menu-parent > a,
.nav-ul li.current-page-ancestor > a{color:var(--green);border-bottom-color:var(--gold);}
.qg-sub{min-height:40vh;}

/* ===== Einfache Inhaltsseiten (Impressum/Datenschutz) ===== */
.qg-legal{max-width:900px;margin:0 auto;padding:56px 24px 72px;}
.qg-legal h1{font-family:var(--font-h);font-size:1.9rem;color:var(--blue);margin-bottom:8px;}
.qg-legal .qg-rule{width:64px;height:4px;background:var(--gold);margin:0 0 26px;}
.qg-legal h2{font-family:var(--font-h);font-size:1.15rem;color:var(--blue);margin:26px 0 8px;}
.qg-legal p{margin-bottom:12px;color:var(--txt);}
.qg-legal a{color:var(--blue);text-decoration:underline;}

/* ===== Dropdown-Navigation (Unterseiten im Header) ===== */
.nav-ul li{position:relative;}
.nav-ul .sub-menu{
  position:absolute;top:100%;left:0;min-width:230px;
  background:#fff;border-top:3px solid var(--gold);
  box-shadow:0 10px 26px rgba(10,35,61,0.16);
  border-radius:0 0 8px 8px;padding:6px 0;margin:0;
  list-style:none;display:none;flex-direction:column;z-index:250;
}
.nav-ul li:hover > .sub-menu,
.nav-ul li:focus-within > .sub-menu{display:flex;}
.nav-ul .sub-menu li{width:100%;}
.nav-ul .sub-menu li a{
  display:block;padding:10px 20px !important;border-bottom:0 !important;
  font-size:0.8rem !important;font-weight:600 !important;color:#33475b !important;
  white-space:nowrap;transition:background .12s,color .12s;
}
.nav-ul .sub-menu li a:hover{background:#f4f8fb;color:var(--blue) !important;}
.nav-ul .menu-item-has-children > a::after,
.nav-ul li.has-sub > a::after{content:"\00a0\25BE";font-size:0.78em;}
.nav-ul .sub-menu .menu-item-has-children > a::after,
.nav-ul .sub-menu li.has-sub > a::after{content:"";}
@media (max-width:900px){
  /* Mobile: horizontaler Scroll-Header; Unterseiten via Seiteninhalt erreichbar */
  .nav-ul .sub-menu{display:none !important;}
  .nav-ul .menu-item-has-children > a::after,
  .nav-ul li.has-sub > a::after{content:"";}
}
