/* Renovatio Theme – übernimmt das LieferCH-Designsystem (dunkle «Schwarz»-Oberfläche, Pill-Buttons, Foto-Kacheln,
   Trust-Strip, mobile Tab-Leiste) mit Renovatio-Markenfarben: Terrakotta/Kupfer + Salbei statt Violett.
   Nur öffentliche Seiten (body.site); das Backoffice bleibt im hellen Layout. Keine externen Requests. */
body.site{
  --bg:#0b0b10;--bg-soft:#111118;--bg-tint:#111118;--bg-ink:#15131f;--card:#15131f;--card-2:#1b1926;
  --ink:#f4f1ec;--text:#ddd7ce;--text-2:#c3bcb1;--muted:#a59e93;--line:#2a2633;--line-2:#3a3545;
  --accent:#d9733f;--accent-h:#c25f2d;--accent-soft:rgba(217,115,63,.16);--sage:#8fbf9f;--sage-d:#2f6b52;--sage-soft:rgba(143,191,159,.14);
  --green:#8fbf9f;--green-h:#b5d8c0;--green-soft:rgba(143,191,159,.12);--green-line:#35584a;
  --copper:#d9733f;--copper-h:#c25f2d;--copper-text:#f0a67c;--copper-soft:rgba(217,115,63,.14);--copper-line:#5a3a2a;
  --ok-bg:rgba(17,100,63,.22);--ok-line:#2c6b52;--warn-bg:rgba(180,83,9,.16);--warn-line:#6b4a1f;--err-bg:rgba(176,42,28,.18);--err-line:#7a3128;--err:#ff8f80;
  --ring:0 0 0 4px rgba(217,115,63,.35);
  --font:"Plus Jakarta Sans",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --sh-sm:0 6px 18px rgba(0,0,0,.45);--sh-md:0 12px 30px rgba(0,0,0,.55);--sh-lg:0 22px 50px rgba(0,0,0,.6);
  background:var(--bg);color:var(--text);color-scheme:dark;
}
body.site ::selection{background:var(--accent);color:#fff}
body.site h1,body.site h2,body.site .h2{font-family:var(--font);font-weight:800;letter-spacing:-.025em}
body.site h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.25rem)}
body.site h2,body.site .h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem)}
body.site a{color:var(--copper-text)}body.site a:hover{color:#ffd2b8}
body.site .muted{color:var(--muted)}
body.site .eyebrow,body.site .section-kicker{color:var(--sage);text-transform:uppercase;letter-spacing:.09em;font-size:.76rem;font-weight:800}
body.site .eyebrow .dot{background:var(--accent)}
/* Buttons (LieferCH pill buttons) */
body.site .btn{border-radius:999px;font-weight:700}
body.site .btn-primary,body.site .btn-copper{background:var(--accent);color:#fff;box-shadow:0 8px 22px rgba(217,115,63,.32)}
body.site .btn-primary:hover,body.site .btn-copper:hover{background:var(--accent-h);color:#fff}
body.site .btn-ghost{background:transparent;color:var(--ink);border-color:#4a4356}
body.site .btn-ghost:hover{border-color:var(--sage);background:var(--sage-soft);color:#fff}
/* Header */
body.site .top{background:rgba(17,17,24,.94);border-bottom:1px solid var(--line)}
body.site .wordmark{color:#fff}
body.site .nav a,body.site .navdrop summary{color:#e6dfd6;border-radius:999px;padding:.45rem .7rem;font-weight:600;font-size:.92rem;text-decoration:none}
body.site .nav a:hover,body.site .nav a[aria-current],body.site .navdrop summary:hover,body.site .navdrop summary[aria-current],body.site .navdrop[open] summary{color:#fff;background:var(--sage-d)}
body.site .lang summary,body.site .mnav-btn{border-color:var(--line-2);color:var(--ink);background:var(--card)}
body.site .lang-menu,body.site .mnav-panel{background:var(--card);border-color:var(--line)}
body.site .lang-menu a,body.site .mnav-panel a:not(.btn){color:var(--text);border-color:var(--line)}
body.site .lang-menu a:hover{background:var(--card-2)}
body.site .lang-menu a[aria-current]{background:var(--accent);color:#fff}
.navdrop{position:relative}
.navdrop summary{list-style:none;display:flex;align-items:center;gap:4px;cursor:pointer}
.navdrop summary::-webkit-details-marker{display:none}
.navdrop .chev{width:14px;height:14px;transition:transform .2s}.navdrop[open] .chev{transform:rotate(180deg)}
.navdrop-panel{position:absolute;left:0;top:calc(100% + 10px);width:min(640px,80vw);background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--sh-lg);padding:12px;z-index:60}
.navdrop-panel ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.navdrop-panel li a{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:12px;font-size:.86rem;font-weight:600;color:var(--text)!important;background:none!important}
.navdrop-panel li a:hover{background:var(--card-2)!important;color:#fff!important}
.navdrop-panel img{width:40px;height:30px;object-fit:cover;border-radius:8px;flex:none}
.navdrop-all{display:flex!important;justify-content:center;gap:6px;margin-top:8px;padding:10px!important;border-top:1px solid var(--line);border-radius:0!important;color:var(--copper-text)!important}
/* Sections */
body.site .section-tint,body.site .section-alt{background:#111118;border-block:1px solid #1d1a26}
body.site .section-ink{background:#15131f}
body.site .page-hero{background:radial-gradient(620px 360px at 100% 0%,rgba(217,115,63,.22),transparent 62%),radial-gradient(640px 380px at 0% 100%,rgba(47,107,82,.32),transparent 60%),#0b0b10;border-bottom:1px solid var(--line)}
body.site .card,body.site .svc,body.site .step,body.site .faq-item,body.site .cat,body.site .ben-light,body.site .chip,body.site .value{background:var(--card);border-color:var(--line);color:var(--text)}
body.site .seg{background:linear-gradient(180deg,var(--card),#121019);border-color:var(--line)}
body.site .seg-ic{background:var(--sage-d)}
body.site .ben{background:var(--card);border-color:var(--line)}
body.site .ben-ic{background:var(--accent-soft);color:var(--copper-text)}
body.site .cat-ic{background:var(--sage-soft);color:var(--sage)}
body.site .cta-band{background:linear-gradient(135deg,#7a3416,#b4532a 55%,#2f6b52);color:#f7e9df}
body.site .note{background:var(--sage-soft);border-color:var(--green-line);color:var(--text)}
body.site .note-warn{background:var(--warn-bg);border-color:var(--warn-line)}
body.site .chip:hover{border-color:var(--accent);color:#fff}
body.site .ticks .ic{color:var(--sage)}
/* Forms on dark */
body.site input[type=text],body.site input[type=email],body.site input[type=tel],body.site input[type=url],body.site input[type=date],body.site input[type=password],body.site input:not([type]),body.site select,body.site textarea{background-color:#0f0e15;border-color:#3a3545;color:var(--ink)}
body.site input::placeholder,body.site textarea::placeholder{color:#7d766c}
body.site input:focus,body.site select:focus,body.site textarea:focus{border-color:var(--accent);box-shadow:var(--ring)}
body.site input[type=file]{background:#0f0e15;border-color:#4a4356;color:var(--text)}
body.site .choice{background:#0f0e15;border-color:var(--line-2);color:var(--text)}
body.site .choice:has(input:checked){border-color:var(--accent);background:rgba(217,115,63,.12);box-shadow:0 0 0 1px var(--accent)}
body.site .choice-ic{background:var(--sage-soft);color:var(--sage)}
body.site .check{color:var(--text)}
body.site .hint,body.site .opt{color:var(--muted)}
body.site .alert-err{background:var(--err-bg);border-color:var(--err-line);color:#ffd9d3}
body.site .alert-ok{background:var(--ok-bg);border-color:var(--ok-line);color:#d7f1e2}
body.site .field-err{color:var(--err)}
body.site .wiz-progress li span{background:var(--card-2);color:var(--muted);border-color:var(--line-2)}
/* Wizard progress as clickable steps */
.wiz-progress button{all:unset;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.84rem;font-weight:700;color:var(--muted)}
.wiz-progress button:disabled{cursor:default;opacity:.55}
.wiz-progress button:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}
.wiz-progress li.cur button,.wiz-progress li.done button{color:var(--ink)}
.wiz-progress li.cur span{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}
.wiz-progress li.done span{background:var(--sage-d)!important;color:#fff!important}
.wiz-summary{border:1px solid var(--line);background:#100f16;border-radius:18px;padding:16px 18px;margin:6px 0 18px}
.sum-list{display:grid;grid-template-columns:minmax(120px,34%) 1fr;gap:8px 14px;margin:0}
.sum-list dt{color:var(--muted);font-size:.86rem;font-weight:600}
.sum-list dd{margin:0;color:var(--ink);font-size:.92rem;word-break:break-word}
.sum-edit{background:none;border:0;color:var(--copper-text);font:inherit;font-size:.82rem;font-weight:700;text-decoration:underline;cursor:pointer;padding:0 0 0 6px}
@media (max-width:560px){.sum-list{grid-template-columns:1fr}.sum-list dd{margin-bottom:6px}}
/* Category photo choices in wizard */
.choice-photo{flex-direction:column!important;align-items:stretch!important;padding:0!important;overflow:hidden}
.choice-photo .choice-img img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;display:block}
.choice-photo .choice-ic{display:none}
.choice-photo .choice-l{padding:9px 10px 11px;font-weight:700;font-size:.88rem;line-height:1.25}
.choice-photo input{position:absolute;opacity:0;pointer-events:none}
.choice-photo{position:relative}
.choice-photo:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.choice-photo:has(input:checked)::after{content:"✓";position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.9rem}
.cat-choices .choices{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
/* Hero (LieferCH .hx) */
.hx{position:relative;overflow:hidden;background:radial-gradient(620px 360px at 100% 0%,rgba(217,115,63,.30),transparent 62%),radial-gradient(640px 380px at 0% 100%,rgba(47,107,82,.42),transparent 60%),linear-gradient(160deg,#121019,#0b0b10 60%);border-bottom:1px solid var(--line)}
.hx-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-top:48px;padding-bottom:56px}
.hx-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line-2);font-size:.8rem;font-weight:700;color:#efe7dc;margin-bottom:18px}
.ch-dot{width:14px;height:14px;border-radius:3px;background:#d52b1e;position:relative}
.ch-dot::before,.ch-dot::after{content:"";position:absolute;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%)}
.ch-dot::before{width:8px;height:2.4px}.ch-dot::after{width:2.4px;height:8px}
.hx h1{color:#fff;margin-bottom:14px}
.hx .lead{color:#d3ccc2;max-width:56ch}
.hx-search{display:grid;grid-template-columns:1.4fr .7fr auto;gap:8px;align-items:end;background:#15131f;border:1px solid var(--line-2);border-radius:22px;padding:10px;margin-top:22px}
.hx-f{display:grid;gap:4px}.hx-f label{font-size:.74rem;font-weight:700;color:var(--muted);padding-left:6px;text-transform:uppercase;letter-spacing:.06em}
.hx-search select,.hx-search input{min-height:50px!important;border-radius:14px!important}
.hx-search .btn{min-height:50px}
.hx-note{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:.8rem;margin:8px 0 0 6px}
.hx-note .ic{width:14px;height:14px}
.hx-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.hx-art{position:relative;padding:18px 18px 34px 0}
.hx-photo{border-radius:28px;overflow:hidden;border:1px solid var(--line-2);box-shadow:var(--sh-lg);aspect-ratio:16/11}
.hx-photo img{width:100%;height:100%;object-fit:cover}
.px-card{position:absolute;display:flex;align-items:center;gap:10px;background:rgba(21,19,31,.92);backdrop-filter:blur(8px);border:1px solid var(--line-2);border-radius:16px;padding:7px 12px 7px 7px;color:#fff!important;font-weight:700;font-size:.85rem;text-decoration:none;box-shadow:var(--sh-md);animation:rvFloat 6s ease-in-out infinite}
.px-card img{width:46px;height:36px;object-fit:cover;border-radius:10px}
.px-card.c1{left:-22px;top:20%}.px-card.c2{right:-6px;top:4px;animation-delay:-2s}.px-card.c3{right:24px;bottom:4px;animation-delay:-4s}
@keyframes rvFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.px-card{animation:none}}
/* Trust strip */
.trust-strip{background:#111118;border-bottom:1px solid var(--line);padding:16px 0}
.trust-in{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.trust-item{display:flex;align-items:center;gap:10px}
.trust-item strong{color:#f5efe6;font-size:.88rem;line-height:1.3}
.trust-icon{flex:none;width:36px;height:36px;border-radius:11px;background:var(--sage-d);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.8rem}
.trust-icon .ic{width:18px;height:18px}
.trust-icon.ch-ic{background:#d52b1e}
/* Audience cards (Kunde / Partner) */
.aud-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.aud{display:grid;grid-template-columns:42% 1fr;background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden;text-decoration:none;color:var(--text)!important;transition:border-color .2s,transform .2s}
.aud:hover{border-color:var(--accent);transform:translateY(-2px)}
.aud-partner:hover{border-color:var(--sage)}
.aud-img img{width:100%;height:100%;object-fit:cover;min-height:190px}
.aud-body{display:flex;flex-direction:column;gap:8px;padding:20px}
.aud-body strong{color:#fff;font-size:1.15rem;line-height:1.25}
.aud-body .go{margin-top:auto;display:inline-flex;gap:6px;align-items:center;color:var(--copper-text);font-weight:700}
.aud-partner .go{color:var(--sage)}
/* Category photo tiles (LieferCH .cx-tile) */
.cx-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.cx-photo{display:flex;flex-direction:column;background:var(--card);border:1px solid #221e2c;border-radius:20px;overflow:hidden;text-decoration:none;color:var(--text)!important;transition:border-color .2s,transform .25s}
.cx-photo:hover{border-color:var(--accent);transform:translateY(-3px)}
.cx-photo:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.cx-img{aspect-ratio:4/3;overflow:hidden;background:#1b1926}
.cx-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.cx-photo:hover .cx-img img{transform:scale(1.05)}
.cx-body{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:12px 12px 14px;align-items:center}
.cx-ic{grid-row:span 2;width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--copper-text);display:grid;place-items:center;align-self:start}
.cx-ic .ic{width:18px;height:18px}
.cx-body .t{font-weight:800;color:#fff;font-size:.92rem;line-height:1.2}
.cx-body .d{grid-column:2;font-size:.78rem;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.img-note{margin:12px 0 0;font-size:.76rem;color:#8c857b}
/* Project flow */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:f}
.flow-step{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;padding-bottom:16px}
.flow-step h3,.flow-step p{padding:0 16px}.flow-step h3{margin-top:26px;color:#fff}.flow-step p{color:var(--text-2);font-size:.92rem;margin:0}
.flow-img{position:relative;display:block;aspect-ratio:3/2}
.flow-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.step-num{position:absolute;left:12px;bottom:-16px;width:40px;height:40px;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:0 6px 16px rgba(0,0,0,.4)}
.flow-step+.flow-step .step-num{background:var(--sage-d)}
/* Services page photo */
.svc{overflow:hidden;padding-top:0!important}
.svc-img{display:block;margin:0 -24px 4px;aspect-ratio:16/7;overflow:hidden}
.svc-img img{width:100%;height:100%;object-fit:cover}
body.site .svcs{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.photo-r{border-radius:24px;border:1px solid var(--line-2);box-shadow:var(--sh-lg);width:100%;height:auto;object-fit:cover;aspect-ratio:9/7}
/* Footer */
body.site .foot{background:#07070b;border-top:1px solid var(--line);color:var(--muted)}
body.site .foot a{color:#d9d1c6}body.site .foot a:hover{color:#fff}
body.site .foot h2{color:#fff}
.credits{margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}
.credit-list{columns:2;font-size:.82rem;padding-left:18px}
/* Mobile bottom tab bar (LieferCH .tabbar) */
.tabbar{display:none}
@media (max-width:760px){
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:70;background:#15131f;border:1px solid #3a3545;border-radius:22px;padding:.35rem;box-shadow:0 8px 24px rgba(0,0,0,.5)}
  .tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;color:#e6dfd6!important;font-size:.64rem;font-weight:700;padding:.35rem .1rem;border-radius:16px;text-decoration:none;text-align:center;line-height:1.1}
  .tabbar a .ic{width:20px;height:20px}
  .tabbar a.on{background:var(--accent);color:#fff!important}
  body.has-tabbar{padding-bottom:86px}
  .tabbar span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media (max-width:1080px){.cx-grid{grid-template-columns:repeat(4,1fr)}.navdrop-panel ul{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){
  .hx-grid{grid-template-columns:1fr;gap:26px;padding-top:30px}
  .hx-art{padding:10px 8px 26px}
  .px-card.c1{left:0}
  .cx-grid{grid-template-columns:repeat(3,1fr)}
  .flow{grid-template-columns:repeat(2,1fr)}
  .aud-grid{grid-template-columns:1fr}
  .trust-in{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .hx-search{grid-template-columns:1fr 1fr}.hx-search .hx-f:first-of-type{grid-column:1/-1}.hx-search .btn{grid-column:1/-1}
  .cx-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .cx-body{grid-template-columns:1fr;padding:10px}.cx-ic{display:none}.cx-body .d{grid-column:1}
  .flow{grid-template-columns:1fr}
  .aud{grid-template-columns:1fr}.aud-img img{min-height:0;aspect-ratio:16/8}
  .px-card{font-size:.74rem}.px-card img{width:36px;height:28px}
  .hx-ctas .btn{flex:1 1 100%}
  .credit-list{columns:1}
}
body.site h2.h3,body.site h3.h3,body.site .h3{font-size:1.15rem;font-weight:800;letter-spacing:-.01em}
@media (max-width:600px){.wiz-progress button{font-size:0;gap:0}.wiz-progress button span{font-size:.84rem}.wiz-progress li.cur button{font-size:.84rem;gap:8px}}
