:root {
    --primary-blue: #275aa9;
    --light-blue: #5ab2e0;
    --cream: #efd78d;
    --orange: #f9b749;
    --off-white: #f7f1e1;
    --white: #ffffff;
    --dark-gray: #333333;
    --light-gray: #666666;
    --superlight-blue: #d4eef8;
    --superlight-gray: #f8f8f8;
    --dark-blue: #012661;
    --cyan: #43fffe;
    --black: #000000;
    --green: #4f8f00;
    --purple: #cb297b;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {
	font-size: 0.9em !important;
}
body {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.6;
    color: var(--dark-gray);
    background-color: var(--white);
}

/* Header */

.logo {
    height: 50px;
    width: auto;
	filter: brightness(10);
}

.school-info {
    color: var(--light-gray);
    font-size: 0.9rem;
    font-weight: 500;
}

.btn-outline-primary {
    border: 2px solid var(--primary-blue);
    color: var(--primary-blue);
    background: transparent;
	border-radius: 50px;
	font-weight: bold;
	transition: all 0.3s ease;
	padding: 1rem 2rem;
}

.btn-outline-primary:hover {
    background-color: var(--primary-blue);
    color: var(--white);
}

.btn-primary {
    background-color: var(--primary-blue);
    border-color: var(--primary-blue);
    color: var(--white);
    font-weight: 600;
    border-radius: 35px;
    padding: 0.75rem 1.5rem;
    transition: all 0.3s ease;
}
.btn-primary, .btn-secondary, .btn-success, .btn-outline-primary { 
	border-radius: 35px !important;
	margin: 5px 0 !important;
}
.btn-primary:hover {
    background-color: var(--dark-blue);
    border-color: var(--dark-blue);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* Course Hero Section */
.course-hero-section {
    background-color: var(--superlight-gray);
    padding: 4rem 0 0 0;
	margin-top: 100px;
}

.course-title {
    font-size: 2.66rem;
    font-weight: 700;
    color: var(--dark-blue);
    margin-bottom: 1rem;
    line-height: 1.2;
}

.course-badge {
    margin-bottom: 2rem;
}

.badge-text {
    background-color: var(--primary-blue);
    color: var(--white);
    padding: 0.5rem 1.5rem;
    border-radius: 25px;
	display: inline-block;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
}
.badge-text p {
	padding: 0;
	display: inline;
}

.course-description {
    font-size: 1.1rem;
    color: var(--dark-gray);
    margin-bottom: 2rem;
    line-height: 1.7;
}

.course-details {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.detail-item {
    font-size: 1rem;
    color: var(--dark-gray);
}

.detail-item strong {
    color: var(--primary-blue);
    font-weight: 600;
}

.course-image-container {
    text-align: center;
}

.course-image {
    width: 100%;
    max-width: 400px;
    height: 300px;
    object-fit: cover;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* Vestibular Info Section - Tabs */
.vestibular-info-section {
    background-color: var(--white);
    padding: 3rem 0;
    background-repeat: no-repeat;
    background-size: 72vh;
    background-position-x: right;
    background-position-y: bottom;
}

.vestibular-title-small {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--light-blue);
    margin-bottom: 1rem;
}

.vestibular-subtitle-small {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 3rem;
}

.vestibular-tabs {
    background-color: var(--dark-blue);
    border-radius: 20px;
    padding: 2rem;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.tab-content {
    background-color: var(--white);
    border-radius: 15px;
    padding: 1.5rem;
}

.dates-info {
    padding: 2rem;
}

.date-item {
    margin-bottom: 1.5rem;
}

.date-item strong {
    color: var(--primary-blue);
    font-weight: 600;
    display: block;
    font-size: 1.1rem;
}

.date-highlight {
    color: var(--light-blue);
    font-weight: 600;
    font-size: 1.2rem;
}

.date-muted {
    color: var(--light-gray);
    font-size: 1.1rem;
}

.student-image-container {
    text-align: center;
}

.student-image-large {
    width: auto;
    height: 350px;
	max-height: 500px;
	transform: translateY(1.5rem);
}

.tab-content-info {
    padding: 1rem;
}

.tab-content-info h4 {
    color: var(--primary-blue);
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.tab-content-info ul {
    list-style: none;
    padding-left: 0;
}

.tab-content-info li {
    padding: 0.5rem 0;
    color: var(--dark-gray);
    position: relative;
    padding-left: 2rem;
}

.tab-content-info li:before {
    content: "✓";
    color: var(--light-blue);
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0.5rem;
}
.puc-text {
    color: var(--primary-blue);
    font-weight: 900;
}

/* Course Stats Section */
.course-stats-section {
    background-color: var(--superlight-gray);
    padding: 0 0 3rem 0;
}
.selo-novo {
	font-size: 1.7rem;
    border-radius: 6px;
    color: var(--dark-gray);
    background: var(--cyan);
    padding: 5px 10px;
    display: inline-block;
    transform: translateY(-5px);
}
.stat-card {
    background-color: var(--white);
    border-radius: 20px;
    padding: 0.66rem 1rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: transform 0.3s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
	border: 5px solid var(--primary-blue);
}

.stat-card:hover {
    transform: translateY(-5px);
}

.stat-icon {
    font-size: 2.5rem;
    margin-bottom: 0.2rem;
}

.stat-card h3 {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: 0.5rem;
}

.stat-card p {
    font-size: 1rem;
    color: var(--light-gray);
    margin: 0;
}

/* Certifications Section */
.certifications-section {
    background-color: var(--white);
    padding: 2rem 0;
}
.certifications-section img {
	transition: transform 0.3s ease;
}

.certifications-section img:hover {
	transform: scale(1.05);
}

.certifications-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 2rem;
    align-items: center;
}

.cert-item {
    text-align: center;
}

.cert-logo {
    width: 80px;
    height: 80px;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.7;
    transition: all 0.3s ease;
}

.cert-logo:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.1);
}

/* Entry and Guidance Section */
.entry-guidance-section {
    background-color: var(--white);
    padding: 4rem 0;
}

.section-card {
    background-color: var(--superlight-gray);
    border-radius: 15px;
    padding: 2.5rem;
    height: 100%;
}

.section-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--dark-blue);
    margin-bottom: 2rem;
}

