@charset "UTF-8";

/* =====================================================
   PRÉ-REQUISITOS
===================================================== */

.prerequisites-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.prerequisite-card{
    padding:22px;
    background:var(--color-surface);
    border:1px solid var(--color-border);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-sm);
    transition:.25s;
}

.prerequisite-card:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-md);
}

.prerequisite-label{
    display:inline-block;
    margin-bottom:14px;
    padding:6px 10px;
    border-radius:999px;
    background:var(--color-soft-blue);
    color:var(--color-primary);
    font-size:.78rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.prerequisite-card h3{
    margin-bottom:10px;
}

.prerequisite-card p{
    line-height:1.7;
}

/* =====================================================
   INFO CARD
===================================================== */

.info-card{
    margin:40px 0;
    padding:28px;
    background:var(--color-surface);
    border:1px solid var(--color-border);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-sm);
}

.info-card h3{
    margin-bottom:12px;
}

.info-card p{
    line-height:1.75;
}

/* =====================================================
   CONCEITOS
===================================================== */

.concept-card{
    margin:48px 0;
    padding:30px;
    background:var(--color-surface);
    border:1px solid var(--color-border);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-sm);
}

.concept-card h3{
    margin-bottom:16px;
}

.concept-card>p{
    margin-bottom:20px;
}

.concept-block{
    padding-top:20px;
    margin-top:20px;
    border-top:1px solid var(--color-border);
}

.concept-block h4{
    margin-bottom:10px;
    font-size:1rem;
}

.concept-block p{
    line-height:1.7;
}

.concept-list{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:16px;
}

.concept-list span{
    padding:8px 14px;
    border-radius:999px;
    background:var(--color-soft-blue);
    color:var(--color-primary);
    font-size:.88rem;
    font-weight:600;
}

/* =====================================================
   ERROS COMUNS
===================================================== */

.common-mistakes{
    margin:56px 0;
}

.common-mistakes h2{
    margin-bottom:24px;
}

.mistakes-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.mistakes-grid article{
    padding:24px;
    background:#fff8e8;
    border:1px solid #fde68a;
    border-radius:18px;
    transition:.25s;
}

.mistakes-grid article:hover{
    transform:translateY(-3px);
}

.mistakes-grid h3{
    margin-bottom:12px;
    color:#92400e;
    font-size:1rem;
}

.mistakes-grid p{
    color:#78350f;
    line-height:1.7;
}

/* =====================================================
   VALIDAÇÃO
===================================================== */

.validation-card{
    margin:56px 0;
    padding:34px;
    background:#071b3a;
    border-radius:22px;
    color:#fff;
}

.validation-card h2{
    margin-bottom:14px;
    color:#fff;
}

.validation-card p{
    max-width:900px;
    color:#dbeafe;
    line-height:1.8;
}

.validation-list{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:24px;
}

.validation-list span{
    padding:10px 16px;
    border-radius:999px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    font-weight:600;
}

/* =====================================================
   RESUMO
===================================================== */

.module-summary{
    margin:64px 0;
    padding:34px;
    background:var(--color-surface);
    border:1px solid var(--color-border);
    border-radius:22px;
    box-shadow:var(--shadow-sm);
}

.summary-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:34px;
    margin-top:28px;
}

.summary-grid h3{
    margin-bottom:16px;
}

.summary-grid ul{
    padding-left:20px;
    list-style:disc;
}

.summary-grid li{
    margin-bottom:10px;
    line-height:1.6;
}

/* =====================================================
   LEARNING OPTIONS
===================================================== */

/* =====================================================
   LEARNING OPTIONS
===================================================== */

.learning-options{
    margin:48px 0 64px;
}

.learning-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    margin-top:28px;
}

.learning-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:210px;
    padding:26px;
    background:rgba(255,255,255,.86);
    border:1px solid var(--color-border);
    border-radius:24px;
    box-shadow:var(--shadow-sm);
    transition:.25s;
}

.learning-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-md);
}

