/*
Theme Name: Reconstruct3D Editable
Theme URI: https://reconstruct3d.de
Author: OpenAI
Description: Editierbares WordPress-Theme für Reconstruct3D mit bearbeitbarer Startseite und Unterseiten im WordPress-Editor.
Version: 1.0.0
License: GPLv2 or later
Text Domain: reconstruct3d-editable
*/

:root {
  --bg: #0b1220;
  --panel: #111827;
  --panel-2: #172033;
  --text: #e5eefb;
  --muted: #9fb0cc;
  --line: rgba(255,255,255,.1);
  --accent: #3b82f6;
  --accent-2: #60a5fa;
  --success: #16a34a;
  --danger: #dc2626;
  --shadow: 0 18px 50px rgba(0,0,0,.35);
  --radius: 22px;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--text); background:linear-gradient(180deg,#08101c 0%, #0b1220 100%); line-height:1.65; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
.container { width:min(calc(100% - 2rem), var(--max)); margin:0 auto; }
.site-header { position:sticky; top:0; z-index:20; backdrop-filter: blur(12px); background:rgba(8, 15, 28, .82); border-bottom:1px solid var(--line); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:76px; }
.brand { display:flex; align-items:center; gap:.9rem; font-weight:800; letter-spacing:.02em; }
.brand-mark { width:42px; height:42px; border-radius:14px; display:grid; place-items:center; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; box-shadow:var(--shadow); font-weight:900; }
.brand-text small { display:block; color:var(--muted); font-size:.75rem; font-weight:600; }
.nav-menu ul { margin:0; padding:0; list-style:none; display:flex; gap:1.1rem; align-items:center; }
.nav-menu a { color:var(--muted); font-weight:600; }
.nav-menu a:hover, .nav-menu .current-menu-item > a, .nav-menu .current_page_item > a { color:#fff; }
.menu-toggle { display:none; background:transparent; border:1px solid var(--line); color:#fff; border-radius:14px; padding:.7rem .9rem; }
.hero { padding:5rem 0 3rem; }
.hero-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap:2rem; align-items:center; }
.eyebrow { display:inline-flex; padding:.4rem .8rem; border-radius:999px; border:1px solid rgba(96,165,250,.3); background:rgba(59,130,246,.12); color:#bfdbfe; font-size:.82rem; font-weight:700; letter-spacing:.03em; }
.hero h1, .entry-header h1 { font-size:clamp(2.4rem, 6vw, 4.3rem); line-height:1.04; margin:.9rem 0 1rem; }
.hero p, .lead, .entry-intro { color:var(--muted); font-size:1.08rem; }
.hero-actions, .button-row { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.4rem; }
.button, button, input[type="submit"] { display:inline-flex; justify-content:center; align-items:center; gap:.55rem; min-height:48px; padding:.85rem 1.2rem; border-radius:16px; border:1px solid transparent; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff; font-weight:700; cursor:pointer; box-shadow:var(--shadow); }
.button.secondary { background:transparent; border-color:var(--line); color:#fff; box-shadow:none; }
.card, .hero-card, .content-card, .cta, .notice-panel { background:linear-gradient(180deg, rgba(23,32,51,.96), rgba(13,20,34,.96)); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
.hero-card img, .page-hero img { width:100%; height:100%; object-fit:cover; }
.hero-card { position:relative; min-height:430px; }
.hero-badge { position:absolute; left:1rem; right:1rem; bottom:1rem; background:rgba(8,15,28,.86); border:1px solid var(--line); padding:1rem 1.1rem; border-radius:18px; }
.hero-badge span { display:block; margin-top:.35rem; color:var(--muted); font-size:.95rem; }
.section { padding:2.2rem 0; }
.section h2 { font-size:clamp(1.7rem, 3vw, 2.5rem); margin:0 0 .75rem; }
.grid-3, .grid-4, .stats-grid, .content-grid { display:grid; gap:1.2rem; }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-4 { grid-template-columns:repeat(4,1fr); }
.stats-grid { grid-template-columns:repeat(3,1fr); margin-top:1.2rem; }
.content-grid { grid-template-columns:1fr 1fr; align-items:start; }
.thumb { height:240px; overflow:hidden; }
.thumb img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.card:hover .thumb img { transform:scale(1.04); }
.card-body, .content-card-inner, .cta, .notice-panel { padding:1.2rem; }
.card-body h3, .content-card h3 { margin:.2rem 0 .55rem; font-size:1.25rem; }
.card-body p, .content-card p, .meta-list li, .entry-content p, .entry-content li { color:var(--muted); }
.meta-list { margin:0; padding-left:1rem; }
.process-step { padding:1.1rem; border-radius:20px; background:rgba(255,255,255,.03); border:1px solid var(--line); }
.process-step .num { width:38px; height:38px; display:grid; place-items:center; border-radius:999px; background:rgba(59,130,246,.16); color:#dbeafe; font-weight:800; margin-bottom:.8rem; }
.gallery-grid { display:grid; gap:1rem; grid-template-columns: 1.3fr 1fr 1fr; }
.gallery-item { min-height:220px; position:relative; overflow:hidden; border-radius:20px; border:1px solid var(--line); }
.gallery-item.large { grid-row: span 2; min-height:460px; }
.gallery-item img { width:100%; height:100%; object-fit:cover; }
.gallery-label { position:absolute; left:.9rem; bottom:.9rem; background:rgba(8,15,28,.84); border:1px solid var(--line); padding:.55rem .8rem; border-radius:14px; font-weight:700; }
.site-footer { margin-top:3rem; padding:2.5rem 0; border-top:1px solid var(--line); background:rgba(0,0,0,.12); }
.footer-grid { display:grid; grid-template-columns: 1.2fr .8fr; gap:1.5rem; align-items:start; }
.footer-nav ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:1rem; }
.footer-copy { color:var(--muted); font-size:.95rem; }
.content-shell { padding:2.2rem 0 3rem; }
.entry-hero { margin-bottom:1.3rem; }
.entry-header { margin-bottom:1.1rem; }
.page-hero { height:340px; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); background:#0f172a; }
.entry-content { background:linear-gradient(180deg, rgba(23,32,51,.96), rgba(13,20,34,.96)); border:1px solid var(--line); border-radius:var(--radius); padding:1.4rem; box-shadow:var(--shadow); }
.entry-content h2, .entry-content h3 { margin-top:1.4rem; }
.entry-content figure { margin:1rem 0; }
.entry-content img { border-radius:18px; }
.notice-panel.success { border-color:rgba(34,197,94,.35); background:rgba(22,163,74,.12); }
.notice-panel.info { border-color:rgba(59,130,246,.35); background:rgba(59,130,246,.11); }
.editor-hint { margin-top:1rem; color:var(--muted); font-size:.95rem; }
.r3d-home-fallback .editor-hint, .r3d-page-fallback .editor-hint { margin-bottom:1rem; }
@media (max-width: 1024px){
  .hero-grid, .content-grid, .footer-grid, .grid-3, .grid-4, .stats-grid, .gallery-grid { grid-template-columns:1fr 1fr; }
  .gallery-item.large { grid-row:auto; min-height:260px; }
}
@media (max-width: 760px){
  .menu-toggle { display:inline-flex; }
  .nav-menu { display:none; position:absolute; top:76px; left:0; right:0; background:#08101c; border-bottom:1px solid var(--line); }
  .nav-menu.open { display:block; }
  .nav-menu ul { flex-direction:column; align-items:flex-start; padding:1rem; }
  .hero-grid, .content-grid, .grid-3, .grid-4, .stats-grid, .gallery-grid, .footer-grid { grid-template-columns:1fr; }
  .hero { padding-top:3.5rem; }
  .hero-card { min-height:280px; }
  .page-hero { height:220px; }
}
