.course-catalog-banner { background-position:30% 40%; background-size:cover; height:450px; overflow:hidden; padding:0; }
.course-catalog-banner > div { align-items:center; background:rgba(0,0,0,.20); display:flex; height:100%; justify-content:center; text-align:center; }
.course-catalog-banner h1 { color:#fff; font-family:GOTHAM-BLACK; font-size:70px; font-weight:400; letter-spacing:1px; line-height:84px; margin:0; overflow-wrap:anywhere; padding:0 20px; text-shadow:none; white-space:normal!important; width:100%; }
.course-catalog-content { margin:0 auto; max-width:none; padding:38px 7% 45px; width:100%; }
.course-filters { margin-bottom:32px; text-align:center; }
.course-filters .btn { border:1px solid rgba(0,0,0,.2); border-radius:15px; color:#016a65; font-family:GOTHAM-BOOK; font-size:17px; margin:5px 0 25px; padding:8px 14px; white-space:normal; }
.course-filters .btn.active, .course-filters .btn:hover { background:#006b64; color:#fff; }
.course-grid { display:flex; flex-wrap:wrap; }
.course-card { margin-bottom:30px; overflow:hidden; }
.course-card[hidden] { display:none!important; }
.course-card a { display:block; text-decoration:none; }
.course-card img { border-radius:20px 20px 20px 0; height:250px; object-fit:cover; transition:transform 2s; width:100%; }
.course-card a:hover img { transform:scale(1.1); }
.course-card h2 { color:#016a65; font-family:GOTHAM-BOOK; font-size:19px; font-weight:400; margin:4px 0 0; min-height:38px; }
.course-card h2 span { background:#016a65; border-radius:12px; color:#fff; display:inline-block; font-size:12px; margin-left:8px; padding:5px 9px; vertical-align:middle; }
.course-faq { margin:15px 0 70px; text-align:center; }
.course-faq .quadrado { border-radius:10px; display:inline-block; height:auto; padding:16px 35px; }
.course-faq strong { display:block; font-family:GOTHAM-MEDIUM; font-size:25px; }
.course-faq small { display:block; margin-top:4px; }
.course-poles { margin-bottom:90px; }
.course-poles > h2 { font-weight:bold; text-align:center; }
.course-poles ul { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; list-style:none; margin-top:30px; padding:0; }
.course-poles li { background:#006b64; border-radius:6px; box-shadow:0 3px 10px rgba(0,0,0,.1); color:#fff; padding:17px 19px; width:270px; }
.course-poles h3 { font-size:16px; font-weight:bold; margin:0 0 12px; }
.course-poles p { font-size:13px; line-height:1.45; }
.course-detail-state { min-height:470px; padding:0; }
.course-detail-state article { align-items:center; display:flex; gap:35px; }
.course-detail-state article img { border-radius:20px 20px 20px 0; max-height:330px; object-fit:cover; width:48%; }
.course-detail-state h2 { color:#016a65; }
.course-back { background:#006b64; border-radius:5px; color:#fff!important; display:inline-block; margin-top:15px; padding:11px 18px; }
.course-not-found { text-align:center; }
.course-detail-hero { align-items:center; background-color:#006b64; background-position:center; background-size:cover; color:#fff; display:flex; height:450px; padding:0; position:relative; }
.course-detail-hero:before { background:rgba(0,0,0,.12); content:""; inset:0; position:absolute; }
.course-detail-hero .container { padding:0 20px; position:relative; text-align:center; width:100%; }
.course-detail-hero h1 { color:#fff; font-family:GOTHAM-BLACK; font-size:70px; font-weight:400; letter-spacing:1px; line-height:1.1; margin:0; }
.course-detail-hero p { font-size:20px; font-weight:bold; }
.course-detail-hero a { background:#fff; border-radius:5px; color:#006b64; display:inline-block; font-weight:bold; margin:15px 10px 0 0; padding:12px 20px; }
.course-detail-content { max-width:1700px; padding-bottom:85px; padding-top:35px; width:90%; }
.extension-course-detail{max-width:1050px;padding:42px 15px 85px}
.extension-course-image{display:block;height:auto;margin:0 auto 20px;max-width:100%;width:100%}
.extension-course-information{color:#999;font-family:GOTHAM-BOOK;font-size:19px;line-height:1.45}
.extension-course-information p{margin:0 0 5px;white-space:pre-line}
.extension-course-information strong,.extension-course-information h2{color:#999;font-family:GOTHAM-BOLD;font-weight:400}
.extension-course-information section{margin-top:31px;padding:0}
.extension-course-information h2{font-size:20px;margin:0 0 4px}
.extension-course-action{margin-top:88px;text-align:center}
.extension-course-action a{border:2px solid #007e70;color:#111;display:inline-block;font-family:GOTHAM-BOLD;font-size:32px;padding:22px 78px;text-decoration:none}
.extension-course-action a:hover,.extension-course-action a:focus{background:#007e70;color:#fff}
/* Bloco inicial do curso (imagem + abas), replicando o layout de produção (.espaco-div / .filter-button / .tab-pane p). */
.course-intro-grid{display:flex;flex-wrap:wrap;margin:45px -15px 55px}
.course-intro-image,.course-intro-info{padding:0 15px;width:50%}
.course-intro-image{text-align:center}
.course-intro-image img{display:inline-block;height:auto;max-width:100%;width:80%}
.course-primary-tabs{display:flex;justify-content:center;margin:0}
.course-primary-tabs .filter-button{background:#fff;border:1px solid rgba(0,0,0,.2);border-radius:0;box-shadow:none;color:#016a65;flex:0 0 25%;font-family:GOTHAM-BOOK;font-size:17px;margin:0 0 30px;min-width:0;overflow:hidden;padding:6px 12px;text-overflow:ellipsis;width:25%}
.course-primary-tabs .filter-button.active{background:#fff;border-color:rgba(0,0,0,.2);box-shadow:none;color:#016a65}
.course-primary-tabs .filter-button:hover,.course-primary-tabs .filter-button:focus-visible{background:#016a65;border-color:#016a65;color:#fff}
.course-intro-info .course-primary-panels{margin:0;max-width:none}
.course-tab-content{background:#fff;min-height:300px;padding:50px}
.course-tab-content p{color:#a8a8a8;font-family:GOTHAM-BOOK;font-size:19px;line-height:1.5;margin:0 0 10px;text-align:justify}
.course-tab-content a{color:#aaa;text-decoration:none}
.course-tab-content a:hover,.course-tab-content a:focus{color:#016a65;text-decoration:underline}
.course-tab-content.is-documents p{color:#333;font-size:14px;text-align:left}
.course-detail-content > section { border-bottom:1px solid #ddd; padding:15px 0 40px; }
/* Visão Geral + abas verticais: bloco cinza de produção (.espaco-div / .espaco-div2 / .tab-cont / .texto-curso). */
.course-overview-block{background:#f2f2f2;box-shadow:0 0 0 100vmax #f2f2f2;clip-path:inset(0 -100vmax);min-height:500px;padding:25px 0 60px}
.course-overview-section{margin-bottom:45px}
.course-overview-section h2{color:#333;font-family:GOTHAM-BOLD;font-size:36px;font-weight:500;line-height:1.1;margin:20px 0 10px;padding:20px;text-align:center}
.course-overview-text,.course-overview-text p{color:#a8a8a8;font-family:GOTHAM-BOOK;font-size:19px;margin:.3em;text-align:justify}
.course-secondary-tabs{align-items:flex-start;display:flex}
.course-secondary-nav{border-right:2px solid rgba(255,255,255,.8);display:flex;flex:0 0 25%;flex-direction:column;padding-right:15px;width:25%}
.course-secondary-nav button{background:#f2f2f2;border:0;border-bottom:4px solid rgba(255,255,255,.5);border-radius:0;color:#999;font-family:GOTHAM-BOOK;font-size:17px;line-height:1.42857;padding:10px;text-align:left;white-space:normal}
.course-secondary-nav button .fa{color:#007e70}
.course-secondary-nav button:hover{border-bottom-color:#028c83}
.course-secondary-nav button.active,.course-secondary-nav button:focus-visible{background:#fff;border-bottom-color:#028c83}
.course-secondary-panels{flex:1 1 auto;min-width:0;padding:0 15px}
.course-secondary-panels article{background:transparent;border:0;display:none;padding:0}
.course-secondary-panels article.active{display:block}
.course-section-content,.course-section-content p,.course-section-content ul,.course-section-content li{color:#a8a8a8;font-family:GOTHAM-BOOK;font-size:19px;line-height:1.5;text-align:justify}
.course-section-content p{margin:0 0 10px}
.course-section-content a,.course-overview-text a{color:#aaa;text-decoration:none}
.course-section-content a:hover,.course-section-content a:focus,.course-overview-text a:hover,.course-overview-text a:focus{color:#016a65;text-decoration:underline}
.course-detail-content > section > h2 { color:#111; font-family:GOTHAM-BOLD; font-size:30px; margin:28px 0; text-align:center; }
.course-rich-text { color:#999; font-family:GOTHAM-BOOK; font-size:17px; line-height:1.65; white-space:pre-line; }
.course-primary-panel{display:none}.course-primary-panel.active{display:block}
.course-primary-panels{max-width:1120px;margin:0 auto 35px}.course-primary-panels .course-rich-text{color:#777}
.course-info-grid { display:grid; gap:22px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.course-info-grid article,.course-city-list article { background:#f5f5f5; border-left:5px solid #00877e; border-radius:4px; padding:20px 24px; }
.course-info-grid h3,.course-city-list h3 { color:#006b64; font-size:20px; margin-top:0; }
.course-detail-content details { border:1px solid #ddd; border-radius:5px; margin-bottom:10px; }
.course-detail-content summary { color:#006b64; cursor:pointer; font-size:17px; font-weight:bold; padding:15px 18px; }
.course-detail-content details .table-responsive { padding:0 18px 12px; }
.course-document-action { text-align:right; width:130px; }
.course-city-list { display:flex; flex-wrap:wrap; gap:18px; }
.course-city-list article { width:280px; }
.course-grid.is-extension .course-card img { height:auto; min-height:190px; object-fit:cover; }
.course-grid.is-extension { justify-content:center; }
.course-interest { background:#fff; color:#007e70; padding:35px 15px 16px; text-align:center; }
.course-interest h2 { color:#007e70; font-family:GOTHAM-BOOK; font-size:20px; font-weight:400; margin:0 0 14px; }
.course-interest p { font-family:GOTHAM-BOOK; font-size:20px; margin:0; }
.course-interest .course-enrollment-button { margin:42px auto 0; }
.course-events a { background:#fff; border-radius:5px; color:#006b64; display:inline-block; font-weight:bold; margin-top:12px; padding:12px 22px; text-transform:uppercase; }
.course-documents { padding-bottom:70px; padding-top:45px; }
.course-documents h2 { color:#006b64; text-transform:uppercase; }
.course-documents th:last-child, .course-documents td:last-child { text-align:center; width:150px; }
.course-events { margin:70px 0; padding:0 15px; text-align:center; }
.course-events a { background:#fff; border:2px solid #007e70; border-radius:0; color:#007e70; font-family:GOTHAM-MEDIUM; font-size:20px; margin:0; min-width:280px; padding:54px 35px; text-transform:uppercase; }
@media(min-width:1144px){.course-catalog-page~footer{}body:has(.course-catalog-page) .barra #menu2>li>a{font-size:17px;padding-left:18px;padding-right:18px}}
@media(min-width:1144px){body:has(.course-catalog-page.is-detail) .barra #menu2>li>a{font-size:19px;padding-left:30px;padding-right:30px}}
@media(max-width:991px){.course-intro-image,.course-intro-info{width:100%}.course-intro-image{margin-bottom:20px}.course-primary-tabs{flex-wrap:wrap}.course-primary-tabs .filter-button{flex:0 0 auto;width:auto}}
@media(max-width:700px){.course-tab-content{padding:0}}
@media(max-width:456px){.course-primary-tabs .filter-button{font-size:12px;margin-bottom:3px}.course-tab-content{padding-top:20px}}
@media(max-width:991px){.course-secondary-tabs{display:block}.course-secondary-nav{border-right:0;margin-bottom:25px;padding-right:0;width:100%}.course-secondary-panels{padding:0}.course-overview-section h2{font-size:30px}}
@media(max-width:900px){.course-detail-hero h1{font-size:42px}}
@media(max-width:767px){.course-catalog-banner{height:300px}.course-catalog-banner h1{font-size:30px!important;line-height:40px}.course-catalog-content{padding-left:15px;padding-right:15px;width:100%}.course-card img{height:auto}.course-detail-state article{display:block}.course-detail-state article img{margin-bottom:25px;width:100%}.course-detail-hero{height:300px;min-height:320px}.course-detail-hero h2{font-size:31px}.course-detail-hero h1{font-size:36px}.course-info-grid{grid-template-columns:1fr}.course-poles li,.course-city-list article{width:100%}.course-detail-content{width:100%}}
/* Selo do banner (ex.: Medicina) e bloco "Inscreva-se", replicando detalhe.php de produção (.quadrado / .animated-button.thar-one). */
.course-detail-hero .container{align-items:center;display:flex;flex-direction:column}
.course-hero-badge{align-self:flex-end;height:auto;max-width:30%;width:150px}
.course-detail-content>.course-enrollment{border-bottom:0;margin:0 0 80px;padding:40px 0 0;text-align:center}
.course-detail-content>.course-enrollment>.course-enrollment-title{color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:25px;font-weight:700;line-height:1.35;margin:20px auto 10px;max-width:1100px}
.course-enrollment-button{border:2px solid #006b64;color:#000;display:block;height:150px;isolation:isolate;margin:42px auto 20px;position:relative;text-decoration:none;transition:color .4s cubic-bezier(.215,.61,.355,1);width:500px}
.course-enrollment.is-compact .course-enrollment-button{margin-top:25px}
.course-enrollment-button:before{background:#006b64;content:"";height:0;left:0;position:absolute;top:0;transition:height .4s cubic-bezier(.215,.61,.355,1);width:100%;z-index:-1}
.course-enrollment-button:hover,.course-enrollment-button:focus-visible{color:#fff;text-decoration:none}
.course-enrollment-button:hover:before,.course-enrollment-button:focus-visible:before{bottom:0;height:100%;top:auto}
.course-enrollment-button span{display:block;font-family:GOTHAM-MEDIUM;font-size:36px;line-height:1.1;padding-top:51px}
@media(max-width:992px){.course-detail-content>.course-enrollment>.course-enrollment-title{font-size:22px}.course-enrollment-button{width:90%}.course-enrollment-button span{font-size:25px;padding-top:58px}}
@media(max-width:767px){.extension-course-detail{padding:28px 15px 55px}.extension-course-information{font-size:17px}.extension-course-information h2{font-size:18px}.extension-course-information section{margin-top:24px}.extension-course-action{margin-top:55px}.extension-course-action a{font-size:25px;padding:19px 48px}}