.entry-options {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.entry-option {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.option-number {
    background-color: var(--primary-blue);
    color: var(--white);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    flex-shrink: 0;
}

.option-content h4 {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: 0.25rem;
}

.option-content p {
    font-size: 0.9rem;
    color: var(--light-gray);
    margin: 0;
}

.guidance-links {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.guidance-link {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background-color: var(--white);
    border-radius: 10px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.guidance-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    text-decoration: none;
}

.link-icon {
    font-size: 1.5rem;
    color: var(--primary-blue);
}

.link-content h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: 0.25rem;
}

.link-content p {
    font-size: 0.85rem;
    color: var(--light-gray);
    margin: 0;
}

/* Responsive Design for Desktop */
@media (min-width: 1200px) {
    .container {
        max-width: 1200px;
    }
    
    .main-title {
        font-size: 3rem;
    }
    
    .personality-grid-desktop {
        max-width: 600px;
        gap: 1.5rem;
        gap: 1.5rem;
    }
    
    .personality-card {
        padding: 1.66rem;
    }
    
    .personality-image {
        width: 120px;
        height: 120px;
    }
}

/* Vestibular Winter Section */
.vestibular-winter-section {
    background-color: var(--superlight-blue);
    padding: 4rem 0;
}

.vestibular-title {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--dark-blue);
    margin-bottom: 2rem;
}

.vestibular-details {
    margin-bottom: 2rem;
}

.detail-row {
    display: flex;
    gap: 3rem;
    margin-bottom: 1rem;
}

.detail-col {
    flex: 1;
    font-size: 1rem;
}

.detail-col strong {
    color: var(--primary-blue);
    font-weight: 600;
}

.vestibular-actions {
    display: flex;
    gap: 1rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.registration-button {
    text-align: center;
}

.btn-registration {
    background-color: var(--primary-blue);
    color: var(--white);
    padding: 1rem 3rem;
    border-radius: 25px;
    font-weight: 700;
    font-size: 1.1rem;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-block;
}

.btn-registration:hover {
    background-color: var(--dark-blue);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    text-decoration: none;
    color: var(--white);
}

.vestibular-image img {
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* Innovation Section */
.innovation-section {
    background-color: var(--white);
    padding: 4rem 0;
}

.innovation-title {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--dark-blue);
    margin-bottom: 2rem;
    line-height: 1.3;
}

.innovation-description {
    font-size: 1.1rem;
    color: var(--dark-gray);
    margin-bottom: 1.5rem;
    line-height: 1.7;
}
.innovation-image {
	text-align: center;
}
.innovation-image video {
    max-height: 520px;
	margin: 0 auto;
}

.vimeo-player, #player {
	border-radius: 20px !important;
}

#quiz-test {
    background-color: var(--primary-blue);
    background-image: url(../img/vestibular-2025-bg.jpg);
    padding: 5rem 1.5rem;
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
	color: var(--white);
}
#quiz-test h2 {
	color: var(--cyan);
}
#quiz-test ul {
	padding-left: 15px;
	column-count: 2; column-gap: 15px; grid-template-columns: 1fr 1fr;
}
#quiz-test .btn-primary {
    background-color: var(--cyan);
    color: var(--black) !important;
    font-weight: 600;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 15px;
    border-color: var(--cyan);
    transition: 0.3s;
    border-radius: 50px !important;
    padding: 0.6rem 2rem !important;
}
#quiz-test .btn-secondary {
    background-color: #FF9800;
    color: var(--black) !important;
    font-weight: 600;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 15px;
    border-color: #FF9800;
    transition: 0.3s;
    border-radius: 50px !important;
    padding: 0.75rem 2rem !important;
}

