/*
Theme Name: ITQ Gutenberg Theme 1.0.9
Theme URI: https://itq.ch
Author: ITQ
Description: Kostenloses, Gutenberg-editierbares WordPress-Theme auf Basis der bestehenden Next.js Website. Ohne WPConvert, ohne kostenpflichtige Builder.
Version: 1.1.8
Requires at least: 6.0
Tested up to: 6.6
License: GPL v2 or later
Text Domain: itq-gutenberg
*/
:root{--background:#fff;--foreground:#0c192a;--card:#fff;--card-foreground:#0c192a;--primary:#1f4d87;--primary-foreground:#fafafa;--secondary:#edf2f9;--secondary-foreground:#1e3351;--muted:#eef2f7;--muted-foreground:#5e6a7a;--accent:#d7ebfa;--accent-foreground:#14335b;--border:#d9dee6;--input:#d9dee6;--radius:.375rem;--max:80rem}*{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%}body{margin:0;background:var(--background);color:var(--foreground)}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3,h4,p{margin-top:0}.site-topbar{background:var(--primary);color:var(--primary-foreground);font-size:.875rem}.site-topbar .wrap{max-width:var(--max);margin:0 auto;padding:.5rem 1.5rem;display:flex;justify-content:flex-end;gap:1.5rem}.site-topbar a{text-decoration:none;opacity:.92}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.site-header .wrap{max-width:var(--max);margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:inline-flex;align-items:center;text-decoration:none}.brand-mark{display:inline-flex;align-items:center;justify-content:center;height:2.25rem;border-radius:.375rem;background:var(--primary);color:var(--primary-foreground);padding:0 .75rem;font-weight:700;letter-spacing:-.025em}.site-nav{display:flex;align-items:center;gap:2rem}.site-nav a{text-decoration:none;color:var(--muted-foreground);font-weight:600;font-size:.95rem}.site-nav a:hover{color:var(--primary)}.site-main{min-height:60vh}.site-footer{border-top:1px solid var(--border);background:var(--primary);color:var(--primary-foreground)}.site-footer .wrap{max-width:var(--max);margin:0 auto;padding:3.5rem 1.5rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem}.footer-muted{color:rgba(250,250,250,.72);font-size:.95rem}.footer-title{text-transform:uppercase;letter-spacing:.08em;color:rgba(250,250,250,.65);font-size:.85rem;font-weight:700}.footer-list{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.5rem}.footer-list a,.footer-bottom a{color:rgba(250,250,250,.84);text-decoration:none}.footer-bottom{margin-top:3rem;border-top:1px solid rgba(250,250,250,.22);padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;color:rgba(250,250,250,.72);font-size:.9rem}.footer-bottom-links{display:flex;gap:1.5rem}.itq-section{border-bottom:1px solid var(--border)}.itq-bg-soft{background:rgba(237,242,249,.55)}.itq-container{max-width:var(--max);margin:0 auto;padding:5rem 1.5rem}.itq-container-narrow{max-width:48rem;margin:0 auto;padding:4rem 1.5rem}.itq-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;align-items:center}.itq-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.itq-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}.itq-card{border:1px solid var(--border);border-radius:.875rem;background:var(--card);padding:2rem}.itq-card-soft{background:rgba(237,242,249,.45)}.itq-card:hover{border-color:var(--primary)}.itq-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.875rem;font-weight:700;color:var(--primary);margin-bottom:.75rem}.itq-hero h1,.itq-page-header h1{font-size:clamp(2.5rem,5vw,3.75rem);line-height:1.05;letter-spacing:-.035em;margin:.75rem 0 1.5rem}.itq-section h2{font-size:clamp(1.875rem,4vw,2.5rem);line-height:1.1;letter-spacing:-.025em;margin:.75rem 0 1.25rem}.itq-section h3{font-size:1.25rem;margin:.75rem 0 .5rem}.itq-lead{font-size:1.125rem;line-height:1.7;color:var(--muted-foreground)}.itq-muted{color:var(--muted-foreground)}.itq-center{text-align:center}.itq-icon{width:3rem;height:3rem;border-radius:.75rem;background:var(--accent);color:var(--accent-foreground);display:flex;align-items:center;justify-content:center;font-weight:800}.itq-badge{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--border);border-radius:999px;background:var(--background);padding:.375rem 1rem;color:var(--primary);font-weight:700;font-size:.9rem}.itq-button,.wp-block-button__link,.button{display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;background:var(--primary);color:var(--primary-foreground)!important;padding:.75rem 1rem;text-decoration:none;font-weight:700;border:1px solid var(--primary)}.itq-button.secondary{background:var(--secondary);color:var(--secondary-foreground)!important;border-color:var(--secondary)}.itq-button.outline{background:transparent;color:var(--foreground)!important;border-color:var(--border)}.itq-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}.itq-list{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.itq-list li{border:1px solid var(--border);border-radius:.625rem;background:rgba(237,242,249,.45);padding:1rem 1.25rem;font-weight:600}.itq-list li:before{content:'✓';color:var(--primary);font-weight:800;margin-right:.75rem}.itq-bullets{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.5rem}.itq-bullets li:before{content:'•';color:var(--primary);font-weight:900;margin-right:.5rem}.itq-image-frame{overflow:hidden;border:1px solid var(--border);border-radius:.875rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}.itq-profile{display:grid;grid-template-columns:320px 1fr;gap:3rem;align-items:start}.itq-profile-card{position:sticky;top:7rem}.itq-qualifications{border:1px solid var(--border);border-radius:.875rem;background:rgba(237,242,249,.45);padding:1.25rem;margin-top:1.5rem}.itq-partner-logo{height:5rem;display:flex;align-items:center;justify-content:center}.itq-partner-logo img{max-height:4rem;width:auto;object-fit:contain}.itq-cta{background:var(--primary);color:var(--primary-foreground);text-align:center}.itq-cta .itq-container{padding-top:4rem;padding-bottom:4rem}.itq-cta p{color:rgba(250,250,250,.82)}.itq-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.itq-contact-box{display:flex;gap:1rem;align-items:center;border:1px solid var(--border);border-radius:.625rem;background:rgba(237,242,249,.45);padding:1rem;text-decoration:none}.itq-form{border:1px solid var(--border);border-radius:.875rem;background:rgba(237,242,249,.35);padding:2rem;display:grid;gap:1rem}.itq-form label{font-weight:700;font-size:.95rem}.itq-form input,.itq-form textarea{width:100%;padding:.75rem;border:1px solid var(--input);border-radius:.5rem;background:#fff;font:inherit}.itq-alert{border-radius:.5rem;padding:.75rem 1rem;margin-bottom:1rem}.itq-alert.success{background:#ecfdf5;border:1px solid #86efac}.itq-alert.error{background:#fef2f2;border:1px solid #fca5a5}.wp-site-blocks{padding:0}.editor-styles-wrapper .itq-container,.editor-styles-wrapper .itq-container-narrow{padding-left:1.5rem;padding-right:1.5rem}@media(max-width:900px){.site-topbar{display:none}.site-header .wrap{align-items:flex-start;flex-direction:column}.site-nav{flex-wrap:wrap;gap:1rem}.footer-grid,.itq-grid-2,.itq-grid-3,.itq-grid-4,.itq-profile,.itq-contact-grid{grid-template-columns:1fr}.itq-profile-card{position:static}.footer-bottom{flex-direction:column}.itq-container{padding-top:3.5rem;padding-bottom:3.5rem}}


/* ITQ Fix 1.0.2: navigation, card layout, service icon placeholders */
.site-header .wrap { align-items: center; }
.site-nav { display: flex; align-items: center; }
.site-nav ul,
.site-nav .menu { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; align-items: center; gap: 2rem; }
.site-nav li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.site-nav li::marker { content: '' !important; }
.site-nav a { display: inline-flex; align-items: center; text-decoration: none !important; }
.itq-card { display: block; text-decoration: none !important; color: inherit; height: auto; min-height: 0; }
a.itq-card { cursor: pointer; }
.itq-card strong { display: inline-block; margin-top: 1rem; }
.itq-grid-3 > .itq-card,
.itq-grid-2 > .itq-card { width: 100%; }
.itq-service-icon-empty { color: transparent !important; }
@media (max-width:900px){
  .site-header .wrap { align-items:flex-start; }
  .site-nav ul,.site-nav .menu { flex-wrap: wrap; gap: 1rem; }
}


/* ITQ Fix 1.0.3: stable homepage cards + remove empty service icon boxes */
.itq-grid-3 { align-items: stretch; }
.itq-grid-3 .itq-card { display:flex; flex-direction:column; align-items:flex-start; }
.itq-grid-3 .itq-card .itq-more { margin-top:auto; display:inline-flex; padding-top:1rem; font-weight:700; text-decoration:none; }
.itq-card a.itq-more { color: var(--foreground); }
.itq-service-icon-empty { display:none !important; }
.itq-card > .itq-service-icon-empty { display:none !important; }


/* v1.0.4 Partner network cleanup */
.itq-grid-4 { align-items: stretch; }
a.itq-partner-card { display:flex; flex-direction:column; justify-content:flex-start; text-decoration:none !important; color:inherit; }
.itq-partner-logo { height:7.5rem; margin-bottom:1rem; }
.itq-partner-logo img { max-height:7rem; max-width:100%; width:auto; object-fit:contain; }
.itq-partner-logo img.partner-portrait { width:7rem; height:7rem; border-radius:999px; object-fit:cover; }


/* v1.0.5: remove leftover/old empty partner ghost cards from previously generated page content */
.itq-grid-4 > .itq-card:not(.itq-partner-card),
.itq-grid-4 > a.itq-card:not(.itq-partner-card),
.itq-grid-4 > div.itq-card:empty,
.itq-grid-4 > a.itq-card:empty {
  display: none !important;
}
.itq-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.itq-grid-4 > .itq-partner-card {
  min-height: 22rem;
}
@media(max-width:900px){
  .itq-grid-4 { grid-template-columns: 1fr !important; }
}


/* v1.0.7: final cleanup - hide stale empty partner cards, brand text, footer contact */
.site-header .brand { gap:.75rem; }
.brand-text { font-weight:700; color:var(--foreground); white-space:nowrap; letter-spacing:-.01em; }
.footer-contact p { margin:.75rem 0 0; }
.footer-contact a { color:rgba(250,250,250,.84); text-decoration:none; }
/* Hide any stale ghost card inside partner grid, even if it contains empty wrappers from older page content. */
.itq-grid-4 > :not(.itq-partner-card):not(:has(h3)) { display:none !important; }
.itq-grid-4 > .itq-card:not(:has(h3)) { display:none !important; }
.itq-grid-4 > *:empty { display:none !important; }
.itq-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (min-width:901px){ .site-header .wrap { justify-content:flex-start; } .site-nav { margin-left:auto; } }
@media (max-width:900px){ .brand-text{white-space:normal;} }


/* v1.0.8: header text/menu uppercase, customer logo section */
.brand-text { font-size:1.12rem; font-weight:800; }
.site-nav a { text-transform: uppercase; letter-spacing:.045em; font-size:.86rem; }
.itq-customers-grid { display:grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap:1.25rem; margin-top:3rem; }
.itq-customer-logo { border:1px solid var(--border); border-radius:.875rem; background:#fff; height:9.5rem; display:flex; align-items:center; justify-content:center; padding:1.35rem; }
.itq-customer-logo img { max-width:100%; max-height:6rem; object-fit:contain; }
.itq-customer-logo svg { max-width:100%; max-height:6rem; }
.itq-profile-card .itq-image-frame img { width:100%; height:auto; object-fit:cover; }
/* hard cleanup for stale empty cards from older partner grids */
.itq-grid-4 > .itq-card:not(.itq-partner-card) { display:none !important; }
.itq-grid-4 > div:not(.itq-partner-card):not(:has(*)) { display:none !important; }
@media(max-width:1100px){ .itq-customers-grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media(max-width:700px){ .itq-customers-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .brand-text{font-size:1rem;} }


/* v1.0.9: customer logo alignment and final content refinements */
.itq-hero h1 { font-size: clamp(3rem, 6vw, 4.5rem); }
.itq-customer-logo { padding: 1.25rem; }
.itq-customer-logo img,
.itq-customer-logo svg { display:block; margin:auto; width:auto; height:auto; max-width:88%; max-height:6.2rem; object-fit:contain; object-position:center center; }
.itq-customer-logo img.logo-wide { max-width:92%; max-height:5rem; }
.itq-customer-logo img.logo-square,
.itq-customer-logo svg.logo-square { max-width:5.8rem; max-height:5.8rem; }
.itq-customer-logo img.logo-bmw { max-width:5.8rem; max-height:5.8rem; }
.itq-customer-logo img.logo-six { max-width:78%; max-height:4.4rem; }
.itq-customer-logo span.logo-text { display:block; text-align:center; font-weight:700; color:#0f3b7a; line-height:1.15; }

/* v1.1.2 final content/logo refinements */
.itq-page-header .itq-container { text-align:center !important; }
.itq-page-header h1, .itq-page-header .itq-lead { text-align:center !important; margin-left:auto; margin-right:auto; }
.itq-customers-grid { display:grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap:1.25rem; align-items:stretch; }
.itq-customer-logo { min-height:9.5rem; height:9.5rem; display:flex !important; align-items:center !important; justify-content:center !important; text-align:center; padding:1.25rem !important; }
.itq-customer-logo img, .itq-customer-logo svg { display:block; margin:auto; max-width:90%; max-height:6.4rem; width:auto; height:auto; object-fit:contain; object-position:center center; }
.itq-partner-logo { min-height:7rem; display:flex; align-items:center; justify-content:center; }
.itq-partner-logo img { display:block; max-width:92%; max-height:6rem; width:auto; height:auto; object-fit:contain; object-position:center center; }
.itq-partner-logo .partner-portrait { width:6.25rem; height:6.25rem; border-radius:999px; object-fit:cover; }
@media(max-width:1100px){ .itq-customers-grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media(max-width:700px){ .itq-customers-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }


/* v1.1.3 final: Partner 5-spaltig + Kundenlogos einheitlich zentriert */
.itq-grid-5-partners {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  align-items: stretch !important;
  margin-top: 3rem !important;
}

.itq-grid-5-partners .itq-partner-card {
  min-height: 300px;
}

.itq-customer-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1.25rem !important;
  min-height: 140px;
}

.itq-customer-logo img {
  display: block !important;
  max-width: 82% !important;
  max-height: 72px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: auto !important;
}

.itq-customer-logo img.logo-square {
  max-height: 78px !important;
}

.itq-customer-logo img.logo-wide {
  max-width: 88% !important;
  max-height: 66px !important;
}

.itq-customer-logo img[src*="jku"],
.itq-customer-logo img[alt*="Johannes Kepler"] {
  max-width: 86% !important;
  max-height: 72px !important;
  object-position: center center !important;
}

@media (max-width: 1200px) {
  .itq-grid-5-partners {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  .itq-grid-5-partners {
    grid-template-columns: 1fr !important;
  }
}


/* v1.1.4: Final partner row fix */
.itq-partner-row-final {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  align-items: stretch !important;
  margin-top: 3rem !important;
  width: 100% !important;
}

.itq-partner-row-final > *:not(.itq-partner-card) {
  display: none !important;
}

.itq-partner-row-final .itq-partner-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 300px !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  text-decoration: none !important;
}

.itq-partner-row-final .itq-partner-logo {
  min-height: 92px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 1rem !important;
}

.itq-partner-row-final .itq-partner-logo img {
  display: block !important;
  max-width: 120px !important;
  max-height: 88px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
}

.itq-partner-row-final .partner-portrait {
  width: 88px !important;
  height: 88px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
}

@media (max-width: 1200px) {
  .itq-partner-row-final {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  .itq-partner-row-final {
    grid-template-columns: 1fr !important;
  }
}


/* v1.1.6: finaler Partner-Fix - 5 echte Partnerkarten, keine Geisterkarten, Logos auf gleicher Höhe */
.itq-partner-row-final,
.itq-grid-5-partners {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  align-items: stretch !important;
  width: 100% !important;
  margin-top: 3rem !important;
}

/* Leere/alte Geisterkarten aus früheren Inhaltsständen ausblenden */
.itq-partner-row-final > *:not(.itq-partner-card),
.itq-grid-5-partners > *:not(.itq-partner-card),
.itq-partner-row-final > .itq-card:not(.itq-partner-card),
.itq-grid-5-partners > .itq-card:not(.itq-partner-card),
.itq-partner-row-final > div:not(.itq-partner-card),
.itq-grid-5-partners > div:not(.itq-partner-card),
.itq-partner-row-final > *:empty,
.itq-grid-5-partners > *:empty {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

.itq-partner-row-final > .itq-partner-card,
.itq-grid-5-partners > .itq-partner-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 320px !important;
  height: auto !important;
  padding: 3rem 1.25rem 2rem !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  text-align: center !important;
  text-decoration: none !important;
  color: inherit !important;
}

.itq-partner-row-final .itq-partner-logo,
.itq-grid-5-partners .itq-partner-logo {
  height: 112px !important;
  min-height: 112px !important;
  max-height: 112px !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 1.25rem 0 !important;
  padding: 0 !important;
}

.itq-partner-row-final .itq-partner-logo img,
.itq-grid-5-partners .itq-partner-logo img {
  display: block !important;
  max-width: 126px !important;
  max-height: 74px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: auto !important;
}

.itq-partner-row-final .itq-partner-logo img.partner-portrait,
.itq-grid-5-partners .itq-partner-logo img.partner-portrait {
  width: 90px !important;
  height: 90px !important;
  max-width: 90px !important;
  max-height: 90px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
}

.itq-partner-row-final .itq-partner-card h3,
.itq-grid-5-partners .itq-partner-card h3 {
  margin: 0 0 .75rem 0 !important;
}

@media (max-width: 1200px) {
  .itq-partner-row-final,
  .itq-grid-5-partners {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  .itq-partner-row-final,
  .itq-grid-5-partners {
    grid-template-columns: 1fr !important;
  }
}


/* v1.1.7: Textkarte Competent Assessor & Lektor */
.itq-card small {
  display: block;
  line-height: 1.5;
}
