/**
 * Canarias Decide — frontend (TEMA CLARO)
 * Tokens basados en docs/brand-tokens.md · Namespace .cdec-
 * Mobile-first 320px+. Inspirado en canarias-gasolineras.
 */

.cdec {
	/* Brand tokens */
	--c-yellow: #F5C518;
	--c-yellow-soft: #FEF6CD;
	--c-amber: #E89330;
	--c-amber-soft: #FEF3E7;
	--c-ink: #0D1A2E;
	--c-ink-2: #15233D;
	--c-cream: #F9F5EC;
	--c-cream-2: #FBF8F2;
	--c-white: #FFFFFF;
	--c-gray-900: #1F2937;
	--c-gray-700: #374151;
	--c-gray-500: #6B7280;
	--c-gray-400: #9CA3AF;
	--c-gray-300: #D1D5DB;
	--c-gray-200: #E5E7EB;
	--c-gray-100: #F3F4F6;
	--c-gray-50: #F9FAFB;
	--c-success: #10B981;
	--c-success-bg: #ECFDF5;
	--c-error: #EF4444;
	--c-error-bg: #FEF2F2;
	--c-live: #F43F5E;

	--t-xs: 0.75rem; --t-sm: 0.875rem; --t-base: 1rem; --t-lg: 1.125rem;
	--t-xl: 1.25rem; --t-2xl: 1.5rem; --t-3xl: 1.875rem; --t-4xl: 2.25rem; --t-5xl: 3rem; --t-6xl: 3.75rem;
	--s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 20px; --s-6: 24px;
	--s-8: 32px; --s-10: 40px; --s-12: 48px; --s-16: 64px;
	--r-sm: 6px; --r-md: 12px; --r-lg: 20px; --r-xl: 28px; --r-full: 9999px;
	--sh-xs: 0 1px 2px rgba(13, 26, 46, 0.04);
	--sh-sm: 0 1px 2px rgba(13, 26, 46, 0.06), 0 1px 3px rgba(13, 26, 46, 0.04);
	--sh-md: 0 4px 16px rgba(13, 26, 46, 0.08);
	--sh-lg: 0 12px 32px rgba(13, 26, 46, 0.12);
	--sh-yellow: 0 6px 20px rgba(245, 197, 24, 0.35);
	--ease: cubic-bezier(.2, .7, .2, 1);

	font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: var(--t-base);
	line-height: 1.55;
	color: var(--c-ink);
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
	display: block;
}
.cdec *, .cdec *::before, .cdec *::after { box-sizing: border-box; }
.cdec .cdec-num { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }
.cdec h1, .cdec h2, .cdec h3, .cdec h4 {
	font-family: "Inter", sans-serif !important;
	color: var(--c-ink) !important;
	margin: 0;
	letter-spacing: -0.02em;
	line-height: 1.15;
}
.cdec p { margin: 0 0 var(--s-3) 0; color: var(--c-ink); }
.cdec a { color: var(--c-ink); }

/* Eyebrow + pills */
.cdec-eyebrow {
	display: inline-flex; align-items: center; gap: var(--s-2);
	font-size: 13px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--c-amber); line-height: 1.2;
}
.cdec-eyebrow-dot { width: 6px; height: 6px; background: var(--c-yellow); border-radius: var(--r-full); }
.cdec-pill {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 4px 10px; border-radius: var(--r-full);
	font-size: var(--t-xs); font-weight: 700; letter-spacing: 0.04em;
	background: var(--c-gray-100); color: var(--c-gray-700);
	border: 1px solid var(--c-gray-200);
}
.cdec-pill--live { background: rgba(244,63,94,.08); color: var(--c-live); border-color: rgba(244,63,94,.2); }
.cdec-pill--closed { background: var(--c-gray-100); color: var(--c-gray-700); }
.cdec-pill--time { background: var(--c-yellow-soft); color: var(--c-ink); border-color: rgba(245,197,24,.4); }
.cdec-pill--draft { background: var(--c-cream); color: var(--c-ink); }
.cdec-dot { width: 7px; height: 7px; background: currentColor; border-radius: var(--r-full); animation: cdec-pulse 1.6s var(--ease) infinite; }

