/* Identidad oficial Club Coleguitas — cargada al final para normalizar estilos heredados. */
:root {
	--cc-green-dark: #006837;
	--cc-green-mid: #2f663e;
	--cc-green-bright: #009121;
	--cc-green-soft: #eef8f1;
	--cc-red: #e13727;
	--cc-red-soft: #fdecea;
	--cc-black: #000000;
	--cc-white: #ffffff;
	--cc-text: #242424;
	--cc-muted: #5a665f;
	--cc-line: #d6e5db;
	--cc-bg: #f4f8f5;
	--cc-font: "Century Gothic", "Avenir Next", Montserrat, "Trebuchet MS", Aptos, Arial, sans-serif;
	--ap3-green: var(--cc-green-dark);
	--ap3-bright: var(--cc-green-bright);
	--ap3-navy: #00381e;
	--ap3-ink: var(--cc-black);
	--ap3-muted: var(--cc-muted);
	--ap3-line: var(--cc-line);
	--ap3-soft: var(--cc-green-soft);
	--ap3-yellow: var(--cc-green-bright);
	--ap3-bg: var(--cc-bg);
}

.apd3-catalog,
.apd3-challenge-catalog,
.apd3-topic-hero,
.apd3-hierarchy,
.apd3-topic-section,
.apd3-share-dialog,
.apd3-toast,
.apd3-progress-dashboard,
.apd3-account-dashboard,
#ap-desafio {
	font-family: var(--cc-font) !important;
}

.apd-challenge,
.apd-catalog,
.apd-lock {
	--apd-navy: #006837;
	--apd-navy-2: #2f663e;
	--apd-ink: #242424;
	--apd-muted: #5a665f;
	--apd-bg: #f4f8f5;
	--apd-success: #009121;
	--apd-danger: #e13727;
	--apd-accent: #009121;
	font-family: var(--cc-font) !important;
}

