/*
Theme Name: GERMEX
Description: Katalog-Theme fuer germ-ex.biz - internationales Handelsunternehmen. Dreisprachig ueber Polylang; Prosa steht in WordPress-Seiten, das Theme liefert nur Struktur und kurze Oberflaechenbegriffe (siehe gx_t() in functions.php).
Author: f-solution
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.1
Text Domain: germex
*/

:root{
  --gx-ink:#0f1c2e;
  --gx-ink-soft:#33455c;
  --gx-line:#dfe3ea;
  --gx-bg:#ffffff;
  --gx-bg-alt:#f5f6f8;
  --gx-deep:#0f1c2e;
  --gx-accent:#9a6b2f;
  --gx-accent-soft:#f1e8dc;
  --gx-max:1140px;
  --gx-serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --gx-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--gx-bg);color:var(--gx-ink);
  font-family:var(--gx-sans);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--gx-ink);text-decoration-color:var(--gx-line);text-underline-offset:3px}
a:hover{text-decoration-color:var(--gx-accent)}
h1,h2,h3,h4{font-family:var(--gx-serif);font-weight:600;line-height:1.2;letter-spacing:-.01em;margin:0 0 .6em}
h1{font-size:clamp(2.1rem,4.6vw,3.3rem)}
h2{font-size:clamp(1.6rem,3vw,2.2rem)}
h3{font-size:1.2rem}
p{margin:0 0 1.1em}
.gx-wrap{max-width:var(--gx-max);margin:0 auto;padding:0 24px}
.gx-narrow{max-width:760px}
.gx-eyebrow{
  font-family:var(--gx-sans);font-size:.74rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gx-accent);margin:0 0 .9em
}
.gx-lead{font-size:1.19rem;color:var(--gx-ink-soft)}
.gx-rule{height:1px;background:var(--gx-line);border:0;margin:0}

