/*
Theme Name: TG-IT Consulting
Theme URI: https://www.tg-it-consulting.de
Author: TG-IT Consulting GmbH
Description: Individuelles Theme fuer TG-IT Consulting GmbH - Datenbank- und Software-Consulting.
Version: 1.0.0
Text Domain: tg-it-consulting
*/

:root{
  --tg-bg:#0b0f14;
  --tg-bg-alt:#10151d;
  --tg-surface:#161c26;
  --tg-border:#2a3140;
  --tg-text:#e7ebf0;
  --tg-text-muted:#9aa7b8;
  --tg-accent:#c9a24b;
  --tg-accent-dark:#8b6b2e;
  --tg-radius:12px;
  --tg-radius-sm:8px;
  --tg-max-width:1180px;
  --tg-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--tg-font);background:var(--tg-bg);color:var(--tg-text);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:var(--tg-accent);text-decoration:none;}
a:hover{text-decoration:underline;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.tg-container{max-width:var(--tg-max-width);margin:0 auto;padding:0 24px;}

/* Header */
.tg-header{position:sticky;top:0;z-index:100;background:rgba(11,15,20,.7);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:background .25s ease,border-color .25s ease;}
.tg-header.is-scrolled{background:rgba(11,15,20,.92);border-bottom-color:var(--tg-border);}
.tg-header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;}
.tg-logo{display:inline-flex;align-items:center;}
.tg-logo-badge{display:inline-flex;align-items:center;}
.tg-logo-badge img{height:44px;width:auto;display:block;}
.tg-logo-text{font-weight:700;font-size:1.25rem;letter-spacing:.02em;color:var(--tg-text);}
.tg-nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;background:none;border:none;cursor:pointer;padding:0;}
.tg-nav-toggle span{display:block;height:2px;background:var(--tg-text);border-radius:2px;}
.tg-menu{display:flex;gap:28px;list-style:none;margin:0;padding:0;}
.tg-menu a{color:var(--tg-text);font-weight:500;font-size:.95rem;}
.tg-menu a:hover{color:var(--tg-accent);text-decoration:none;}

