:root{ --emb-primary:#0f172a; --emb-accent:#2563eb; }

/* HERO */
.emb-hero{
  background: radial-gradient(90% 120% at 100% 0%, rgba(37,99,235,.16), transparent 60%), linear-gradient(180deg, #0b1020, #0e1326);
  color:#e5e7eb; padding:64px 16px; text-align:center; border-radius:16px; margin:12px 0 24px;
}
.emb-hero-inner{ max-width:1100px; margin:0 auto; }
.emb-hero h1{ margin:0 0 8px; font-size:clamp(28px,4vw,44px); font-weight:800; letter-spacing:-.02em; }
.emb-hero .emb-sub{ opacity:.9; font-size:clamp(14px,2vw,18px); }
.emb-hero-glare{ position:relative; overflow:hidden; }
.emb-hero-glare::after{
  content:""; position:absolute; inset:-40% -20% auto -20%; height:200%;
  background: conic-gradient(from 180deg at 50% 50%, rgba(255,255,255,.2), rgba(255,255,255,0) 30%);
  filter: blur(60px); opacity:.35; pointer-events:none;
}
.emb-hero-alt .emb-hero-brand{ max-width:780px; margin:0 auto; }
.emb-hero-logo{ height:64px; object-fit:contain; margin-bottom:10px; }

/* GRID */
.emb-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px; }

/* CARD BASE */
.emb-card{ background:#fff; border:1px solid #e5e7eb; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; }
.emb-card-link{ display:flex; flex-direction:column; color:inherit; text-decoration:none; height:100%; }

/* LOGO — mehr Innenabstand + zentriert (fix für VoucherVibes etc.) */
.emb-logo{ width:100%; height:160px; object-fit:contain; object-position:center center; background:#0b1020; padding:20px; }

/* Fallback */
.emb-logo-fallback{ display:flex; align-items:center; justify-content:center; height:160px; background:#0b1020; color:#e5e7eb; font-weight:700; font-size:40px; }

/* BODY */
.emb-card-body{ display:flex; flex-direction:column; gap:8px; padding:16px; flex:1; }
.emb-card-body h2{ margin:0; font-size:20px; letter-spacing:-.01em; }
.emb-tag{ font-weight:600; color: var(--emb-accent); margin:0; }
.emb-desc{ color:#4b5563; margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* MINI PRODUCT (nur wenn echt vorhanden) */
.emb-mini{ display:grid; grid-template-columns:64px 1fr; gap:10px; align-items:center; padding:8px; background:#f8fafc; border:1px solid #e5e7eb; border-radius:12px; }
.emb-mini img, .emb-mini .emb-mini-ph{ width:64px; height:64px; object-fit:cover; border-radius:10px; background:#0b1020; color:#e5e7eb; display:flex; align-items:center; justify-content:center; font-weight:700; }
.emb-mini-txt{ overflow:hidden; }
.emb-mini-title{ font-size:14px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.emb-mini-price{ margin-top:4px; font-weight:700; }

.emb-mini-price,
.emb-price{
  font-variant-numeric: tabular-nums; /* gleich breite Ziffern */
}


/* Einheitliche CTA */
.emb-cta{ display:inline-flex; align-items:center; justify-content:center; background:var(--emb-accent); color:#fff; padding:0 16px; border-radius:12px; font-weight:700; }
.emb-cta:hover{ filter:brightness(.95); }
.emb-cta-full{ height:44px; width:100%; margin-top:auto; }
.emb-cta-big{ display:inline-flex; align-items:center; justify-content:center; background:var(--emb-accent); color:#fff; padding:14px 18px; border-radius:14px; font-weight:800; font-size:18px; }

/* Produktkarten (/shop/) */
.emb-p-title{ margin:0 0 6px; font-size:18px; }
.emb-price{ font-weight:700; }

/* FAQ */
.emb-faq{ margin:28px 0 8px; }
.emb-faq h2, .emb-faq h3{ margin: 0 0 8px; }
.emb-faq details{ background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:10px 12px; margin:8px 0; }
.emb-faq summary{ cursor:pointer; font-weight:700; }
.emb-faq details, .emb-faq summary, .emb-faq details div { color:#0f172a; }

/* BRANDS */
.emb-brands{ margin:24px 0; }
.emb-brands h2{ margin-bottom:10px; }
.emb-brand-cloud{ display:flex; flex-wrap:wrap; gap:8px; }
.emb-brand-cloud span{ border:1px solid #e5e7eb; padding:6px 10px; border-radius:999px; background:#fff; }

/* Hover */
.emb-grid-animated .emb-card{ transform:translateY(0); transition:.25s transform,.25s box-shadow; }
.emb-grid-animated .emb-card:hover{ transform: translateY(-4px); box-shadow:0 12px 30px rgba(0,0,0,.06); }

/* DARK MODE */
@media (prefers-color-scheme: dark) {
  .emb-card, .emb-faq details, .emb-brand-cloud span { background:#0b1020; border-color:#1f2937; }
  .emb-desc{ color:#cbd5e1; }
  .emb-mini{ background:#0f172a; border-color:#1f2937; }
  .emb-faq details, .emb-faq summary, .emb-faq details div { color:#e5e7eb; }
}