@keyframes cdec-pulse {
	0%,100% { opacity: 1; transform: scale(1); }
	50% { opacity: .4; transform: scale(.85); }
}

.cdec-empty {
	padding: var(--s-6); background: var(--c-gray-50); border-radius: var(--r-md);
	color: var(--c-gray-500); text-align: center; border: 1px dashed var(--c-gray-300);
}

/* Botones */
.cdec-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2);
	padding: 10px 18px; border-radius: var(--r-full);
	font-weight: 700; font-size: var(--t-sm); letter-spacing: 0.01em;
	border: 1px solid transparent; cursor: pointer; transition: all .2s var(--ease);
	text-decoration: none;
}
.cdec-btn--primary {
	background: var(--c-yellow); color: var(--c-ink); box-shadow: var(--sh-yellow);
}
.cdec-btn--primary:hover { transform: translateY(-1px); }
.cdec-btn--ghost {
	background: var(--c-white); color: var(--c-ink); border-color: var(--c-gray-200);
}
.cdec-btn--ghost:hover { background: var(--c-gray-50); }
.cdec-btn--icon {
	padding: 8px 12px; font-size: var(--t-base);
	background: var(--c-white); color: var(--c-ink); border-color: var(--c-gray-200);
}
.cdec-btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }

/* ============ VOTE WRAPPER ============ */
.cdec-vote { padding: var(--s-6) 0; }
.cdec-vote__header { padding: var(--s-6) 0 var(--s-3); }
.cdec-vote__eyebrow { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; }
.cdec-vote__loc { color: var(--c-gray-500); font-size: var(--t-sm); }
.cdec-vote__title {
	font-size: clamp(28px, 4.4vw, 48px);
	font-weight: 800; letter-spacing: -0.02em; margin: var(--s-3) 0 var(--s-2);
}
.cdec-vote__excerpt { color: var(--c-gray-700); font-size: var(--t-lg); max-width: 760px; }
.cdec-vote__meta { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-3); }
.cdec-vote__sponsor {
	display: flex; align-items: center; gap: var(--s-3);
	background: var(--c-cream); border: 1px solid rgba(13,26,46,.06); border-radius: var(--r-md);
	padding: var(--s-3) var(--s-4); margin: var(--s-4) 0;
}
.cdec-vote__sponsor-label {
	font-size: var(--t-xs); text-transform: uppercase; letter-spacing: 0.18em;
	color: var(--c-gray-500); font-weight: 700;
}
.cdec-vote__sponsor img { max-height: 32px; width: auto; }
.cdec-vote__body { margin: var(--s-6) 0; }
.cdec-vote__footer { margin-top: var(--s-8); }
.cdec-vote__methodology summary {
	cursor: pointer; font-weight: 600; color: var(--c-gray-700); padding: var(--s-2) 0;
	list-style: none;
}
.cdec-vote__methodology summary::-webkit-details-marker { display: none; }
.cdec-vote__methodology summary::before { content: "+ "; color: var(--c-amber); font-weight: 700; }
.cdec-vote__methodology[open] summary::before { content: "− "; }
.cdec-vote__method-text, .cdec-vote__legal-text, .cdec-vote__source-disclaimer {
	color: var(--c-gray-700); font-size: var(--t-sm); margin: var(--s-3) 0; max-width: 760px;
}

/* ============ TICKER ============ */
.cdec-ticker {
	display: flex; align-items: center; gap: var(--s-3);
	background: var(--c-ink); color: var(--c-white);
	border-radius: var(--r-full); padding: 10px var(--s-4);
	margin: var(--s-3) 0; overflow: hidden; position: relative;
}
.cdec-ticker__pulse {
	display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0;
	font-size: var(--t-xs); font-weight: 700; letter-spacing: 0.18em;
	padding-right: var(--s-3); border-right: 1px solid rgba(255,255,255,.18);
}
.cdec-ticker__dot {
	width: 8px; height: 8px; border-radius: var(--r-full); background: var(--c-live);
	animation: cdec-pulse 1.6s var(--ease) infinite;
}
.cdec-ticker__track {
	display: flex; gap: var(--s-6); white-space: nowrap; overflow: hidden;
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	flex: 1;
}
.cdec-ticker__item { font-size: var(--t-sm); opacity: .92; flex-shrink: 0; }
.cdec-ticker__item + .cdec-ticker__item::before { content: "·"; margin-right: var(--s-3); opacity: .4; }

