/* DieTees Tee Coins - Minimal, modern frontend styles
 *
 * Design language:
 *  - Restrained typography-first layout
 *  - Soft sage green + warm gold as accents only
 *  - No inline SVG icons (cross-theme reliability)
 *  - Mobile-first, additive, no theme overrides forced
 */

:root {
	/* Brand */
	--dtc-green: #2f6b4f;
	--dtc-green-deep: #1f4d38;
	--dtc-green-soft: #f1f6f3;
	--dtc-gold: #b8923e;
	--dtc-gold-light: #e6c474;
	--dtc-gold-deep: #8a6a1e;
	--dtc-gold-soft: #fdf6e3;
	--dtc-cream: #fdf6e3;

	/* Neutrals */
	--dtc-text: #1f2c25;
	--dtc-muted: #6b7280;
	--dtc-border: #e5ebe7;
	--dtc-bg: #ffffff;
	--dtc-bg-subtle: #fafdfb;

	/* Status */
	--dtc-success: #137c47;
	--dtc-warning: #b8923e;
	--dtc-error: #b3261e;
	--dtc-info: #2f6b4f;

	/* Transaction-type accents (added 1.2.0 — used by ledger & history pills) */
	--dtc-pill-earn:    #2f6b4f;
	--dtc-pill-redeem:  #b8923e;
	--dtc-pill-refund:  #b3261e;
	--dtc-pill-reverse: #6b7280;
	--dtc-pill-manual:  #4b5563;
	--dtc-pill-bonus:   #137c47;
	--dtc-pill-retro:   #1f4d38;
	--dtc-pill-expiry:  #8a6a1e;

	/* Chart series (added 1.2.0 — used by My Account 6-month chart in phase 4) */
	--dtc-chart-earn:   #2f6b4f;
	--dtc-chart-redeem: #b8923e;
	--dtc-chart-expire: #b3261e;
	--dtc-chart-grid:   rgba(31, 44, 37, 0.08);

	/* Surfaces */
	--dtc-shadow-sm: 0 1px 2px rgba(15, 50, 35, 0.04);
	--dtc-shadow-md: 0 6px 18px -10px rgba(15, 50, 35, 0.16), 0 1px 3px rgba(15, 50, 35, 0.04);
	--dtc-shadow-lg: 0 18px 38px -16px rgba(15, 50, 35, 0.22), 0 2px 6px rgba(15, 50, 35, 0.06);

	/* Geometry */
	--dtc-radius: 12px;
	--dtc-radius-sm: 8px;
	--dtc-radius-lg: 18px;

	/* Motion */
	--dtc-ease: cubic-bezier(.4, 0, .2, 1);
	--dtc-motion-fast: 120ms;
	--dtc-motion-mid:  220ms;
	--dtc-motion-slow: 380ms;
}

