/* ============================================================================
   patris-modern.css — camada visual moderna da intranet (08/2026)
   Carregado no layout depois de global-tables-filters.css.
   Paleta da marca: var(--pm-primary) (primário) · var(--pm-primary-dark) (secundário) · #074982
   Tipografia: Nunito (carregada no layout), fallback system-ui.
   ============================================================================ */

:root {
    --pm-primary: #005d90;
    --pm-primary-dark: #013552;
    --pm-primary-soft: #e8f2f8;
    --pm-bg: #f0f4f8;
    --pm-card: #ffffff;
    --pm-border: #e3eaf2;
    --pm-border-soft: #edf2f7;
    --pm-text: #1e3a52;
    --pm-muted: #64748b;
    --pm-faint: #94a3b8;
    --pm-radius: 14px;
    --pm-radius-sm: 10px;
    --pm-shadow: 0 1px 2px rgba(15, 40, 70, .04), 0 4px 16px rgba(15, 40, 70, .06);
    --pm-shadow-hover: 0 2px 4px rgba(15, 40, 70, .06), 0 10px 28px rgba(15, 40, 70, .10);
    --pm-green-soft: #e5f5ee;
    --pm-amber-soft: #fdf3dd;
    --pm-red-soft: #fdeaea;
    --pm-purple-soft: #f1eefc;
}

/* ---- Base ---------------------------------------------------------------- */
body {
    background: var(--pm-bg) !important;
    font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    color: var(--pm-text);
}
a { text-decoration: none; }
a:hover { text-decoration: underline; }
.btn, .nav-link, .dropdown-item, .breadcrumb a, .page-link,
a.card, a.hf-card, a.menu-hub-folder, a.side-kpi { text-decoration: none !important; }

