/* KWK Frontend CSS */
:root {
	--kwk-gold:    #c9a84c;
	--kwk-gold-l:  #e8c97a;
	--kwk-dark:    #0d1e3a;
	--kwk-darker:  #07101f;
	--kwk-cream:   #f5f0e8;
	--kwk-muted:   rgba(245,240,232,.55);
	--kwk-border:  rgba(201,168,76,.25);
	--kwk-border-h:rgba(201,168,76,.5);
	--kwk-sans:    'Outfit', -apple-system, sans-serif;
	--kwk-serif:   'Cormorant Garamond', Georgia, serif;
}

.kwk-wrap { font-family: var(--kwk-sans); max-width: 720px; margin: 2rem auto; }

/* Card */
.kwk-card {
	background: var(--kwk-dark);
	border: 1px solid var(--kwk-border);
	padding: 2rem;
	color: var(--kwk-cream);
}
.kwk-card-title { font-size: 1.2rem; color: var(--kwk-gold); margin: 0 0 .5rem; font-weight: 500; }
.kwk-card-sub   { font-size: .88rem; color: var(--kwk-muted); margin-bottom: 1.5rem; line-height: 1.65; }

/* Form */
.kwk-form { display: flex; flex-direction: column; gap: .85rem; }
.kwk-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.kwk-field label { display: block; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--kwk-muted); margin-bottom: .3rem; }
.kwk-field input {
	width: 100%; box-sizing: border-box;
	background: rgba(255,255,255,.05);
	border: 1px solid var(--kwk-border);
	color: var(--kwk-cream);
	padding: .65rem .9rem;
	font-size: .9rem;
	font-family: var(--kwk-sans);
	transition: border-color .2s;
}
.kwk-field input:focus { outline: none; border-color: var(--kwk-gold); }

.kwk-consent-label {
	display: flex; gap: .65rem; align-items: flex-start;
	font-size: .8rem; color: var(--kwk-muted); line-height: 1.6; cursor: pointer;
}
.kwk-consent-label input { width: auto; margin-top: .2rem; flex-shrink: 0; accent-color: var(--kwk-gold); }

