/* =========================================================================
   Schlüsseldienst adelberg — page-scoped styles
   Concept: "Notdienst-Ampel" — signal-light emergency triage system.
   Reuses global.css design tokens only. No :root, no new custom
   properties, no external fonts. All rules scoped under body.adelberg-page.
   ========================================================================= */

body.adelberg-page {
  background: var(--c-bg);
  font-family: var(--font-body);
  color: var(--c-text);
}
body.adelberg-page h1, body.adelberg-page h2, body.adelberg-page h3 {
  font-family: var(--font-display);
  font-weight: 800;
  letter-spacing: -0.01em;
}
body.adelberg-page .ad-container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }

/* ---------- Buttons ---------- */
body.adelberg-page .ad-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  font-family: var(--font-body); font-weight: 700; font-size: .95rem;
  padding: .85rem 1.5rem; border-radius: var(--radius);
  border: 1.5px solid transparent; cursor: pointer; text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
  white-space: nowrap;
}
body.adelberg-page .ad-btn:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
body.adelberg-page .ad-btn-lg { padding: 1rem 1.75rem; font-size: 1rem; }
body.adelberg-page .ad-btn-xl { padding: 1.1rem 2rem; font-size: 1.05rem; }
body.adelberg-page .ad-btn-primary { background: var(--primary); color: #fff; box-shadow: var(--shadow-glow); }
body.adelberg-page .ad-btn-primary:hover { background: var(--primary-hover); transform: translateY(-2px); color: #fff; }
body.adelberg-page .ad-btn-outline { background: transparent; border-color: rgba(255,255,255,.35); color: #fff; }
body.adelberg-page .ad-btn-outline:hover { border-color: var(--primary); color: var(--primary); transform: translateY(-2px); }
body.adelberg-page .ad-btn-ghost { background: transparent; color: var(--c-text); border-color: var(--c-border); }
body.adelberg-page .ad-btn-ghost:hover { border-color: var(--primary); color: var(--primary-hover); }
body.adelberg-page .ad-btn-light { background: #fff; color: var(--primary-hover); }
body.adelberg-page .ad-btn-light:hover { background: #fff; transform: translateY(-2px); box-shadow: var(--shadow-md); }
body.adelberg-page .ad-btn-dark { background: var(--c-dark); color: #fff; }
body.adelberg-page .ad-btn-dark:hover { background: var(--c-dark-2); color: #fff; transform: translateY(-2px); }
body.adelberg-page .ad-btn-whatsapp { background: var(--btn-wh); color: #fff; }
body.adelberg-page .ad-btn-whatsapp:hover { filter: brightness(1.05); transform: translateY(-2px); color:#fff; }
body.adelberg-page .ad-btn-block { width: 100%; }

/* ---------- Section rhythm ---------- */
body.adelberg-page .ad-section { padding: 5.5rem 0; }
body.adelberg-page .ad-section-a { background: var(--c-bg); }
body.adelberg-page .ad-section-b { background: var(--light); }
body.adelberg-page .ad-section-ink {
  background: linear-gradient(180deg, var(--c-dark-2) 0%, var(--c-dark) 100%);
  color: #fff; position: relative; overflow: hidden;
}
body.adelberg-page .ad-section-ink h2, body.adelberg-page .ad-section-ink h3 { color: #fff; }

body.adelberg-page .ad-head { max-width: 700px; margin: 0 auto 2.75rem; text-align: center; position: relative; z-index: 1; }
body.adelberg-page .ad-head.left { text-align: left; margin: 0 0 2.25rem; }
body.adelberg-page .ad-eyebrow {
  display: inline-flex; align-items: center; gap: .55rem;
  font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
  color: var(--primary-hover); margin-bottom: .9rem;
}
body.adelberg-page .ad-section-ink .ad-eyebrow { color: var(--primary); }
body.adelberg-page .ad-head h2 { font-size: clamp(1.6rem, 1.2rem + 1.7vw, 2.4rem); line-height: 1.15; margin: 0 0 .85rem; }
body.adelberg-page .ad-head p { color: var(--c-text-soft); font-size: 1.03rem; line-height: 1.65; margin: 0; }
body.adelberg-page .ad-section-ink .ad-head p { color: var(--c-footer-color); }

/* ---------- Live status (single-color, recurring motif) ---------- */
body.adelberg-page .ad-signal { display: inline-flex; align-items: center; padding: 7px; background: rgba(0,0,0,.28); border-radius: 999px; border: 1px solid rgba(255,255,255,.14); }
body.adelberg-page .ad-signal .dot { width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,.16); }
body.adelberg-page .ad-signal .dot.green { background: #22c55e; box-shadow: 0 0 10px 2px rgba(34,197,94,.65); animation: adGlow 1.8s ease-in-out infinite; }
body.adelberg-page .ad-live-dot { width: 10px; height: 10px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 10px 2px rgba(34,197,94,.65); animation: adGlow 1.8s ease-in-out infinite; flex-shrink: 0; }
@keyframes adGlow { 0%,100%{ box-shadow:0 0 10px 2px rgba(34,197,94,.65);} 50%{ box-shadow:0 0 4px 1px rgba(34,197,94,.35);} }
@media (prefers-reduced-motion: reduce) { body.adelberg-page .ad-signal .dot.green, body.adelberg-page .ad-live-dot { animation: none; } }

/* ---------- Pulse badge (single-color "live" indicator, replaces traffic-light tower) ---------- */
body.adelberg-page .ad-pulse-badge { position: relative; width: 64px; height: 64px; margin: 0 auto; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #86efac, #22c55e 70%); display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.3rem; box-shadow: 0 0 22px 4px rgba(34,197,94,.5); }
body.adelberg-page .ad-pulse-badge .ring { position:absolute; inset:0; border-radius:50%; border:2px solid rgba(34,197,94,.55); animation: adPing 2.2s cubic-bezier(0,0,.2,1) infinite; }
body.adelberg-page .ad-pulse-badge .ring.delay { animation-delay: 1.1s; }
body.adelberg-page .ad-pulse-badge.sm { width:44px; height:44px; font-size:1.05rem; margin: 0 auto 1rem; }
@keyframes adPing { 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(1.9); opacity:0; } }
@media (prefers-reduced-motion: reduce) { body.adelberg-page .ad-pulse-badge .ring { animation:none; display:none; } }

/* =========================================================================
   HERO — dispatch signal board
   ========================================================================= */
body.adelberg-page .ad-hero {
  position: relative; background: linear-gradient(160deg, var(--c-dark-2) 0%, var(--c-dark) 100%);
  color: #fff; overflow: hidden; padding: 58px 0 0;
}
body.adelberg-page .ad-hero::before {
  content: ""; position: absolute; inset: 0;
  background-image: radial-gradient(50% 60% at 85% 10%, rgba(239,73,51,.18) 0%, transparent 62%);
  pointer-events: none;
}
body.adelberg-page .ad-hero-grid {
  position: relative; display: grid; grid-template-columns: 1.12fr .88fr; gap: 2.75rem; align-items: center; margin-bottom: 56px;
}
body.adelberg-page .ad-hero-status {
  display: inline-flex; align-items: center; gap: .65rem;
  border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.04);
  padding: .5rem .9rem .5rem .6rem; border-radius: 999px; font-size: .78rem; font-weight: 700;
  color: var(--c-footer-color); margin-bottom: 1.4rem;
}
body.adelberg-page .ad-hero-status strong { color:#fff; }
body.adelberg-page .ad-hero-text h1 { font-size: clamp(2.2rem, 1.5rem + 2.8vw, 3.4rem); line-height: 1.07; color: #fff; margin: 0 0 1.1rem; }
body.adelberg-page .ad-hero-text h1 .ad-hl { color: var(--primary); }
body.adelberg-page .ad-hero-text .ad-lead { font-size: 1.08rem; line-height: 1.65; color: var(--c-footer-color); max-width: 56ch; margin: 0 0 1.8rem; }
body.adelberg-page .ad-hero-text .ad-lead strong { color: #fff; }
body.adelberg-page .ad-hero-ctas { display: flex; flex-wrap: wrap; gap: .85rem; margin-bottom: 1.7rem; }
body.adelberg-page .ad-hero-bullets { list-style:none; margin:0 0 1.8rem; padding:0; display:grid; grid-template-columns:repeat(2,auto); gap:.55rem 1.6rem; }
body.adelberg-page .ad-hero-bullets li { display:flex; align-items:center; gap:.5rem; font-size:.9rem; font-weight:600; color:#fff; }
body.adelberg-page .ad-hero-bullets i { color: var(--primary); }
body.adelberg-page .ad-hero-trust { display:flex; flex-wrap:wrap; gap:1.4rem; }
body.adelberg-page .ad-hero-trust .item { display:flex; align-items:center; gap:.5rem; font-size:.84rem; color: var(--c-footer-color); }
body.adelberg-page .ad-hero-trust .stars i { color:#f5b301; font-size:.78rem; }
body.adelberg-page .ad-hero-trust strong { color:#fff; }

/* --- Dispatch board graphic --- */
body.adelberg-page .ad-board { position: relative; justify-self: center; width: 100%; max-width: 320px; }
body.adelberg-page .ad-board-panel {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius-lg); padding: 1.6rem 1.5rem; backdrop-filter: blur(2px);
}
body.adelberg-page .ad-board-head { display:flex; align-items:center; justify-content:space-between; margin-bottom: 1.2rem; }
body.adelberg-page .ad-board-head span { font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color: var(--c-footer-color); }
body.adelberg-page .ad-board-panel .ad-pulse-badge { margin: 1.2rem auto 1.5rem; }
body.adelberg-page .ad-board-row { display:flex; align-items:center; justify-content:space-between; padding: .6rem 0; border-top: 1px dashed rgba(255,255,255,.14); font-size:.82rem; }
body.adelberg-page .ad-board-row .k { color: var(--c-footer-color); }
body.adelberg-page .ad-board-row .v { color:#fff; font-weight:700; }
body.adelberg-page .ad-board-row .v.accent { color: var(--primary); }
body.adelberg-page .ad-board-cta { display:block; text-align:center; margin-top: 1.2rem; }

/* --- Ticker --- */
body.adelberg-page .ad-ticker { background: var(--c-dark-2); border-top: 1px solid rgba(255,255,255,.1); overflow: hidden; padding: .75rem 0; margin-top: .5rem; }
body.adelberg-page .ad-ticker-track { display:flex; gap: 2rem; width: max-content; animation: adTicker 34s linear infinite; }
body.adelberg-page .ad-ticker-track span { font-size:.76rem; font-weight:600; color: var(--c-footer-color); white-space:nowrap; }
body.adelberg-page .ad-ticker-track span.sep { color: var(--primary); }
@keyframes adTicker { from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce) { body.adelberg-page .ad-ticker-track{ animation:none; } }

/* ---------- Stats strip ---------- */
body.adelberg-page .ad-stats { background: var(--c-bg); border-bottom: 1px solid var(--c-border); }
body.adelberg-page .ad-stats-grid { display:grid; grid-template-columns: repeat(4,1fr); padding: 1.6rem 0; }
body.adelberg-page .ad-stat { display:flex; align-items:center; gap:.7rem; justify-content:center; padding: .4rem 1rem; border-left: 1px solid var(--c-border); }
body.adelberg-page .ad-stat:first-child { border-left: none; }
body.adelberg-page .ad-stat i { color: var(--primary); font-size:1.15rem; }
body.adelberg-page .ad-stat-num { font-family: var(--font-display); font-weight:800; font-size:1.25rem; line-height:1; }
body.adelberg-page .ad-stat-label { font-size:.76rem; color: var(--c-text-soft); }

/* ---------- Intro / spec ---------- */
body.adelberg-page .ad-breadcrumb { display:flex; align-items:center; gap:.5rem; font-size:.82rem; color: var(--c-text-soft); margin-bottom: 1.6rem; }
body.adelberg-page .ad-breadcrumb a { color: var(--c-text-soft); text-decoration:none; }
body.adelberg-page .ad-breadcrumb a:hover { color: var(--primary); }
body.adelberg-page .ad-breadcrumb i { font-size:.7rem; }
body.adelberg-page .ad-intro-grid { display:grid; grid-template-columns: 1.3fr .7fr; gap: 2.5rem; align-items: start; }
body.adelberg-page .ad-intro h2 { font-size: clamp(1.5rem,1.2rem+1.4vw,2.1rem); margin: 0 0 .9rem; }
body.adelberg-page .ad-intro p { color: var(--c-text-soft); line-height:1.7; }
body.adelberg-page .ad-intro p strong { color: var(--c-text); }
body.adelberg-page .ad-spec-card { background:#fff; border:1px solid var(--c-border); border-radius: var(--radius-lg); padding: 1.4rem 1.5rem; box-shadow: var(--shadow-sm); }
body.adelberg-page .ad-spec-card .title { display:block; font-weight:800; margin-bottom: .9rem; }
body.adelberg-page .ad-spec-row { display:flex; justify-content:space-between; padding:.55rem 0; border-top:1px solid var(--c-border); font-size:.86rem; }
body.adelberg-page .ad-spec-row:first-of-type { border-top:none; }
body.adelberg-page .ad-spec-row .k { color: var(--c-text-soft); }
body.adelberg-page .ad-spec-row .v { font-weight:700; }

/* ---------- AMPEL — problem triage (unique IA element) ---------- */
body.adelberg-page .ad-ampel-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
body.adelberg-page .ad-ampel-card { background:#fff; border:1px solid var(--c-border); border-radius: var(--radius-lg); padding: 1.6rem 1.5rem; box-shadow: var(--shadow-sm); position:relative; }
body.adelberg-page .ad-ampel-card::before { content:""; position:absolute; top:0; left:0; right:0; height:5px; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
body.adelberg-page .ad-ampel-card.green::before { background:#22c55e; }
body.adelberg-page .ad-ampel-card.amber::before { background:#f59e0b; }
body.adelberg-page .ad-ampel-card.red::before { background:#ef4444; }
body.adelberg-page .ad-ampel-tag { display:inline-flex; align-items:center; gap:.4rem; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; padding:.32rem .7rem; border-radius:999px; margin-bottom:.9rem; }
body.adelberg-page .ad-ampel-card.green .ad-ampel-tag { background:#dcfce7; color:#15803d; }
body.adelberg-page .ad-ampel-card.amber .ad-ampel-tag { background:#fef3c7; color:#b45309; }
body.adelberg-page .ad-ampel-card.red .ad-ampel-tag { background:#fee2e2; color:#b91c1c; }
body.adelberg-page .ad-ampel-card h3 { font-size:1.05rem; margin:0 0 .8rem; }
body.adelberg-page .ad-ampel-list { list-style:none; margin:0 0 1.1rem; padding:0; }
body.adelberg-page .ad-ampel-list li { display:flex; gap:.55rem; align-items:flex-start; font-size:.9rem; color: var(--c-text-soft); padding:.35rem 0; }
body.adelberg-page .ad-ampel-list i { color: var(--primary); margin-top:.2rem; flex-shrink:0; }
body.adelberg-page .ad-ampel-card .ad-btn { width:100%; }

/* ---------- Banner CTA ---------- */
body.adelberg-page .ad-banner { background: var(--c-dark); color:#fff; padding: 2.4rem 0; }
body.adelberg-page .ad-banner-inner { display:flex; align-items:center; justify-content:space-between; gap: 2rem; flex-wrap:wrap; }
body.adelberg-page .ad-banner-inner h2 { color:#fff; font-size:1.5rem; margin:0 0 .4rem; }
body.adelberg-page .ad-banner-inner p { color: var(--c-footer-color); margin:0; }
body.adelberg-page .ad-banner-actions { display:flex; gap:.8rem; flex-wrap:wrap; }

/* ---------- Services (no price tags — feature chips only) ---------- */
body.adelberg-page .ad-services-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 1.4rem; }
body.adelberg-page .ad-service-card { background:#fff; border:1px solid var(--c-border); border-radius: var(--radius-lg); padding: 1.5rem; box-shadow: var(--shadow-sm); transition: transform .18s ease, box-shadow .18s ease; }
body.adelberg-page .ad-service-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
body.adelberg-page .ad-service-icon { width:46px; height:46px; border-radius: 12px; background: var(--primary-l); color: var(--primary-hover); display:flex; align-items:center; justify-content:center; font-size:1.25rem; margin-bottom:1rem; }
body.adelberg-page .ad-service-card h3 { font-size:1.02rem; margin:0 0 .5rem; }
body.adelberg-page .ad-service-card p { font-size:.9rem; color: var(--c-text-soft); line-height:1.6; margin:0 0 1rem; }
body.adelberg-page .ad-chips { display:flex; flex-wrap:wrap; gap:.4rem; }
body.adelberg-page .ad-chip { font-size:.72rem; font-weight:700; padding:.3rem .65rem; border-radius:999px; background: var(--c-bg-alt); color: var(--c-text-soft); border:1px solid var(--c-border); }

/* ---------- Pricing — ticket-stub cards ---------- */
body.adelberg-page .ad-pricing-grid { display:grid; grid-template-columns: repeat(4,1fr); gap: 1.3rem; }
body.adelberg-page .ad-price-card {
  background:#fff; border:1px solid var(--c-border); border-radius: var(--radius-lg);
  padding: 1.6rem 1.5rem 1.5rem; position:relative; box-shadow: var(--shadow-sm);
  border-top: 3px dashed var(--c-border);
}
body.adelberg-page .ad-price-card::before, body.adelberg-page .ad-price-card::after {
  content:""; position:absolute; top:-9px; width:18px; height:18px; border-radius:50%;
  background: var(--c-bg-alt); border:1px solid var(--c-border);
}
body.adelberg-page .ad-price-card::before { left: -9px; }
body.adelberg-page .ad-price-card::after { right: -9px; }
body.adelberg-page .ad-price-card.featured {
  background: var(--c-dark); color:#fff; border-top-color: var(--primary); transform: scale(1.03); box-shadow: var(--shadow-lg);
}
body.adelberg-page .ad-price-card.featured::before, body.adelberg-page .ad-price-card.featured::after { background: var(--c-dark-2); border-color: rgba(255,255,255,.2); }
body.adelberg-page .ad-price-card.featured h3, body.adelberg-page .ad-price-card.featured p { color:#fff; }
body.adelberg-page .ad-price-card.featured .ad-plan-sub { color: var(--c-footer-color); }
body.adelberg-page .ad-badge-pop { position:absolute; top:-13px; right: 1.2rem; background: var(--primary); color:#fff; font-size:.7rem; font-weight:800; padding:.3rem .7rem; border-radius:999px; box-shadow: var(--shadow-sm); }
body.adelberg-page .ad-plan-label { display:inline-block; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color: var(--primary-hover); margin-bottom:.4rem; }
body.adelberg-page .ad-price-card.featured .ad-plan-label { color: var(--primary); }
body.adelberg-page .ad-price-card h3 { font-size:1.08rem; margin:0 0 .3rem; }
body.adelberg-page .ad-plan-sub { font-size:.82rem; color: var(--c-text-soft); margin:0 0 1rem; }
body.adelberg-page .ad-price-amount { display:flex; align-items:baseline; gap:.35rem; margin-bottom:1.1rem; }
body.adelberg-page .ad-price-amount .pre { font-size:.85rem; color: var(--c-text-soft); }
body.adelberg-page .ad-price-card.featured .ad-price-amount .pre { color: var(--c-footer-color); }
body.adelberg-page .ad-price-amount .amt { font-family: var(--font-display); font-size:2.1rem; font-weight:800; line-height:1; }
body.adelberg-page .ad-price-amount .cur { font-size:1rem; font-weight:700; color: var(--c-text-soft); }
body.adelberg-page .ad-price-card.featured .ad-price-amount .cur { color: var(--c-footer-color); }
body.adelberg-page .ad-price-card ul { list-style:none; margin:0 0 1.3rem; padding:0; }
body.adelberg-page .ad-price-card li { display:flex; gap:.5rem; align-items:flex-start; font-size:.85rem; padding:.32rem 0; color: var(--c-text-soft); }
body.adelberg-page .ad-price-card.featured li { color: rgba(255,255,255,.86); }
body.adelberg-page .ad-price-card li i { color: var(--primary); margin-top:.15rem; flex-shrink:0; }
body.adelberg-page .ad-price-foot { display:flex; gap:.6rem; align-items:flex-start; font-size:.86rem; color: var(--c-text-soft); margin-top: 1.8rem; max-width: 760px; margin-left:auto; margin-right:auto; text-align:center; justify-content:center; }
body.adelberg-page .ad-price-foot i { color: var(--primary); margin-top:.15rem; }

/* ---------- Process — vertical timeline ---------- */
body.adelberg-page .ad-process { position:relative; max-width: 760px; margin: 0 auto; }
body.adelberg-page .ad-process::before { content:""; position:absolute; left:23px; top:6px; bottom:6px; width:2px; background: var(--c-border); }
body.adelberg-page .ad-process-step { position:relative; display:flex; gap:1.4rem; padding-bottom: 2.1rem; }
body.adelberg-page .ad-process-step:last-child { padding-bottom:0; }
body.adelberg-page .ad-process-num { position:relative; z-index:1; flex-shrink:0; width:48px; height:48px; border-radius:50%; background: var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; box-shadow: var(--shadow-glow); }
body.adelberg-page .ad-process-body h3 { font-size:1.02rem; margin:0 0 .4rem; }
body.adelberg-page .ad-process-body p { color: var(--c-text-soft); font-size:.9rem; line-height:1.65; margin:0; }

/* ---------- Why-us / trust ---------- */
body.adelberg-page .ad-trust-grid { display:grid; grid-template-columns: repeat(4,1fr); gap: 1.2rem; }
body.adelberg-page .ad-trust-card { background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius: var(--radius-lg); padding: 1.4rem; text-align:center; }
body.adelberg-page .ad-trust-card i { font-size:1.5rem; color: var(--primary); margin-bottom:.7rem; display:block; }
body.adelberg-page .ad-trust-card strong { display:block; color:#fff; margin-bottom:.35rem; font-size:.95rem; }
body.adelberg-page .ad-trust-card span { display:block; color: var(--c-footer-color); font-size:.82rem; line-height:1.5; }

/* ---------- Service area ---------- */
body.adelberg-page .ad-areas { display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom: 2rem; }
body.adelberg-page .ad-area-tag { display:inline-flex; align-items:center; gap:.4rem; font-size:.84rem; font-weight:600; padding:.5rem .9rem; border-radius:999px; background:#fff; border:1px solid var(--c-border); }
body.adelberg-page .ad-area-tag.core { background: var(--primary); color:#fff; border-color: var(--primary); font-weight:800; }
body.adelberg-page .ad-area-tag i { color: var(--primary); }
body.adelberg-page .ad-area-tag.core i { color:#fff; }
body.adelberg-page .ad-map-wrap { position:relative; border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-md); border:1px solid var(--c-border); }
body.adelberg-page .ad-leaflet-map { width:100%; height: 380px; }
body.adelberg-page .ad-map-card { position:absolute; bottom:1rem; left:1rem; background:#fff; padding:.9rem 1.1rem; border-radius: var(--radius); box-shadow: var(--shadow-md); display:flex; align-items:center; gap:.7rem; max-width: 280px; }
body.adelberg-page .ad-map-card i { color: var(--primary); font-size:1.2rem; }
body.adelberg-page .ad-map-card strong { display:block; font-size:.86rem; }
body.adelberg-page .ad-map-card span { font-size:.78rem; color: var(--c-text-soft); }

/* ---------- Testimonials ---------- */
body.adelberg-page .ad-testi-grid { display:grid; grid-template-columns: repeat(2,1fr); gap:1.4rem; }
body.adelberg-page .ad-testi-card { background:#fff; border:1px solid var(--c-border); border-radius: var(--radius-lg); padding: 1.5rem; box-shadow: var(--shadow-sm); }
body.adelberg-page .ad-testi-card .stars i { color:#f5b301; font-size:.85rem; }
body.adelberg-page .ad-testi-card p { font-size:.92rem; color: var(--c-text); line-height:1.6; margin: .8rem 0 1rem; }
body.adelberg-page .ad-testi-card footer { display:flex; align-items:center; gap:.7rem; }
body.adelberg-page .ad-testi-avatar { width:38px; height:38px; border-radius:50%; background: var(--primary-l); color: var(--primary-hover); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.8rem; }
body.adelberg-page .ad-testi-card footer strong { display:block; font-size:.86rem; }
body.adelberg-page .ad-testi-card footer span { font-size:.78rem; color: var(--c-text-soft); }

/* ---------- FAQ ---------- */
body.adelberg-page .ad-faq-list { max-width: 800px; margin: 0 auto; display:flex; flex-direction:column; gap:.7rem; }
body.adelberg-page .ad-faq-item { background:#fff; border:1px solid var(--c-border); border-radius: var(--radius); padding: .2rem 1.3rem; }
body.adelberg-page .ad-faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding: 1rem 0; cursor:pointer; font-weight:700; font-size:.96rem; list-style:none; }
body.adelberg-page .ad-faq-item summary::-webkit-details-marker { display:none; }
body.adelberg-page .ad-faq-item summary i { color: var(--primary); transition: transform .2s ease; flex-shrink:0; }
body.adelberg-page .ad-faq-item[open] summary i { transform: rotate(45deg); }
body.adelberg-page .ad-faq-item p { color: var(--c-text-soft); font-size:.9rem; line-height:1.65; margin:0 0 1.1rem; }

/* ---------- Final CTA strip ---------- */
body.adelberg-page .ad-cta-strip { background: linear-gradient(120deg, var(--primary) 0%, var(--primary-hover) 100%); color:#fff; padding: 3.2rem 0; }
body.adelberg-page .ad-cta-strip-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
body.adelberg-page .ad-cta-strip-inner h2 { color:#fff; font-size: clamp(1.4rem,1.1rem+1.2vw,1.9rem); margin:0 0 .5rem; }
body.adelberg-page .ad-cta-strip-inner p { color: rgba(255,255,255,.9); margin:0; }
body.adelberg-page .ad-cta-strip-buttons { display:flex; gap:.8rem; flex-wrap:wrap; }
body.adelberg-page .ad-btn-outline-light { background:transparent; border-color: rgba(255,255,255,.5); color:#fff; }
body.adelberg-page .ad-btn-outline-light:hover { background: rgba(255,255,255,.14); color:#fff; }

/* ---------- Contact ---------- */
body.adelberg-page .ad-contact-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items:start; }
body.adelberg-page .ad-contact-list { list-style:none; margin:0 0 1.6rem; padding:0; display:flex; flex-direction:column; gap:1rem; }
body.adelberg-page .ad-contact-list li { display:flex; gap:.9rem; align-items:flex-start; }
body.adelberg-page .ad-contact-icon { width:40px; height:40px; border-radius:10px; background: var(--primary-l); color: var(--primary-hover); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
body.adelberg-page .ad-contact-list li strong { display:block; font-size:.86rem; margin-bottom:.15rem; }
body.adelberg-page .ad-contact-list li a { display:block; color: var(--c-text-soft); text-decoration:none; font-size:.9rem; }
body.adelberg-page .ad-contact-list li a:hover { color: var(--primary); }
body.adelberg-page .ad-contact-text { display:block; color: var(--c-text-soft); font-size:.9rem; }
body.adelberg-page .ad-contact-actions { display:flex; gap:.8rem; flex-wrap:wrap; margin-bottom:1.4rem; }
body.adelberg-page .ad-payments { display:flex; align-items:center; gap:.8rem; font-size:.84rem; color: var(--c-text-soft); }
body.adelberg-page .ad-payments i { font-size:1.15rem; color: var(--c-text-soft); }
body.adelberg-page .ad-contact-direct { background: linear-gradient(160deg, var(--c-dark-2) 0%, var(--c-dark) 100%); color:#fff; border-radius: var(--radius-lg); padding: 2.2rem 2rem; text-align:center; }
body.adelberg-page .ad-direct-label { display:block; font-size:.76rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color: var(--c-footer-color); margin-bottom:.6rem; }
body.adelberg-page .ad-direct-phone { display:block; font-family: var(--font-display); font-weight:800; font-size: clamp(1.4rem, 1.1rem + 1.2vw, 1.8rem); color:#fff; text-decoration:none; margin-bottom:.7rem; }
body.adelberg-page .ad-direct-phone:hover { color: var(--primary); }
body.adelberg-page .ad-direct-sub { color: var(--c-footer-color); font-size:.88rem; line-height:1.6; margin: 0 0 1.5rem; }
body.adelberg-page .ad-direct-actions { display:flex; flex-direction:column; gap:.7rem; margin-bottom: 1.5rem; }
body.adelberg-page .ad-direct-meta { display:flex; justify-content:center; gap:1.3rem; flex-wrap:wrap; padding-top: 1.3rem; border-top: 1px solid rgba(255,255,255,.12); }
body.adelberg-page .ad-direct-meta span { display:flex; align-items:center; gap:.4rem; font-size:.8rem; color: var(--c-footer-color); }
body.adelberg-page .ad-direct-meta i { color: var(--primary); }

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 1024px) {
  body.adelberg-page .ad-hero-grid { grid-template-columns: 1fr; }
  body.adelberg-page .ad-board { max-width: 380px; margin: 0 auto; }
  body.adelberg-page .ad-intro-grid { grid-template-columns: 1fr; }
  body.adelberg-page .ad-ampel-grid { grid-template-columns: 1fr; }
  body.adelberg-page .ad-services-grid { grid-template-columns: repeat(2,1fr); }
  body.adelberg-page .ad-pricing-grid { grid-template-columns: repeat(2,1fr); }
  body.adelberg-page .ad-price-card.featured { transform:none; }
  body.adelberg-page .ad-trust-grid { grid-template-columns: repeat(2,1fr); }
  body.adelberg-page .ad-testi-grid { grid-template-columns: 1fr; }
  body.adelberg-page .ad-contact-grid { grid-template-columns: 1fr; }
  body.adelberg-page .ad-stats-grid { grid-template-columns: repeat(2,1fr); }
  body.adelberg-page .ad-stat { border-left:none; border-top:1px solid var(--c-border); }
  body.adelberg-page .ad-stat:nth-child(1), body.adelberg-page .ad-stat:nth-child(2) { border-top:none; }
}

@media (max-width: 720px) {
  body.adelberg-page .ad-section { padding: 3.6rem 0; }
  body.adelberg-page .ad-hero { padding-top: 40px; }
  body.adelberg-page .ad-hero-bullets { grid-template-columns: 1fr; }
  body.adelberg-page .ad-services-grid { grid-template-columns: 1fr; }
  body.adelberg-page .ad-pricing-grid { grid-template-columns: 1fr; }
  body.adelberg-page .ad-trust-grid { grid-template-columns: 1fr; }
  body.adelberg-page .ad-stats-grid { grid-template-columns: repeat(2,1fr); }
  body.adelberg-page .ad-banner-inner, body.adelberg-page .ad-cta-strip-inner { flex-direction:column; align-items:flex-start; text-align:left; }
  body.adelberg-page .ad-hero-ctas .ad-btn, body.adelberg-page .ad-banner-actions .ad-btn, body.adelberg-page .ad-cta-strip-buttons .ad-btn { width:100%; }
  body.adelberg-page .ad-hero-ctas, body.adelberg-page .ad-banner-actions, body.adelberg-page .ad-cta-strip-buttons { flex-direction:column; width:100%; }
}
