/* ===== SteuerNest · Musterschreiben – shared components ===== */

/* ---- Redaktions-Tipp ---- */
.mk-tip{ display:flex; gap:16px; align-items:flex-start; background:radial-gradient(130% 130% at 0% 0%, var(--red-soft), var(--white)); border:1px solid var(--red-soft-2); border-radius:var(--r-lg); padding:20px 22px; margin:8px 0 22px; box-shadow:var(--shadow-sm); }
.mk-tip .tip-ic{ flex-shrink:0; width:40px; height:40px; border-radius:12px; background:var(--red); display:grid; place-items:center; box-shadow:var(--shadow-red); }
.mk-tip .tip-ic svg{ width:21px; height:21px; stroke:#fff; }
.mk-tip .tip-b{ min-width:0; }
.mk-tip .tip-lbl{ font-family:var(--mono); font-size:.64rem; letter-spacing:.13em; text-transform:uppercase; color:var(--red); font-weight:700; display:block; margin-bottom:6px; }
.mk-tip h4{ font-size:1.02rem; margin:0 0 8px; color:var(--ink); letter-spacing:-.01em; }
.mk-tip ul{ display:flex; flex-direction:column; gap:9px; margin:0; padding:0; list-style:none; }
.mk-tip ul li{ position:relative; padding-left:24px; font-size:.92rem; color:var(--ink-3); line-height:1.55; }
.mk-tip ul li::before{ content:""; position:absolute; left:3px; top:8px; width:8px; height:8px; border-radius:50%; background:var(--red); }
.mk-tip p{ margin:0; font-size:.92rem; color:var(--ink-3); line-height:1.6; }

/* ---- WISO-Steuer Affiliate-Abschnitt ---- */
.mk-aff{ position:relative; overflow:hidden; border:1px solid var(--ink); border-radius:var(--r-lg); background:var(--ink); color:#fff; padding:clamp(26px,3.6vw,44px); box-shadow:var(--shadow-md); }
.mk-aff::after{ content:""; position:absolute; right:-90px; top:-90px; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle at 50% 50%, rgba(228,50,43,.38), transparent 70%); pointer-events:none; }
.mk-aff .aff-inner{ position:relative; z-index:1; display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; }
.mk-aff .aff-ad{ font-family:var(--mono); font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:#fff; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22); padding:.35em .7em; border-radius:999px; display:inline-block; margin-bottom:14px; white-space:nowrap; }
.mk-aff h3{ font-size:clamp(1.4rem,2.4vw,2rem); letter-spacing:-.02em; line-height:1.12; margin:0 0 12px; color:#fff; }
.mk-aff h3 span{ color:#ff6a5f; }
.mk-aff strong, .mk-aff b{ color:#fff; }
.mk-aff p{ font-size:1rem; color:rgba(255,255,255,.8); line-height:1.62; max-width:52ch; margin:0; }
.mk-aff ul{ display:flex; flex-wrap:wrap; gap:9px 20px; margin:18px 0 0; padding:0; list-style:none; }
.mk-aff li{ display:flex; align-items:center; gap:8px; font-size:.9rem; color:rgba(255,255,255,.9); }
.mk-aff li svg{ width:16px; height:16px; stroke:#ff6a5f; flex-shrink:0; }
.mk-aff .aff-cta{ display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.mk-aff .btn-aff{ display:inline-flex; align-items:center; gap:.55em; background:var(--red); color:#fff; font-weight:700; padding:.95em 1.6em; border-radius:12px; box-shadow:var(--shadow-red); transition:transform .18s, background .18s; white-space:nowrap; }
.mk-aff .btn-aff:hover{ background:#ff4a40; color:#fff; transform:translateY(-2px); }
.mk-aff .btn-aff svg{ width:18px; height:18px; stroke:#fff; }
.mk-aff .aff-disc{ font-size:.74rem; color:rgba(255,255,255,.55); line-height:1.45; max-width:24ch; }
.mk-aff .aff-disc a{ color:rgba(255,255,255,.8); text-decoration:underline; }
@media (max-width:820px){ .mk-aff .aff-inner{ grid-template-columns:1fr; gap:22px; } .mk-aff .aff-cta{ align-items:stretch; } .mk-aff .btn-aff{ justify-content:center; } .mk-aff .aff-disc{ max-width:none; } }

/* sidebar affiliate mini card */
.mk-side .mk-card.aff-mini{ background:var(--ink); border-color:var(--ink); }
.mk-side .mk-card.aff-mini h4{ color:#fff; font-family:var(--sans); font-size:1.02rem; letter-spacing:-.01em; text-transform:none; margin-bottom:8px; }
.mk-side .mk-card.aff-mini .aff-lbl{ font-family:var(--mono); font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:#ff8a80; font-weight:700; display:block; margin-bottom:12px; }
.mk-side .mk-card.aff-mini p{ color:rgba(255,255,255,.75); font-size:.88rem; line-height:1.55; margin:0 0 14px; }
.mk-side .mk-card.aff-mini .btn{ background:var(--red); color:#fff; width:100%; justify-content:center; }
.mk-side .mk-card.aff-mini .btn:hover{ background:#ff4a40; }
