/*
Theme Name: REGEL | 39
Theme URI: https://regel39.org/
Author: OpenAI
Description: Schlankes Custom-Theme für REGEL | 39 mit automatischer Seitenerstellung für Blanko-Installationen.
Version: 4.0.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Text Domain: regel39
*/

:root{
  --r39-bg:#f5f7fa;
  --r39-bg-soft:#eef2f6;
  --r39-surface:#ffffff;
  --r39-surface-2:#f8fafc;
  --r39-text:#1e232b;
  --r39-muted:#5e6a78;
  --r39-line:#d9e1ea;
  --r39-blue:#4b84e6;
  --r39-blue-dark:#2f6fd8;
  --r39-blue-soft:#eaf2ff;
  --r39-accent-dark:#14181f;
  --r39-radius:22px;
  --r39-shadow:0 18px 40px rgba(20,24,31,.08);
  --r39-max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--r39-text);
  background:
    radial-gradient(circle at top left, rgba(75,132,230,.08), transparent 28%),
    linear-gradient(180deg, #f8fafc 0%, #f3f6f9 100%);
  line-height:1.58;
}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
.site-wrap{min-height:100vh;display:flex;flex-direction:column}
.site-main{flex:1}
.wrap{width:min(var(--r39-max),calc(100% - 40px));margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(16px);
  background:rgba(248,250,252,.92);
  border-bottom:1px solid rgba(30,35,43,.06);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;min-height:82px;
}
.brand img{width:218px;max-width:min(218px,58vw)}
.site-nav ul,.footer-links{display:flex;list-style:none;margin:0;padding:0;gap:8px;flex-wrap:wrap;align-items:center}
.site-nav a,.footer-links a{
  display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border-radius:999px;
  color:var(--r39-muted);font-size:14px;font-weight:600;transition:.2s ease;
}
.site-nav a:hover,.site-nav .current-menu-item>a,.site-nav .current_page_item>a{color:var(--r39-text);background:rgba(75,132,230,.08)}
main{padding-bottom:70px}
.page-shell{padding:42px 0}
.entry-content>.wp-block-group,.entry-content>.r39-page{margin:0 auto}
.r39-page .hero{padding:22px 0 30px}
.r39-grid,.r39-split,.r39-two-col,.r39-cards,.r39-image-row{display:grid;gap:24px}
.r39-grid{grid-template-columns:1.15fr .95fr;align-items:stretch}
.r39-split{grid-template-columns:repeat(2,1fr)}
.r39-two-col{grid-template-columns:1.05fr .95fr;align-items:center}
.r39-cards{grid-template-columns:repeat(3,1fr)}
.r39-image-row{grid-template-columns:repeat(2,1fr)}
.r39-card,.r39-panel,.r39-image-slot,.r39-statement,.r39-contact-card{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(30,35,43,.08);
  border-radius:var(--r39-radius);
  box-shadow:var(--r39-shadow);
}
.r39-card,.r39-panel,.r39-statement,.r39-contact-card{padding:28px}
.r39-card h3,.r39-panel h3,.r39-contact-card h3{margin-top:0}
.r39-card h3{margin-bottom:10px}
.r39-hero-card{padding:28px;background:rgba(255,255,255,.9);border:1px solid rgba(30,35,43,.08);border-radius:var(--r39-radius);box-shadow:var(--r39-shadow)}
.r39-eyebrow,.r39-tag,.r39-kicker{
  display:inline-flex;align-items:center;gap:8px;border-radius:999px;
  background:var(--r39-blue-soft);border:1px solid rgba(75,132,230,.14);
  color:var(--r39-blue-dark);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;
}
.r39-eyebrow{padding:8px 12px;margin-bottom:18px}
.r39-kicker{padding:0;border:0;background:none;margin-bottom:10px;font-size:13px;letter-spacing:.08em}
.r39-tag{padding:0 10px;min-height:32px;margin-bottom:12px}
.r39-page h1,.r39-page h2,.r39-page h3{line-height:1.08}
.r39-page h1{font-size:clamp(40px,7vw,76px);margin:0 0 16px}
.r39-page h2{font-size:clamp(30px,4vw,48px);margin:0 0 16px}
.r39-page h3{font-size:clamp(22px,3vw,30px)}
.r39-lead{font-size:clamp(18px,2vw,24px);color:var(--r39-muted);max-width:860px;margin-bottom:28px}
.r39-meta,.r39-card p,.r39-panel p,.r39-contact-card p,.r39-page p,.r39-list li{color:var(--r39-muted)}
.r39-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.r39-btn,.r39-btn-secondary, .wp-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 18px;border-radius:12px;font-weight:700;font-size:15px;transition:.2s ease;border:1px solid transparent
}
.r39-btn,.wp-block-button.is-style-fill .wp-block-button__link,.wp-block-button__link{
  background:linear-gradient(180deg,var(--r39-blue) 0%, var(--r39-blue-dark) 100%);
  color:#fff;box-shadow:0 12px 24px rgba(75,132,230,.18)
}
.r39-btn-secondary{background:#fff;color:var(--r39-text);border-color:var(--r39-line)}
.r39-image-slot{
  min-height:280px;padding:24px;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(234,242,255,.92)), repeating-linear-gradient(135deg, rgba(75,132,230,.05) 0 12px, rgba(75,132,230,.02) 12px 24px)
}
.r39-image-slot.has-image{padding:0;background:#fff}
.r39-image-slot.has-image .inner{padding:24px}
.r39-image-slot.has-image img{width:100%;height:100%;object-fit:cover;min-height:280px}
.r39-image-slot::before{
  content:attr(data-label);position:absolute;top:18px;right:18px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--r39-blue-dark);
  background:rgba(255,255,255,.82);border:1px solid rgba(75,132,230,.14);border-radius:999px;padding:7px 10px
}
.r39-statement{
  background:linear-gradient(135deg,#171c23 0%,#232a34 100%);
  color:#f8fbff;border-color:rgba(255,255,255,.06)
}
.r39-statement p{color:rgba(255,255,255,.78)}
.r39-section{padding:30px 0}
.r39-list{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.r39-list li{padding:14px 16px;border:1px solid var(--r39-line);border-radius:16px;background:var(--r39-surface-2)}
.site-footer{padding:34px 0 48px;border-top:1px solid rgba(30,35,43,.08);color:var(--r39-muted);font-size:14px}
.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.entry-content .alignwide{max-width:1000px}
.entry-content .alignfull{max-width:none}
.r39-form-slot{padding:18px;border:1px dashed var(--r39-line);border-radius:16px;background:var(--r39-surface-2)}
.r39-form-slot code{font-size:14px}
@media (max-width:980px){
  .nav{min-height:76px;align-items:flex-start;padding:14px 0;flex-direction:column}
  .r39-grid,.r39-split,.r39-two-col,.r39-cards,.r39-image-row{grid-template-columns:1fr}
  .brand img{max-width:190px}
}
@media (max-width:640px){
  .wrap{width:min(var(--r39-max),calc(100% - 24px))}
  .r39-page h1{font-size:clamp(34px,12vw,54px)}
  .r39-hero-card,.r39-card,.r39-panel,.r39-contact-card,.r39-statement{padding:22px}
  .r39-actions{flex-direction:column}
  .r39-btn,.r39-btn-secondary,.wp-block-button__link{width:100%}
}