.learning-card.featured{
    border-color:rgba(15,126,234,.35);
    background:linear-gradient(180deg,#ffffff,#f4f9ff);
}

.learning-card.featured::after{
    content:"Recomendado";
    position:absolute;
    top:22px;
    right:22px;
    padding:6px 10px;
    border-radius:999px;
    background:var(--color-primary);
    color:#fff;
    font-size:.72rem;
    font-weight:700;
}

.learning-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    margin-bottom:20px;
    border-radius:14px;
    background:var(--color-soft-blue);
    color:var(--color-primary);
    font-size:.9rem;
    font-weight:800;
}

.learning-card h3{
    margin-bottom:12px;
    color:var(--color-dark);
}

.learning-card p{
    flex:1;
    color:var(--color-text);
    line-height:1.65;
}

.learning-card a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    min-height:40px;
    margin-top:20px;
    padding:0 16px;
    border-radius:999px;
    background:var(--color-soft-blue);
    color:var(--color-primary);
    font-weight:700;
    transition:.25s;
}

.learning-card a:hover{
    background:var(--color-primary);
    color:#fff;
}

.learning-card a:focus-visible,
.module-card a:focus-visible{
    outline:3px solid var(--color-primary);
    outline-offset:3px;
}

/* =====================================================
   TRAINING PAGE
===================================================== */

.training-section{
    margin:72px 0;
}

/* =========================
   Jornada
========================= */

.training-path{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
    margin-top:30px;
}

.path-card{
    position:relative;
    padding:28px;
    background:var(--color-surface);
    border:1px solid var(--color-border);
    border-radius:24px;
    box-shadow:var(--shadow-sm);
    transition:.25s;
}

.path-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-md);
}

.path-card.active{
    border-color:rgba(15,126,234,.35);
    background:linear-gradient(180deg,#ffffff,#f5faff);
}

.path-card span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    margin-bottom:18px;
    border-radius:14px;
    background:var(--color-soft-blue);
    color:var(--color-primary);
    font-weight:700;
}

.path-card h3{
    margin-bottom:10px;
}

.path-card p{
    color:var(--color-text);
    line-height:1.7;
}

/* =========================
   Grid de módulos
========================= */

.module-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    margin-top:32px;
}

.training-section--catalog{
    padding:40px;
    border:1px solid rgba(227,235,245,.9);
    border-radius:32px;
    background:rgba(255,255,255,.38);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}

.module-grid--catalog{
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
}

.module-grid--upcoming{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.module-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:30px;
    background:var(--color-surface);
    border:1px solid var(--color-border);
    border-radius:24px;
    box-shadow:var(--shadow-sm);
    transition:.25s;
}

.module-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow-md);
}

.module-card h3{
    margin-bottom:14px;
    color:var(--color-dark);
}

.module-card p{
    flex:1;
    color:var(--color-text);
    line-height:1.7;
}

.module-card span{
    margin:18px 0;
    color:var(--color-primary);
    font-size:.84rem;
    font-weight:700;
}

.module-card a{
    display:inline-flex;
    align-items:center;
    width:max-content;
    padding:10px 16px;
    border-radius:999px;
    background:var(--color-soft-blue);
    color:var(--color-primary);
    font-weight:700;
    transition:.25s;
}

.module-card a:hover{
    background:var(--color-primary);
    color:#fff;
}

.module-card a::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:24px;
}

.module-card:focus-within{
    border-color:rgba(13,91,255,.46);
    box-shadow:0 0 0 4px rgba(13,91,255,.1),var(--shadow-md);
}

.module-card--upcoming{
    min-height:0;
    padding:24px;
    border-style:dashed;
    border-color:#CAD8EA;
    background:rgba(255,255,255,.62);
    box-shadow:none;
}

.module-card--upcoming:hover{
    transform:none;
    box-shadow:none;
}

.module-card--upcoming h3{
    margin-bottom:10px;
}

.module-card--upcoming p{
    flex:0;
}

.module-card--upcoming .module-status{
    align-self:flex-start;
    margin:0 0 14px;
    padding:6px 10px;
    border-radius:999px;
    background:var(--color-soft-blue);
    color:var(--color-text);
    font-size:.74rem;
    font-weight:700;
}