/* Buttons */
.btn{display:inline-block;padding:13px 26px;border-radius:999px;font-weight:600;font-size:.95rem;border:1px solid transparent;cursor:pointer;transition:all .2s ease;}
.btn-primary{background:linear-gradient(135deg,var(--tg-accent),var(--tg-accent-dark));color:#161208;}
.btn-primary:hover{filter:brightness(1.08);text-decoration:none;transform:translateY(-1px);}
.btn-outline{border-color:var(--tg-border);color:var(--tg-text);}
.btn-outline:hover{border-color:var(--tg-accent);color:var(--tg-accent);text-decoration:none;}

/* Hero */
.tg-hero{padding:150px 0 110px;background:radial-gradient(circle at 15% 20%,rgba(201,162,75,.14),transparent 45%),radial-gradient(circle at 85% 10%,rgba(201,162,75,.08),transparent 40%),var(--tg-bg);text-align:center;}
.tg-hero-inner{max-width:820px;margin:0 auto;}
.tg-eyebrow{color:var(--tg-accent);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700;margin:0 0 14px;}
.tg-hero h1{font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.18;margin:0 0 22px;font-weight:700;}
.tg-hero-lead{color:var(--tg-text-muted);font-size:1.1rem;margin:0 0 34px;}
.tg-hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* Sections */
.tg-section{padding:90px 0;}
.tg-section-alt{background:var(--tg-bg-alt);}
.tg-section-title{font-size:clamp(1.6rem,3vw,2.1rem);margin:0 0 40px;font-weight:700;}

/* Grid / cards */
.tg-grid{display:grid;gap:24px;}
.tg-grid-4{grid-template-columns:repeat(4,1fr);}
.tg-grid-2{grid-template-columns:repeat(2,1fr);}
.tg-card{background:var(--tg-surface);border:1px solid var(--tg-border);border-radius:var(--tg-radius);padding:28px;transition:transform .2s ease,border-color .2s ease;}
.tg-card:hover{transform:translateY(-4px);border-color:var(--tg-accent);}
.tg-card h3{margin:0 0 12px;font-size:1.1rem;color:var(--tg-accent);}
.tg-card p{margin:0;color:var(--tg-text-muted);}

/* Badges */
.tg-badges{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:48px;}
.tg-badge{background:var(--tg-surface);border:1px solid var(--tg-border);border-radius:999px;padding:10px 20px;font-weight:600;font-size:.92rem;}

/* Stats */
.tg-stats{display:flex;gap:60px;flex-wrap:wrap;}
.tg-stat{display:flex;flex-direction:column;}
.tg-stat-number{font-size:3rem;font-weight:800;background:linear-gradient(135deg,var(--tg-accent),#e8c877);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;}
.tg-stat-label{color:var(--tg-text-muted);margin-top:8px;}

/* About */
.tg-about{max-width:760px;}
.tg-about p{color:var(--tg-text-muted);}

/* Contact */
.tg-contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:start;}
.tg-contact-info p{color:var(--tg-text-muted);}
.tg-contact-list{list-style:none;padding:0;margin:24px 0 0;color:var(--tg-text-muted);}
.tg-contact-list li{margin-bottom:8px;}
.tg-contact-form-wrap{background:var(--tg-surface);border:1px solid var(--tg-border);border-radius:var(--tg-radius);padding:32px;}
.tg-form-row{margin-bottom:18px;display:flex;flex-direction:column;gap:6px;}
.tg-form-row label{font-size:.9rem;color:var(--tg-text-muted);}
.tg-contact-form input[type=text],
.tg-contact-form input[type=email],
.tg-contact-form input[type=tel],
.tg-contact-form textarea{background:var(--tg-bg-alt);border:1px solid var(--tg-border);border-radius:var(--tg-radius-sm);padding:12px 14px;color:var(--tg-text);font-family:inherit;font-size:1rem;}
.tg-contact-form input:focus,
.tg-contact-form textarea:focus{outline:none;border-color:var(--tg-accent);}
.tg-form-consent label{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--tg-text-muted);}
.tg-form-consent input{margin-top:4px;}
.tg-form-hp{position:absolute;left:-9999px;top:-9999px;}
.tg-form-message{padding:14px 16px;border-radius:var(--tg-radius-sm);margin-bottom:20px;font-size:.92rem;}
.tg-form-success{background:rgba(70,180,110,.12);border:1px solid rgba(70,180,110,.4);color:#7fd8a0;}
.tg-form-error{background:rgba(200,80,80,.12);border:1px solid rgba(200,80,80,.4);color:#e79a9a;}

/* Footer */
.tg-footer{background:var(--tg-bg-alt);border-top:1px solid var(--tg-border);padding-top:56px;}
.tg-footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px;padding-bottom:40px;}
.tg-footer-col p{color:var(--tg-text-muted);margin:10px 0 0;}
.tg-footer-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.tg-footer-menu a{color:var(--tg-text-muted);}
.tg-footer-menu a:hover{color:var(--tg-accent);}
.tg-footer-bottom{border-top:1px solid var(--tg-border);padding:20px 0;text-align:center;color:var(--tg-text-muted);font-size:.85rem;}

/* Legal pages */
.tg-legal{padding:150px 0 100px;}
.tg-legal-inner{max-width:800px;margin:0 auto;}
.tg-legal-inner h1{font-size:2rem;margin-bottom:30px;}
.tg-legal-content h2{margin:36px 0 12px;font-size:1.2rem;color:var(--tg-accent);}
.tg-legal-content p{color:var(--tg-text-muted);}
.tg-back-link{margin-top:50px;}

/* Responsive */
@media (max-width:900px){
  .tg-grid-4{grid-template-columns:repeat(2,1fr);}
  .tg-contact-grid{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .tg-nav-toggle{display:flex;}
  .tg-nav{position:fixed;top:70px;left:0;right:0;background:var(--tg-bg-alt);border-bottom:1px solid var(--tg-border);max-height:0;overflow:hidden;transition:max-height .25s ease;}
  .tg-nav.is-open{max-height:400px;}
  .tg-menu{flex-direction:column;gap:0;padding:10px 24px;}
  .tg-menu a{display:block;padding:14px 0;border-bottom:1px solid var(--tg-border);}
  .tg-grid-4,.tg-grid-2{grid-template-columns:1fr;}
  .tg-hero{padding:130px 0 80px;}
  .tg-logo-badge img{height:36px;}
}