h1, h2, h3, h4, h5, .card-header, .modal-title {
    font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Scrollbars discretos */
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #c7d2de; border-radius: 8px; border: 2px solid var(--pm-bg); }
::-webkit-scrollbar-thumb:hover { background: #a8b8c8; }

/* ---- Sidebar ------------------------------------------------------------- */
.wrapper .sidebar {
    background: linear-gradient(180deg, var(--pm-primary) 0%, var(--pm-primary-dark, #074982) 99%);
    box-shadow: 2px 0 18px rgba(1, 53, 82, .18);
    box-shadow: 2px 0 18px color-mix(in srgb, var(--pm-primary-dark, #013552) 18%, transparent);
    border: 0;
}
.sidebar .nav-item .nav-link,
.sidebar.sidebar-minimal .nav-item .nav-link {
    border-radius: 12px;
    margin: 2px 10px;
    padding: .55rem .65rem;
    transition: background .15s ease, transform .15s ease;
}
.sidebar .nav-item .nav-link:hover,
.sidebar.sidebar-minimal .nav-item .nav-link:hover {
    background: rgba(255, 255, 255, .14);
    transform: translateX(1px);
}
.sidebar .nav-item .nav-link i { opacity: .92; }
.sidebar-topmode-toggle button { border-radius: 10px; }

/* ---- Navbar topo --------------------------------------------------------- */
.navbar-top {
    background: rgba(255, 255, 255, .92) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 1px 0 var(--pm-border), 0 6px 24px rgba(15, 40, 70, .05) !important;
}
.navbar-top .nav-link { color: var(--pm-text); border-radius: 10px; }
.navbar-top .nav-link:hover { background: var(--pm-primary-soft); color: var(--pm-primary); }
.navbar-top .unit-selector-trigger {
    border: 1px solid var(--pm-border);
    border-radius: 999px;
    padding: .4rem .95rem !important;
    font-weight: 700;
    font-size: .85rem;
    color: var(--pm-primary-dark);
    background: #fff;
}
.navbar-top .unit-selector-trigger:hover { border-color: var(--pm-primary); background: var(--pm-primary-soft); }
.navbar-top .dropdown-menu {
    border: 1px solid var(--pm-border);
    border-radius: 14px;
    box-shadow: var(--pm-shadow-hover);
    padding: .4rem;
    overflow: hidden;
}
.navbar-top .dropdown-menu .dropdown-item { border-radius: 9px; padding: .5rem .8rem; font-size: .9rem; }
.navbar-top .dropdown-menu .dropdown-item:hover { background: var(--pm-primary-soft); color: var(--pm-primary-dark); }
.navbar-top .dropdown-menu .dropdown-item.active { background: var(--pm-primary); }

/* Faixa de saudação padrão (páginas internas; a home usa hero próprio) */
.user-greeting-block {
    background: transparent;
    border-bottom: 0;
    padding-bottom: .25rem;
}
.user-greeting-block .user-greeting-date { font-size: .8rem; color: var(--pm-faint); margin-bottom: 0; }
.user-greeting-block .user-greeting-text { font-size: 1.05rem; font-weight: 800; color: var(--pm-primary-dark); }

/* ---- Cards --------------------------------------------------------------- */
.content-page .card {
    border: 1px solid var(--pm-border) !important;
    border-radius: var(--pm-radius) !important;
    box-shadow: var(--pm-shadow) !important;
    overflow: hidden;
}
.content-page .card .card-header {
    background: #fff !important;
    color: var(--pm-primary-dark) !important;
    font-weight: 800;
    font-size: .98rem;
    border-bottom: 1px solid var(--pm-border-soft) !important;
    padding: .9rem 1.15rem;
}
.content-page .card .card-header i { color: var(--pm-primary); }
.content-page .card .card-footer {
    background: #fbfcfe !important;
    border-top: 1px solid var(--pm-border-soft) !important;
}

/* ---- Formulários ---------------------------------------------------------- */
.content-page .form-control,
.content-page .form-select,
.content-page .card .form-control,
.content-page .card textarea.form-control,
.content-page .card select.form-control {
    border-radius: var(--pm-radius-sm) !important;
    border: 1px solid #d4dee9 !important;
    padding: .5rem .8rem !important;
    box-shadow: none !important;
    background-color: #fff;
    color: var(--pm-text);
    transition: border-color .15s ease, box-shadow .15s ease;
}
.content-page .form-control:focus,
.content-page .form-select:focus,
.content-page .card .form-control:focus,
.content-page .card select.form-control:focus {
    border-color: var(--pm-primary) !important;
    box-shadow: 0 0 0 3px rgba(0, 93, 144, .14) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pm-primary, #005d90) 14.0%, transparent) !important;
}
.content-page label { font-weight: 700; font-size: .82rem; color: #3d5875; }
.content-page .form-check-input:checked { background-color: var(--pm-primary); border-color: var(--pm-primary); }

/* ---- Botões --------------------------------------------------------------- */
.content-page .btn {
    border-radius: var(--pm-radius-sm);
    font-weight: 700;
    letter-spacing: .01em;
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.content-page .btn:active { transform: scale(.98); }
.content-page .btn-primary,
.content-page .card .btn-primary {
    background: var(--pm-primary) !important;
    border-color: var(--pm-primary) !important;
}
.content-page .btn-primary:hover,
.content-page .card .btn-primary:hover {
    background: var(--pm-primary-dark) !important;
    border-color: var(--pm-primary-dark) !important;
    box-shadow: 0 6px 16px rgba(0, 93, 144, .28);
    box-shadow: 0 6px 16px color-mix(in srgb, var(--pm-primary, #005d90) 28.0%, transparent);
}
.content-page .btn-outline-primary { color: var(--pm-primary); border-color: #bcd4e4; }
.content-page .btn-outline-primary:hover { background: var(--pm-primary); border-color: var(--pm-primary); }
.content-page .btn-outline-secondary { border-color: #ccd8e4; color: #51677e; }
.content-page .btn-outline-secondary:hover { background: #eef3f8; color: var(--pm-primary-dark); border-color: #ccd8e4; }
.content-page .btn-light { background: #eef3f8; border-color: #eef3f8; color: var(--pm-primary-dark); }

/* ---- Tabelas -------------------------------------------------------------- */
.content-page .card table thead th,
.content-page .card .table thead th {
    background: #f7fafc !important;
    color: var(--pm-muted) !important;
    font-size: .7rem !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: .07em;
    border-bottom: 1px solid var(--pm-border) !important;
    padding: .7rem 1rem !important;
}
.content-page .card .table tbody td {
    padding: .75rem 1rem;
    font-size: .875rem;
    color: var(--pm-text);
    border-color: var(--pm-border-soft) !important;
    vertical-align: middle;
}
.content-page .card .table tbody tr:nth-child(even) { background: #fbfcfe; }
.content-page .card .table-hover tbody tr:hover { background: var(--pm-primary-soft) !important; }

/* ---- Breadcrumb ----------------------------------------------------------- */
.content-page .breadcrumb {
    background: transparent;
    padding: 0;
    font-size: .8rem;
    font-weight: 600;
}
.content-page .breadcrumb a { color: var(--pm-muted); }
.content-page .breadcrumb a:hover { color: var(--pm-primary); }
.content-page .breadcrumb .breadcrumb-item.active { color: var(--pm-primary-dark); font-weight: 800; }

/* ---- Paginação ------------------------------------------------------------ */
.content-page .pagination .page-link {
    border: 1px solid var(--pm-border);
    color: var(--pm-primary-dark);
    border-radius: 9px;
    margin: 0 2px;
    font-weight: 700;
    font-size: .85rem;
}
.content-page .pagination .page-item.active .page-link {
    background: var(--pm-primary);
    border-color: var(--pm-primary);
    color: #fff;
}

/* ---- Alerts / badges ------------------------------------------------------- */
.content-page .alert { border-radius: var(--pm-radius-sm); border: 0; }
.content-page .alert-warning { background: var(--pm-amber-soft); color: #8a5d00; }
.content-page .alert-info { background: var(--pm-primary-soft); color: var(--pm-primary-dark); }
.content-page .alert-danger { background: var(--pm-red-soft); color: #a02531; }
.content-page .alert-success { background: var(--pm-green-soft); color: #0d6a42; }
.content-page .badge { font-weight: 700; border-radius: 7px; letter-spacing: .01em; }

/* Chip de ícone pastel para títulos de seção (uso nas telas novas) */
.pm-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 11px;
    background: var(--pm-primary-soft);
    color: var(--pm-primary);
    font-size: .95rem;
    flex: none;
}
.pm-icon--green { background: var(--pm-green-soft); color: #198754; }
.pm-icon--amber { background: var(--pm-amber-soft); color: #b07c08; }
.pm-icon--red { background: var(--pm-red-soft); color: #dc3545; }
.pm-icon--purple { background: var(--pm-purple-soft); color: #6d55d4; }

/* ---- Hub de menus (cards de módulos) --------------------------------------- */
.menu-hub-page .menu-hub-title { color: var(--pm-primary-dark); font-weight: 800; }
.menu-hub-grid .menu-hub-folder {
    border: 1px solid var(--pm-border) !important;
    border-radius: var(--pm-radius) !important;
    box-shadow: var(--pm-shadow) !important;
    transition: transform .15s ease, box-shadow .15s ease;
    background: #fff;
}
.menu-hub-grid .menu-hub-folder:hover {
    transform: translateY(-3px);
    box-shadow: var(--pm-shadow-hover) !important;
    border-color: var(--pm-primary, #c4d8e6) !important;
}

/* ---- Modais ---------------------------------------------------------------- */
.modal-content { border: 0; border-radius: 16px; box-shadow: 0 24px 64px rgba(1, 53, 82, .25); }
.modal-header { border-bottom: 1px solid var(--pm-border-soft); }
.modal-header .modal-title { font-weight: 800; color: var(--pm-primary-dark); }
.modal-footer { border-top: 1px solid var(--pm-border-soft); }

/* ---- Footer ---------------------------------------------------------------- */
footer.footer { color: var(--pm-faint); font-size: .8rem; }

/* ---- Dropdowns genéricos ---------------------------------------------------- */
.content-page .dropdown-menu {
    border: 1px solid var(--pm-border);
    border-radius: 12px;
    box-shadow: var(--pm-shadow-hover);
    padding: .35rem;
}
.content-page .dropdown-menu .dropdown-item { border-radius: 8px; font-size: .9rem; }
.content-page .dropdown-menu .dropdown-item:hover { background: var(--pm-primary-soft); color: var(--pm-primary-dark); }

/* ---- Barra superior branca (modo menu no topo) ----------------------------- */
/* O modo "sidebarTopMode" vira a navbar clara do redesign: fundo branco,
   links de texto escuros, logo colorido, controles do navbar na mesma linha. */
body.sidebarTopMode .wrapper .sidebar {
    background: #fff !important;
    height: 64px;
    box-shadow: 0 1px 0 var(--pm-border), 0 6px 24px rgba(15, 40, 70, .05) !important;
}
.sidebar .logo .logo-color { display: none; }
body.sidebarTopMode .wrapper .sidebar .logo .logo-full { display: none !important; }
body.sidebarTopMode .wrapper .sidebar .logo .logo-color {
    display: block !important;
    height: 38px;
    width: auto;
}
body.sidebarTopMode .wrapper .sidebar { justify-content: flex-start; }
body.sidebarTopMode #sidebar-topmode-nav {
    height: 64px;
    justify-content: flex-start;
    /* ancorado após o logo; reserva espaço p/ unidade/agenda/sino/avatar à direita */
    margin-left: 170px;
    max-width: calc(100% - 170px - 480px);
    gap: .15rem;
}
@media (max-width: 1500px) {
    body.sidebarTopMode #sidebar-topmode-nav .nav-item a.nav-link { padding: .5rem .55rem; font-size: .8rem; }
    body.sidebarTopMode #sidebar-topmode-nav .nav-item a.nav-link i { display: none; }
}


body.sidebarTopMode #sidebar-topmode-nav .nav-item a.nav-link {
    flex-direction: row;
    align-items: center;
    gap: .45rem;
    color: #33465c !important;
    font-weight: 700;
    padding: .5rem .9rem;
    border-radius: 999px;
    margin: 0;
    transform: none !important;
}
body.sidebarTopMode #sidebar-topmode-nav .nav-item a.nav-link i {
    font-size: .85rem;
    color: var(--pm-primary);
    opacity: 1;
}
body.sidebarTopMode #sidebar-topmode-nav .nav-item a.nav-link span.title {
    font-size: .86rem;
    margin-top: 0;
    display: inline;
}
body.sidebarTopMode #sidebar-topmode-nav .nav-item a.nav-link:hover {
    background: var(--pm-primary-soft);
    color: var(--pm-primary) !important;
}
/* Controles (unidade, agenda, alertas, usuário) sobem para a mesma linha do menu */
body.sidebarTopMode .wrapper .content-page .navbar-top {
    top: 0;
    left: auto;
    right: 0;
    width: auto;
    min-height: 64px;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    z-index: 1003;
}
body.sidebarTopMode .wrapper .content-page { margin-top: 64px; }
/* O banner de logo/título do site fica escondido atrás da barra fixa no modo
   menu-no-topo — só empurrava a página para baixo (65px de espaço vazio). */
body.sidebarTopMode .site-banner { display: none; }
/* Saudação volta ao fluxo normal da página (sem sobrepor o conteúdo) */
body.sidebarTopMode .user-greeting-block {
    position: static !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 1rem 24px .25rem !important;
    pointer-events: auto !important;
    display: block !important;
}
/* Na home o hero assume a saudação — em qualquer modo de menu */
body.home .user-greeting-block { display: none !important; }

/* Avatar com iniciais no navbar */
.user-avatar-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 50%;
    background: var(--pm-primary-soft);
    color: var(--pm-primary);
    font-weight: 800;
    font-size: .78rem;
    letter-spacing: .02em;
}
.navbar-top .user-menu-icon-only::after { display: none; }

/* Botão flutuante Fala Colaborador — verde, como no redesign */
.floating-btn-text {
    background: #199d68 !important;
    border-color: #199d68 !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-weight: 800;
    box-shadow: 0 10px 26px rgba(20, 130, 90, .35) !important;
}
.floating-btn-text:hover {
    background: #127a50 !important;
    border-color: #127a50 !important;
}

/* ---- Select2 alinhado ao form-control --------------------------------------- */
.content-page .select2-container--bootstrap-5 .select2-selection,
.content-page .select2-container .select2-selection--single,
.content-page .select2-container .select2-selection--multiple {
    border-radius: var(--pm-radius-sm) !important;
    border: 1px solid #d4dee9 !important;
    min-height: calc(1.5em + 1rem + 2px);
}

/* ---- Responsivo (celular/tablet): cabeçalho em duas linhas ----------------- */
@media (max-width: 991.98px) {
    body.sidebarTopMode { overflow-x: hidden; }
    body.sidebarTopMode .wrapper .sidebar {
        height: 56px;
        overflow: visible;
    }
    body.sidebarTopMode .wrapper .sidebar .logo { left: .6rem; }
    body.sidebarTopMode .wrapper .sidebar .logo .logo-color { height: 28px; }
    /* Menu rolável na horizontal ao lado do logo */
    body.sidebarTopMode #sidebar-topmode-nav {
        margin-left: 112px;
        max-width: calc(100% - 118px);
        height: 56px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
    }
    body.sidebarTopMode #sidebar-topmode-nav .nav-item a.nav-link {
        padding: .4rem .55rem;
        font-size: .78rem;
    }
    /* Controles (unidade, agenda, sino, avatar) descem para a segunda linha */
    body.sidebarTopMode .wrapper .content-page .navbar-top {
        top: 56px;
        left: 0;
        right: 0;
        width: 100%;
        min-height: 48px;
        background: #fff !important;
        box-shadow: 0 1px 0 var(--pm-border) !important;
        padding: 0 4px;
        z-index: 1001;
    }
    body.sidebarTopMode .wrapper .content-page .navbar-top .navbar-nav {
        width: 100%;
        justify-content: flex-end;
        padding: .3rem .5rem !important;
    }
    body.sidebarTopMode .wrapper .content-page { margin-top: 104px; }
    body.sidebarTopMode .user-greeting-block { padding: .75rem 16px 0 !important; }
    /* Nome da unidade nunca estoura a linha */
    .navbar-top .unit-selector-trigger { padding: .3rem .7rem !important; font-size: .78rem; }
    .navbar-top .unit-selector-label {
        display: inline-block;
        max-width: 150px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        vertical-align: middle;
    }
    /* Dropdowns sempre dentro da tela */
    .navbar-top .dropdown-menu {
        max-width: calc(100vw - 16px);
        overflow-x: hidden;
    }
    .navbar-top .dropdown-menu .dropdown-item {
        white-space: normal;
        word-break: break-word;
    }
}

@media (max-width: 575.98px) {
    body .content-page .container-fluid { padding-left: 10px; padding-right: 10px; }
    .content-page .card .card-header { padding: .75rem .85rem; }
    .pm-icon { width: 1.8rem; height: 1.8rem; font-size: .8rem; }
}

/* ==========================================================================
   Carrossel de imagens do banner das postagens (home e página da postagem)
   ========================================================================== */
.pg-galeria { position: relative; background: #0a3550; overflow: hidden; }
.pg-galeria .pg-slide { display: none; }
.pg-galeria .pg-slide.is-ativa { display: block; }
.pg-galeria .pg-slide img { width: 100%; display: block; }
.pg-galeria .pg-nav {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 2.1rem; height: 2.1rem; border: 0; border-radius: 50%;
    background: rgba(1, 53, 82, .5); color: #fff; cursor: pointer;
    background: color-mix(in srgb, var(--pm-primary-dark, #013552) 50%, transparent); color: #fff; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: .75rem; opacity: 0; transition: opacity .15s, background .15s;
    z-index: 2;
}
.pg-galeria:hover .pg-nav, .pg-galeria:focus-within .pg-nav { opacity: 1; }
.pg-galeria .pg-nav:hover { background: rgba(1, 53, 82, .85); }
.pg-galeria .pg-ant { left: .6rem; }
.pg-galeria .pg-prox { right: .6rem; }
.pg-galeria .pg-pontos {
    position: absolute; bottom: .6rem; left: 0; right: 0; z-index: 2;
    display: flex; justify-content: center; gap: .3rem;
}
.pg-galeria .pg-pontos span {
    width: 7px; height: 7px; border-radius: 50%; cursor: pointer;
    background: rgba(255, 255, 255, .55); transition: width .15s, background .15s;
}
.pg-galeria .pg-pontos span.is-ativa { background: #fff; width: 18px; border-radius: 999px; }

/* No toque não existe hover: as setas ficam sempre visíveis. */
@media (hover: none) {
    .pg-galeria .pg-nav { opacity: 1; }
}

/* ==========================================================================
   Banner de curso recente na home (entre Postagens e Informativos)
   ========================================================================== */
.curso-banner {
    display: grid;
    grid-template-columns: minmax(0, 38%) minmax(0, 1fr);
    gap: 1.6rem;
    align-items: center;
    padding: 1.5rem;
    border-radius: 16px;
    border: 1px solid #edf2f7;
    background: linear-gradient(115deg, #eef6f1 0%, #f4f6f6 45%, #f7eef7 100%);
}
.curso-arte {
    display: block;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    aspect-ratio: 16/9;
    box-shadow: 0 1px 2px rgba(1, 53, 82, .05), 0 8px 22px rgba(1, 53, 82, .07);
    box-shadow: 0 1px 2px color-mix(in srgb, var(--pm-primary-dark, #013552) 5%, transparent), 0 8px 22px color-mix(in srgb, var(--pm-primary-dark, #013552) 7.0%, transparent);
}
.curso-arte img { width: 100%; height: 100%; object-fit: contain; display: block; }
.curso-arte-vazia {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--pm-primary, #005d90), var(--pm-primary-dark, #013552));
    color: #fff; font-size: 2.2rem;
}
.curso-texto { min-width: 0; }
.curso-selo {
    display: inline-flex; align-items: center; gap: .45rem;
    background: #fff; border: 1px solid #e3eaf2; border-radius: 999px;
    padding: .35rem .9rem; margin-bottom: .8rem;
    font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase;
    color: #198754;
}
.curso-titulo { font-size: 1.6rem; font-weight: 800; line-height: 1.2; margin: 0 0 .5rem; }
.curso-titulo a { color: var(--pm-primary-dark, #013552); text-decoration: none; }
.curso-titulo a:hover { text-decoration: underline; }
.curso-desc { font-size: .95rem; color: #51677e; line-height: 1.55; margin: 0 0 .9rem; }
.curso-chips { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1.1rem; }
.curso-chip {
    display: inline-flex; align-items: center; gap: .4rem;
    background: #fff; border: 1px solid #e3eaf2; border-radius: 999px;
    padding: .35rem .85rem; font-size: .82rem; color: #51677e; white-space: nowrap;
}
.curso-chip i { color: var(--pm-primary, #005d90); font-size: .8rem; }
.curso-acoes { display: flex; align-items: center; flex-wrap: wrap; gap: .9rem; }
.curso-btn {
    display: inline-flex; align-items: center; gap: .5rem;
    background: var(--pm-primary-dark, #013552); color: #fff;
    border-radius: 12px; padding: .7rem 1.4rem;
    font-weight: 700; font-size: .95rem; text-decoration: none;
    box-shadow: 0 6px 16px rgba(1, 53, 82, .18);
    box-shadow: 0 6px 16px color-mix(in srgb, var(--pm-primary-dark, #013552) 18%, transparent);
}
.curso-btn:hover { background: var(--pm-primary, #005d90); color: #fff; }
.curso-btn i { font-size: .8rem; }
.curso-caminho { font-size: .88rem; color: #64748b; }
.curso-caminho a { color: var(--pm-primary, #005d90); font-weight: 700; text-decoration: none; }
.curso-caminho a:hover { text-decoration: underline; }

@media (max-width: 991.98px) {
    .curso-banner { grid-template-columns: 1fr; gap: 1.1rem; padding: 1.1rem; }
    .curso-titulo { font-size: 1.3rem; }
    .curso-desc { font-size: .9rem; }
    .curso-acoes { gap: .6rem; }
    .curso-btn { width: 100%; justify-content: center; }
    .curso-caminho { width: 100%; }
}