/* =====================================================
   CENTRAL DE AJUDA
===================================================== */

.help-center-section{
    margin:72px 0;
    padding:40px;
    border:1px solid rgba(227,235,245,.9);
    border-radius:32px;
    background:rgba(255,255,255,.5);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.86),
        var(--shadow-sm);
}

.help-center-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-top:30px;
    padding:18px;
    border:1px solid var(--color-border);
    border-radius:22px;
    background:rgba(248,251,255,.9);
}

.help-center-filters{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.help-center-filter{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:42px;
    padding:0 15px;
    border:1px solid var(--color-border);
    border-radius:999px;
    background:var(--color-surface);
    color:var(--color-text);
    font:inherit;
    font-size:.86rem;
    font-weight:700;
    cursor:pointer;
    transition:
        color var(--transition-normal),
        background var(--transition-normal),
        border-color var(--transition-normal),
        box-shadow var(--transition-normal),
        transform var(--transition-normal);
}

.help-center-filter span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:24px;
    height:24px;
    padding:0 6px;
    border-radius:999px;
    background:var(--color-soft-blue);
    color:var(--color-primary);
    font-size:.74rem;
}

.help-center-filter:hover{
    border-color:rgba(13,91,255,.35);
    color:var(--color-primary);
    transform:translateY(-1px);
}

.help-center-filter:disabled{
    opacity:.5;
    cursor:not-allowed;
}

.help-center-filter:disabled:hover{
    border-color:var(--color-border);
    color:var(--color-text);
    transform:none;
}

.help-center-filter.is-active{
    border-color:var(--color-primary);
    background:var(--color-primary);
    color:#fff;
    box-shadow:0 10px 24px rgba(13,91,255,.2);
}

.help-center-filter.is-active span{
    background:rgba(255,255,255,.18);
    color:#fff;
}

.help-center-filter:focus-visible{
    outline:3px solid var(--color-primary);
    outline-offset:3px;
}

.help-center-results-count{
    flex:0 0 auto;
    margin:0;
    color:var(--color-text);
    font-size:.86rem;
}

.help-center-results-count strong{
    color:var(--color-dark);
    font-size:1rem;
}

.help-center-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
    margin-top:24px;
}

.help-topic-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    min-height:330px;
    padding:26px;
    border:1px solid var(--color-border);
    border-radius:24px;
    background:var(--color-surface);
    box-shadow:var(--shadow-sm);
    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal),
        border-color var(--transition-normal);
}

.help-topic-card:hover{
    transform:translateY(-4px);
    border-color:rgba(13,91,255,.28);
    box-shadow:var(--shadow-md);
}

.help-topic-card--featured{
    border-color:rgba(13,91,255,.36);
    background:linear-gradient(180deg,#FFFFFF 0%,#F4F8FF 100%);
}

.help-topic-card__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:22px;
}

.help-topic-card__category,
.help-topic-card__status{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    font-size:.72rem;
    font-weight:800;
}

.help-topic-card__category{
    background:var(--color-soft-blue);
    color:var(--color-primary);
}

.help-topic-card__status{
    background:#EAF8F0;
    color:#167A45;
}

.help-topic-card--featured .help-topic-card__status{
    background:var(--color-primary);
    color:#fff;
}

.help-topic-card h3{
    margin-bottom:12px;
    color:var(--color-dark);
    font-size:1.2rem;
}

.help-topic-card > p{
    flex:1;
    margin:0;
    color:var(--color-text);
    font-size:.92rem;
    line-height:1.65;
}

.help-topic-card__topics{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:20px 0;
}

.help-topic-card__topics li{
    padding:6px 9px;
    border:1px solid var(--color-border);
    border-radius:999px;
    background:#F8FBFF;
    color:var(--color-text);
    font-size:.72rem;
    font-weight:650;
}

.help-topic-card a{
    display:inline-flex;
    align-items:center;
    width:max-content;
    color:var(--color-primary);
    font-size:.88rem;
    font-weight:800;
}