/* ============ RANKING / CARDS ============ */
.cdec-ranking {
	display: grid; grid-template-columns: 1fr; gap: var(--s-4);
}
@media (min-width: 640px) { .cdec-ranking { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cdec-ranking { grid-template-columns: repeat(3, 1fr); } }

.cdec-card {
	background: var(--c-white); border: 1px solid var(--c-gray-200); border-radius: var(--r-lg);
	overflow: hidden; box-shadow: var(--sh-sm); transition: all .25s var(--ease);
	display: flex; flex-direction: column;
}
.cdec-card:hover { box-shadow: var(--sh-md); transform: translateY(-2px); }
.cdec-card__media {
	aspect-ratio: 16/10; position: relative; background: var(--c-gray-100); overflow: hidden;
}
.cdec-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cdec-card__placeholder {
	width: 100%; height: 100%;
	background: linear-gradient(135deg, var(--c-cream) 0%, var(--c-yellow-soft) 100%);
}
.cdec-card__badge {
	position: absolute; top: 12px; left: 12px;
	padding: 4px 10px; border-radius: var(--r-full);
	font-size: 11px; font-weight: 700; letter-spacing: .04em;
	background: var(--c-ink); color: var(--c-white);
}
.cdec-card__badge--sponsor { background: var(--c-amber); color: var(--c-white); }
.cdec-card__body { padding: var(--s-4); display: flex; flex-direction: column; gap: var(--s-3); flex: 1; }
.cdec-card__title { font-size: var(--t-xl); font-weight: 700; }
.cdec-card__loc { color: var(--c-gray-500); font-size: var(--t-sm); margin: 0; }
.cdec-card__excerpt { color: var(--c-gray-700); font-size: var(--t-sm); margin: 0; }
.cdec-card__progress { margin-top: auto; }
.cdec-card__progress-track {
	width: 100%; height: 8px; background: var(--c-gray-100); border-radius: var(--r-full); overflow: hidden;
}
.cdec-card__progress-fill {
	height: 100%; background: linear-gradient(90deg, var(--c-yellow) 0%, var(--c-amber) 100%);
	border-radius: var(--r-full); transition: width .5s var(--ease);
}
.cdec-card__progress-meta {
	display: flex; justify-content: space-between; margin-top: 6px;
	font-size: var(--t-sm); color: var(--c-gray-700);
}
.cdec-card__pct { font-weight: 700; color: var(--c-ink); }
.cdec-card__actions {
	display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-3);
}

/* ============ DUEL ============ */
.cdec-duel { padding: var(--s-4) 0; }
.cdec-duel__row {
	display: grid; grid-template-columns: 1fr; gap: var(--s-4); align-items: stretch;
}
@media (min-width: 720px) { .cdec-duel__row { grid-template-columns: 1fr auto 1fr; } }
.cdec-duel__side {
	background: var(--c-white); border: 1px solid var(--c-gray-200); border-radius: var(--r-xl);
	padding: var(--s-5); text-align: center; box-shadow: var(--sh-sm); display: flex; flex-direction: column; gap: var(--s-2);
}
.cdec-duel__side[data-side="a"] { border-top: 4px solid var(--c-yellow); }
.cdec-duel__side[data-side="b"] { border-top: 4px solid var(--c-amber); }
.cdec-duel__media { aspect-ratio: 4/3; overflow: hidden; border-radius: var(--r-md); }
.cdec-duel__media img { width: 100%; height: 100%; object-fit: cover; }
.cdec-duel__title { font-size: var(--t-2xl); font-weight: 800; }
.cdec-duel__loc { color: var(--c-gray-500); font-size: var(--t-sm); }
.cdec-duel__pct { font-size: var(--t-4xl); font-weight: 800; color: var(--c-ink); }
.cdec-duel__votes { color: var(--c-gray-500); font-size: var(--t-sm); }
.cdec-duel__vs {
	font-size: var(--t-3xl); font-weight: 900; color: var(--c-amber);
	display: flex; align-items: center; justify-content: center;
	letter-spacing: 0.02em;
}
.cdec-duel__bar {
	height: 14px; border-radius: var(--r-full); overflow: hidden;
	display: flex; margin-top: var(--s-4); border: 1px solid var(--c-gray-200);
}
.cdec-duel__bar-a { background: var(--c-yellow); }
.cdec-duel__bar-b { background: var(--c-amber); }