.apd-challenge-hero,
.apd-card-media { background: linear-gradient(135deg, #00381e, var(--cc-green-dark)) !important; }
.apd-button { background: var(--cc-green-dark) !important; color: var(--cc-white) !important; }
.apd-button:hover { background: var(--cc-green-bright) !important; }
.apd-card-count,
.apd-eyebrow,
.apd-section-heading > span { color: var(--cc-green-bright) !important; }
.apd-access-badge.is-locked { background: var(--cc-red-soft) !important; color: #8f2419 !important; }

#ap-desafio {
	--v: var(--cc-green-dark);
	--va: var(--cc-green-bright);
	--vm: var(--cc-green-mid);
	--r: var(--cc-red);
	--yellow: var(--cc-green-bright);
	--ink: var(--cc-black);
	--muted: var(--cc-muted);
	--line: var(--cc-line);
	--soft: var(--cc-green-soft);
}

body.apd-standalone-page,
html.apd-standalone-html {
	background: var(--cc-bg) !important;
	color: var(--cc-text) !important;
	font-family: var(--cc-font) !important;
}

.apd-standalone-header {
	border-top-color: var(--cc-green-bright) !important;
	border-bottom-color: var(--cc-line) !important;
}

.apd-standalone-brand,
.apd-standalone-footer strong,
.apd-standalone-footer a,
.apd-standalone-back {
	color: var(--cc-green-dark) !important;
}

.apd3-section-head h2,
.apd3-topic-section__head h2,
.apd3-topic-hero h1,
.apd3-account-card h3,
.apd3-progress-card h3,
.apd2-register h1,
.apd2-body h1,
.apd2-video-copy h1,
.apd2-final h1,
.apd2-feedback h2 {
	color: var(--cc-black) !important;
	font-weight: 700 !important;
	letter-spacing: -.035em;
}

.apd3-topic-hero h1,
.apd3-challenge-sitebar,
.apd3-account-hero h2,
.apd3-progress-hero h2 {
	color: var(--cc-white) !important;
}

.apd3-topic-hero,
.apd3-challenge-sitebar,
.apd3-account-hero,
.apd3-progress-hero {
	background-color: var(--cc-green-dark) !important;
	background-image: linear-gradient(120deg, #00381e, var(--cc-green-dark) 68%, var(--cc-green-mid)) !important;
}

.apd3-pillar-card,
.apd3-challenge-card,
.apd3-tag-card,
.apd3-account-card,
.apd3-progress-card,
.apd2-shell {
	border-color: var(--cc-line) !important;
	box-shadow: 0 12px 34px rgba(0, 104, 55, .08) !important;
}

.apd3-pillar-card:not(.soon):hover,
.apd3-challenge-card:hover,
.apd3-tag-card:hover {
	box-shadow: 0 20px 50px rgba(0, 104, 55, .15) !important;
}

.apd3-pillar-media,
.apd3-challenge-media {
	background: linear-gradient(135deg, #00381e, var(--cc-green-dark)) !important;
}

.apd3-kicker,
.apd3-pillar-label,
.apd3-tag-card > a span,
.apd2-kicker {
	color: var(--cc-green-bright) !important;
}

.apd3-pillar-state,
.apd3-challenge-state,
.apd3-topic-chip,
.apd2-step,
.apd2-meta span,
.apd3-challenge-tags a {
	background: var(--cc-green-soft) !important;
	color: var(--cc-green-dark) !important;
}

.apd3-pillar-card.soon .apd3-pillar-state,
.apd3-challenge-card.is-locked .apd3-challenge-state,
.apd3-account-badge:not(.active),
.apd2-option.wrong,
.apd2-feedback.error {
	border-color: rgba(225, 55, 39, .34) !important;
	background: var(--cc-red-soft) !important;
	color: #8f2419 !important;
}

.apd3-section-actions a,
.apd3-share-button,
.apd3-share-action.primary,
.apd3-download-qr,
.apd3-account-button,
.apd2-button,
.apd2-next,
.apd3-account-nav a:first-child {
	background: var(--cc-green-dark) !important;
	color: var(--cc-white) !important;
	-webkit-text-fill-color: var(--cc-white) !important;
}

.apd3-section-actions a:hover,
.apd3-share-button:hover,
.apd3-share-action.primary:hover,
.apd3-download-qr:hover,
.apd3-account-button:hover,
.apd2-button:hover,
.apd2-next:hover,
.apd3-account-nav a:first-child:hover {
	background: var(--cc-green-bright) !important;
	color: var(--cc-white) !important;
}

.apd2-button.secondary,
.apd3-section-actions a.secondary,
.apd3-account-nav a:not(:first-child) {
	border-color: var(--cc-green-dark) !important;
	background: var(--cc-white) !important;
	color: var(--cc-green-dark) !important;
	-webkit-text-fill-color: var(--cc-green-dark) !important;
}

.apd2-topline,
.apd2-progress span,
.apd3-progress-route-rail span,
.apd3-progress-rail > span {
	background: linear-gradient(90deg, var(--cc-green-dark), var(--cc-green-bright)) !important;
}

.apd2-options button.apd2-option:not(:disabled):hover,
.apd2-options button.apd2-option:not(:disabled):focus-visible {
	border-color: rgba(0, 104, 55, .52) !important;
	background: var(--cc-green-soft) !important;
	color: var(--cc-black) !important;
	-webkit-text-fill-color: var(--cc-black) !important;
}

.apd2-option.correct,
.apd2-feedback:not(.error) {
	border-color: rgba(0, 145, 33, .45) !important;
	background: var(--cc-green-soft) !important;
}

.apd2-option.wrong span,
.apd2-error {
	background: var(--cc-red) !important;
	color: var(--cc-white) !important;
}

.apd3-stars { color: var(--cc-green-bright) !important; }

.apd3-share-qr-card,
.apd2-feedback,
.apd3-tag-search {
	border-color: var(--cc-line) !important;
	background: var(--cc-green-soft) !important;
}

.apd3-toast.is-error,
.apd3-account-notice.error {
	background: var(--cc-red-soft) !important;
	color: #8f2419 !important;
}

.apd3-toast.is-success,
.apd3-account-notice.success {
	background: var(--cc-green-soft) !important;
	color: var(--cc-green-dark) !important;
}

.apd3-catalog :focus-visible,
.apd3-challenge-catalog :focus-visible,
.apd3-share-dialog :focus-visible,
#ap-desafio :focus-visible {
	outline: 3px solid rgba(0, 145, 33, .28) !important;
	outline-offset: 3px !important;
}

@media (max-width: 650px) {
	.apd3-topic-hero h1 { font-size: clamp(2.25rem, 12vw, 3rem) !important; }
}
