:root{--blue:#105de9;--navy:#081a34;--green:#15964f;--muted:#5d6a7d;--line:#e0e6ed}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f9fc;color:var(--navy);font-family:"Euclid Circular",Arial,sans-serif}.catalog-container{width:min(1065px,calc(100% - 40px));margin:auto}.catalog-header{height:72px;background:#fff;border-bottom:1px solid #e8edf2;position:relative;z-index:10}.header-inner{height:100%;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:8px;color:#122139;text-decoration:none;line-height:1.03;font-size:calc(13px * var(--home-text-scale, 1))}.brand img{width:55px;height:52px;object-fit:contain}.partner-logos{height:43px;padding-left:20px;border-left:1px solid #d9dfe6;display:flex;align-items:center;gap:17px;font-size:calc(8px * var(--home-text-scale, 1));line-height:1.15}.partner-logos img:first-child{width:46px;height:42px;object-fit:contain}.partner-logos img:last-child{width:45px;height:24px;object-fit:contain}.main-nav{display:flex;align-self:stretch;margin-left:auto;gap:34px}.main-nav a{position:relative;display:flex;align-items:center;color:#111d35;text-decoration:none;font-size:calc(14px * var(--home-text-scale, 1));font-weight:600}.main-nav a.active,.main-nav a:hover{color:var(--blue)}.main-nav a.active:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--blue)}.header-actions{display:flex;gap:12px;margin-left:28px}.header-actions a{height:42px;padding:0 24px;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:calc(14px * var(--home-text-scale, 1));font-weight:700}.login-button{border:1px solid #10203d;color:#10203d}.signup-button{background:var(--blue);color:#fff}.mobile-toggle{display:none;margin-left:auto;border:0;background:transparent;color:#0c2840;font-size:calc(24px * var(--home-text-scale, 1))}
.courses-hero{height:340px;color:#fff;background-image:linear-gradient(90deg,rgba(2,16,31,.44),rgba(2,18,34,.12)),url("../images/banner_cursos.png");background-size:cover;background-position:center right}.hero-copy{padding-top:20px}.breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:15px;font-size:calc(12px * var(--home-text-scale, 1))}.breadcrumb a{color:#fff;text-decoration:none}.breadcrumb i{font-size:calc(13px * var(--home-text-scale, 1))}.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;font-size:calc(12px * var(--home-text-scale, 1));font-weight:700;letter-spacing:.04em}.eyebrow span{width:32px;height:4px;border-radius:3px;background:#ffd52b}.hero-copy h1{margin:7px 0 3px;font-size:calc(45px * var(--home-text-scale, 1));line-height:1.05;letter-spacing:-.025em}.hero-copy h1 em{color:#35c56b;font-style:normal}.hero-copy p{margin:0;font-size:calc(16px * var(--home-text-scale, 1));color:#e6ecf3}
.catalog-content{min-height:585px;padding:0 0 28px;background:linear-gradient(115deg,#fff,#f4f7fb 55%,#fff)}.filter-panel{position:relative;z-index:2;min-height:98px;margin-top:-48px;padding:14px 26px;background:#fff;border-radius:9px;box-shadow:0 10px 30px rgba(18,39,68,.1);display:grid;grid-template-columns:1fr 245px;gap:35px}.search-area{display:grid;grid-template-columns:1fr 115px;gap:12px}.search-field{height:38px;border:1px solid #dbe1e9;border-radius:7px;display:flex;align-items:center;padding:0 14px;gap:11px}.search-field i{font-size:calc(17px * var(--home-text-scale, 1));color:#4b5d73}.search-field input{width:100%;border:0;outline:0;font:inherit;font-size:calc(12px * var(--home-text-scale, 1));color:var(--navy)}#search-button{border:0;border-radius:6px;background:var(--blue);color:#fff;font-weight:700}.filter-chips{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.filter-chips button{height:29px;padding:0 20px;border:0;border-radius:99px;background:#f0f3f7;color:#243248;font-size:calc(11px * var(--home-text-scale, 1));font-weight:600}.filter-chips button.active{background:var(--blue);color:#fff}.sort-area{padding-left:34px;border-left:1px solid #dce2e9}.sort-area label{display:block;margin:2px 0 7px;font-size:calc(11px * var(--home-text-scale, 1));font-weight:700}.sort-area select{width:100%;height:38px;padding:0 13px;border:1px solid #dbe1e9;border-radius:7px;background:#fff;color:#25334a}.catalog-toolbar{height:50px;display:flex;align-items:center;justify-content:space-between;font-size:calc(12px * var(--home-text-scale, 1))}.catalog-toolbar>div{display:flex;gap:8px}.view-button{width:32px;height:32px;border:0;border-radius:5px;background:transparent;color:#0b1b34;font-size:calc(17px * var(--home-text-scale, 1))}.view-button.active{background:var(--blue);color:#fff}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.course-card{padding:7px;background:#fff;border:1px solid #e5eaf0;border-radius:8px;box-shadow:0 6px 18px rgba(21,44,73,.055);min-width:0}.course-cover{height:112px;position:relative;display:block;overflow:hidden;border-radius:6px;background:#dfe6ed}.course-cover img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.course-card:hover .course-cover img{transform:scale(1.035)}.course-cover span{position:absolute;top:8px;left:8px;padding:6px 14px;border-radius:99px;background:#d8f6e4;color:#10271f;font-size:calc(10px * var(--home-text-scale, 1));font-weight:800}.course-body{padding:8px 2px 1px}.course-body h2{height:38px;margin:0;font-size:calc(16px * var(--home-text-scale, 1));line-height:1.12}.course-body h2 a{color:var(--navy);text-decoration:none}.course-meta{display:flex;gap:20px;margin:7px 0;color:#59687d;font-size:calc(11px * var(--home-text-scale, 1))}.course-meta span{display:flex;align-items:center;gap:5px}.course-body>p{height:35px;margin:0 0 8px;overflow:hidden;color:#5d697a;font-size:calc(11px * var(--home-text-scale, 1));line-height:1.4}.course-author{height:30px;display:flex;align-items:center;gap:8px;color:#40516a;font-size:calc(10px * var(--home-text-scale, 1));overflow:hidden}.avatars{display:flex;padding-left:7px;flex:none}.avatars img{width:27px;height:27px;margin-left:-7px;border:2px solid #fff;border-radius:50%;object-fit:cover;background:#e5e9ee}.course-button{height:34px;margin-top:8px;border-radius:4px;background:var(--blue);display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;text-decoration:none;font-size:calc(11px * var(--home-text-scale, 1));font-weight:700}.course-grid.list-view{grid-template-columns:1fr}.course-grid.list-view .course-card{display:grid;grid-template-columns:260px 1fr}.course-grid.list-view .course-cover{height:100%}.empty-state{padding:70px 20px;text-align:center;color:var(--muted)}.pagination{display:flex;justify-content:center;gap:8px;margin-top:13px}.pagination button{width:34px;height:34px;border:0;border-radius:6px;background:#fff;color:#17253b}.pagination button.active{background:var(--blue);color:#fff}.pagination button:disabled{opacity:.4}
.catalog-footer{min-height:76px;background:#071a32;color:#fff}.footer-inner{min-height:76px;display:grid;grid-template-columns:1.5fr 1fr auto 1fr;align-items:center;gap:24px}.footer-logos{display:flex;align-items:center;gap:13px}.footer-logos>div{font-size:calc(9px * var(--home-text-scale, 1));line-height:1.1}.footer-logos span,.footer-logos strong{display:block}.footer-logos img{width:45px;height:39px;padding-left:12px;border-left:1px solid rgba(255,255,255,.3);object-fit:contain}.footer-inner nav{display:flex;gap:26px}.footer-inner nav a,.social-links a{color:#fff;text-decoration:none;font-size:calc(10px * var(--home-text-scale, 1))}.social-links{display:flex;gap:15px;padding-right:20px;border-right:1px solid rgba(255,255,255,.35)}.social-links a{font-size:calc(17px * var(--home-text-scale, 1))}.footer-inner small{color:#bdc6d1;font-size:calc(9px * var(--home-text-scale, 1));line-height:1.5}
@media(max-width:900px){.partner-logos{display:none}.header-actions{margin-left:10px}.filter-panel{grid-template-columns:1fr}.sort-area{padding:0;border:0}.course-grid{grid-template-columns:repeat(2,1fr)}.footer-inner{grid-template-columns:1fr 1fr;padding:18px 0}.social-links{border:0}.courses-hero{background-position:60% center}}
@media(max-width:680px){.catalog-container{width:min(100% - 24px,1065px)}.catalog-header{height:auto;min-height:66px}.header-inner{flex-wrap:wrap}.brand img{width:48px}.main-nav{display:none;order:4;width:100%;padding:8px 0 14px;gap:20px}.main-nav.open{display:flex}.main-nav a{padding:7px}.main-nav a.active:after{display:none}.mobile-toggle{display:block}.header-actions a{height:38px;padding:0 13px}.courses-hero{height:330px;background-position:70% center}.hero-copy h1{font-size:calc(36px * var(--home-text-scale, 1))}.filter-panel{margin-top:-58px;padding:14px}.search-area{grid-template-columns:1fr 86px}.filter-chips{gap:7px}.filter-chips button{padding:0 13px}.course-grid{grid-template-columns:1fr}.course-grid.list-view .course-card{display:block}.course-cover{height:175px}.catalog-toolbar{height:54px}.footer-inner{grid-template-columns:1fr}.footer-logos{flex-wrap:wrap}}
@media(max-width:430px){.brand strong{display:none}.login-button{width:40px;padding:0!important;font-size:0}.login-button i{font-size:calc(17px * var(--home-text-scale, 1))}.signup-button{padding:0 9px!important}.hero-copy h1{font-size:calc(31px * var(--home-text-scale, 1))}.hero-copy p{font-size:calc(14px * var(--home-text-scale, 1))}.filter-panel{margin-top:-70px}.search-area{grid-template-columns:1fr}.filter-chips{grid-column:auto}#search-button{height:38px;grid-row:2}.course-cover{height:145px}}

/* Expanded text keeps catalog controls and course descriptions readable. */
.text-enlarged .catalog-header, .text-enlarged .courses-hero { height: auto; }
.text-enlarged .courses-hero { min-height: 340px; padding-bottom: 75px; }
.text-enlarged .catalog-header .header-inner { flex-wrap: wrap; padding-top: 16px; padding-bottom: 16px; }
.text-enlarged .filter-panel { grid-template-columns: minmax(0, 1fr); }
.text-enlarged .sort-area { padding-left: 0; border-left: 0; }
.text-enlarged :where(.search-field, .filter-chips button, .sort-area select, .course-button, .course-author, .course-body h2, .course-body > p, .catalog-toolbar) { height: auto; min-height: 38px; }
.text-enlarged .search-field, .text-enlarged .sort-area select, .text-enlarged .filter-chips button, .text-enlarged .course-button { padding-top: 8px; padding-bottom: 8px; }
.text-enlarged .course-meta { flex-wrap: wrap; gap: 8px 20px; }
.text-enlarged .course-body h2, .text-enlarged .course-body > p, .text-enlarged .course-author { overflow: visible; overflow-wrap: anywhere; }
.text-enlarged .course-author { align-items: flex-start; }
.high-contrast .courses-hero { background-image: none !important; }
.high-contrast :where(input, select, option) { color: #fff !important; background-color: #000 !important; border-color: #fff !important; }
.search-field:focus-within { outline: 3px solid #105de9; outline-offset: 2px; }
.high-contrast .search-field:focus-within { outline-color: #ffeb3b; }
@media (prefers-reduced-motion: reduce) { .course-cover img { transition: none; } }
body { font-size: calc(16px * var(--home-text-scale, 1)); }
#search-button, .sort-area select, .pagination button { font-size: calc(13px * var(--home-text-scale, 1)); }
.search-area, .search-field, .search-field input { min-width: 0; }
.text-enlarged .pagination button { width: auto; min-width: 34px; height: auto; min-height: 34px; padding: 8px; }
.text-enlarged .course-cover span { max-width: calc(100% - 16px); overflow-wrap: anywhere; }

/* Match the 125% desktop presentation of the home and course detail pages. */
@media (min-width: 1100px) {
    .catalog-header, #conteudo, .catalog-footer { zoom: 1.25; }
    .catalog-header { height: auto; min-height: 72px; }
    .catalog-header .header-inner { min-height: 72px; flex-wrap: wrap; padding-top: 10px; padding-bottom: 10px; }
    .catalog-header .main-nav { min-height: 42px; }
    .courses-hero { height: auto; min-height: 340px; padding-bottom: 75px; }
    .course-body h2 { height: auto; min-height: 38px; overflow-wrap: anywhere; }
    .course-cover span { max-width: calc(100% - 16px); overflow-wrap: anywhere; }
    .catalog-footer .footer-inner { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); padding-top: 18px; padding-bottom: 18px; }
    .catalog-footer .footer-inner nav, .catalog-footer .footer-logos { flex-wrap: wrap; }
}