/* Future Section */
.future-section {
    background-color: #afbac0;
    background-image: linear-gradient(to top, #afbac0, #bcc6ce, #cad3db, #d8dfe9, #e7ecf6);
    padding: 3rem 0 0.5rem 0;
	color: var(--black);
}
.future-section .container {
	z-index: 1;
	position: relative;
}

.future-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--dark-blue);
    margin-bottom: 2.5rem;
}
#particles-js-light {
	z-index: 0;
}

.transformation-item {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    margin-bottom: 2.5rem;
	transition: all 0.3s ease;
}
.transformation-item:hover .transformation-icon {
	transform: scale(1.15);
}
.transformation-item .transformation-icon {
	transition: all 0.3s ease;
}

.transformation-icon {
    flex-shrink: 0;
	transition: all 0.3s ease;
}

.icon-number {
    background-color: var(--white);
    color: var(--primary-blue);
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.33rem;
}

.transformation-content h4 {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: 0.5rem;
}

.transformation-content p {
    font-size: 1rem;
    color: var(--dark-gray);
    margin: 0;
    line-height: 1.6;
}

.infrastructure-section {
    background-color: var(--white);
    border-radius: 15px;
    padding: 2rem;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.infrastructure-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--dark-blue);
    margin-bottom: 2rem;
    text-align: center;
}

.infrastructure-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.infrastructure-item {
    border-radius: 10px;
    overflow: hidden;
}

.infrastructure-image {
    width: 100%;
    height: 120px;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.infrastructure-image:hover {
    transform: scale(1.05);
}

/* Why Choose Section */
.why-choose-section {
    background-color: #000e35;
	background-image: linear-gradient(to bottom, #000e35, #00335e, #1a83b1);
    padding: 4rem 0;
}

.why-choose-title {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--cyan);
    margin-bottom: 2rem;
}

.why-choose-description {
    font-size: 1.1rem;
    color: var(--white);
    margin-bottom: 2rem;
    line-height: 1.7;
}

.preparation-section {
    background-color: var(--superlight-gray);
    border-radius: 15px;
    padding: 2rem;
}

.preparation-title {
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--dark-blue);
    margin-bottom: 1.5rem;
}

.preparation-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

.preparation-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.95rem;
    color: var(--dark-gray);
}

.prep-icon {
    color: var(--primary-blue);
    font-weight: 700;
    font-size: 1.1rem;
}

.why-choose-image img {
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.areas-tab {
	background: var(--light-blue);
	border-radius: 20px;
    padding: 2rem;
}
#areas-atuacao h2, #areas-atuacao strong {
	color: var(--primary-blue);
}