/* ---------- Kopf ---------- */
.gx-head{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--gx-line)}
.gx-head-in{display:flex;align-items:center;gap:28px;min-height:76px}
.gx-brand{font-family:var(--gx-serif);font-size:1.5rem;font-weight:600;letter-spacing:.14em;text-decoration:none;color:var(--gx-deep)}
.gx-brand small{display:block;font-family:var(--gx-sans);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gx-ink-soft);font-weight:600;margin-top:2px}
.gx-nav{margin-left:auto}
.gx-nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.gx-nav a{font-size:.94rem;text-decoration:none;color:var(--gx-ink-soft);padding:6px 0;border-bottom:2px solid transparent}
.gx-nav a:hover,.gx-nav .current-menu-item>a{color:var(--gx-ink);border-bottom-color:var(--gx-accent)}
.gx-langs{display:flex;gap:10px;list-style:none;margin:0;padding:0 0 0 22px;border-left:1px solid var(--gx-line)}
.gx-langs a{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:#8c97a6}
.gx-langs .current-lang a,.gx-langs a:hover{color:var(--gx-accent)}
.gx-burger{display:none;margin-left:auto;background:none;border:1px solid var(--gx-line);border-radius:4px;padding:8px 12px;font-size:.9rem;cursor:pointer}

/* ---------- Hero ---------- */
.gx-hero{position:relative;background:var(--gx-deep);color:#fff;overflow:hidden}
.gx-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(900px 420px at 78% -10%,rgba(154,107,47,.38),transparent 70%),
    linear-gradient(transparent 60%,rgba(0,0,0,.25));
}
.gx-hero-in{position:relative;z-index:2;padding:110px 24px 96px;max-width:var(--gx-max);margin:0 auto;
  display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:center}
.gx-hero-text{min-width:0}
.gx-hero-bild{position:relative;justify-self:center;width:100%;max-width:440px}
.gx-hero-bild svg{width:100%;height:auto;filter:drop-shadow(0 24px 60px rgba(0,0,0,.45))}
.gx-hero-bild::after{
  content:"";position:absolute;inset:-6% -6% -6% -6%;z-index:-1;border-radius:50%;
  background:radial-gradient(closest-side,rgba(154,107,47,.22),transparent 72%)
}
.gx-hero h1{color:#fff;max-width:19ch}
.gx-hero .gx-lead{color:rgba(255,255,255,.82);max-width:56ch}
.gx-hero .gx-eyebrow{color:#d8b483}
.gx-hero-routes{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:38px;padding-top:26px;border-top:1px solid rgba(255,255,255,.18);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}

/* ---------- Schaltflaechen ---------- */
.gx-btn{
  display:inline-block;padding:14px 30px;border-radius:2px;text-decoration:none;
  font-size:.86rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:var(--gx-accent);color:#fff;border:1px solid var(--gx-accent);transition:.15s
}
.gx-btn:hover{background:#855a26;border-color:#855a26}
.gx-btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.gx-btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.gx-btn-line{background:transparent;color:var(--gx-ink);border-color:var(--gx-line)}
.gx-btn-line:hover{background:var(--gx-bg-alt);border-color:var(--gx-ink-soft)}
.gx-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

/* ---------- Abschnitte ---------- */
.gx-section{padding:86px 0}
.gx-section-alt{background:var(--gx-bg-alt);border-top:1px solid var(--gx-line);border-bottom:1px solid var(--gx-line)}
.gx-section-deep{background:var(--gx-deep);color:#fff}
.gx-section-deep h2{color:#fff}
.gx-section-deep p{color:rgba(255,255,255,.8)}
.gx-section-head{max-width:720px;margin-bottom:46px}
.gx-grid{display:grid;gap:28px}
.gx-grid-3{grid-template-columns:repeat(3,1fr)}
.gx-grid-2{grid-template-columns:repeat(2,1fr);gap:56px;align-items:start}

.gx-card{background:#fff;border:1px solid var(--gx-line);padding:30px}
.gx-card h3{margin-bottom:.4em}
.gx-card p{margin:0;color:var(--gx-ink-soft);font-size:.98rem}
.gx-num{font-family:var(--gx-serif);font-size:.95rem;color:var(--gx-accent);display:block;margin-bottom:14px;letter-spacing:.1em}

.gx-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--gx-line);border:1px solid var(--gx-line)}
.gx-fact{background:#fff;padding:30px}
.gx-fact strong{display:block;font-family:var(--gx-serif);font-size:1.9rem;line-height:1.1;color:var(--gx-deep)}
.gx-fact span{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gx-ink-soft)}

/* ---------- Produkte (Katalog) ---------- */
.gx-products{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;margin:0;padding:0}
.gx-products li{border:1px solid var(--gx-line);background:#fff;display:flex;flex-direction:column}
.gx-products a.gx-prod-link{text-decoration:none;display:block}
.gx-thumb{
  aspect-ratio:4/3;overflow:hidden;display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(420px 220px at 76% -20%,rgba(154,107,47,.30),transparent 70%),
    linear-gradient(160deg,#1a2d45,#0f1c2e 70%)
}
.gx-thumb img{width:100%;height:100%;object-fit:cover}
.gx-thumb-empty{font-family:var(--gx-serif);font-size:2rem;color:rgba(216,180,131,.55);letter-spacing:.3em}
.gx-prod-body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.gx-prod-cat{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gx-accent)}
.gx-badge{
  display:inline-block;padding:4px 10px;border:1px solid var(--gx-accent);border-radius:2px;
  font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gx-accent);
  background:var(--gx-accent-soft)
}
.gx-thumb{position:relative}
.gx-thumb .gx-badge{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.94)}
.gx-prod-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:.6em}
.gx-prod-body h3{margin:0;font-size:1.08rem}
.gx-prod-body .gx-excerpt{font-size:.93rem;color:var(--gx-ink-soft);margin:0}
.gx-prod-body .gx-btn{align-self:flex-start;margin-top:auto;padding:10px 18px;font-size:.74rem}

.gx-single-prod{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:64px 0}
.gx-prod-meta{list-style:none;margin:26px 0;padding:0;border-top:1px solid var(--gx-line)}
.gx-prod-meta li{display:flex;gap:18px;padding:12px 0;border-bottom:1px solid var(--gx-line);font-size:.95rem}
.gx-prod-meta b{min-width:170px;font-weight:600;color:var(--gx-ink-soft)}

/* ---------- Seiten ---------- */
.gx-page-head{
  position:relative;background:var(--gx-deep);color:#fff;overflow:hidden;
  border-bottom:1px solid var(--gx-deep);padding:84px 0 70px
}
.gx-page-head::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(760px 340px at 88% -30%,rgba(154,107,47,.34),transparent 70%)
}
.gx-page-head > *{position:relative;z-index:2}
.gx-page-head h1{color:#fff}
.gx-page-head .gx-lead{color:rgba(255,255,255,.82)}
.gx-page-head .gx-eyebrow{color:#d8b483}
.gx-page-body{padding:64px 0 84px}
.gx-prose{max-width:760px}
.gx-prose h2{margin-top:2em}
.gx-prose ul,.gx-prose ol{padding-left:1.3em}
.gx-prose li{margin-bottom:.5em}
.gx-prose blockquote{margin:1.8em 0;padding:4px 0 4px 26px;border-left:3px solid var(--gx-accent);color:var(--gx-ink-soft);font-style:normal}
.gx-prose table{border-collapse:collapse;width:100%}
.gx-prose td,.gx-prose th{border:1px solid var(--gx-line);padding:10px 12px;text-align:left}

/* ---------- Fuss ---------- */
.gx-foot{background:var(--gx-deep);color:rgba(255,255,255,.72);padding:68px 0 30px;font-size:.93rem}
.gx-foot a{color:rgba(255,255,255,.72);text-decoration:none}
.gx-foot a:hover{color:#fff}
.gx-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
.gx-foot h4{color:#fff;font-family:var(--gx-sans);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px}
.gx-foot ul{list-style:none;margin:0;padding:0}
.gx-foot li{margin-bottom:9px}
.gx-foot-brand{font-family:var(--gx-serif);font-size:1.4rem;letter-spacing:.14em;color:#fff;display:block;margin-bottom:12px}
.gx-foot-bottom{margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.84rem;color:rgba(255,255,255,.55)}

/* ---------- Hinweis / Formular ---------- */
.gx-note{background:var(--gx-accent-soft);border:1px solid #e2d2bb;padding:18px 22px;font-size:.95rem;color:#6d4c21}
.gx-form label{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gx-ink-soft);margin:18px 0 6px}
.gx-form input,.gx-form textarea,.gx-form select{
  width:100%;padding:12px 14px;border:1px solid var(--gx-line);border-radius:2px;
  font:inherit;font-size:1rem;background:#fff;color:var(--gx-ink)
}
.gx-form textarea{min-height:150px;resize:vertical}
.gx-form input:focus,.gx-form textarea:focus,.gx-form select:focus{outline:2px solid var(--gx-accent);outline-offset:1px;border-color:var(--gx-accent)}
.gx-form button{margin-top:26px}
.gx-form-msg{margin:0 0 22px;padding:14px 18px;border-left:3px solid var(--gx-accent);background:var(--gx-bg-alt)}
.gx-hp{position:absolute;left:-9999px}
.gx-skip{position:absolute;left:-9999px}
.gx-skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:10px 16px;border:1px solid var(--gx-ink)}

@media (max-width:980px){
  .gx-hero-in{grid-template-columns:1fr;gap:40px}
  .gx-hero-bild{max-width:340px;order:2}
  .gx-hero-text{order:1}
  .gx-grid-3,.gx-products,.gx-facts{grid-template-columns:repeat(2,1fr)}
  .gx-grid-2,.gx-single-prod{grid-template-columns:1fr;gap:34px}
  .gx-foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  body{font-size:16px}
  .gx-burger{display:block}
  .gx-nav{display:none;margin-left:0;width:100%;order:3;padding-bottom:18px}
  .gx-nav.gx-open{display:block}
  .gx-nav ul{flex-direction:column;gap:14px}
  .gx-head-in{flex-wrap:wrap;gap:14px}
  .gx-hero-in{padding:76px 24px 64px}
  .gx-section{padding:58px 0}
  .gx-grid-3,.gx-products,.gx-facts{grid-template-columns:1fr}
  .gx-foot-grid{grid-template-columns:1fr}
}

/* Symbolfoto-Kennzeichnung: Beispielbilder sind nicht die gelieferte Ware. */
.gx-symbol{position:absolute;right:12px;bottom:12px;z-index:2;background:rgba(17,34,64,.78);
  color:#fff;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:3px}
.gx-credit{margin:10px 2px 0;font-size:.74rem;color:#7c8798;line-height:1.5}