/* ============ TOURNAMENT ============ */
.cdec-tournament__round { margin-top: var(--s-4); }
.cdec-tournament__matches { display: grid; gap: var(--s-4); margin: var(--s-3) 0; }
@media (min-width: 720px) { .cdec-tournament__matches { grid-template-columns: repeat(2, 1fr); } }
.cdec-match {
	background: var(--c-white); border: 1px solid var(--c-gray-200); border-radius: var(--r-lg);
	padding: var(--s-4); box-shadow: var(--sh-sm);
}
.cdec-match__title { font-size: var(--t-xs); text-transform: uppercase; letter-spacing: 0.16em; color: var(--c-gray-500); margin-bottom: var(--s-3); }
.cdec-match__row {
	display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-3); align-items: stretch;
}
.cdec-match__side {
	display: flex; flex-direction: column; align-items: center; gap: var(--s-2);
	padding: var(--s-3); background: var(--c-gray-50); border-radius: var(--r-md);
	text-align: center;
}
.cdec-match__media { width: 96px; height: 96px; overflow: hidden; border-radius: 50%; background: var(--c-gray-100); }
.cdec-match__media img { width: 100%; height: 100%; object-fit: cover; }
.cdec-match__name { font-weight: 700; }
.cdec-match__pct { font-weight: 700; font-size: var(--t-2xl); }
.cdec-match__votes { color: var(--c-gray-500); font-size: var(--t-sm); }
.cdec-tournament__bracket-details summary { cursor: pointer; font-weight: 600; color: var(--c-gray-700); margin: var(--s-4) 0 0; }
.cdec-tournament__bracket {
	display: grid; gap: var(--s-4); padding: var(--s-3) 0;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.cdec-round {
	background: var(--c-cream); border-radius: var(--r-md); padding: var(--s-3);
	border: 1px solid rgba(13,26,46,.06);
}
.cdec-round.is-active { border-color: var(--c-amber); box-shadow: var(--sh-sm); background: var(--c-amber-soft); }
.cdec-round__title { font-size: var(--t-xs); text-transform: uppercase; letter-spacing: 0.16em; color: var(--c-gray-700); }
.cdec-round__matches { list-style: none; padding: 0; margin: var(--s-2) 0 0; }
.cdec-round__match { padding: 8px 0; border-bottom: 1px dashed var(--c-gray-200); font-size: var(--t-sm); display: flex; gap: var(--s-2); flex-wrap: wrap; }
.cdec-round__sep { color: var(--c-gray-400); }
.cdec-round__winner { color: var(--c-success); font-weight: 700; }

/* ============ STATS ============ */
.cdec-stats {
	background: var(--c-white); border: 1px solid var(--c-gray-200); border-radius: var(--r-lg);
	padding: var(--s-5); margin: var(--s-6) 0; box-shadow: var(--sh-sm);
}
.cdec-stats__title { font-size: var(--t-xl); font-weight: 700; margin-bottom: var(--s-4); }
.cdec-stats__cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s-3); }
@media (min-width: 720px) { .cdec-stats__cards { grid-template-columns: repeat(4, 1fr); } }
.cdec-stat {
	background: var(--c-cream); border-radius: var(--r-md); padding: var(--s-3);
	text-align: center;
}
.cdec-stat__num { font-size: var(--t-3xl); font-weight: 800; color: var(--c-ink); line-height: 1; }
.cdec-stat__label { font-size: var(--t-xs); text-transform: uppercase; letter-spacing: 0.12em; color: var(--c-gray-500); margin-top: 6px; }
.cdec-stats__diff, .cdec-stats__islands, .cdec-stats__top-arg { margin-top: var(--s-5); }
.cdec-stats__diff-title { font-size: var(--t-xs); text-transform: uppercase; letter-spacing: 0.14em; color: var(--c-gray-500); margin-bottom: var(--s-2); }
.cdec-stats__diff-row { display: flex; flex-wrap: wrap; gap: var(--s-2); align-items: baseline; font-size: var(--t-base); }
.cdec-stats__islands-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--s-2); }
.cdec-stats__islands-list li { display: grid; grid-template-columns: 130px 1fr 60px; gap: var(--s-3); align-items: center; }
.cdec-stats__island-bar { background: var(--c-gray-100); height: 8px; border-radius: var(--r-full); overflow: hidden; }
.cdec-stats__island-bar span { display: block; height: 100%; background: var(--c-amber); border-radius: var(--r-full); transition: width .5s var(--ease); }
.cdec-stats__island-pct { color: var(--c-gray-700); font-size: var(--t-sm); text-align: right; }
.cdec-stats__top-arg blockquote {
	border-left: 4px solid var(--c-yellow); padding: var(--s-3); margin: 0;
	background: var(--c-yellow-soft); border-radius: var(--r-md);
}
.cdec-stats__top-arg p { font-style: italic; margin-bottom: var(--s-2); }
.cdec-stats__top-arg footer { font-size: var(--t-sm); color: var(--c-gray-700); }

