﻿   /* ===== PÁGINA DE CURSOS ===== */
        #pagina-cursos {
            --cur-azul:#1F1FA3; --cur-navy:#1A0B5C; --cur-rosa:#FF0099;
            --cur-seta:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12h26M21 6l7 6-7 6'/%3E%3C/svg%3E");
            --cur-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
            --cur-chevron-b:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
            background:#fff; min-height:100vh; padding:40px 0 70px; font-family:'Ubuntu', sans-serif;
        }

        /* ----- Cabeçalho: título + pesquisa ----- */
        #cursos-header { margin-bottom:28px; }
        #cursos-header h1 {  margin:0 0 24px; font-family:'Ubuntu', sans-serif; font-size:28px; font-weight:700; color:#111; text-align:center;       }
        #cursos-header .pesquisa-wrapper { position:relative; width:100%; }
        #cursos-header .pesquisa-wrapper .icone-lupa { position:absolute; left:16px; top:50%; transform:translateY(-50%); display:flex; width:18px; height:18px; color:#9A9A9A; pointer-events:none;}
        #cursos-header .pesquisa-wrapper .icone-lupa svg {
            width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
        }
        #cursos-header .pesquisa-wrapper input {width:100%; height:46px; padding:0 18px 0 46px; box-sizing:border-box; background:#fff; border:1px solid #EEE; border-radius:6px; box-shadow:0 2px 10px rgba(0,0,0,.06);
            font-family:'Ubuntu', sans-serif; font-size:14px; color:#333; outline:none; transition:border-color .2s, box-shadow .2s;     }
        #cursos-header .pesquisa-wrapper input::placeholder { color:#BBB; }
        #cursos-header .pesquisa-wrapper input:focus { border-color:var(--cur-azul); box-shadow:0 0 0 3px rgba(31,31,163,.12); }

        /* ----- Layout: sidebar + conteúdo ----- */
        #cursos-corpo { display:flex; align-items:flex-start; gap:30px; }

        /* ----- Sidebar "Categorias" ----- */
        #sidebar-filtros { width:230px; flex-shrink:0; overflow:hidden; background:#fff; border-radius:6px; box-shadow:0 2px 14px rgba(0,0,0,.08);     }
        #sidebar-filtros .sidebar-titulo {  padding:12px 16px; background:var(--cur-navy); color:#fff; font-family:'Ubuntu', sans-serif; font-size:14px; font-weight:500;     }
        #sidebar-filtros .sidebar-lista { padding:8px 8px 10px; }
        #sidebar-filtros .filtro-btn { display:block; width:100%; height:38px; margin:0; padding:0 34px 0 10px; text-align:left; border:0; border-bottom:1px solid #EEE; border-radius:0;
            background:transparent var(--cur-chevron) no-repeat right 12px center / 11px; font-family:'Ubuntu', sans-serif; font-size:12px; font-weight:500; color:#111;cursor:pointer; -webkit-appearance:none; appearance:none;
            transition:background-color .2s, color .2s;     }
        #sidebar-filtros .filtro-btn:last-child { border-bottom:0; }
        #sidebar-filtros .filtro-btn:hover { background-color:#F6F3FB; }
        #sidebar-filtros .filtro-btn.ativo,
        #sidebar-filtros .filtro-btn.ativo:hover {background-color:var(--cur-rosa); background-image:var(--cur-chevron-b);   border-bottom-color:transparent; border-radius:3px; color:#fff; font-weight:700; }

        /* ----- Área de conteúdo ----- */
        #area-conteudo { flex:1; min-width:0; }
        #area-conteudo .container_cartao {   display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:20px;
        }

        /* ----- Cartão de curso ----- */
        #area-conteudo .cartao_curso {position:relative; display:flex; flex-direction:column; overflow:hidden;  background:#fff; border-radius:8px; box-shadow:0 4px 15px rgba(0,0,0,.10);
            opacity:0; transform:translateY(20px); transition:opacity .5s ease, transform .5s ease, box-shadow .3s ease; cursor:pointer; }
        #area-conteudo .cartao_curso.animate-in { opacity:1; transform:translateY(0); }
        #area-conteudo .cartao_curso:hover { box-shadow:0 10px 26px rgba(0,0,0,.15); transform:translateY(-4px); }
        #area-conteudo .cartao_curso .foto-curso { display:block; width:100%; aspect-ratio:202 / 117; object-fit:cover; }
        #area-conteudo .cartao_curso .corpo-cartao { display:flex; flex-direction:column; flex:1; padding:14px 12px 16px; }
        #area-conteudo .cartao_curso .descricao {margin:0 0 16px; padding-left:10px; border-left:3px solid var(--cur-azul); font-family:'Ubuntu', sans-serif; font-size:11.5px; font-weight:300; line-height:1.5; color:#757474;
            display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;     }

        /* rodapé: [duração] por cima, [preço] e [botão] na mesma linha */
        #area-conteudo .cartao_curso .rodape-cartao {  display:grid; grid-template-columns:auto 1fr; grid-template-areas:"dur dur" "preco btn"; align-items:center; gap:6px 8px; margin-top:auto;}
        #area-conteudo .cartao_curso .duracao {grid-area:dur; display:flex; align-items:center; gap:6px; font-family:'Ubuntu', sans-serif; font-size:9px; font-weight:500; color:#333; line-height:1.15; }
        #area-conteudo .cartao_curso .duracao img { width:14px; height:14px; }
        #area-conteudo .cartao_curso .duracao span { display:flex; flex-direction:column; }
        #area-conteudo .cartao_curso .duracao small { font-size:10px; font-weight:400; color:#666; }
        #area-conteudo .cartao_curso .preco-bloco { grid-area:preco; display:flex; align-items:baseline; gap:3px; white-space:nowrap; }
        #area-conteudo .cartao_curso .preco-bloco .valor { font-family:'Ubuntu', sans-serif; font-size:18px; font-weight:500; color:#000; line-height:1.1; }
        #area-conteudo .cartao_curso .preco-bloco .moeda { font-family:'Ubuntu', sans-serif; font-size:10px; font-weight:300; color:#333; }
        #area-conteudo .cartao_curso .preco-bloco .gratuito { font-family:'Ubuntu', sans-serif; font-size:18px; font-weight:500; color:#12B235; }
        /* botão "Garanta a sua vaga →" */
        #area-conteudo .cartao_curso .btn-ver-mais { grid-area:btn; justify-self:end; display:inline-flex; align-items:center; gap:4px; padding:8px 9px; border:1px solid var(--cur-azul); border-radius:20px;
            background:transparent; color:var(--cur-azul); font-family:'Ubuntu', sans-serif; font-size:8px; font-weight:700; line-height:1; letter-spacing:.2px;
            text-transform:uppercase; text-decoration:none; white-space:nowrap; transition:.3s;      }
        #area-conteudo .cartao_curso .btn-ver-mais::before { content:""; position:absolute; top:0; right:0; bottom:0; left:0; } /* cartão todo clicável */
        #area-conteudo .cartao_curso .btn-ver-mais::after {  content:""; width:12px; height:12px; background:currentColor;  -webkit-mask:var(--cur-seta) center/contain no-repeat; mask:var(--cur-seta) center/contain no-repeat;}
        #area-conteudo .cartao_curso:hover .btn-ver-mais,
        #area-conteudo .cartao_curso .btn-ver-mais:hover { background:var(--cur-azul); color:#fff; text-decoration:none; }

        /* Badge "Brevemente" */
        .badge-brevemente { position:absolute; top:10px; right:10px; padding:3px 8px; border-radius:4px; background:#12B235; color:#fff; font-family:'Ubuntu', sans-serif; font-size:10px; font-weight:500;
            animation:pulse 2s infinite;     }
        @keyframes pulse { 0% { transform:scale(1); } 50% { transform:scale(1.05); } 100% { transform:scale(1); } }

        /* Loading indicator */
        #loadingIndicator { display:none; text-align:center; padding:40px 0; }
        #loadingIndicator img { width:32px; height:32px; }

        /* ===== RESPONSIVO ===== */
        @media (max-width:991px) {
            #sidebar-filtros { width:200px; }
        }
        @media (max-width:768px) {
            #cursos-header h1 { font-size:24px; }
            #cursos-corpo { flex-direction:column; align-items:stretch; gap:20px; }
            #sidebar-filtros { width:100%; }
            /* filtros passam a "pílulas" em ecrãs pequenos */
            #sidebar-filtros .sidebar-lista { display:flex; flex-wrap:wrap; gap:6px; padding:10px; }
            #sidebar-filtros .filtro-btn { width:auto; height:32px; padding:0 14px; background-image:none; border:1px solid #DDD; border-radius:20px;           }
            #sidebar-filtros .filtro-btn.ativo,
            #sidebar-filtros .filtro-btn.ativo:hover { background-image:none; border-color:var(--cur-rosa); }
        }