.help-topic-card a::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:24px;
}

.help-topic-card:focus-within{
    border-color:rgba(13,91,255,.46);
    box-shadow:0 0 0 4px rgba(13,91,255,.1),var(--shadow-md);
}

.help-topic-card a:focus-visible{
    outline:3px solid var(--color-primary);
    outline-offset:4px;
}

.help-empty-state{
    margin-top:24px;
    padding:36px;
    border:1px dashed rgba(13,91,255,.32);
    border-radius:22px;
    background:#F8FBFF;
    text-align:center;
}

.help-empty-state h3{
    margin-bottom:8px;
    color:var(--color-dark);
}

.help-empty-state p{
    margin:0 0 20px;
    color:var(--color-text);
}

.help-search-page{
    max-width:1280px;
    margin:40px auto 72px;
    padding:48px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

.help-search-page [hidden]{
    display:none;
}

.help-search-page__header{
    max-width:800px;
    margin-bottom:28px;
}

.help-search-page__header h1{
    margin:14px 0 12px;
    color:var(--color-dark);
    font-size:clamp(2rem,4vw,3.2rem);
    line-height:1.08;
}

.help-search-page__header p{
    margin:0;
    color:var(--color-text);
    font-size:1rem;
    line-height:1.7;
}

.help-search-page.is-searching .help-search-page__header{
    margin-bottom:16px;
}

.help-search-page.is-searching .help-search-page__header .section-tag,
.help-search-page.is-searching .help-search-page__header p{
    display:none;
}

.help-search-page.is-searching .help-search-page__header h1{
    margin:0;
    font-size:1.05rem;
}

.help-page-search{
    max-width:980px;
}

.help-page-search label{
    display:block;
    margin-bottom:9px;
    color:var(--color-dark);
    font-size:.82rem;
    font-weight:800;
}

.help-page-search__field{
    display:flex;
    align-items:stretch;
    min-height:58px;
    overflow:hidden;
    border:1px solid var(--color-border);
    border-radius:18px;
    background:var(--color-surface);
    box-shadow:0 12px 32px rgba(31,78,145,.1);
    transition:
        border-color var(--transition-normal),
        box-shadow var(--transition-normal);
}

.help-page-search__field:focus-within{
    border-color:var(--color-primary);
    box-shadow:0 0 0 4px rgba(13,91,255,.1),0 16px 38px rgba(31,78,145,.14);
}

.help-page-search__field input{
    flex:1;
    min-width:0;
    padding:0 20px;
    border:0;
    outline:0;
    background:transparent;
    color:var(--color-dark);
    font:inherit;
    font-size:1rem;
}

.help-page-search__field input::placeholder{
    color:var(--color-text-light);
}

.help-page-search__field button{
    min-width:132px;
    padding:0 22px;
    border:0;
    background:var(--color-primary);
    color:#fff;
    font:inherit;
    font-size:.9rem;
    font-weight:800;
    cursor:pointer;
    transition:background var(--transition-normal);
}

.help-page-search__field button:hover{
    background:var(--color-primary-dark);
}

.help-page-search__field button:focus-visible{
    outline:3px solid var(--color-dark);
    outline-offset:-6px;
}

.help-search-page .help-center-toolbar{
    max-width:1120px;
}

.help-search-page.is-searching .help-center-toolbar{
    max-width:980px;
}

.help-search-results{
    max-width:980px;
    margin-top:28px;
    padding:0 2px;
}

.help-search-results__header{
    padding-bottom:20px;
    border-bottom:1px solid var(--color-border);
}

.help-search-results__header h2{
    margin:0;
    color:var(--color-dark);
    font-size:clamp(1.35rem,2.4vw,1.85rem);
}

.help-search-results__list{
    display:grid;
}

.help-search-result{
    padding:24px 2px;
    border-bottom:1px solid var(--color-border);
}

.help-search-result:last-child{
    padding-bottom:4px;
    border-bottom:0;
}

.help-search-result__source{
    display:block;
    margin:0 0 7px;
    color:var(--color-text-light);
    font-size:.78rem;
    font-weight:700;
}

.help-search-result__excerpt{
    display:block;
    max-width:780px;
    margin:0;
    color:var(--color-text);
    font-size:.94rem;
    line-height:1.65;
}

.help-search-result--faq{
    padding:0;
}

.help-search-result__summary{
    position:relative;
    display:block;
    padding:24px 48px 24px 2px;
    list-style:none;
    cursor:pointer;
}

.help-search-result__summary::-webkit-details-marker{
    display:none;
}

.help-search-result__summary::after{
    content:"⌄";
    position:absolute;
    top:32px;
    right:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:var(--color-soft-blue);
    color:var(--color-primary);
    font-size:1.1rem;
    font-weight:800;
    transition:transform var(--transition-normal);
}

.help-search-result--faq[open] .help-search-result__summary::after{
    transform:rotate(180deg);
}

.help-search-result__summary:focus-visible{
    outline:3px solid var(--color-primary);
    outline-offset:3px;
    border-radius:12px;
}

.help-search-result__question{
    display:block;
    margin-bottom:8px;
    color:var(--color-primary);
    font-size:1.2rem;
    line-height:1.35;
}

.help-search-answer{
    margin:0 0 24px;
    padding:24px;
    border:1px solid var(--color-border);
    border-radius:18px;
    background:#F8FBFF;
}

.help-search-answer__intro{
    margin:0 0 20px;
    color:var(--color-text);
    line-height:1.7;
}

.help-search-answer__groups{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.help-search-answer__groups--single{
    grid-template-columns:minmax(0,1fr);
    max-width:780px;
}

.help-search-answer__group{
    min-width:0;
    padding:18px;
    border:1px solid var(--color-border);
    border-radius:16px;
    background:var(--color-surface);
}

.help-search-answer__group h4{
    margin:0 0 9px;
    color:var(--color-dark);
    font-size:.98rem;
}

.help-search-answer__group p{
    margin:0;
    color:var(--color-text);
    font-size:.9rem;
    line-height:1.6;
}

.help-search-answer__path{
    margin-bottom:14px !important;
    color:var(--color-primary) !important;
    font-weight:750;
}

.help-search-answer__group ol{
    display:grid;
    gap:9px;
    margin:0;
    padding-left:20px;
}

.help-search-answer__group li{
    color:var(--color-text);
    font-size:.9rem;
    line-height:1.55;
}

.help-search-answer__note{
    margin:18px 0 0;
    padding:13px 15px;
    border-left:4px solid var(--color-primary);
    border-radius:0 12px 12px 0;
    background:var(--color-soft-blue);
    color:var(--color-text);
    font-size:.9rem;
    line-height:1.6;
}

.help-learning-suggestion{
    margin-top:30px;
    padding:24px 26px;
    border-left:4px solid var(--color-primary);
    border-radius:0 18px 18px 0;
    background:var(--color-soft-blue);
}

.help-learning-suggestion h3{
    margin:0 0 16px;
    color:var(--color-dark);
    font-size:1.05rem;
    line-height:1.45;
}

.help-learning-suggestion__link{
    display:block;
    max-width:760px;
    color:var(--color-dark);
}

.help-learning-suggestion__label,
.help-learning-suggestion__title,
.help-learning-suggestion__excerpt{
    display:block;
}

.help-learning-suggestion__label{
    margin-bottom:6px;
    color:var(--color-primary);
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.help-learning-suggestion__title{
    margin-bottom:7px;
    color:var(--color-primary);
    font-size:1.08rem;
    line-height:1.4;
}

.help-learning-suggestion__title::after{
    content:" →";
}

.help-learning-suggestion__excerpt{
    color:var(--color-text);
    font-size:.9rem;
    line-height:1.6;
}

.help-learning-suggestion__link:hover .help-learning-suggestion__title{
    text-decoration:underline;
    text-underline-offset:4px;
}

.help-learning-suggestion__link:focus-visible{
    outline:3px solid var(--color-primary);
    outline-offset:5px;
    border-radius:6px;
}