/* ============ ARGUMENTS ============ */
.cdec-args-top { margin: var(--s-6) 0; }
.cdec-args-top__title { font-size: var(--t-xl); font-weight: 700; margin-bottom: var(--s-3); }
.cdec-args-top__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--s-3); }
.cdec-arg {
	background: var(--c-white); border: 1px solid var(--c-gray-200); border-radius: var(--r-md);
	padding: var(--s-3); box-shadow: var(--sh-xs);
}
.cdec-arg__candidate { font-size: var(--t-xs); text-transform: uppercase; letter-spacing: 0.12em; color: var(--c-amber); margin-bottom: var(--s-2); }
.cdec-arg__text { color: var(--c-ink); margin-bottom: var(--s-2); }
.cdec-arg__meta { color: var(--c-gray-500); font-size: var(--t-sm); }

/* ============ HOME ============ */
.cdec-home__hero {
	padding: var(--s-8) 0;
	background: linear-gradient(180deg, var(--c-cream) 0%, var(--c-cream-2) 100%);
	border-radius: var(--r-xl); padding: var(--s-8) var(--s-6);
	text-align: center; margin-bottom: var(--s-8);
}
.cdec-home__hero h1 { font-size: clamp(28px, 4vw, 44px); font-weight: 800; margin: var(--s-3) auto; max-width: 720px; }
.cdec-home__hero p { color: var(--c-gray-700); font-size: var(--t-lg); max-width: 560px; margin: 0 auto; }
.cdec-home__block { margin-bottom: var(--s-8); }
.cdec-home__block h2 { font-size: var(--t-2xl); font-weight: 700; margin-bottom: var(--s-4); }
.cdec-home__grid {
	display: grid; gap: var(--s-4);
	grid-template-columns: 1fr;
}
@media (min-width: 720px) { .cdec-home__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cdec-home__grid { grid-template-columns: repeat(3, 1fr); } }
.cdec-home__card {
	background: var(--c-white); border: 1px solid var(--c-gray-200); border-radius: var(--r-lg);
	overflow: hidden; box-shadow: var(--sh-sm); transition: all .2s var(--ease);
	text-decoration: none; color: inherit; display: flex; flex-direction: column;
}
.cdec-home__card:hover { transform: translateY(-2px); box-shadow: var(--sh-md); }
.cdec-home__card-media { aspect-ratio: 16/9; overflow: hidden; }
.cdec-home__card-media img { width: 100%; height: 100%; object-fit: cover; }
.cdec-home__card-body { padding: var(--s-4); display: flex; flex-direction: column; gap: var(--s-2); }
.cdec-home__card-body h3 { font-size: var(--t-lg); font-weight: 700; }
.cdec-home__card-body p { color: var(--c-gray-700); font-size: var(--t-sm); }
.cdec-home__card-meta { color: var(--c-gray-500); font-size: var(--t-xs); display: flex; gap: var(--s-2); }

