﻿/* Student home styles. Everything is scoped to .mc-theme so it doesn't hit other pages. */

:root {
    /* colors */
    --mc-azul: #C41E3A;
    --mc-azul-escuro: #9E1730;
    --mc-laranja: #FF6B35;
    --mc-laranja-escuro: #E85520;
    --mc-ink: #201A1D;
    --mc-texto: #1F2933;
    --mc-texto-suave: #52606D;
    --mc-fundo-suave: #F5F7FA;
    --mc-borda: #E4E7EB;
    /* type */
    --mc-fonte: 'Open Sans', 'Segoe UI', Roboto, Arial, sans-serif;
    /* radius */
    --mc-raio: 14px;
    --mc-raio-sm: 8px;
    --mc-raio-pill: 999px;
    /* shadows */
    --mc-sombra: 0 2px 10px rgba(16,35,63,.08);
    --mc-sombra-forte: 0 8px 24px rgba(16,35,63,.14);
}

.mc-theme {
    font-family: var(--mc-fonte);
    color: var(--mc-texto);
}
.mc-theme *,
.mc-theme *::before,
.mc-theme *::after { box-sizing: border-box; }

/* hero: greeting + continue card */
.mc-hero {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 16px;
    margin: 4px 0 20px;
}

.mc-hero-greet {
    flex: 1 1 340px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4px 2px;
}
.mc-hero-eyebrow {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: var(--mc-azul);
}
.mc-hero-name {
    margin: 2px 0 0;
    font-size: 26px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -.5px;
    color: var(--mc-texto);
}
.mc-hero-sub {
    margin: 6px 0 0;
    font-size: 14.5px;
    color: var(--mc-texto-suave);
}

/* continue card (dark focus block) */
.mc-continue-card {
    flex: 1 1 360px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    background: linear-gradient(135deg, var(--mc-ink) 0%, #3A2730 100%);
    color: #fff;
    border-radius: var(--mc-raio);
    box-shadow: var(--mc-sombra-forte);
    padding: 20px 22px;
}
.mc-continue-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .7px;
    text-transform: uppercase;
    color: var(--mc-laranja);
}
.mc-continue-title {
    margin: 2px 0 12px;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 600;
    color: #fff;
}
.mc-continue-empty .mc-continue-title { margin-bottom: 14px; }

/* primary button */
.mc-btn-primary {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 22px;
    background: var(--mc-azul);
    color: #fff;
    font-size: 14.5px;
    font-weight: 600;
    border-radius: var(--mc-raio-pill);
    text-decoration: none;
    transition: background .15s ease, transform .05s ease;
}
.mc-btn-primary:hover,
.mc-btn-primary:focus {
    background: var(--mc-azul-escuro);
    color: #fff;
    text-decoration: none;
}
.mc-btn-primary:active { transform: translateY(1px); }
.mc-theme a.mc-btn-primary:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

/* responsive */
@media (max-width: 768px) {
    .mc-hero { gap: 12px; }
    .mc-hero-name { font-size: 22px; }
    .mc-continue-card { padding: 16px 16px; }
    .mc-btn-primary { align-self: stretch; width: 100%; }
}

/* theme applied over the existing home markup (profile, shortcuts, cards) */

/* cards */
.mc-theme .card {
    border: 1px solid var(--mc-borda);
    border-radius: var(--mc-raio);
    box-shadow: var(--mc-sombra);
}
.mc-theme .card-header {
    background: transparent;
    border-bottom: 1px solid var(--mc-borda);
}
.mc-theme .card-header-text,
.mc-theme .card-header h5,
.mc-theme .card-header h6 {
    color: var(--mc-texto);
    font-weight: 600;
    letter-spacing: -.2px;
}

/* profile photo */
.mc-theme .social-profile img {
    border-radius: 50%;
    box-shadow: var(--mc-sombra);
}

/* shortcut icons */
.mc-theme .welcome-social-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--mc-sombra);
    transition: transform .12s ease, box-shadow .12s ease;
}
.mc-theme a:hover .welcome-social-icon,
.mc-theme button:hover .welcome-social-icon {
    transform: translateY(-2px);
    box-shadow: var(--mc-sombra-forte);
}
.mc-theme .card-block label {
    color: var(--mc-texto-suave);
    font-weight: 600;
}

.mc-theme .mc-hero { margin-bottom: 8px; }

