/* CCA · identidad institucional en grafito, negro y plata. Se carga después de cca-brand.css. */
:root { --cca-ink:#0a0c0e; --cca-graphite:#171b1f; --cca-silver:#cbd0d5; --cca-amber:#cbd0d5; --cca-amber-hover:#e4e7ea; --cca-cream:#f5f6f7; }
html,body { color:#f5f6f7; background:#0a0c0e !important; }
body { background-image:radial-gradient(circle at 82% 0%,rgba(202,210,218,.085),transparent 33%),radial-gradient(circle at 7% 45%,rgba(202,210,218,.035),transparent 29%) !important; }
header.sticky { background:rgba(10,12,14,.96) !important; border-color:rgba(203,208,213,.24) !important; backdrop-filter:blur(14px); }
.cca-brand-welcome { background:linear-gradient(110deg,#171b1f,#090b0d 62%,#242a30) !important; }
.cca-brand-welcome::before { background:radial-gradient(circle at 75% 48%,rgba(205,213,221,.13),transparent 38%),linear-gradient(145deg,transparent 56%,rgba(255,255,255,.03) 56.2%,transparent 56.5%) !important; }
.cca-alex-strip { background:linear-gradient(105deg,#171b1f,#22272d) !important; }
.cca-welcome-primary { background:#d8dce0 !important; color:#111417 !important; }
.cca-welcome-primary:hover { background:#f0f1f2 !important; }
#courses-grid-container > div.group:hover { border-color:#cbd0d5 !important; box-shadow:0 16px 38px rgba(182,192,202,.13) !important; }
#courses-grid-container > div.group { background:#171b1f !important; }
#view-catalog input:focus, #view-catalog button:focus-visible, header button:focus-visible { outline:2px solid #cbd0d5 !important; }
.cca-official-logo { object-fit:contain !important; object-position:left center !important; border:0; background:transparent; }
input,textarea,select { accent-color:#cbd0d5 !important; }
/* Un título legible sobre cada portada, incluyendo los flyers sin texto incorporado. */
#courses-grid-container .cca-course-cover-title { position:absolute; left:16px; right:55px; bottom:14px; z-index:2; color:#fff; font-size:clamp(1.04rem,1.35vw,1.32rem); line-height:1.16; font-weight:850; letter-spacing:-.025em; text-wrap:balance; text-shadow:0 2px 10px #000,0 1px 3px #000; pointer-events:none; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
#courses-grid-container .cca-course-cover-title::before { content:""; display:block; width:32px; height:2px; margin-bottom:9px; background:#d8dce0; }
#courses-grid-container .cca-course-cover-title + button { z-index:3; }
#courses-grid-container .relative.h-48 > .absolute.inset-0 { background:linear-gradient(to top,rgba(5,7,9,.96),rgba(5,7,9,.35) 54%,transparent) !important; }
@media (max-width:480px) { #courses-grid-container .cca-course-cover-title { font-size:1.08rem; } }
/* Barra, pestañas y formularios que usan clases cromáticas antiguas. */

[class~="accent-amber-500"] { accent-color:#cbd0d5 !important; }
[class~="bg-amber-400/80"] { background-color:rgba(205,211,217,0.80) !important; }
[class~="bg-amber-500"] { background-color:#cbd0d5 !important; }
[class~="bg-amber-500/10"] { background-color:rgba(205,211,217,0.10) !important; }
[class~="bg-amber-500/20"] { background-color:rgba(205,211,217,0.20) !important; }
[class~="bg-amber-500/5"] { background-color:rgba(205,211,217,0.05) !important; }
[class~="bg-amber-950/40"] { background-color:rgba(203,208,213,.11) !important; }
[class~="border-amber-400"] { border-color:rgba(203,208,213,0.72) !important; }
[class~="border-amber-500/20"] { border-color:rgba(203,208,213,0.22) !important; }
[class~="border-amber-500/30"] { border-color:rgba(203,208,213,0.22) !important; }
[class~="border-amber-500/40"] { border-color:rgba(203,208,213,0.29) !important; }
[class~="border-amber-500/50"] { border-color:rgba(203,208,213,0.36) !important; }
[class~="file:bg-amber-500"]::file-selector-button { background-color:#cbd0d5 !important; }
[class~="fill-amber-400"] { fill:#cbd0d5 !important; }
[class~="focus:border-amber-500"]:focus { border-color:rgba(203,208,213,0.72) !important; }
[class~="focus:ring-amber-500"]:focus { --tw-ring-color:#cbd0d5 !important; }
[class~="from-amber-500"] { --tw-gradient-from:#cbd0d5 !important;--tw-gradient-to:rgba(203,208,213,0) !important; }
[class~="from-amber-500/10"] { --tw-gradient-from:#cbd0d5 !important;--tw-gradient-to:rgba(203,208,213,0) !important; }
[class~="from-amber-500/20"] { --tw-gradient-from:#cbd0d5 !important;--tw-gradient-to:rgba(203,208,213,0) !important; }
[class~="from-amber-600"] { --tw-gradient-from:#cbd0d5 !important;--tw-gradient-to:rgba(203,208,213,0) !important; }
.group:hover [class~="group-hover:bg-amber-500"] { background-color:#cbd0d5 !important; }
.group:hover [class~="group-hover:text-amber-400"] { color:#d3d9de !important; }
[class~="hover:bg-amber-400"]:hover { background-color:#cbd0d5 !important; }
[class~="hover:bg-amber-500"]:hover { background-color:#cbd0d5 !important; }
[class~="hover:bg-amber-500/20"]:hover { background-color:rgba(205,211,217,0.20) !important; }
[class~="hover:bg-amber-950/40"]:hover { background-color:rgba(203,208,213,.11) !important; }
[class~="hover:border-amber-400"]:hover { border-color:rgba(203,208,213,0.72) !important; }
[class~="hover:border-amber-500/40"]:hover { border-color:rgba(203,208,213,0.29) !important; }
[class~="hover:border-amber-500/50"]:hover { border-color:rgba(203,208,213,0.36) !important; }
[class~="hover:from-amber-400"]:hover { --tw-gradient-from:#cbd0d5 !important;--tw-gradient-to:rgba(203,208,213,0) !important; }
[class~="hover:shadow-amber-500/10"]:hover { --tw-shadow-color:rgba(203,208,213,.16) !important; }
[class~="hover:text-amber-300"]:hover { color:#f0f2f4 !important; }
[class~="hover:text-amber-400"]:hover { color:#d3d9de !important; }
[class~="hover:to-amber-500"]:hover { --tw-gradient-to:#adb5bd !important; }
[class~="selection:bg-amber-500"]::selection { background-color:#cbd0d5 !important; }
[class~="shadow-amber-500/10"] { --tw-shadow-color:rgba(203,208,213,.16) !important; }
[class~="shadow-amber-500/20"] { --tw-shadow-color:rgba(203,208,213,.16) !important; }
[class~="shadow-amber-500/25"] { --tw-shadow-color:rgba(203,208,213,.16) !important; }
[class~="shadow-amber-500/30"] { --tw-shadow-color:rgba(203,208,213,.16) !important; }
[class~="shadow-amber-500/5"] { --tw-shadow-color:rgba(203,208,213,.16) !important; }
[class~="text-amber-200"] { color:#f0f2f4 !important; }
[class~="text-amber-200/80"] { color:rgba(224,228,232,.8) !important; }
[class~="text-amber-300"] { color:#f0f2f4 !important; }
[class~="text-amber-400"] { color:#d3d9de !important; }
[class~="text-amber-500"] { color:#d3d9de !important; }
[class~="to-amber-300"] { --tw-gradient-to:#adb5bd !important; }
[class~="to-amber-400"] { --tw-gradient-to:#adb5bd !important; }
[class~="to-amber-600"] { --tw-gradient-to:#adb5bd !important; }
[class~="to-amber-600/10"] { --tw-gradient-to:#adb5bd !important; }

/* Gradientes explícitos y estados del motor de juegos. */
[class*="bg-gradient-"][class*="from-amber"] { background-image:linear-gradient(110deg,#d6dbe0,#aeb6be) !important; }
[class*="hover:from-amber"]:hover { background-image:linear-gradient(110deg,#eceff1,#c4cbd1) !important; }
.cca-choice.selected, .cca-order-control:hover, .cca-result-btn { border-color:#d3d9df !important; }
.cca-cross-cell { border-color:#aeb6be !important; color:#e5e9ec !important; }
.cca-result-score:not(.passed) { color:#e2e6e9 !important; text-shadow:none !important; }
.cca-nav-item.active, .cca-nav-item.active .cca-nav-label { color:#e1e5e8 !important; }
.cca-nav-item.active .cca-nav-icon { filter:drop-shadow(0 0 6px rgba(203,208,213,.34)) !important; }
.cca-nav-item.active::before { background:linear-gradient(90deg,#9ba6ae,#e4e7ea) !important; box-shadow:0 0 9px rgba(203,208,213,.32) !important; }
.cca-player-fs-btn:hover { border-color:rgba(203,208,213,.62) !important; color:#e1e5e8 !important; }
#courses-grid-container .text-slate-950, .cca-welcome-primary { color:#121518 !important; }
::selection { background:#bbc3ca; color:#090b0d; }