@keyframes dtc-fade-up {
	from { opacity: 0; transform: translateY(4px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ====================================================================
   Cart / Checkout box
   ==================================================================== */

.dtc-redeem-row > th {
	background: transparent !important;
	font-weight: 400 !important;
	border-top: 1px solid var(--dtc-border) !important;
	padding: 14px 0 !important;
}

.dtc-redeem-box {
	position: relative;
	background: var(--dtc-bg);
	border: 1px solid var(--dtc-border);
	border-left: 3px solid var(--dtc-green);
	border-radius: var(--dtc-radius);
	padding: 16px 18px;
	color: var(--dtc-text);
	font-size: 0.95em;
	line-height: 1.5;
	box-shadow: var(--dtc-shadow-sm);
	animation: dtc-fade-up .28s var(--dtc-ease) both;
	box-sizing: border-box;
}

.dtc-redeem-box * { box-sizing: border-box; }

.dtc-redeem-box__head {
	margin-bottom: 10px;
}

.dtc-redeem-box__title {
	font-size: 1em;
	font-weight: 600;
	color: var(--dtc-green-deep);
	margin: 0 0 2px;
	letter-spacing: 0.01em;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Small accent dot, CSS-only — can't break */
.dtc-redeem-box__title::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--dtc-gold);
	flex-shrink: 0;
}

.dtc-redeem-box__sub {
	font-size: 0.86em;
	color: var(--dtc-muted);
	margin: 0;
}

.dtc-redeem-box .dtc-balance,
.dtc-redeem-box .dtc-info {
	margin: 8px 0 12px;
}

.dtc-redeem-box .dtc-balance strong {
	color: var(--dtc-green-deep);
}

/* Applied chip */
.dtc-applied {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	background: var(--dtc-green-soft);
	border: 1px solid #d8e4dd;
	border-radius: var(--dtc-radius-sm);
	padding: 10px 12px;
	font-size: 0.92em;
}

.dtc-applied__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	min-width: 20px;
	border-radius: 50%;
	background: var(--dtc-success);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	flex-shrink: 0;
	line-height: 1;
}

.dtc-applied__text {
	flex: 1;
	min-width: 140px;
}

/* Form */
.dtc-redeem-box .dtc-form {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
}

.dtc-input-group {
	flex: 1 1 160px;
	display: flex;
	align-items: stretch;
	background: #fff;
	border: 1px solid var(--dtc-border);
	border-radius: var(--dtc-radius-sm);
	overflow: hidden;
	min-width: 0;
	transition: border-color .2s var(--dtc-ease), box-shadow .2s var(--dtc-ease);
}

.dtc-input-group:focus-within {
	border-color: var(--dtc-green);
	box-shadow: 0 0 0 3px rgba(47, 107, 79, 0.14);
}

.dtc-input-group input {
	border: 0;
	flex: 1;
	min-width: 0;
	padding: 10px 12px;
	background: transparent;
	font-size: 1em;
	color: var(--dtc-text);
	outline: none;
	-moz-appearance: textfield;
}

.dtc-input-group input::-webkit-outer-spin-button,
.dtc-input-group input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.dtc-max-btn {
	border: 0;
	border-left: 1px solid var(--dtc-border);
	background: var(--dtc-gold-soft);
	color: var(--dtc-gold);
	padding: 0 14px;
	font-size: 0.78em;
	font-weight: 700;
	letter-spacing: 0.04em;
	cursor: pointer;
	transition: background .2s var(--dtc-ease);
	flex-shrink: 0;
}

.dtc-max-btn:hover { background: #f7ead0; }

.dtc-redeem-box .dtc-apply-btn,
.dtc-redeem-box .dtc-remove-btn {
	border: 0;
	padding: 10px 16px;
	border-radius: var(--dtc-radius-sm);
	cursor: pointer;
	font-size: 0.92em;
	font-weight: 600;
	white-space: nowrap;
	transition: background .2s var(--dtc-ease), transform .15s var(--dtc-ease);
}

.dtc-redeem-box .dtc-apply-btn {
	color: #fff;
	background: var(--dtc-green);
}

.dtc-redeem-box .dtc-apply-btn:hover:not(:disabled) {
	background: var(--dtc-green-deep);
	transform: translateY(-1px);
}

.dtc-redeem-box .dtc-apply-btn:disabled {
	opacity: 0.7;
	cursor: progress;
}

.dtc-redeem-box .dtc-remove-btn {
	background: transparent;
	color: var(--dtc-green-deep);
	border: 1px solid var(--dtc-border);
	padding: 8px 12px;
}

.dtc-redeem-box .dtc-remove-btn:hover {
	background: var(--dtc-green-soft);
	border-color: var(--dtc-green);
}

.dtc-redeem-box .dtc-hint,
.dtc-redeem-box .dtc-disclaimer {
	flex-basis: 100%;
	font-size: 0.8em;
	color: var(--dtc-muted);
	margin: 6px 0 0;
}

.dtc-redeem-box .dtc-disclaimer {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px dashed var(--dtc-border);
	font-size: 0.75em;
}

/* Inline message */
.dtc-redeem-box .dtc-message {
	margin-top: 12px;
	padding: 10px 12px;
	border-radius: var(--dtc-radius-sm);
	font-size: 0.86em;
	border: 1px solid transparent;
	animation: dtc-fade-up .22s var(--dtc-ease) both;
}

.dtc-redeem-box .dtc-message.dtc-success {
	background: #e8f7ef;
	color: #0f5a32;
	border-color: #c5e8d3;
}

.dtc-redeem-box .dtc-message.dtc-error {
	background: #fdecea;
	color: #7a1d18;
	border-color: #f4c8c4;
}

/* ====================================================================
   Guest cart marketing card
   ==================================================================== */

.dtc-guest-marketing > th {
	background: transparent !important;
	border-top: 1px solid var(--dtc-border) !important;
	padding: 12px 0 !important;
}

.dtc-guest-box {
	background: var(--dtc-gold-soft);
	border: 1px solid #f1e0bf;
	border-left: 3px solid var(--dtc-gold);
	border-radius: var(--dtc-radius);
	padding: 14px 16px;
	font-size: 0.9em;
	color: #5b4426;
	line-height: 1.5;
	box-shadow: var(--dtc-shadow-sm);
	animation: dtc-fade-up .28s var(--dtc-ease) both;
}

.dtc-guest-box strong { color: #4a3517; }

.dtc-guest-box__estimate {
	margin-top: 6px;
	font-size: 0.95em;
	color: #8a6a1e;
}

/* ====================================================================
   My Account: Tee Coins
   ==================================================================== */

.dtc-account .dtc-h2 {
	margin: 0 0 16px;
	font-size: 1.4em;
	color: var(--dtc-green-deep);
}

.dtc-card {
	background: var(--dtc-bg);
	border: 1px solid var(--dtc-border);
	border-radius: var(--dtc-radius);
	padding: 18px 20px;
	margin-bottom: 20px;
	box-shadow: var(--dtc-shadow-sm);
}

/* Hero summary */
.dtc-card--summary {
	background: var(--dtc-green-soft);
	border-color: #d8e4dd;
	border-left: 3px solid var(--dtc-green);
}

.dtc-summary {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-bottom: 14px;
}

.dtc-summary__item {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.dtc-summary .dtc-label {
	color: var(--dtc-muted);
	font-size: 0.78em;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.dtc-summary .dtc-value {
	font-weight: 700;
	font-size: 1.6em;
	line-height: 1.1;
	color: var(--dtc-green-deep);
	display: flex;
	align-items: baseline;
	gap: 6px;
	flex-wrap: wrap;
}

.dtc-summary .dtc-value small {
	font-size: 0.55em;
	font-weight: 500;
	color: var(--dtc-muted);
	text-transform: none;
	letter-spacing: 0;
}

.dtc-explainer p {
	margin: 4px 0;
	font-size: 0.9em;
	color: var(--dtc-text);
}

.dtc-explainer .dtc-disclaimer {
	color: var(--dtc-muted);
	font-size: 0.82em;
	margin-top: 8px;
}

/* Ledger table */
.dtc-account h3 {
	margin: 22px 0 10px;
	font-size: 1.05em;
	color: var(--dtc-text);
}

.dtc-table-wrap {
	overflow-x: auto;
	background: var(--dtc-bg);
	border: 1px solid var(--dtc-border);
	border-radius: var(--dtc-radius);
	box-shadow: var(--dtc-shadow-sm);
}

.dtc-ledger-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92em;
}

.dtc-ledger-table th,
.dtc-ledger-table td {
	padding: 11px 14px;
	text-align: left;
	border-bottom: 1px solid var(--dtc-border);
	vertical-align: middle;
}

.dtc-ledger-table tr:last-child td { border-bottom: 0; }

.dtc-ledger-table th {
	background: var(--dtc-bg-subtle);
	font-weight: 600;
	color: var(--dtc-muted);
	font-size: 0.75em;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.dtc-ledger-table tbody tr {
	transition: background .15s var(--dtc-ease);
}

.dtc-ledger-table tbody tr:hover {
	background: var(--dtc-green-soft);
}

.dtc-pill {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 0.75em;
	font-weight: 600;
	background: var(--dtc-bg-subtle);
	color: var(--dtc-muted);
	border: 1px solid var(--dtc-border);
	white-space: nowrap;
}

.dtc-pill--earn      { background: #e8f7ef; color: #0f5a32; border-color: #c5e8d3; }
.dtc-pill--redeem    { background: #fdf6e3; color: #8a6a1e; border-color: #f1e0bf; }
.dtc-pill--reverse,
.dtc-pill--refund    { background: #fdecea; color: #7a1d18; border-color: #f4c8c4; }
.dtc-pill--manual    { background: #eef0ff; color: #34418e; border-color: #d3d8ff; }
.dtc-pill--bonus     { background: #fdf6e3; color: #8a6a1e; border-color: #f1e0bf; }

.dtc-ledger-table .dtc-pos { color: var(--dtc-success); font-weight: 700; }
.dtc-ledger-table .dtc-neg { color: var(--dtc-error);   font-weight: 700; }

.dtc-ledger-table .dtc-empty {
	padding: 28px 12px;
	text-align: center;
	color: var(--dtc-muted);
}

/* Pagination */
.dtc-pagination {
	margin-top: 14px;
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
}

.dtc-pagination .page-numbers {
	padding: 6px 11px;
	border: 1px solid var(--dtc-border);
	border-radius: var(--dtc-radius-sm);
	color: var(--dtc-text);
	text-decoration: none;
	font-size: 0.88em;
	transition: background .15s var(--dtc-ease), color .15s var(--dtc-ease);
}

.dtc-pagination .page-numbers:hover {
	background: var(--dtc-green-soft);
	color: var(--dtc-green-deep);
}

.dtc-pagination .page-numbers.current {
	background: var(--dtc-green-deep);
	color: #fff;
	border-color: var(--dtc-green-deep);
}

/* ====================================================================
   Floating toast
   ==================================================================== */
.dtc-toast-host {
	position: fixed;
	z-index: 9999;
	bottom: 20px;
	right: 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	pointer-events: none;
	max-width: 360px;
}

.dtc-toast {
	pointer-events: auto;
	background: #fff;
	color: var(--dtc-text);
	padding: 11px 14px;
	border-radius: var(--dtc-radius-sm);
	box-shadow: var(--dtc-shadow-md);
	font-size: 0.88em;
	border: 1px solid var(--dtc-border);
	animation: dtc-fade-up .22s var(--dtc-ease) both;
}

.dtc-toast--success { border-left: 3px solid var(--dtc-success); }
.dtc-toast--error   { border-left: 3px solid var(--dtc-error); }

.dtc-toast.dtc-toast--leaving {
	animation: dtc-fade-out .22s var(--dtc-ease) both;
}

@keyframes dtc-fade-out {
	from { opacity: 1; transform: translateY(0); }
	to   { opacity: 0; transform: translateY(4px); }
}

/* ====================================================================
   Responsive
   ==================================================================== */
@media (max-width: 600px) {
	.dtc-redeem-box .dtc-form {
		flex-direction: column;
	}
	.dtc-input-group {
		flex: 1 1 auto;
	}
	.dtc-redeem-box .dtc-apply-btn {
		width: 100%;
		text-align: center;
	}
	.dtc-summary { grid-template-columns: 1fr; gap: 12px; }
	.dtc-summary .dtc-value { font-size: 1.4em; }
	.dtc-toast-host { left: 12px; right: 12px; bottom: 12px; max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
	.dtc-redeem-box,
	.dtc-toast,
	.dtc-redeem-box .dtc-message { animation: none !important; transition: none !important; }
}

/* ====================================================================
   v1.1 — My Account redesign (Hero / Banners / Stats / Buckets / etc.)
   Designed mobile-first, fits inside Woo's account-content column.
   ==================================================================== */

.dtc-account { color: var(--dtc-text); }

.dtc-card {
	background: var(--dtc-bg);
	border: 1px solid var(--dtc-border);
	border-radius: var(--dtc-radius);
	box-shadow: var(--dtc-shadow-sm);
	padding: 18px 20px;
	margin-bottom: 18px;
}

/* ---- Hero ---- */
.dtc-hero {
	position: relative;
	overflow: hidden;
	border-radius: 16px;
	color: #fff;
	margin-bottom: 18px;
	padding: 28px 24px;
	background: linear-gradient(135deg, #214f3a 0%, #2f6b4f 60%, #3b8160 100%);
	box-shadow: 0 18px 40px -22px rgba(15,50,35,0.5), 0 2px 6px rgba(15,50,35,0.08);
}

.dtc-hero__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient( 480px 220px at 110% -10%, rgba(184,146,62,0.22), transparent 60%),
		radial-gradient( 360px 240px at -10% 110%, rgba(255,255,255,0.10), transparent 70%);
}

.dtc-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.dtc-hero__eyebrow {
	font-size: 0.78em;
	letter-spacing: 0.14em;
	font-weight: 600;
	text-transform: uppercase;
	margin: 0;
	color: #ffffff !important;
}

.dtc-hero__sub {
	margin: 4px 0 0;
	color: rgba(255,255,255,0.85);
	font-size: 0.95em;
}

.dtc-hero__balance {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.dtc-hero__coins {
	display: flex;
	align-items: baseline;
	gap: 10px;
	font-feature-settings: "tnum";
}

.dtc-hero__num {
	font-size: clamp(2.4em, 6vw, 3.6em);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0,0,0,0.06);
}

.dtc-hero__unit {
	font-size: 1.05em;
	font-weight: 600;
	color: rgba(255,255,255,0.85);
}

.dtc-hero__value {
	font-size: 1em;
	color: rgba(255,255,255,0.95);
}

.dtc-hero__value strong {
	color: #fbe9bf;
	font-weight: 700;
}

.dtc-hero__cta {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 4px;
}

/* Buttons */
.dtc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 10px 18px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.95em;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none !important;
	transition: transform .15s var(--dtc-ease), box-shadow .15s var(--dtc-ease), background .15s var(--dtc-ease);
}

.dtc-btn--primary {
	background: var(--dtc-gold);
	color: #221604;
	box-shadow: 0 4px 14px -6px rgba(184,146,62,0.7);
}
.dtc-btn--primary:hover { transform: translateY(-1px); background: #cba350; }

.dtc-btn--ghost {
	background: transparent;
	color: #fff;
	border-color: rgba(255,255,255,0.55);
}
.dtc-btn--ghost:hover { background: rgba(255,255,255,0.12); }

/* ---- Banners (campaign + warning) ---- */
.dtc-banner {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	border-radius: 12px;
	padding: 14px 16px;
	margin-bottom: 14px;
	border: 1px solid;
	background: #fff;
	animation: dtc-fade-up .25s var(--dtc-ease) both;
}

.dtc-banner__icon {
	flex: 0 0 auto;
	width: 30px; height: 30px;
	border-radius: 50%;
	display: grid; place-items: center;
	font-weight: 800;
	font-size: 0.95em;
}

.dtc-banner__body { font-size: 0.95em; line-height: 1.5; }
.dtc-banner__sub  { color: var(--dtc-muted); margin-top: 2px; font-size: 0.92em; }
.dtc-banner__cta  {
	display: inline-block;
	margin-left: 6px;
	font-weight: 600;
	white-space: nowrap;
}

.dtc-banner--campaign {
	background: linear-gradient(180deg, #fff8e6, #fdf3d2);
	border-color: #ecd58c;
	color: #6e530f;
}
.dtc-banner--campaign .dtc-banner__icon { background: #f1c452; color: #5a3f0a; }
.dtc-banner--campaign .dtc-banner__cta  { color: #6e530f; }

.dtc-banner--warning {
	background: linear-gradient(180deg, #fff4f1, #fee9e2);
	border-color: #f4c0a9;
	color: #8a3a17;
}
.dtc-banner--warning .dtc-banner__icon { background: #e07644; color: #fff; }
.dtc-banner--warning .dtc-banner__cta  { color: #8a3a17; }

/* ---- Stat tiles ---- */
.dtc-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 12px;
	margin-bottom: 18px;
}

.dtc-stat {
	background: #fff;
	border: 1px solid var(--dtc-border);
	border-radius: var(--dtc-radius);
	padding: 14px 16px;
	box-shadow: var(--dtc-shadow-sm);
	display: flex; flex-direction: column; gap: 4px;
}

.dtc-stat__label {
	font-size: 0.72em;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--dtc-muted);
	font-weight: 600;
}
.dtc-stat__value {
	font-size: 1.5em;
	font-weight: 700;
	color: var(--dtc-text);
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.dtc-stat__note {
	font-size: 0.82em;
	color: var(--dtc-muted);
}

.dtc-stat--accent {
	border-left: 3px solid var(--dtc-gold);
	background: linear-gradient(180deg, #fffaee, #fff);
}
.dtc-stat--expiry {
	border-left: 3px solid #e07644;
	background: linear-gradient(180deg, #fff8f4, #fff);
}

.dtc-boost-chip {
	background: var(--dtc-gold);
	color: #221604;
	font-size: 0.55em;
	letter-spacing: 0.04em;
	font-weight: 800;
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: 999px;
}

/* ---- Explainer ---- */
.dtc-explainer__h {
	margin: 0 0 12px;
	font-size: 1em;
	font-weight: 600;
	color: var(--dtc-green-deep);
}

.dtc-steps {
	list-style: none;
	margin: 0; padding: 0;
	display: grid;
	gap: 12px;
	grid-template-columns: 1fr;
}
@media (min-width: 720px) {
	.dtc-steps { grid-template-columns: repeat(3, 1fr); }
}

.dtc-steps li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.dtc-steps__num {
	flex: 0 0 auto;
	width: 26px; height: 26px;
	border-radius: 50%;
	background: var(--dtc-green-soft);
	color: var(--dtc-green-deep);
	font-weight: 700;
	font-size: 0.85em;
	display: grid; place-items: center;
}

.dtc-steps p {
	margin: 2px 0 0;
	font-size: 0.88em;
	color: var(--dtc-muted);
	line-height: 1.45;
}

/* ---- Expiry buckets table ---- */
.dtc-buckets__h {
	margin: 0 0 10px;
	font-size: 1em;
	font-weight: 600;
	color: var(--dtc-green-deep);
}
.dtc-buckets__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92em;
}
.dtc-buckets__table th,
.dtc-buckets__table td {
	padding: 8px 10px;
	border-bottom: 1px solid var(--dtc-border);
	text-align: left;
}
.dtc-buckets__table tr:last-child td { border-bottom: 0; }
.dtc-buckets__table th {
	background: var(--dtc-bg-subtle);
	color: var(--dtc-muted);
	font-size: 0.75em;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

/* ---- History head ---- */
.dtc-history__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}
.dtc-history__head h3 { margin: 0; font-size: 1em; color: var(--dtc-green-deep); }
.dtc-history__count {
	font-size: 0.78em;
	color: var(--dtc-muted);
	background: var(--dtc-bg-subtle);
	padding: 3px 9px;
	border-radius: 999px;
	border: 1px solid var(--dtc-border);
}

/* additional pill colors for new types */
.dtc-pill--retro  { background: #eef7ff; color: #1f3f78; border-color: #c5d9f5; }
.dtc-pill--expiry { background: #f3f0ed; color: #5b4d40; border-color: #ddd4cb; }

.dtc-cell-note {
	color: var(--dtc-muted);
	font-size: 0.88em;
	max-width: 240px;
}

.dtc-muted { color: var(--dtc-muted); }

.dtc-foot-disclaimer {
	font-size: 0.82em;
	color: var(--dtc-muted);
	margin-top: 14px;
	text-align: center;
}

.dtc-empty__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 22px 8px;
}
.dtc-empty__inner strong { font-size: 1.05em; color: var(--dtc-text); }
.dtc-empty__inner span { color: var(--dtc-muted); }

/* ---- Responsive table → cards on mobile ---- */
@media (max-width: 720px) {
	.dtc-ledger-table thead { display: none; }
	.dtc-ledger-table, .dtc-ledger-table tbody, .dtc-ledger-table tr, .dtc-ledger-table td {
		display: block;
		width: 100%;
	}
	.dtc-ledger-table tr {
		border: 1px solid var(--dtc-border);
		border-radius: var(--dtc-radius-sm);
		padding: 4px 8px;
		margin-bottom: 10px;
		background: #fff;
	}
	.dtc-ledger-table td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 14px;
		padding: 8px 4px;
		border-bottom: 1px dashed var(--dtc-border);
	}
	.dtc-ledger-table tr td:last-child { border-bottom: 0; }
	.dtc-ledger-table td::before {
		content: attr(data-label);
		font-size: 0.72em;
		font-weight: 600;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: var(--dtc-muted);
	}
	.dtc-cell-note { text-align: right; }
}

/* ============================================================================
 *  2.0.0 — Slider, monthly chart, promo banner, gift markers
 * ============================================================================ */

/* ----- Slider in the cart/checkout redeem box ----- */
.dtc-form--slider .dtc-slider-wrap {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 12px;
}
.dtc-slider {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 6px;
	background: var(--dtc-green-soft);
	border-radius: 999px;
	outline: none;
	margin: 4px 0;
}
.dtc-slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #fff4cd 0%, #f5d76e 40%, var(--dtc-gold) 100%);
	border: 2px solid #fff;
	box-shadow: 0 2px 8px rgba(184, 146, 62, 0.55);
	cursor: pointer;
	transition: transform var(--dtc-motion-fast) var(--dtc-ease);
}
.dtc-slider::-moz-range-thumb {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #fff4cd 0%, #f5d76e 40%, var(--dtc-gold) 100%);
	border: 2px solid #fff;
	box-shadow: 0 2px 8px rgba(184, 146, 62, 0.55);
	cursor: pointer;
}
.dtc-slider:active::-webkit-slider-thumb { transform: scale(1.1); }

/* Slider live preview */
.dtc-preview {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 12px 14px;
	background: var(--dtc-green-soft);
	border-radius: var(--dtc-radius-sm);
	margin: 10px 0;
}
.dtc-preview__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
}
.dtc-preview__label { color: var(--dtc-muted); }
.dtc-preview__val   { color: var(--dtc-green-deep); font-variant-numeric: tabular-nums; }

/* Progress bar for max-redeem-percent cap */
.dtc-progress {
	position: relative;
	height: 6px;
	background: var(--dtc-border);
	border-radius: 999px;
	overflow: hidden;
	margin: 6px 0 12px;
}
.dtc-progress__bar {
	height: 100%;
	background: linear-gradient(90deg, var(--dtc-green), var(--dtc-gold));
	border-radius: 999px;
	transition: width var(--dtc-motion-mid) var(--dtc-ease);
}
.dtc-progress__label {
	position: absolute;
	top: 12px; right: 0;
	font-size: 11px;
	color: var(--dtc-muted);
}

/* ----- Customer 6-month chart ----- */
.dtc-chart-card { padding: 0; }
.dtc-chart-card__head {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: baseline;
	padding: 16px 20px 10px;
	border-bottom: 1px solid var(--dtc-border);
}
.dtc-chart-card__h {
	margin: 0;
	font-size: 1em;
	font-weight: 700;
	color: var(--dtc-green-deep);
}
.dtc-chart-card__body { padding: 14px 20px 18px; overflow-x: auto; }
.dtc-chart-legend {
	display: flex;
	gap: 14px;
	margin-left: auto;
	flex-wrap: wrap;
	font-size: 12px;
	color: var(--dtc-muted);
}
.dtc-chart-legend__item { display: inline-flex; align-items: center; gap: 6px; }
.dtc-chart-legend__dot  { width: 10px; height: 10px; border-radius: 50%; }
.dtc-monthly-chart {
	width: 100%;
	max-width: 100%;
	height: auto;
}

/* ----- Promotion banner (cart) ----- */
.dtc-promo-banner {
	background: linear-gradient(135deg, #fdf6e3 0%, #f5e2ae 100%);
	border: 1px solid #ecd58c;
	border-radius: var(--dtc-radius);
	padding: 14px 18px;
	margin: 0 0 18px;
	box-shadow: var(--dtc-shadow-sm);
}
.dtc-promo-banner__head {
	font-size: 14px;
	color: var(--dtc-gold-deep);
}
.dtc-promo-banner__sub { color: #6e530f; font-weight: 500; }
.dtc-promo-banner__bar {
	position: relative;
	height: 10px;
	background: rgba(110, 83, 15, 0.12);
	border-radius: 999px;
	margin: 10px 0 8px;
	overflow: visible;
}
.dtc-promo-banner__fill {
	position: absolute;
	top: 0; left: 0; height: 100%;
	background: linear-gradient(90deg, var(--dtc-gold-light), var(--dtc-gold));
	border-radius: 999px;
	transition: width var(--dtc-motion-mid) var(--dtc-ease);
}
.dtc-promo-banner__pin {
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--dtc-gold);
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
	box-sizing: border-box;
}
.dtc-promo-banner__pin.is-reached {
	background: var(--dtc-green);
	border-color: var(--dtc-green-deep);
}
.dtc-promo-banner__msg {
	color: var(--dtc-text);
	font-size: 13px;
	margin-top: 6px;
}

/* ----- Gift markers in cart items ----- */
.dtc-promo-gift-badge {
	display: inline-block;
	margin-left: 8px;
	padding: 2px 10px;
	background: var(--dtc-green-soft);
	color: var(--dtc-green-deep);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.03em;
	vertical-align: middle;
}
.dtc-promo-gift-price {
	color: var(--dtc-green-deep);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.92em;
}

/* Promo banner: "Geschenk wieder hinzufügen" link */
.dtc-promo-banner__restore {
	display: inline-block;
	margin-left: auto;
	padding: 4px 10px;
	background: var(--dtc-green);
	color: #fff !important;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background var(--dtc-motion-fast);
}
.dtc-promo-banner__restore:hover { background: var(--dtc-green-deep); }
.dtc-promo-banner__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

/* ============================================================================
 *  2.1.0 — Product reward badge ([dtc_product_reward])
 *
 *  Three styles:
 *    chip    — compact pill, inline-flex
 *    inline  — text-flow, no box; icon hugs the number
 *    block   — full-width card with padding (good below "Add to cart")
 * ============================================================================ */

.dtc-prb {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: inherit;
	font-size: 0.95em;
	line-height: 1.3;
	color: var(--dtc-text);
}

.dtc-prb__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.dtc-prb__icon--emoji {
	font-size: 1.05em;
	line-height: 1;
}

.dtc-prb__label strong {
	color: var(--dtc-green-deep);
	font-weight: 700;
}

.dtc-prb__boost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 4px;
	padding: 2px 8px;
	background: linear-gradient(135deg, var(--dtc-gold-light) 0%, var(--dtc-gold) 100%);
	color: var(--dtc-ink);
	font-size: 0.78em;
	font-weight: 800;
	letter-spacing: 0.02em;
	border-radius: 999px;
	box-shadow: 0 2px 6px -2px rgba(184, 146, 62, 0.5);
}

/* --- Variant: chip --- */
.dtc-prb--chip {
	background: var(--dtc-green-soft);
	border: 1px solid #d8e4dd;
	padding: 6px 12px 6px 8px;
	border-radius: 999px;
	box-shadow: var(--dtc-shadow-sm);
}

/* --- Variant: inline --- */
.dtc-prb--inline {
	display: inline;
	background: transparent;
	padding: 0;
	border: 0;
}
.dtc-prb--inline .dtc-prb__icon {
	display: inline-block;
	vertical-align: -2px;
	margin-right: 2px;
}

/* --- Variant: block --- */
.dtc-prb--block {
	display: flex;
	gap: 10px;
	background: linear-gradient(135deg, var(--dtc-bg) 0%, var(--dtc-green-soft) 100%);
	border: 1px solid var(--dtc-border);
	border-left: 3px solid var(--dtc-green);
	border-radius: var(--dtc-radius);
	padding: 12px 16px;
	box-shadow: var(--dtc-shadow-sm);
	margin: 12px 0;
	font-size: 1em;
}
.dtc-prb--block .dtc-prb__icon {
	width: 24px;
	height: 24px;
}
.dtc-prb--block .dtc-prb__icon svg {
	width: 100%;
	height: 100%;
}
.dtc-prb--block .dtc-prb__label {
	flex: 1;
	color: var(--dtc-text);
}
.dtc-prb--block .dtc-prb__label strong {
	font-size: 1.15em;
}

/* ====================================================================
   Guest coin invite — thank-you page (2.3.1)
   ==================================================================== */

.dtc-guest-invite {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	background: var(--dtc-gold-soft);
	border: 1px solid var(--dtc-gold-light);
	border-left: 3px solid var(--dtc-gold);
	border-radius: var(--dtc-radius);
	padding: 20px 22px;
	margin: 24px 0;
	box-shadow: var(--dtc-shadow-sm);
	animation: dtc-fade-up .3s var(--dtc-ease) both;
	box-sizing: border-box;
}

.dtc-guest-invite__icon {
	font-size: 2rem;
	line-height: 1;
	flex-shrink: 0;
	margin-top: 2px;
}

.dtc-guest-invite__body {
	flex: 1;
	min-width: 0;
}

.dtc-guest-invite__headline {
	margin: 0 0 8px;
	font-size: 1.05em;
	color: var(--dtc-text);
	line-height: 1.4;
}

.dtc-guest-invite__headline strong {
	color: var(--dtc-gold-deep);
}

.dtc-guest-invite__sub {
	margin: 0 0 16px;
	font-size: 0.92em;
	color: var(--dtc-muted);
	line-height: 1.6;
}

.dtc-guest-invite__sub strong {
	color: var(--dtc-text);
	font-weight: 600;
}

.dtc-guest-invite__btn {
	display: inline-block;
	background: var(--dtc-green);
	color: #ffffff;
	font-size: 0.9em;
	font-weight: 600;
	text-decoration: none;
	padding: 10px 20px;
	border-radius: var(--dtc-radius-sm);
	transition: background var(--dtc-motion-fast) var(--dtc-ease);
}

.dtc-guest-invite__btn:hover,
.dtc-guest-invite__btn:focus {
	background: var(--dtc-green-deep);
	color: #ffffff;
	text-decoration: none;
}

@media (max-width: 480px) {
	.dtc-guest-invite {
		flex-direction: column;
		gap: 10px;
	}
	.dtc-guest-invite__icon {
		font-size: 1.6rem;
	}
}

/* ====================================================================
   Guest coin note — thank-you page, small inline style (2.4.0)
   ==================================================================== */

.dtc-guest-note {
	display: flex;
	align-items: baseline;
	gap: 8px;
	background: var(--dtc-gold-soft);
	border-left: 3px solid var(--dtc-gold);
	border-radius: 0 var(--dtc-radius-sm) var(--dtc-radius-sm) 0;
	padding: 10px 14px;
	margin: 16px 0;
	font-size: 0.9em;
	color: var(--dtc-muted);
	line-height: 1.5;
	box-sizing: border-box;
}

.dtc-guest-note__icon {
	font-size: 1.1em;
	flex-shrink: 0;
}

.dtc-guest-note__text strong {
	color: var(--dtc-gold-deep);
}

.dtc-guest-note__link {
	margin-left: 6px;
	color: var(--dtc-green);
	font-weight: 600;
	text-decoration: underline;
	white-space: nowrap;
}

.dtc-guest-note__link:hover {
	color: var(--dtc-green-deep);
}

/* Checkout-Gästehinweis (Tee Coins) */
.dtc-guest-note--checkout{margin:0 0 22px}

/* Hero-Titel IMMER weiß — schlägt fremde `.woocommerce-account h2`-Regel (!important + höhere Spezifität durch #id). */
h2#dtc-hero-title.dtc-hero__eyebrow,
.woocommerce-account h2#dtc-hero-title,
.woocommerce-account .woocommerce > h2#dtc-hero-title { color:#ffffff !important; }