/* quick access grid */
.mc-quick-section { margin-top: 4px; }
.mc-quick-title {
    font-size: 13px; font-weight: 600; letter-spacing: .4px; text-transform: uppercase;
    color: var(--mc-texto-suave); margin: 0 0 12px;
}
.mc-quick-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 14px;
}
.mc-quick-card {
    display: flex; flex-direction: column; align-items: center; gap: 10px;
    min-height: 44px; padding: 18px 12px;
    background: var(--mc-surface, #fff);
    border: 1px solid var(--mc-borda); border-radius: var(--mc-raio);
    box-shadow: var(--mc-sombra); color: var(--mc-texto); text-align: center;
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.mc-quick-card:hover {
    transform: translateY(-2px); box-shadow: var(--mc-sombra-forte); border-color: var(--mc-azul);
}
.mc-quick-ico {
    width: 48px; height: 48px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(196,30,58,.10); color: var(--mc-azul); font-size: 22px;
}
.mc-quick-ico.is-orange { background: rgba(255,107,53,.12); color: var(--mc-laranja); }
.mc-quick-label { font-size: 14px; font-weight: 600; color: var(--mc-texto); }

@media (max-width: 768px) {
    .mc-quick-grid { grid-template-columns: repeat(2, 1fr); }
}

/* hero gamify row (coins / keys / edit profile) */
.mc-gamify {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}
.mc-gamify-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    padding: 0 14px;
    background: var(--mc-surface, #fff);
    border: 1px solid var(--mc-borda);
    border-radius: var(--mc-raio-pill);
    box-shadow: var(--mc-sombra);
    color: var(--mc-texto);
    font-size: 13.5px;
    font-weight: 600;
    transition: box-shadow .12s ease, border-color .12s ease;
}
.mc-gamify-item:hover { box-shadow: var(--mc-sombra-forte); border-color: var(--mc-azul); color: var(--mc-texto); }
.mc-gamify-ico { font-size: 16px; color: var(--mc-azul); }
.mc-gamify-ico.is-orange { color: var(--mc-laranja); }
.mc-gamify-value { line-height: 1; }

/* quick access cards that open a dropdown (live classes / secretaria) */
.mc-quick-drop { position: relative; cursor: pointer; }
.mc-quick-drop .dropdown-menu { text-align: left; }

/* streak badge */
.mc-streak {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 8px;
    padding: 4px 12px;
    background: rgba(255, 107, 53, .12);
    color: var(--mc-laranja-escuro);
    border-radius: var(--mc-raio-pill);
    font-size: 13px;
    font-weight: 700;
}
.mc-streak i { color: var(--mc-laranja); }

/* continue card meta line ("unit x of y") */
.mc-continue-meta {
    margin: 0 0 4px;
    font-size: 13px;
    color: rgba(255, 255, 255, .78);
}

/* progress bar */
.mc-progressbar {
    width: 100%;
    height: 8px;
    background: rgba(255, 255, 255, .18);
    border-radius: var(--mc-raio-pill);
    overflow: hidden;
    margin: 4px 0 6px;
}
.mc-progressbar > span {
    display: block;
    height: 100%;
    background: #22C55E;
    border-radius: var(--mc-raio-pill);
    transition: width .4s ease;
}
.mc-progress-pct {
    font-size: 12.5px;
    font-weight: 600;
    color: rgba(255, 255, 255, .85);
    margin-bottom: 10px;
}

/* light variant (used on the white "your progress" card) */
.mc-progress-card .mc-progressbar { background: var(--mc-fundo-suave); }
.mc-progressbar-lg { height: 12px; margin: 6px 0 8px; }
.mc-progress-card .mc-progress-pct { color: var(--mc-texto-suave); }

/* quick access subtitle */
.mc-quick-sub {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: var(--mc-texto-suave);
}

/* section title outside the white box: .mc-sec = .mc-sec-head (title + link) above the .mc-card */
.mc-sec { min-width: 0; margin-top: 16px; }
.mc-dash-main > .mc-sec, .mc-dash-side > .mc-sec { margin-top: 0; } /* flex gap already spaces them */
.mc-sec-head { display: flex; align-items: center; justify-content: space-between; margin: 0 0 12px; }
.mc-sec-title {
    /* keep in sync with .mc-quick-title */
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .4px;
    text-transform: uppercase;
    color: var(--mc-texto-suave);
    margin: 0;
}
.mc-sec > .mc-card { margin-top: 0; }

/* generic home card */
.mc-card {
    background: #fff;
    border: 1px solid var(--mc-borda);
    border-radius: var(--mc-raio);
    box-shadow: var(--mc-sombra);
    padding: 18px 20px;
    margin-top: 16px;
}
.mc-card-title {
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: var(--mc-texto-suave);
}
.mc-card-note {
    margin: 12px 0 0;
    font-size: 12.5px;
    color: var(--mc-texto-suave);
}

/* "your week" | "next live classes" grid */
.mc-week-grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 16px;
}
@media (max-width: 900px) {
    .mc-week-grid { grid-template-columns: 1fr; }
}
.mc-week-grid .mc-card { margin-top: 0; }

/* week days */
.mc-week-days {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.mc-week-day {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--mc-fundo-suave);
    color: var(--mc-texto-suave);
    font-size: 13px;
    font-weight: 700;
    border: 2px solid transparent;
}
.mc-week-day.is-done {
    background: var(--mc-azul);
    color: #fff;
}
.mc-week-day.is-today {
    border-color: var(--mc-laranja);
    color: var(--mc-laranja-escuro);
}
.mc-week-day.is-done.is-today {
    color: #fff;
    border-color: var(--mc-laranja);
}

/* live classes list (altura limitada: semana longa rola dentro do card) */
#mc-live-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 330px;
    overflow-y: auto;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: var(--mc-borda) transparent;
}
#mc-live-list::-webkit-scrollbar { width: 6px; }
#mc-live-list::-webkit-scrollbar-thumb { background: var(--mc-borda); border-radius: 3px; }
#mc-live-list::-webkit-scrollbar-track { background: transparent; }
.mc-live-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 12px;
    border: 1px solid var(--mc-borda);
    border-radius: var(--mc-raio-sm);
    color: var(--mc-texto);
    transition: border-color .12s ease, box-shadow .12s ease;
}
.mc-live-item:hover {
    border-color: var(--mc-azul);
    box-shadow: var(--mc-sombra);
    color: var(--mc-texto);
    text-decoration: none;
}
.mc-live-time {
    flex-shrink: 0;
    width: 52px;
    text-align: center;
    font-size: 12px;
    line-height: 1.3;
    color: var(--mc-texto-suave);
}
.mc-live-time strong { display: block; color: var(--mc-ink); font-size: 16px; }
.mc-live-info { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.mc-live-name { font-weight: 600; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mc-live-pattern { font-size: 12px; color: var(--mc-texto-suave); }
.mc-live-tag {
    flex-shrink: 0;
    padding: 3px 9px;
    background: #FDE7E7;
    color: #E02424;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .5px;
    border-radius: var(--mc-raio-pill);
    white-space: nowrap;
}
.mc-live-tag.is-class { background: #EEF1F5; color: #5A6B85; }
.mc-live-tag.is-scheduled { background: #FFF0F0; color: #D14343; }
.mc-empty {
    font-size: 13px;
    color: var(--mc-texto-suave);
    padding: 6px 2px;
}

/* top banner */
.mc-topbanner { margin: 22px 0 18px; }
.mc-topbanner .carousel { overflow: hidden; border-radius: var(--mc-raio); }
.mc-topbanner-img { border-radius: var(--mc-raio); display: block; width: 100%; height: auto; }

/* banner dots. #id + !important to beat the page's default red indicators */
#carouselHomeBanners .carousel-indicators {
    position: static !important;
    display: flex !important;
    justify-content: center;
    padding-left: 0;
    margin: 10px 0 0 !important;
}
#carouselHomeBanners .carousel-indicators li {
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: rgba(16, 35, 63, .20) !important;
    border: 0 !important;
    margin: 0 4px !important;
    text-indent: -9999px;
    cursor: pointer;
    box-sizing: border-box;
}
#carouselHomeBanners .carousel-indicators li.active {
    background: var(--mc-azul) !important;
}

/* greeting + streak line */
.mc-greetblock { margin: 2px 0 14px; }
.mc-greetblock .mc-hero-name { font-size: 28px; margin: 0; }
.mc-streak-line {
    margin: 6px 0 0; font-size: 17px; color: var(--mc-texto-suave);
    display: flex; align-items: center; gap: 7px;
}
.mc-streak-line i { color: var(--mc-laranja); }
.mc-streak-line strong { color: var(--mc-laranja-escuro); font-weight: 700; }
.mc-streak-muted { color: var(--mc-texto-suave); }
.mc-streak-muted strong { color: inherit; }

/* subscription alert */
.mc-alert {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    padding: 14px 18px; margin: 0 0 16px;
    background: #FEF6E7; border: 1px solid #F3DCA6;
    border-radius: var(--mc-raio); color: #7A5320;
}
.mc-alert-ico { font-size: 18px; color: #E0952A; flex-shrink: 0; }
.mc-alert-text { flex: 1 1 300px; font-size: 14px; line-height: 1.4; }
.mc-alert-text strong { color: #6A4517; }
.mc-alert-btn {
    background: #fff; border: 1px solid #E7C983; color: #8A5A1B;
    font-weight: 600; padding: 8px 18px; border-radius: var(--mc-raio-pill);
    font-size: 13.5px; white-space: nowrap; text-decoration: none;
}
.mc-alert-btn:hover { background: #FBEFD6; color: #6A4517; text-decoration: none; }
.mc-alert-close {
    background: transparent; border: 0; color: #B79256; font-size: 20px;
    line-height: 1; cursor: pointer; padding: 0 2px;
}

/* blue variant (open boletos) */
.mc-alert-info { background: #EAF2FD; border-color: #BBD6F5; color: #234E86; }
.mc-alert-info .mc-alert-ico { color: var(--mc-azul); }
.mc-alert-info .mc-alert-text strong { color: #143A6B; }
.mc-alert-info .mc-alert-btn { background: #fff; border-color: #AECBF0; color: var(--mc-azul); }
.mc-alert-info .mc-alert-btn:hover { background: #DCEAFB; color: var(--mc-azul-escuro); }
.mc-alert-info .mc-alert-close { color: #7FA6D6; }

/* 2-column dashboard */
.mc-dash { display: grid; grid-template-columns: 1.55fr 1fr; gap: 16px 18px; align-items: start; }
.mc-dash-main, .mc-dash-side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
/* carousel wrapper: same stacking/gap as the column */
.mc-continue-block { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.mc-dash-main > *, .mc-dash-side > * { flex: 0 0 auto; }
@media (min-width: 993px) {
    /* As duas colunas empilham por conta propria — cada uma no seu ritmo.
       Antes elas dividiam a MESMA grade (display:contents), com linha 1 e
       linha 2 casadas entre os lados. Isso alinhava os cartoes, mas dava a
       altura da linha 1 ao mais alto dos dois: "Sua semana" e comprida, e o
       "Acesso rapido" era empurrado para depois dela, deixando um buraco de
       uns 130px embaixo do "Continuar de onde parou".
       Com o card "Suas conquistas" removido, a coluna lateral tem um item so
       e nao ha mais o que alinhar. */
    .mc-dash-main > .mc-quick-section { margin-top: 0; }
    .mc-quick-title, .mc-dash-side .mc-sec-head { margin: 0 0 12px; line-height: 16px; }
    .mc-dash-side .mc-sec-head .mc-sec-title { line-height: 16px; }
}
@media (max-width: 992px) {
    .mc-dash { grid-template-columns: 1fr; }
}

/* continue card, now full width in the main column */
.mc-dash-main .mc-continue-card { flex: 0 0 auto; margin: 0; }
.mc-continue-eyebrow {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12.5px; color: rgba(255,255,255,.72); margin: 2px 0 2px;
}
.mc-continue-actions { display: flex; align-items: center; gap: 16px; margin-top: 10px; flex-wrap: wrap; }
.mc-btn-primary i { margin-right: 7px; }
.mc-btn-link { color: rgba(255,255,255,.9); font-size: 13.5px; font-weight: 600; text-decoration: none; }
.mc-btn-link:hover { color: #fff; text-decoration: underline; }

/* extra quick access icon colors */
.mc-quick-ico.is-green { background: rgba(22,163,74,.12); color: #16A34A; }
.mc-quick-ico.is-purple { background: rgba(124,58,237,.12); color: #7C3AED; }
.mc-quick-ico.is-blue { background: rgba(37,99,235,.12); color: #2563EB; }

/* trainers modal ("Escolha o Treinador") - brand cards on the dark navy of the logos */
.mc-trainer-list { display: flex; flex-direction: column; gap: 14px; }
.mc-trainer-opt {
    position: relative;
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 18px 22px;
    background: #0D1626;
    border: 1px solid #1E2A3E; border-radius: var(--mc-raio);
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
a.mc-trainer-opt:hover,
a.mc-trainer-opt:focus {
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(13,22,38,.35);
    text-decoration: none;
}
.mc-trainer-opt.is-oab:hover,
.mc-trainer-opt.is-oab:focus { border-color: #F97316; }
.mc-trainer-logo { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.mc-trainer-word {
    font-size: 27px; font-weight: 800; letter-spacing: -.5px; line-height: 1;
    color: #F4F6FA;
}
.mc-trainer-word sup { font-size: 10px; font-weight: 700; color: #8A97AB; }
.mc-trainer-row { display: flex; align-items: center; gap: 9px; }
.mc-trainer-bars { width: 42px; height: 28px; flex: 0 0 auto; }
.is-oab .mc-trainer-bars rect { fill: #F97316; }
.is-concursos .mc-trainer-bars rect { fill: #22C55E; }
.mc-trainer-bars rect:nth-child(1) { opacity: .35; }
.mc-trainer-bars rect:nth-child(2) { opacity: .48; }
.mc-trainer-bars rect:nth-child(3) { opacity: .61; }
.mc-trainer-bars rect:nth-child(4) { opacity: .74; }
.mc-trainer-bars rect:nth-child(5) { opacity: .87; }
.mc-trainer-bars rect:nth-child(6) { opacity: 1; }
.mc-trainer-tag {
    display: inline-flex; align-items: center;
    padding: 5px 14px; border-radius: 9px;
    font-size: 15px; font-weight: 800; letter-spacing: .6px; line-height: 1;
    color: #fff; white-space: nowrap;
}
.is-oab .mc-trainer-tag { background: #F97316; }
.is-concursos .mc-trainer-tag { background: #22C55E; }
.mc-trainer-go {
    display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto;
    color: #F97316; font-size: 13.5px; font-weight: 700; white-space: nowrap;
}
.mc-trainer-opt.is-disabled { cursor: default; }
.mc-trainer-opt.is-disabled .mc-trainer-logo { opacity: .55; }
.mc-trainer-badge {
    flex: 0 0 auto; padding: 5px 13px; white-space: nowrap;
    background: rgba(34,197,94,.14); color: #4ADE80;
    border: 1px solid rgba(34,197,94,.45);
    border-radius: var(--mc-raio-pill); font-size: 11px; font-weight: 700; letter-spacing: .6px;
}
@media (max-width: 480px) {
    .mc-trainer-opt { flex-direction: column; align-items: flex-start; gap: 12px; }
    .mc-trainer-word { font-size: 23px; }
}

/* Atualizações (legislative update cards, template: green accent) */
.mc-upd-list { display: flex; flex-direction: column; gap: 12px; }
.mc-upd-item {
    background: #fff;
    border: 1px solid var(--mc-borda);
    border-left: 5px solid #78c17f;
    border-radius: 12px;
    padding: 14px 18px;
    cursor: pointer;
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.mc-upd-item:hover { transform: translateY(-2px); box-shadow: var(--mc-sombra-forte); border-color: #78c17f; }
.mc-upd-item-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.mc-upd-title { font-size: 15px; font-weight: 700; line-height: 1.4; color: var(--mc-texto); }
.mc-upd-pin { font-size: 14px; }
.mc-upd-sep { color: #c2cbd6; font-weight: 400; margin: 0 4px; }
.mc-upd-tag {
    flex: 0 0 auto;
    background: #78c17f; color: #fff;
    font-size: 12px; font-weight: 600; letter-spacing: .3px;
    padding: 4px 12px; border-radius: 8px; white-space: nowrap;
}
.mc-upd-summary {
    margin: 8px 0 0;
    font-size: 13.5px; line-height: 1.6; color: var(--mc-texto-suave);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

/* modal / full card (mirrors the reference template) */
.mc-upd-modal-content {
    border: 1px solid #e6ebf1;
    border-left: 6px solid #78c17f;
    border-radius: 14px;
    box-shadow: 0 6px 22px rgba(31,39,51,.06);
}
.mc-upd-modal-body { padding: 28px 32px 26px; }
.mc-upd-close { position: absolute; top: 12px; right: 18px; z-index: 5; }
.mc-upd-modal-topo { display: flex; justify-content: flex-end; margin-bottom: 6px; padding-right: 24px; }
.mc-upd-modal-title { font-size: 21px; line-height: 1.35; margin: 2px 0 18px; font-weight: 700; color: var(--mc-texto); }
.mc-upd-modal-html { font-size: 16px; line-height: 1.65; color: #4a5568; }
.mc-upd-modal-html p { font-size: 16px; line-height: 1.65; color: #4a5568; margin: 0 0 16px; }
.mc-upd-modal-html strong { color: var(--mc-texto); }
.mc-upd-modal-html a { color: #2f7d8c; font-weight: 700; text-decoration: none; border-bottom: 2px solid transparent; transition: border-color .15s; }
.mc-upd-modal-html a:hover { border-color: #2f7d8c; }
.mc-upd-rodape { border-top: 1px solid #e6ebf1; padding-top: 14px; margin-top: 6px; font-size: 13.5px; color: #7a8797; }
.mc-upd-rodape strong { color: #5b6673; font-weight: 600; }
@media (max-width: 520px) {
    .mc-upd-modal-body { padding: 22px 20px; }
    .mc-upd-modal-title { font-size: 19px; }
    .mc-upd-item-top { flex-direction: column-reverse; }
}

/* "ver todas" page */
.mc-upd-page { max-width: 860px; margin: 0 auto; padding: 8px 0 30px; }
.mc-upd-page-head { display: flex; align-items: center; justify-content: space-between; margin: 10px 0 18px; }
.mc-upd-page-title { font-size: 22px; font-weight: 700; letter-spacing: -.3px; color: var(--mc-texto); margin: 0; }
.mc-upd-fullcard {
    background: #fff;
    border: 1px solid #e6ebf1;
    border-left: 6px solid #78c17f;
    border-radius: 14px;
    padding: 28px 32px 26px;
    box-shadow: 0 6px 22px rgba(31,39,51,.06);
    margin-bottom: 18px;
}
.mc-upd-fullcard .mc-upd-modal-topo { padding-right: 0; }
.mc-upd-pager { display: flex; justify-content: center; gap: 10px; margin-top: 8px; }
.mc-upd-pager a, .mc-upd-pager span {
    display: inline-flex; align-items: center; min-height: 38px; padding: 0 18px;
    border: 1px solid var(--mc-borda); border-radius: var(--mc-raio-pill);
    background: #fff; color: var(--mc-texto); font-size: 13.5px; font-weight: 600; text-decoration: none;
}
.mc-upd-pager a:hover { border-color: #78c17f; color: var(--mc-texto); }
.mc-upd-pager span.is-current { background: #78c17f; border-color: #78c17f; color: #fff; }
@media (max-width: 520px) {
    .mc-upd-fullcard { padding: 22px 20px; }
}

/* card header with a link on the right */
.mc-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.mc-card-head .mc-card-title { margin: 0; }
.mc-card-link { font-size: 13px; font-weight: 600; color: var(--mc-azul); text-decoration: none; white-space: nowrap; }
.mc-card-link:hover { color: var(--mc-azul-escuro); text-decoration: none; }
.mc-subhead {
    margin: 18px 0 10px; font-size: 12px; font-weight: 700; letter-spacing: .5px;
    text-transform: uppercase; color: var(--mc-texto-suave);
}

/* progress bar on the white side card */
.mc-card .mc-progressbar { background: #E8ECF2; }
.mc-progress-row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.mc-progress-name { font-size: 14px; font-weight: 600; color: var(--mc-texto); }
.mc-progress-pct-side { font-size: 14px; font-weight: 700; color: #16A34A; }
.mc-card .mc-progressbar-lg > span { background: #16A34A; }

/* week columns (mon..sun with a dot) */
.mc-week-days { display: flex; justify-content: space-between; gap: 4px; }
.mc-week-col { display: flex; flex-direction: column; align-items: center; gap: 6px; flex: 1; }
.mc-week-wd { font-size: 10.5px; font-weight: 700; letter-spacing: .3px; color: var(--mc-texto-suave); }
.mc-week-dot {
    width: 34px; height: 34px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: var(--mc-fundo-suave); color: var(--mc-texto-suave);
    font-size: 13px; font-weight: 700; border: 2px solid transparent;
}
.mc-week-dot.is-done { background: #22C55E; color: #fff; }
.mc-week-dot.is-today { border-color: var(--mc-azul); color: var(--mc-azul); background: #fff; }
.mc-week-dot.is-done.is-today { background: #22C55E; color: #fff; border-color: var(--mc-azul); }
.mc-week-dot.is-future { background: #fff; border-color: var(--mc-borda); color: var(--mc-texto-suave); }

/* news list (click an item to open the full text) */
.mc-news-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.mc-news-item {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 8px; border-radius: var(--mc-raio-sm);
    cursor: pointer; transition: background .12s ease;
}
.mc-news-item:hover { background: var(--mc-fundo-suave); }
.mc-news-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--mc-laranja); flex-shrink: 0; margin-top: 5px; }
.mc-news-dot.is-red { background: #E02424; }
.mc-news-dot.is-blue { background: var(--mc-azul); }
.mc-news-dot.is-orange { background: var(--mc-laranja); }

/* community card (footer) */
.mc-community-card {
    display: flex; align-items: center; gap: 14px;
    padding: 16px 20px; margin-top: 16px;
    background: #fff; border: 1px solid var(--mc-borda);
    border-radius: var(--mc-raio); box-shadow: var(--mc-sombra);
}
.mc-community-ico {
    width: 46px; height: 46px; border-radius: 12px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: rgba(124, 58, 237, .12); color: #7C3AED; font-size: 20px;
}
.mc-community-body { flex: 1; min-width: 0; }
.mc-community-title { font-size: 15px; font-weight: 700; color: var(--mc-texto); }
.mc-community-sub { font-size: 13px; color: var(--mc-texto-suave); margin-top: 1px; }
.mc-community-link {
    flex-shrink: 0; font-size: 14px; font-weight: 600; color: var(--mc-azul); text-decoration: none;
}
.mc-community-link:hover { color: var(--mc-azul-escuro); text-decoration: none; }
.mc-news-body { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.mc-news-title { font-size: 14px; color: var(--mc-texto); line-height: 1.35; font-weight: 600; }
.mc-news-date { font-size: 12px; color: var(--mc-texto-suave); margin-top: 1px; }
.mc-news-arrow { color: var(--mc-texto-suave); font-size: 12px; flex-shrink: 0; }
#mc-news-modal-body { max-height: 65vh; overflow-y: auto; }
#mc-news-modal-body img { max-width: 100%; height: auto; }

/* route switch dots (carousel of active routes) */
.mc-route-dots { display: flex; gap: 7px; margin-top: 14px; }
.mc-route-dot {
    width: 9px; height: 9px; border-radius: 50%;
    background: rgba(255, 255, 255, .30); border: 0; padding: 0; cursor: pointer;
    transition: background .12s ease, transform .12s ease;
}
.mc-route-dot:hover { background: rgba(255, 255, 255, .55); }
.mc-route-dot.is-active { background: var(--mc-laranja); transform: scale(1.15); }

/* stats (streak / coins / keys) */
.mc-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }
.mc-stat {
    display: flex; flex-direction: column; align-items: center; gap: 3px;
    padding: 12px 6px; border: 1px solid var(--mc-borda); border-radius: var(--mc-raio-sm);
    text-align: center; color: var(--mc-texto); transition: border-color .12s ease, box-shadow .12s ease;
}
.mc-stat:hover { border-color: var(--mc-azul); box-shadow: var(--mc-sombra); color: var(--mc-texto); text-decoration: none; }
.mc-stat-value { font-size: 20px; font-weight: 800; color: var(--mc-ink); line-height: 1.1; }
.mc-stat-value i { color: var(--mc-laranja); font-size: 16px; }
.mc-stat-label { font-size: 11px; color: var(--mc-texto-suave); }
@media (max-width: 480px) {
    .mc-stats { grid-template-columns: repeat(2, 1fr); }
}

/* BePartOfIt page (logged-out student) */
.mc-bepart { padding: 6px 0 28px; }
.mc-bepart-hero {
    display: flex; align-items: center; gap: 24px; flex-wrap: wrap;
    background: linear-gradient(135deg, var(--mc-ink) 0%, #3A2730 100%);
    color: #fff; border-radius: var(--mc-raio); padding: 34px 36px; margin: 6px 0 24px;
    box-shadow: var(--mc-sombra-forte);
}
.mc-bepart-hero-text { flex: 1 1 340px; min-width: 0; }
.mc-bepart-hero .mc-hero-eyebrow { color: #F0A0AC; }
.mc-bepart-title { font-size: 30px; font-weight: 800; margin: 6px 0 10px; color: #fff; letter-spacing: -.5px; }
.mc-bepart-sub { font-size: 15.5px; color: rgba(255, 255, 255, .85); margin: 0 0 20px; max-width: 520px; }
.mc-bepart-hero-img { width: 200px; max-width: 40%; height: auto; flex-shrink: 0; }
.mc-bepart-grid { margin-bottom: 26px; }
.mc-bepart-cta {
    display: flex; align-items: center; justify-content: center; gap: 18px; flex-wrap: wrap;
    background: #fff; border: 1px solid var(--mc-borda); border-radius: var(--mc-raio);
    box-shadow: var(--mc-sombra); padding: 22px; text-align: center;
}
.mc-bepart-cta span { font-size: 16px; font-weight: 700; color: var(--mc-texto); }
@media (max-width: 768px) {
    .mc-bepart-hero { padding: 24px; }
    .mc-bepart-title { font-size: 24px; }
    .mc-bepart-hero-img { display: none; }
}

/* two boxes under the banners (updates | concursos) */
.mc-boxes { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 4px 0 10px; }
@media (max-width: 768px) { .mc-boxes { grid-template-columns: 1fr; } }
.mc-box {
    display: flex; align-items: center; gap: 14px; padding: 18px 20px;
    background: #fff; border: 1px solid var(--mc-borda); border-radius: var(--mc-raio);
    box-shadow: var(--mc-sombra); color: var(--mc-texto);
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.mc-box:hover { transform: translateY(-2px); box-shadow: var(--mc-sombra-forte); border-color: var(--mc-azul); color: var(--mc-texto); text-decoration: none; }
.mc-box-ico {
    width: 48px; height: 48px; border-radius: 12px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: rgba(196, 30, 58, .10); color: var(--mc-azul); font-size: 22px;
}
.mc-box-ico.is-orange { background: rgba(255, 107, 53, .12); color: var(--mc-laranja); }
.mc-box-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.mc-box-title { font-size: 16px; font-weight: 700; color: var(--mc-ink); }
.mc-box-sub { font-size: 13px; color: var(--mc-texto-suave); margin-top: 2px; }
.mc-box-arrow { color: var(--mc-texto-suave); font-size: 13px; flex-shrink: 0; }

/* blog: latest news (loaded client-side from the WordPress API) */
.mc-blog { margin-top: 26px; }
.mc-blog-head { margin-bottom: 18px; }
.mc-blog-title { font-size: 24px; font-weight: 800; color: var(--mc-ink); margin: 0; letter-spacing: -.3px; }
.mc-blog-sub { font-size: 14px; color: var(--mc-texto-suave); margin: 4px 0 0; }
.mc-blog-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.mc-blog-side { display: flex; flex-direction: column; gap: 20px; }
.mc-blog-feature, .mc-blog-item { text-decoration: none; color: var(--mc-texto); }
.mc-blog-img { display: block; border-radius: var(--mc-raio); background-size: cover; background-position: center; background-color: var(--mc-fundo-suave); }
.mc-blog-h { display: block; font-weight: 700; color: var(--mc-ink); line-height: 1.3; }
.mc-blog-x { display: block; color: var(--mc-texto-suave); line-height: 1.5; }
.mc-blog a:hover .mc-blog-h,
.mc-blog-feature:hover .mc-blog-h,
.mc-blog-item:hover .mc-blog-h { color: var(--mc-azul); }

/* feature (left): image on top, text below */
.mc-blog-feature { display: flex; flex-direction: column; }
.mc-blog-feature .mc-blog-img { width: 100%; height: 250px; }
.mc-blog-feature .mc-blog-body { padding: 14px 2px 0; }
.mc-blog-feature .mc-blog-h { font-size: 18px; }
.mc-blog-feature .mc-blog-x { font-size: 13.5px; margin-top: 6px; }

/* smaller items (right): image left, text right */
.mc-blog-item { display: grid; grid-template-columns: 150px 1fr; gap: 16px; align-items: center; }
.mc-blog-item .mc-blog-img { width: 150px; height: 108px; }
.mc-blog-item .mc-blog-h { font-size: 15px; }
.mc-blog-item .mc-blog-x { font-size: 12.5px; margin-top: 5px; }

@media (max-width: 900px) { .mc-blog-grid { grid-template-columns: 1fr; } }
@media (max-width: 480px) {
    .mc-blog-feature .mc-blog-img { height: 190px; }
    .mc-blog-item { grid-template-columns: 110px 1fr; }
    .mc-blog-item .mc-blog-img { width: 110px; height: 82px; }
}
