/* ============================================================
   unified.css — one shared design system for ALL pages
   Loaded on every page in addition to the page's base CSS.
   All classes are u- prefixed to avoid conflicts.
   ============================================================ */

/* ---------- Unified Hero (green) with form ---------- */
.u-hero{position:relative;padding:130px 0 56px;background:linear-gradient(135deg,#0f2417 0%,#14351f 45%,#1b4d2b 100%);color:#fff;overflow:hidden}
.u-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(76,175,80,.28),transparent 55%);pointer-events:none}
.u-hero .container{position:relative;z-index:2}
.u-breadcrumb{font-size:.82rem;opacity:.85;margin-bottom:14px}
.u-breadcrumb a{color:#cfe9d2;text-decoration:none}
.u-breadcrumb a:hover{text-decoration:underline}
.u-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.u-badge{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);padding:6px 16px;border-radius:30px;font-size:.85rem;font-weight:600;margin-bottom:16px}
.u-hero h1{font-family:'Roboto Slab',Georgia,serif;font-size:2.7rem;line-height:1.15;margin:0 0 16px;color:#fff}
.u-hero h1 span{color:#8be78e}
.u-hero-intro{font-size:1.08rem;line-height:1.7;opacity:.95;margin:0 0 20px;max-width:560px}
.u-usps{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:10px}
.u-usps li{background:rgba(255,255,255,.12);padding:8px 14px;border-radius:8px;font-size:.92rem;font-weight:600}
.u-usps li i{color:#8be78e;margin-right:7px}
.u-trustbar{display:flex;flex-wrap:wrap;gap:22px;margin-top:20px;font-size:.9rem;opacity:.95}
.u-trustbar span i{color:#8be78e;margin-right:7px}

/* ---------- Unified form card ---------- */
.u-form-card{background:#fff;color:#222;border-radius:16px;padding:26px 24px;box-shadow:0 20px 50px rgba(0,0,0,.32);max-width:440px;margin-left:auto}
.u-form-card h2{font-family:'Roboto Slab',Georgia,serif;font-size:1.32rem;margin:0 0 4px;color:#14351f}
.u-form-sub{font-size:.9rem;color:#666;margin:0 0 16px}
.u-fg{margin-bottom:12px}
.u-fg label{display:block;font-size:.82rem;font-weight:600;color:#444;margin-bottom:4px}
.u-fg input,.u-fg textarea{width:100%;padding:11px 13px;border:1px solid #d5dbd6;border-radius:9px;font-size:.95rem;font-family:inherit;background:#f8faf8;color:#222}
.u-fg input:focus,.u-fg textarea:focus{outline:none;border-color:#4caf50;background:#fff}
.u-fg textarea{min-height:76px;resize:vertical}
.u-hp{display:none!important;position:absolute;left:-9999px}
.u-form-btn{width:100%;background:linear-gradient(135deg,#4caf50,#087f23);color:#fff;border:none;padding:14px;border-radius:10px;font-size:1.02rem;font-weight:700;cursor:pointer;margin-top:4px}
.u-form-btn:hover{filter:brightness(1.07)}
.u-form-btn:disabled{opacity:.7;cursor:default}
.u-form-note{font-size:.78rem;color:#777;text-align:center;margin-top:10px}
.u-form-note a{color:#087f23}
.u-form-msg{margin-top:10px;font-size:.9rem;text-align:center;border-radius:8px;padding:0}
.u-form-msg.is-ok{background:#e7f6e9;color:#1b5e20;padding:10px}
.u-form-msg.is-err{background:#fdecea;color:#b71c1c;padding:10px}

@media(max-width:900px){
  .u-hero{padding:104px 0 40px}
  .u-hero-grid{grid-template-columns:1fr;gap:26px}
  .u-hero h1{font-size:2.05rem}
  .u-form-card{margin:0 auto;max-width:100%}
}

/* ---------- Unified sections ---------- */
.u-sec{padding:56px 0}
.u-sec.u-alt{background:rgba(76,175,80,.05)}
.u-sec .container{position:relative}
.u-eyebrow{display:inline-block;background:rgba(76,175,80,.12);color:#087f23;font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;padding:6px 14px;border-radius:20px;margin-bottom:12px}
.u-sec h2{font-family:'Roboto Slab',Georgia,serif;font-size:1.7rem;color:#14351f;margin:0 0 10px}
.u-sec .u-lead{color:#555;max-width:760px;margin:0 0 22px;line-height:1.7}
.u-grid2{display:grid;grid-template-columns:1fr 1fr;gap:34px}
@media(max-width:820px){.u-grid2{grid-template-columns:1fr;gap:22px}}

/* dark-mode friendliness: keep unified sections light for consistency */
:root[data-theme="dark"] .u-sec,html[data-theme="dark"] .u-sec{background:#fff}
:root[data-theme="dark"] .u-sec.u-alt,html[data-theme="dark"] .u-sec.u-alt{background:#f2f7f2}

/* ---------- District / service link chips (fixes unstyled links) ---------- */
.u-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.u-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #dfe6e0;border-radius:10px;padding:9px 13px;text-decoration:none;color:#1b4d2b;font-size:.9rem;font-weight:600;box-shadow:0 3px 10px rgba(0,0,0,.05);transition:transform .15s,box-shadow .15s,border-color .15s}
.u-chip:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.1);border-color:#4caf50;color:#087f23}
.u-chip .u-plz{background:#eaf6ea;color:#087f23;border-radius:6px;padding:2px 7px;font-size:.8rem;font-weight:700}
.u-chip i{color:#4caf50}

/* ---------- Price block ---------- */
.u-price-table{width:100%;border-collapse:collapse;margin:6px 0 16px;font-size:.96rem;background:#fff}
.u-price-table th,.u-price-table td{border:1px solid #e0e7e1;padding:11px 13px;text-align:left;color:#333}
.u-price-table th{background:#eef7ef;color:#14351f;font-weight:700}
.u-price-note{font-size:.85rem;color:#666;border-left:3px solid #4caf50;background:#f6faf6;padding:9px 14px;margin:6px 0 0}

/* ---------- Fazit block ---------- */
.u-fazit{background:linear-gradient(135deg,#14351f,#1b4d2b);color:#fff;border-radius:16px;padding:30px 28px;margin:8px 0}
.u-fazit h2{color:#fff;font-family:'Roboto Slab',Georgia,serif;font-size:1.4rem;margin:0 0 10px}
.u-fazit p{opacity:.94;line-height:1.7;margin:0 0 8px}
.u-fazit .u-cta-btn{display:inline-block;margin-top:12px;background:linear-gradient(135deg,#4caf50,#087f23);color:#fff;padding:13px 24px;border-radius:10px;font-weight:700;text-decoration:none}

/* ---------- Behörden / authority links block ---------- */
.u-behoerden{background:#fff;border:1px solid #e6ece7;border-radius:14px;padding:22px 24px}
.u-behoerden h3{font-family:'Roboto Slab',Georgia,serif;color:#14351f;font-size:1.12rem;margin:0 0 10px}
.u-behoerden ul{list-style:none;margin:0;padding:0}
.u-behoerden li{padding:7px 0;border-bottom:1px solid #f0f4f1}
.u-behoerden li:last-child{border-bottom:none}
.u-behoerden a{color:#1b4d2b;text-decoration:none;font-weight:600}
.u-behoerden a:hover{color:#087f23;text-decoration:underline}
.u-behoerden a i{color:#4caf50;margin-right:8px}

/* ---------- FAQ (unified light) ---------- */
.u-faq{max-width:820px;margin:0 auto}
.u-faq-item{background:#fff;border:1px solid #e6ece7;border-radius:12px;margin-bottom:12px;overflow:hidden}
.u-faq-q{padding:16px 20px;font-weight:700;color:#14351f;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}
.u-faq-q h3{margin:0;font-size:1rem;font-family:inherit;color:inherit;font-weight:700}
.u-faq-a{padding:0 20px;max-height:0;overflow:hidden;transition:max-height .3s ease}
.u-faq-a p{padding:0 0 16px;margin:0;color:#444;line-height:1.7}
.u-faq-item.is-open .u-faq-a{max-height:600px}
.u-faq-item.is-open .u-faq-toggle{transform:rotate(45deg)}
.u-faq-toggle{font-size:1.4rem;color:#4caf50;transition:transform .2s;line-height:1}

/* ---------- CTA band ---------- */
.u-ctaband{text-align:center;padding:54px 0;background:rgba(76,175,80,.06)}
.u-ctaband h2{font-family:'Roboto Slab',Georgia,serif;color:#14351f;font-size:1.6rem;margin:0 0 8px}
.u-ctaband p{color:#555;margin:0 0 18px}
.u-btn{display:inline-block;background:linear-gradient(135deg,#4caf50,#087f23);color:#fff;padding:14px 26px;border-radius:10px;font-weight:700;text-decoration:none}
.u-btn.u-outline{background:transparent;border:2px solid #4caf50;color:#087f23}

/* ---------- mobile overflow guard (no horizontal swipe) ---------- */
html,body{overflow-x:hidden;max-width:100%}
.u-hero-grid>*,.u-grid2>*{min-width:0}
.u-hero .container,.u-sec .container{max-width:100%}
img,iframe,video{max-width:100%}
.u-price-table{max-width:100%}
@media(max-width:700px){
  .u-price-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .rb-wrap table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .u-links{max-width:100%}
  .u-chip{max-width:100%;white-space:normal}
  .u-trustbar{gap:12px}
  .challenges-container{grid-template-columns:1fr!important;display:grid!important}
  .district-info-grid{grid-template-columns:1fr!important;display:grid!important}
  .u-fazit{padding:22px 18px}
}

/* mobile: certificates wrap + deco cleanup */
@media(max-width:700px){
  .certificates-grid{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:18px!important}
  .certificate-item,.certificate-item.certificate-center{width:44%!important;min-width:140px}
  .contact-form-bg{display:none!important}
  .hero-truck{display:none!important}
}
