/* ═══ sofortgutscheincodes.de ═══ */
:root{
  --bg:#F4F1EA; --ink:#101311; --ink-2:#5C615B; --muted:#6E736C; --faint:#8A8F87;
  --green:#143A2E; --green-2:#3F8B5E; --lime:#C9F04B;
  --card:#fff; --line:#E3DFD5; --line-2:#E1DCD1; --soft:#F7F6F2; --dark:#101311;
  --radius:18px; --maxw:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:'Schibsted Grotesk',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
img{max-width:100%;display:block}
a{color:var(--green);text-decoration:none;font-weight:600}
a:hover{color:var(--ink)}
h1,h2,h3{letter-spacing:-.03em;font-weight:800;margin:0}
input,button,textarea,select{font-family:inherit;color:var(--ink)}
input::placeholder,textarea::placeholder{color:#A5A29A}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--green)}
@keyframes riseIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.page{animation:riseIn .3s ease}
.mono{font-family:'DM Mono',monospace}
.muted{color:var(--muted)} .faint{color:var(--faint)}

/* Header */
header.site{position:sticky;top:0;z-index:60;background:rgba(244,241,234,.9);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line-2)}
.hrow{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:12px clamp(16px,4vw,40px);max-width:var(--maxw);margin:0 auto}
.logo{display:flex;align-items:center;gap:10px;background:none;border:none;padding:0;cursor:pointer;font-size:17.5px;letter-spacing:-.02em}
.logo .mark{width:30px;height:30px;border-radius:9px;background:var(--dark);display:grid;place-items:center;flex:none}
.logo .mark span{width:11px;height:11px;border-radius:50%;background:var(--lime);display:block}
.logo b{font-weight:800} .logo .g{font-weight:500;color:var(--muted)}
nav.main{display:flex;gap:4px;align-items:center;order:3;width:100%;overflow-x:auto;padding-bottom:2px}
nav.main a{border:none;border-radius:999px;padding:9px 15px;font-size:14px;font-weight:600;white-space:nowrap;color:var(--muted)}
nav.main a.active{background:var(--dark);color:var(--bg)}
.hactions{display:flex;align-items:center;gap:8px}
.link-konto{background:none;border:none;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;padding:10px 6px}
.cart-link{display:flex;align-items:center;gap:9px;background:var(--dark);color:var(--bg);border:none;border-radius:999px;padding:11px 18px;font-size:14px;font-weight:600;cursor:pointer}
.cart-badge{background:var(--lime);color:var(--ink);font-size:11.5px;font-weight:800;min-width:19px;height:19px;border-radius:999px;display:grid;place-items:center;padding:0 5px}

/* Buttons */
.btn{border:none;border-radius:999px;padding:16px 26px;font-size:15.5px;font-weight:600;cursor:pointer;display:inline-block;text-align:center}
.btn-dark{background:var(--dark);color:var(--bg)}
.btn-lime{background:var(--lime);color:var(--ink);font-weight:700}
.btn-ghost{background:transparent;border:1.5px solid #CFC9BC}
.btn-sm{padding:11px 18px;font-size:14px}
.btn[disabled]{background:#D6D1C5;color:var(--faint);cursor:not-allowed}
.btn-block{width:100%}

/* Cards & inputs */
.card{background:var(--card);border:1px solid var(--line);border-radius:20px}
.pad{padding:26px}
.field{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;font-size:15px;background:#fff}
.field-pill{border-radius:999px}
label.check{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;line-height:1.55;color:#4A4F49;cursor:pointer}
label.check input{width:17px;height:17px;margin-top:2px;accent-color:var(--green);flex:none}
.chip{background:var(--bg);border:1px solid #E7E3DA;border-radius:8px;padding:5px 9px;font-size:12.5px;font-weight:600;color:#4A4F49}
.tag{background:rgba(244,241,234,.94);color:var(--green);font-size:11px;font-weight:700;padding:5px 10px;border-radius:999px}
.pill{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 15px;font-size:13px;font-weight:600;color:#4A4F49}
.notice{background:#FDF7E7;border:1px solid #F0E4C2;border-radius:20px;padding:24px;color:#6B6250}
.flash{border-radius:14px;padding:14px 18px;font-size:14.5px;font-weight:600;margin-bottom:20px}
.flash-ok{background:#E7EFE4;color:var(--green);border:1px solid #BFD9C6}
.flash-err{background:#FBEDEA;color:#8E3A2E;border:1px solid #F0CFC8}

/* Product grids */
.grid{display:grid;gap:16px}
.cards-4{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.pcard{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;cursor:pointer;
  transition:transform .14s,box-shadow .14s,border-color .14s;display:block;text-align:left}
.pcard:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:0 22px 34px -26px rgba(16,19,17,.4)}
.pcard .thumb{position:relative;aspect-ratio:1.6/1;background:var(--soft)}
.pcard .thumb img{width:100%;height:100%;object-fit:cover}
.pcard .body{padding:18px 20px 20px}
.pcard .name{font-size:16.5px;font-weight:700;letter-spacing:-.01em}
.pcard .sub{font-size:13px;color:var(--faint);margin-top:4px}
.pcard .foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid #EDEAE2}
.pcard .price{font-size:13.5px;font-weight:600;color:var(--green)}

.crumbs{font-size:13.5px;color:var(--faint);margin-bottom:20px}
.crumbs a,.crumbs button{color:var(--faint);background:none;border:none;padding:0;font:inherit;cursor:pointer}

/* Section helpers */
.sec{padding:clamp(40px,6vw,76px) 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(22px,3vw,42px);align-items:start}
.row-split{display:flex;justify-content:space-between;gap:14px}
.dark-card{background:var(--dark);color:var(--bg);border-radius:24px}
.dark-card h2,.dark-card h3{color:#fff}
.dark-card p{color:#A8ADA5}

/* Footer */
footer.site{border-top:1px solid var(--line-2);margin-top:20px;background:#EFEBE2}
footer.site .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;
  padding:clamp(34px,5vw,56px) 0}
footer.site .coltitle{font-size:12.5px;font-weight:700;color:var(--faint);letter-spacing:.04em;margin-bottom:12px}
footer.site .collink{background:none;border:none;padding:0;font-size:14px;font-weight:500;color:var(--ink-2);cursor:pointer;text-align:left;display:block;margin-bottom:9px}
footer.site .fine{margin-top:36px;padding-top:20px;border-top:1px solid var(--line-2);font-size:12.5px;line-height:1.7;color:var(--faint)}

/* Code card (Bestellabfrage / Admin) */
.codebox{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.codebox .value{font-family:'DM Mono',monospace;font-size:clamp(18px,3vw,24px);letter-spacing:.14em;
  word-break:break-all;color:var(--ink);text-align:center;padding:22px}