/* ============ MODAL POST-VOTE ============ */
.cdec-modal {
	border: none; padding: 0; background: transparent;
	max-width: 500px; width: 92vw;
}
.cdec-modal::backdrop { background: rgba(13,26,46,.45); backdrop-filter: blur(4px); }
.cdec-modal__inner {
	background: var(--c-white); border-radius: var(--r-lg); padding: var(--s-6);
	box-shadow: var(--sh-lg); position: relative;
}
.cdec-modal__close {
	position: absolute; top: 12px; right: 12px;
	background: var(--c-gray-100); border: none; width: 32px; height: 32px; border-radius: 50%;
	font-size: 18px; cursor: pointer;
}
.cdec-modal__title { font-size: var(--t-2xl); font-weight: 800; }
.cdec-modal__sub { color: var(--c-gray-700); margin: var(--s-2) 0 var(--s-4); }
.cdec-modal__actions { display: flex; flex-wrap: wrap; gap: var(--s-2); }

/* Defend form interno del modal — JS lo inyecta */
.cdec-defend-form { display: flex; flex-direction: column; gap: var(--s-3); margin-top: var(--s-4); }
.cdec-defend-form label { font-size: var(--t-sm); color: var(--c-gray-700); display: flex; flex-direction: column; gap: 4px; }
.cdec-defend-form input[type="text"], .cdec-defend-form input[type="email"], .cdec-defend-form textarea {
	border: 1px solid var(--c-gray-300); border-radius: var(--r-sm);
	padding: 10px 12px; font-family: inherit; font-size: var(--t-base); background: var(--c-white);
	transition: border-color .15s var(--ease), box-shadow .15s var(--ease);
}
.cdec-defend-form input:hover, .cdec-defend-form textarea:hover { border-color: var(--c-gray-400); }
.cdec-defend-form input:focus, .cdec-defend-form textarea:focus {
	outline: none; border-color: var(--c-amber);
	box-shadow: 0 0 0 4px rgba(232, 147, 48, .15);
}
.cdec-defend-form textarea { min-height: 100px; resize: vertical; }
.cdec-defend-form .cdec-check {
	flex-direction: row; align-items: center; gap: var(--s-2);
}
.cdec-defend-form .cdec-check input { width: auto; }

/* ============ GIVEAWAY FORM ============ */
.cdec-giveaway-form {
	background: var(--c-cream); border: 1px solid rgba(13,26,46,.06); border-radius: var(--r-lg);
	padding: var(--s-5); margin: var(--s-6) 0; display: flex; flex-direction: column; gap: var(--s-3);
}
.cdec-giveaway-form h3 { font-size: var(--t-xl); font-weight: 700; margin: 0; }
.cdec-giveaway-form label { display: flex; flex-direction: column; gap: 4px; font-size: var(--t-sm); }
.cdec-giveaway-form input[type="text"], .cdec-giveaway-form input[type="email"] {
	border: 1px solid var(--c-gray-300); border-radius: var(--r-sm); padding: 10px 12px;
	font-family: inherit; font-size: var(--t-base); background: var(--c-white);
}
.cdec-giveaway-form .cdec-check {
	flex-direction: row; align-items: center; gap: var(--s-2);
}

/* ============ AWARD VALIDATION ============ */
.cdec-award-validation {
	max-width: 720px; margin: var(--s-8) auto;
	background: var(--c-white); border-radius: var(--r-xl); padding: var(--s-8); box-shadow: var(--sh-md);
	text-align: center;
}
.cdec-award-validation__header h1 { font-size: clamp(26px, 3.6vw, 38px); margin: var(--s-3) 0; }
.cdec-award-validation__badge { max-width: 240px; margin: var(--s-4) auto; }
.cdec-award-validation__qr { max-width: 180px; margin: var(--s-4) auto; display: block; }
.cdec-award-validation__candidate { padding: var(--s-4) 0; }
.cdec-award-validation__disclaimer { color: var(--c-gray-500); font-size: var(--t-sm); margin-top: var(--s-4); }

/* Toast */
.cdec-toast {
	position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%);
	background: var(--c-ink); color: var(--c-white); padding: 12px 20px; border-radius: var(--r-full);
	font-weight: 600; font-size: var(--t-sm); box-shadow: var(--sh-lg); z-index: 9999;
	opacity: 0; transition: opacity .2s var(--ease), transform .2s var(--ease);
}
.cdec-toast.is-visible { opacity: 1; transform: translateX(-50%) translateY(-4px); }
.cdec-toast--error { background: var(--c-error); }