/* Methodology Section */
.methodology-section .slick-slide img  {
	border-radius: 10px;
}
.methodology-section .slick-slide {
	margin: 3px;
}
.methodology-section h2 {
	color: var(--dark-blue);
}
.methodology-section {
    background-color: var(--superlight-gray);
    padding: 4rem 0;
}

.methodology-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--dark-blue);
    margin-bottom: 2rem;
}

.methodology-description {
    font-size: 1rem;
    color: var(--dark-gray);
    margin-bottom: 1.5rem;
    line-height: 1.7;
}

.infrastructure-content {
    background-color: var(--white);
    border-radius: 15px;
    padding: 2rem;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.infrastructure-description {
    font-size: 1rem;
    color: var(--light-gray);
    margin-bottom: 2rem;
}

/* Other Courses Section */
.other-courses-section {
    background-color: var(--primary-blue);
    padding: 4rem 0;
}
.courses-grid a {
	text-decoration: none;
}
.courses-grid h6 {
	color: var(--primary-blue);
	font-size: 1.1rem;
	font-weight: 600;
}
.other-courses-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 3rem;
    text-align: center;
}

.course-card {
    background-color: var(--white);
    border-radius: 15px;
    padding: 2rem;
    text-align: center;
    height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: transform 0.3s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.course-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.course-card h4 {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--dark-blue);
    margin-bottom: 1rem;
    line-height: 1.3;
}

.course-card p {
    font-size: 0.9rem;
    color: var(--light-gray);
    margin: 0;
}

/* Footer */
.footer {
    padding-top: 3rem;
    padding-bottom: 0;
    background-color: var(--white);
}

.footer .row {
    border-top: 1px solid #f0f0f0;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.footer p {
    font-size: 0.8rem;
}

.footer h4 {
    font-size: 1.25em !important;
    font-weight: bold;
    color: var(--primary-blue);
}

.footer .como-chegar p {
    margin: 0;
    padding: 0;
}

.footer .como-chegar p.destacado {
    color: var(--light-blue);
    font-weight: bold;
}

.footer .como-chegar img {
    height: 30px !important;
    width: auto !important;
    opacity: 0.5;
}

.footer .logo-footer {
    height: 120px;
    width: auto;
}

.footer .ouro a {
    color: #D4A23F;
    text-decoration: none;
}

.footer .ouro a:hover {
    color: #888;
}

.footer .ouro div {
    transition: all 0.35s ease;
}

.footer .ouro div:hover {
    transform: translateY(-5px);
}

#footer-social li {
    list-style: none;
    float: left;
}

#footer-social img {
    width: 22px;
    height: auto;
}

#footer-social a {
    display: inline-block;
    padding: 0px 2px;
    transition: all 0.2s ease;
    opacity: 0.5;
}

#footer-social a:hover {
    transform: scale(1.25);
    opacity: 1;
}

#footer .logos-group {
    max-height: 75px;
    max-width: 215px;
    width: auto !important;
}

/* Responsive Design */
@media (max-width: 991px) {
    .course-title {
        font-size: 2.5rem;
    }
    
    .certifications-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .detail-row {
        flex-direction: column;
        gap: 1rem;
    }
    
    .vestibular-actions {
        flex-direction: column;
    }
    
    .preparation-list {
        grid-template-columns: 1fr;
    }
    
    .infrastructure-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .course-title {
        font-size: 2rem;
    }
    
    .certifications-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    
    .cert-logo {
        width: 60px;
        height: 60px;
    }
    
    .infrastructure-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .transformation-item {
        flex-direction: column;
        text-align: center;
        gap: 1rem;
    }
}

@media (max-width: 576px) {
    .course-title {
        font-size: 1.8rem;
    }
    
    .section-title {
        font-size: 1.5rem;
    }
    
    .vestibular-title {
        font-size: 1.8rem;
    }
    
    .innovation-title {
        font-size: 1.8rem;
    }
    
    .future-title {
        font-size: 1.6rem;
    }
    
    .why-choose-title {
        font-size: 1.8rem;
    }
    
    .methodology-title {
        font-size: 1.6rem;
    }
    
    .other-courses-title {
        font-size: 1.6rem;
    }
}