/* Buttons */
.kwk-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
	padding: .65rem 1.4rem; font-size: .8rem; font-weight: 600;
	letter-spacing: .08em; text-transform: uppercase; cursor: pointer;
	font-family: var(--kwk-sans); text-decoration: none; transition: all .2s; border: none;
}
.kwk-btn-primary  { background: var(--kwk-gold); color: #0a1428; }
.kwk-btn-primary:hover { background: var(--kwk-gold-l); }
.kwk-btn-outline  { background: transparent; border: 1px solid var(--kwk-border-h); color: var(--kwk-gold); }
.kwk-btn-outline:hover { background: rgba(201,168,76,.1); }
.kwk-btn-sm { padding: .45rem .9rem; font-size: .72rem; }

/* Messages */
.kwk-msg { margin-top: .65rem; font-size: .84rem; }
.kwk-msg .ok  { padding: .65rem .9rem; background: rgba(74,222,128,.08); border: 1px solid rgba(74,222,128,.25); color: #4ade80; }
.kwk-msg .err { padding: .65rem .9rem; background: rgba(248,113,113,.08); border: 1px solid rgba(248,113,113,.25); color: #f87171; }

/* Divider */
.kwk-divider { display: flex; align-items: center; gap: 1rem; margin: 1.5rem 0; color: var(--kwk-muted); font-size: .78rem; }
.kwk-divider::before,.kwk-divider::after { content: ''; flex: 1; height: 1px; background: var(--kwk-border); }

/* Portal Header */
.kwk-portal { background: var(--kwk-dark); border: 1px solid var(--kwk-border); padding: 0; color: var(--kwk-cream); }
.kwk-portal-header {
	display: flex; align-items: center; justify-content: space-between;
	padding: 1.5rem 2rem; border-bottom: 1px solid var(--kwk-border);
	background: rgba(201,168,76,.04);
}
.kwk-portal-name { font-size: 1.3rem; font-family: var(--kwk-serif); font-weight: 300; margin: 0 0 .2rem; }
.kwk-portal-sub  { font-size: .8rem; color: var(--kwk-muted); margin: 0; }
.kwk-points-badge {
	text-align: center; padding: .75rem 1.25rem;
	background: rgba(201,168,76,.08); border: 1px solid var(--kwk-border-h);
}
.kwk-points-num { display: block; font-size: 1.8rem; font-family: var(--kwk-serif); font-weight: 300; color: var(--kwk-gold); line-height: 1; }
.kwk-points-lbl { display: block; font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; color: var(--kwk-muted); margin-top: .2rem; }

/* Stats Row */
.kwk-stats-row {
	display: grid; grid-template-columns: repeat(5,1fr);
	border-bottom: 1px solid var(--kwk-border);
}
.kwk-stat-box {
	padding: 1.25rem; text-align: center;
	border-right: 1px solid var(--kwk-border);
}
.kwk-stat-box:last-child { border-right: none; }
.kwk-stat-num { display: block; font-size: 1.6rem; font-family: var(--kwk-serif); font-weight: 300; color: var(--kwk-gold); line-height: 1; }
.kwk-stat-lbl { display: block; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--kwk-muted); margin-top: .3rem; }

/* Reward info */
.kwk-reward-info {
	padding: .75rem 2rem; font-size: .84rem;
	background: rgba(201,168,76,.05); border-bottom: 1px solid var(--kwk-border);
	color: rgba(245,240,232,.75);
}
.kwk-reward-info strong { color: var(--kwk-gold); }

/* Tabs */
.kwk-tabs {
	display: flex; border-bottom: 1px solid var(--kwk-border);
	overflow-x: auto;
}
.kwk-tab {
	padding: .85rem 1.25rem; background: none; border: none; border-bottom: 2px solid transparent;
	color: var(--kwk-muted); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase;
	cursor: pointer; white-space: nowrap; transition: all .2s; font-family: var(--kwk-sans);
}
.kwk-tab:hover { color: var(--kwk-gold); }
.kwk-tab.active { color: var(--kwk-gold); border-bottom-color: var(--kwk-gold); background: rgba(201,168,76,.04); }

/* Panels */
.kwk-panel { display: none; padding: 1.75rem 2rem; }
.kwk-panel.active { display: block; }

/* Link box */
.kwk-link-box {
	display: flex; gap: .5rem; margin-bottom: .75rem;
}
.kwk-link-input {
	flex: 1; background: rgba(255,255,255,.04);
	border: 1px solid var(--kwk-border); color: var(--kwk-cream);
	padding: .55rem .85rem; font-size: .82rem; font-family: monospace;
	min-width: 0;
}
.kwk-hint { font-size: .8rem; color: var(--kwk-muted); margin: .5rem 0; line-height: 1.6; }

/* QR */
.kwk-qr-wrap { text-align: center; padding: .5rem 0; }
.kwk-qr-wrap img { border: 3px solid var(--kwk-border-h); display: inline-block; }
.kwk-qr-wrap p { margin: .75rem 0; }

/* Share buttons */
.kwk-share-btns { display: flex; gap: .65rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.kwk-share-btn {
	padding: .6rem 1.2rem; text-decoration: none; font-size: .8rem;
	font-weight: 600; letter-spacing: .05em; color: #fff; transition: opacity .2s;
}
.kwk-share-btn:hover { opacity: .85; }
.kwk-share-wa { background: #25d366; }
.kwk-share-fb { background: #1877f2; }
.kwk-share-li { background: #0a66c2; }

/* Table */
.kwk-table-wrap { overflow-x: auto; }
.kwk-table { width: 100%; border-collapse: collapse; font-size: .84rem; }
.kwk-table th { padding: .65rem .85rem; text-align: left; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--kwk-gold); border-bottom: 1px solid var(--kwk-border); }
.kwk-table td { padding: .65rem .85rem; border-bottom: 1px solid rgba(201,168,76,.1); color: rgba(245,240,232,.8); }
.kwk-table tr:last-child td { border-bottom: none; }
.kwk-table a { color: var(--kwk-gold); }

/* Badges */
.kwk-badge { font-size: .7rem; padding: 2px 8px; font-weight: 600; }
.kwk-badge-pending     { background: rgba(234,179,8,.1); color: #eab308; border: 1px solid rgba(234,179,8,.3); }
.kwk-badge-interested  { background: rgba(59,130,246,.1); color: #60a5fa; border: 1px solid rgba(59,130,246,.3); }
.kwk-badge-converted   { background: rgba(74,222,128,.1); color: #4ade80; border: 1px solid rgba(74,222,128,.3); }
.kwk-badge-lost        { background: rgba(248,113,113,.1); color: #f87171; border: 1px solid rgba(248,113,113,.3); }

/* Responsive */
@media (max-width: 640px) {
	.kwk-wrap { margin: 1rem; }
	.kwk-portal-header { flex-direction: column; gap: 1rem; }
	.kwk-stats-row { grid-template-columns: repeat(3,1fr); }
	.kwk-form-row { grid-template-columns: 1fr; }
	.kwk-panel { padding: 1.25rem; }
}

/* ── Bonus Bar ───────────────────────────────────────────────────────── */
.kwk-bonus-bar {
	background: linear-gradient(135deg, rgba(201,168,76,.15), rgba(201,168,76,.08));
	border-bottom: 1px solid rgba(201,168,76,.4);
	padding: .75rem 1.5rem;
	font-size: .84rem;
	color: var(--kwk-gold);
	text-align: center;
	letter-spacing: .02em;
}

/* ── Tier Badge ──────────────────────────────────────────────────────── */
.kwk-tier-badge {
	display: inline-flex; align-items: center; gap: .4rem;
	font-family: var(--kwk-sans); font-size: .72rem;
	letter-spacing: .12em; text-transform: uppercase;
	font-weight: 600; margin-bottom: .35rem;
}
.kwk-tier-prov {
	font-size: .65rem; opacity: .7; font-weight: 400; margin-left: .25rem;
}

/* ── Progress Bar ────────────────────────────────────────────────────── */
.kwk-progress-wrap {
	padding: .85rem 1.5rem;
	background: rgba(201,168,76,.03);
	border-bottom: 1px solid rgba(201,168,76,.1);
}
.kwk-progress-label {
	display: flex; justify-content: space-between;
	font-size: .75rem; color: rgba(245,240,232,.55);
	margin-bottom: .5rem; flex-wrap: wrap; gap: .25rem;
}
.kwk-progress-label strong { color: var(--kwk-cream); }
.kwk-progress-bar-wrap {
	height: 6px; background: rgba(255,255,255,.08); border-radius: 3px; overflow: hidden;
}
.kwk-progress-bar {
	height: 100%;
	background: linear-gradient(90deg, var(--kwk-gold), var(--kwk-gold-l));
	border-radius: 3px;
	transition: width .8s cubic-bezier(.4,0,.2,1);
}
.kwk-progress-wrap--max { background: rgba(201,168,76,.06); }
.kwk-progress-wrap--max .kwk-progress-label { justify-content: center; color: var(--kwk-gold); }

/* ── Tier Cards ──────────────────────────────────────────────────────── */
.kwk-section-title {
	font-size: .72rem; letter-spacing: .15em; text-transform: uppercase;
	color: var(--kwk-gold); margin-bottom: 1rem;
	padding-bottom: .4rem; border-bottom: 1px solid rgba(201,168,76,.2);
}
.kwk-tiers-grid {
	display: grid; grid-template-columns: repeat(4,1fr); gap: .75rem;
}
.kwk-tier-card {
	background: rgba(255,255,255,.03); border: 1px solid rgba(201,168,76,.12);
	padding: 1.25rem .85rem; text-align: center;
	transition: border-color .2s, transform .2s;
}
.kwk-tier-card--reached { border-color: rgba(201,168,76,.25); }
.kwk-tier-card--current {
	border-color: rgba(201,168,76,.6) !important;
	background: rgba(201,168,76,.08) !important;
	transform: translateY(-3px);
}
.kwk-tier-icon { font-size: 1.8rem; display: block; margin-bottom: .5rem; }
.kwk-tier-name { font-size: .72rem; font-weight: 600; letter-spacing: .06em; margin-bottom: .25rem; }
.kwk-tier-prov-big {
	font-family: var(--kwk-serif); font-size: 1.6rem; color: var(--kwk-gold);
	font-weight: 300; line-height: 1;
}
.kwk-tier-req { font-size: .65rem; color: rgba(245,240,232,.35); margin-top: .3rem; }
.kwk-tier-current-badge, .kwk-tier-reached-badge {
	font-size: .62rem; margin-top: .5rem; padding: 2px 6px;
	border-radius: 3px; display: inline-block;
}
.kwk-tier-current-badge { background: rgba(201,168,76,.2); color: var(--kwk-gold); }
.kwk-tier-reached-badge { color: #4ade80; }

/* ── Badges Grid ─────────────────────────────────────────────────────── */
.kwk-badges-grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(160px,1fr)); gap: .75rem;
}
.kwk-badge-item {
	border: 1px solid; border-radius: 4px;
	padding: 1rem .75rem; text-align: center; position: relative;
}
.kwk-badge-item--earned {
	border-color: rgba(201,168,76,.35);
	background: rgba(201,168,76,.06);
}
.kwk-badge-item--locked {
	border-color: rgba(255,255,255,.08);
	background: rgba(255,255,255,.02);
	opacity: .55;
}
.kwk-badge-icon { display: block; font-size: 1.6rem; margin-bottom: .4rem; }
.kwk-badge-label { display: block; font-size: .78rem; font-weight: 600; color: var(--kwk-cream); margin-bottom: .2rem; }
.kwk-badge-desc { display: block; font-size: .68rem; color: rgba(245,240,232,.45); line-height: 1.4; }
.kwk-badge-lock { position: absolute; top: .4rem; right: .4rem; font-size: .7rem; opacity: .4; }

/* ── Zertifikat Box ──────────────────────────────────────────────────── */
.kwk-cert-box {
	display: flex; align-items: flex-start; gap: 1rem;
	margin-top: 2rem; padding: 1.25rem;
	background: rgba(201,168,76,.06); border: 1px solid rgba(201,168,76,.25);
}
.kwk-cert-icon { font-size: 2rem; flex-shrink: 0; }
.kwk-cert-box strong { display: block; color: var(--kwk-cream); margin-bottom: .35rem; }
.kwk-cert-box p { font-size: .82rem; color: rgba(245,240,232,.6); line-height: 1.6; margin-bottom: .75rem; }

/* ── E-Mail Signatur Box ─────────────────────────────────────────────── */
.kwk-sig-box {
	margin-top: 1.25rem; padding-top: 1.25rem;
	border-top: 1px solid rgba(201,168,76,.15);
}
.kwk-sig-label { font-size: .82rem; color: rgba(245,240,232,.6); margin-bottom: .5rem; font-weight: 500; }

/* ── FAQ im Dashboard ────────────────────────────────────────────────── */
.kwk-faq-list { display: flex; flex-direction: column; gap: .5rem; }
.kwk-faq-item {
	border: 1px solid rgba(201,168,76,.15); overflow: hidden;
	background: rgba(255,255,255,.02);
}
.kwk-faq-q {
	padding: .85rem 1rem; font-size: .88rem; font-weight: 600;
	color: var(--kwk-cream); cursor: pointer; list-style: none;
	display: flex; justify-content: space-between; align-items: center;
}
.kwk-faq-q::after { content: '+'; font-size: 1.2rem; color: var(--kwk-gold); flex-shrink: 0; transition: transform .2s; }
.kwk-faq-item[open] .kwk-faq-q::after { transform: rotate(45deg); }
.kwk-faq-a {
	padding: .25rem 1rem 1rem; font-size: .82rem;
	color: rgba(245,240,232,.65); line-height: 1.7; margin: 0;
	border-top: 1px solid rgba(201,168,76,.1);
}

/* ── Live Counter ────────────────────────────────────────────────────── */
.kwk-live-counter {
	display: inline-flex; align-items: center; gap: .6rem;
	font-family: var(--kwk-sans); font-size: .82rem;
	color: rgba(245,240,232,.6); padding: .4rem .9rem;
	background: rgba(201,168,76,.06); border: 1px solid rgba(201,168,76,.2);
}
.kwk-live-dot {
	width: 8px; height: 8px; border-radius: 50%; background: #4ade80;
	animation: kwk-live-pulse 2s ease-in-out infinite; flex-shrink: 0;
}
@keyframes kwk-live-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.8)} }
.kwk-live-sep { opacity: .3; }

/* Responsive */
@media (max-width: 640px) {
	.kwk-tiers-grid { grid-template-columns: 1fr 1fr; }
	.kwk-badges-grid { grid-template-columns: 1fr 1fr; }
}

/* ── Dashboard breiter + Tabs scrollbar fix ──────────────────────────── */
.kwk-wrap.kwk-portal {
	max-width: 960px !important;
	margin: 0 auto;
}

/* Tabs — kein horizontales Scrollen, alle sichtbar */
.kwk-tabs {
	display: flex;
	flex-wrap: wrap;
	overflow: visible;
	gap: 4px;
	padding: 4px;
	background: rgba(255,255,255,.03);
	border: 1px solid rgba(201,168,76,.15);
}
.kwk-tab {
	white-space: nowrap;
	flex-shrink: 0;
	border: 1px solid rgba(201,168,76,.15) !important;
}
.kwk-tab.active,
.kwk-tab[aria-selected="true"] {
	border-color: rgba(201,168,76,.6) !important;
}

/* Neue Share-Buttons */
.kwk-share-btn.kwk-share-tg { background: #0088cc; }
.kwk-share-btn.kwk-share-x  { background: #000000; }
.kwk-share-btn.kwk-share-em { background: #555577; }

/* Instagram Box */
.kwk-insta-box {
	display: flex; gap: 1rem; align-items: flex-start;
	margin-top: 1.5rem; padding: 1.1rem;
	background: linear-gradient(135deg, rgba(131,58,180,.1), rgba(253,29,29,.07), rgba(252,176,69,.07));
	border: 1px solid rgba(201,168,76,.2);
}
.kwk-insta-box__icon { font-size: 1.8rem; flex-shrink: 0; }
.kwk-insta-box strong { display: block; font-size: .88rem; color: var(--kwk-cream); margin-bottom: .35rem; }
.kwk-insta-box p { font-size: .78rem; color: rgba(245,240,232,.6); line-height: 1.55; margin-bottom: .5rem; }
.kwk-insta-steps { font-size: .78rem; color: rgba(245,240,232,.6); padding-left: 1.1rem; display: flex; flex-direction: column; gap: .3rem; }
.kwk-insta-steps li { line-height: 1.55; }

/* QR Download */
.kwk-qr-wrap { text-align: center; }
.kwk-qr-wrap img { display: inline-block; border: 2px solid rgba(201,168,76,.3); background: #fff; padding: 8px; }

@media (max-width: 760px) {
	.kwk-wrap.kwk-portal { max-width: 100% !important; margin: 0 !important; }
}

/* ── Share Texte ─────────────────────────────────────────────────────── */
.kwk-share-texts {
	display: flex; flex-direction: column; gap: 1.25rem; margin-top: 1.75rem;
}
.kwk-share-text-block {
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(201,168,76,.2);
	border-left: 3px solid rgba(201,168,76,.5);
	padding: 1.1rem 1.25rem;
	border-radius: 2px;
}
.kwk-share-text-label {
	font-size: .76rem; font-weight: 700; letter-spacing: .08em;
	color: var(--kwk-gold); margin-bottom: .65rem; text-transform: uppercase;
}
.kwk-share-textarea {
	width: 100%;
	background: rgba(0,0,0,.25);
	border: 1px solid rgba(201,168,76,.15);
	border-radius: 2px;
	color: rgba(245,240,232,.9);
	font-size: .83rem;
	line-height: 1.7;
	padding: .75rem 1rem;
	resize: none; /* kein manuelles resize — Höhe automatisch */
	font-family: var(--kwk-sans);
	margin-bottom: .65rem;
	display: block;
	overflow: visible;
	min-height: 80px;
	/* field-sizing: content; — Fallback via JS */
}
.kwk-share-textarea:focus {
	outline: none;
	border-color: rgba(201,168,76,.45);
	background: rgba(0,0,0,.3);
}
.kwk-share-text-block .kwk-btn {
	display: inline-flex; align-items: center; gap: .35rem;
}

/* ── Notification Preferences ────────────────────────────────────────── */
.kwk-notify-grid,
.kwk-notify-grid--col {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	gap: .5rem;
	width: 100%;
}
.kwk-notify-intro {
	margin-bottom: 1rem;
}
.kwk-notify-intro p {
	font-size: .83rem; color: rgba(245,240,232,.6); line-height: 1.65; margin-top: .4rem;
}
.kwk-notify-item {
	display: flex !important;
	align-items: flex-start;
	gap: .85rem;
	width: 100% !important;
	box-sizing: border-box;
	padding: .85rem 1rem;
	background: rgba(255,255,255,.03);
	border: 1px solid rgba(201,168,76,.1);
	cursor: pointer;
	transition: background .15s, border-color .15s;
}
.kwk-notify-item:hover { background: rgba(201,168,76,.05); border-color: rgba(201,168,76,.2); }
.kwk-notify-item input[type="checkbox"] {
	width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px;
	accent-color: var(--kwk-gold);
}
.kwk-notify-icon { font-size: 1.1rem; flex-shrink: 0; margin-top: 1px; }
.kwk-notify-text { display: flex; flex-direction: column; gap: 2px; }
.kwk-notify-text strong { font-size: .85rem; color: var(--kwk-cream); }
.kwk-notify-text small { font-size: .72rem; color: var(--kwk-muted); line-height: 1.4; }
.kwk-notify-push-info {
	padding: 1rem; background: rgba(201,168,76,.04);
	border: 1px solid rgba(201,168,76,.15); margin-bottom: 1rem;
}
.kwk-notify-push-info p { font-size: .82rem; color: rgba(245,240,232,.6); line-height: 1.6; margin-bottom: .75rem; }

/* ── Auszahlung Dashboard ────────────────────────────────────────────── */
.kwk-payout-overview {
	display: grid; grid-template-columns: repeat(3,1fr);
	gap: 1px; background: rgba(201,168,76,.15); margin-bottom: 1.25rem;
}
.kwk-payout-stat {
	background: var(--kwk-dark,#0d1e3a);
	padding: 1.1rem; text-align: center;
}
.kwk-payout-stat__num {
	display: block; font-family: var(--kwk-serif);
	font-size: 1.5rem; color: var(--kwk-gold); font-weight: 300; line-height: 1;
}
.kwk-payout-stat__lbl {
	display: block; font-size: .68rem; letter-spacing: .08em;
	text-transform: uppercase; color: var(--kwk-muted); margin-top: .3rem;
}
.kwk-payout-notice {
	padding: .85rem 1rem; font-size: .84rem; line-height: 1.55;
	margin-bottom: 1rem; border-left: 3px solid;
}
.kwk-payout-notice--ready   { background: rgba(74,222,128,.08);  border-color: #4ade80; color: #4ade80; }
.kwk-payout-notice--pending { background: rgba(234,179,8,.08);   border-color: #eab308; color: #eab308; }
.kwk-payout-notice--info    { background: rgba(201,168,76,.07);  border-color: rgba(201,168,76,.4); color: rgba(245,240,232,.7); }
.kwk-payout-notice--warn    { background: rgba(248,113,113,.08); border-color: #f87171; color: #f87171; }
.kwk-payment-fields { transition: opacity .2s; }

@media (max-width:600px) {
	.kwk-payout-overview { grid-template-columns: 1fr; }
}

/* ── Produkte Tab ────────────────────────────────────────────────────── */
.kwk-products-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.5rem;
}

/* Card */
.kwk-product-card {
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(201,168,76,.2);
	overflow: hidden;
	display: flex; flex-direction: column;
	transition: transform .2s, border-color .2s, box-shadow .2s;
}
.kwk-product-card:hover {
	transform: translateY(-3px);
	border-color: rgba(201,168,76,.5);
	box-shadow: 0 8px 24px rgba(0,0,0,.3);
}
.kwk-product-card--locked {
	opacity: .72; border-color: rgba(255,255,255,.08);
}
.kwk-product-card--locked:hover { transform: none; box-shadow: none; }

/* Image — kompakter */
.kwk-product-img {
	position: relative; overflow: hidden;
	aspect-ratio: 2/1; background: rgba(0,0,0,.3); flex-shrink: 0;
}
.kwk-product-img img { width:100%; height:100%; object-fit:cover; }
.kwk-product-lock-overlay {
	position: absolute; inset: 0; background: rgba(0,0,0,.7);
	display: flex; align-items: center; justify-content: center;
	font-size: .82rem; font-weight: 700; color: rgba(245,240,232,.75);
}
.kwk-product-badge-urgent {
	position: absolute; top: .5rem; right: .5rem;
	background: #ef4444; color: #fff;
	font-size: .65rem; font-weight: 700; padding: 2px 7px; letter-spacing: .05em;
}
.kwk-product-cat-pill {
	position: absolute; top: .5rem; left: .5rem;
	background: rgba(0,0,0,.6); color: var(--kwk-gold);
	font-size: .65rem; font-weight: 700; padding: 2px 8px; letter-spacing: .06em;
	text-transform: uppercase; backdrop-filter: blur(4px);
}

/* Body */
.kwk-product-body {
	padding: 1rem; flex: 1; display: flex; flex-direction: column; gap: .6rem;
}
.kwk-product-header {
	display: flex; align-items: flex-start;
	justify-content: space-between; gap: .5rem;
}
.kwk-product-title {
	font-size: .92rem; font-weight: 700; color: var(--kwk-cream);
	margin: 0; line-height: 1.35; flex: 1;
}
.kwk-product-price-block {
	display: flex; flex-direction: column; align-items: flex-end;
	gap: 1px; flex-shrink: 0;
}
.kwk-product-price--early {
	font-size: 1.15rem; font-weight: 700; color: var(--kwk-gold); line-height: 1;
}
.kwk-product-price--reg {
	font-size: .72rem; color: rgba(245,240,232,.35);
	text-decoration: line-through;
}
.kwk-product-price--regular {
	font-size: 1rem; font-weight: 600; color: var(--kwk-cream);
}
.kwk-product-price--badge {
	font-size: .6rem; background: rgba(201,168,76,.15);
	color: var(--kwk-gold); padding: 1px 5px; letter-spacing: .06em;
}

/* Provision Bar */
.kwk-product-provision-bar {
	background: rgba(74,222,128,.07);
	border: 1px solid rgba(74,222,128,.2);
	padding: .5rem .75rem;
	font-size: .78rem; color: rgba(245,240,232,.7);
	display: flex; align-items: center; gap: .4rem;
}
.kwk-product-provision-bar strong { color: #4ade80; font-size: .92rem; }
.kwk-product-provision-bar span { font-size: .68rem; color: rgba(245,240,232,.4); }

.kwk-product-desc {
	font-size: .78rem; color: rgba(245,240,232,.55);
	line-height: 1.6; margin: 0;
}
.kwk-product-deadline {
	font-size: .72rem; color: rgba(245,240,232,.4); line-height: 1.5;
}
.kwk-product-stats {
	display: flex; gap: .75rem; flex-wrap: wrap;
	font-size: .72rem; color: rgba(245,240,232,.4);
	padding: .4rem .6rem;
	background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.05);
}

/* Link */
.kwk-product-link-wrap {
	display: flex; gap: .35rem;
}

/* Share Buttons — Icon-Reihe */
.kwk-product-share-btns {
	display: flex; gap: .4rem; flex-wrap: wrap;
}
.kwk-prod-share {
	width: 34px; height: 34px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-size: .9rem; text-decoration: none; border: none;
	cursor: pointer; transition: transform .15s, opacity .15s;
	flex-shrink: 0;
}
.kwk-prod-share:hover { transform: scale(1.15); opacity: .9; }
.kwk-prod-share--wa { background: #25d366; }
.kwk-prod-share--fb { background: #1877f2; }
.kwk-prod-share--li { background: #0a66c2; }
.kwk-prod-share--x  { background: #000; border: 1px solid rgba(255,255,255,.15); color: #fff; font-size: .75rem; }
.kwk-prod-share--em { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); }
.kwk-prod-share--ig { background: linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }

/* Verkaufstexte */
.kwk-product-texts {
	border: 1px solid rgba(201,168,76,.15); background: rgba(255,255,255,.02);
}
.kwk-product-texts__toggle {
	padding: .6rem .85rem; font-size: .78rem; font-weight: 600;
	color: rgba(245,240,232,.7); cursor: pointer; list-style: none;
	display: flex; justify-content: space-between; align-items: center;
}
.kwk-product-texts__toggle::after { content: '+'; color: var(--kwk-gold); font-size: 1.1rem; }
.kwk-product-texts[open] .kwk-product-texts__toggle::after { content: '−'; }
.kwk-product-texts__body {
	padding: .75rem; border-top: 1px solid rgba(201,168,76,.1);
	display: flex; flex-direction: column; gap: .25rem;
}

/* View Link */
.kwk-product-view-btn {
	display: block; text-align: center; margin-top: auto;
	padding: .6rem; font-size: .78rem; font-weight: 600;
	color: var(--kwk-gold); border: 1px solid rgba(201,168,76,.25);
	text-decoration: none; letter-spacing: .04em;
	transition: background .15s, border-color .15s;
}
.kwk-product-view-btn:hover {
	background: rgba(201,168,76,.08); border-color: rgba(201,168,76,.5);
}

/* Locked msg */
.kwk-product-locked-msg {
	font-size: .78rem; color: rgba(245,240,232,.4);
	padding: .6rem; background: rgba(255,255,255,.03);
	border: 1px solid rgba(255,255,255,.06); line-height: 1.6; margin-top: auto;
}

/* Light Mode */
[data-theme="light"] .kwk-product-card { background: #fff; border-color: rgba(139,105,20,.2); }
[data-theme="light"] .kwk-product-title { color: #0d0d1f; }
[data-theme="light"] .kwk-product-desc { color: #4a4a6a; }
[data-theme="light"] .kwk-product-provision-bar { background: rgba(74,222,128,.06); }
[data-theme="light"] .kwk-product-stats { background: #f8f9fc; color: #6a6a8a; }
[data-theme="light"] .kwk-product-locked-msg { background: #f8f9fc; color: #6a6a8a; }
[data-theme="light"] .kwk-product-texts { background: #f8f9fc; }

@media (max-width: 600px) {
	.kwk-products-grid { grid-template-columns: 1fr; }
}

