

.hero[data-page="ruta-empleable"] {
background:
linear-gradient(
var(--primary-color-1-alpha1),
var(--primary-color-1-alpha2)
),
url("./../../assets/img/students_meeting.webp");
background-size: cover;
background-position: center top;
padding: 8rem 0;
position: relative;
}

.specialists {
background-color: var(--light-blue);
}

.specialist-card-single {
transition: all 0.3s ease;
border: 1px solid rgba(7, 38, 203, 0.1);
}

.specialist-card-single:hover {
box-shadow: 0 15px 35px rgba(7, 38, 203, 0.15) !important;
transform: translateY(-5px);
}

.specialist-name {
font-size: 2rem;
font-weight: 700;
color: var(--primary-color-1);
margin-bottom: 1.5rem;
}

.tiktok-container {
position: relative;
width: 100%;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.tiktok-container blockquote {
margin: 0;
}

.specialist-description {
padding: 0;
}

.specialist-header .specialist-icon {
width: 48px;
height: 48px;
background: linear-gradient(
135deg,
var(--primary-color-1),
var(--secondary-color-1)
);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 1.5rem;
}

.specialist-header h4 {
font-size: 1.3rem;
font-weight: 700;
color: var(--dark-color);
}

.specialist-title {
font-size: 0.95rem;
line-height: 1.8;
margin-bottom: 0;
}

.specialist-info-new {
list-style: none;
padding-left: 0;
margin-bottom: 0;
}

.specialist-info-new li {
display: flex;
align-items: flex-start;
margin-bottom: 1.25rem;
padding: 0.75rem;
background-color: rgba(7, 38, 203, 0.03);
border-radius: 8px;
transition: all 0.3s ease;
}

.specialist-info-new li:hover {
background-color: rgba(7, 38, 203, 0.06);
transform: translateX(5px);
}

.specialist-info-new li:last-child {
margin-bottom: 0;
}

.specialist-info-new li i {
color: var(--primary-color-1);
font-size: 1.25rem;
margin-right: 0.75rem;
margin-top: 0.15rem;
flex-shrink: 0;
}

.specialist-info-new li span {
font-size: 0.95rem;
line-height: 1.6;
color: var(--dark-color);
}

@media (max-width: 991.98px) {
.specialist-name {
font-size: 1.75rem;
text-align: center !important;
}

.specialist-header {
text-align: center;
}

.specialist-header .d-flex {
justify-content: center;
}

.tiktok-container {
max-width: 500px;
margin: 0 auto;
}

.specialist-description {
margin-top: 2rem;
}
}

.accordion-item {
background-color: #f8f9fa;
border-radius: 12px;
overflow: hidden;
}

.accordion-button {
background-color: #f8f9fa;
font-weight: 600;
padding: 1.25rem;
box-shadow: none !important;
font-size: 1.3rem;
}

.accordion-button:not(.collapsed) {
background-color: var(--primary-color-1);
color: white;
}

.accordion-button::after {
filter: opacity(0.5);
}

.accordion-button:not(.collapsed)::after {
filter: brightness(0) invert(1);
}

.accordion-body {
padding: 1.5rem;
font-size: 1rem;
line-height: 1.6;
}

@media (max-width: 767.98px) {
.specialist-card-single {
padding: 1.5rem !important;
}

.specialist-name {
font-size: 1.5rem;
}

.specialist-header h4 {
font-size: 1.15rem;
}

.specialist-info-new li {
padding: 0.6rem;
}

.specialist-info-new li i {
font-size: 1.1rem;
}

.specialist-info-new li span {
font-size: 0.9rem;
}
}

@media (min-width: 768px) {
.accordion {
max-width: 800px;
margin: 0 auto;
}
}

.infografico-ruta {
font-family: "Poppins", sans-serif;
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}

.infografico-header {
text-align: center;
margin-bottom: 60px;
}

.infografico-header h2 {
font-family: "League Spartan", sans-serif;
text-transform: uppercase;
font-weight: 700;
color: var(--primary-color-1);
position: relative;
margin-bottom: 1.5rem;
}

.infografico-header h2:after {
content: "";
position: absolute;
bottom: -12px;
left: 50%;
transform: translateX(-50%);
width: 80px;
height: 4px;
background: linear-gradient(
90deg,
var(--primary-color-1),
var(--secondary-color-1)
);
border-radius: 2px;
}

.infografico-header p {
max-width: 800px;
margin: 0 auto;
font-size: 1.1rem;
}

.ruta-flow {
position: relative;
margin-top: 50px;
--timeline-height: calc(100% - 265px);
}

.ruta-flow::before {
content: "";
position: absolute;
top: 40px;
left: 110px;
width: 6px;
height: var(--timeline-height);
background: linear-gradient(
180deg,
var(--primary-color-1),
var(--secondary-color-1)
);
transform: translateX(-50%);
z-index: 1;
border-radius: 3px;
}

.ruta-step {
display: flex;
justify-content: center;
margin-bottom: 80px;
position: relative;
z-index: 2;
}

.ruta-step-card {
width: calc(100% - 220px);
background: white;
border-radius: 20px;
box-shadow: 0 10px 25px rgba(7, 38, 203, 0.15);
overflow: hidden;
transition: all 0.3s ease;
animation: fadeInUp 0.6s ease backwards;
margin-left: 70px;
}

.ruta-step-card:hover {
transform: translateY(-10px);
box-shadow: 0 15px 35px rgba(7, 38, 203, 0.25);
}

.ruta-step:nth-child(1) .ruta-step-card {
animation-delay: 0.1s;
}
.ruta-step:nth-child(2) .ruta-step-card {
animation-delay: 0.2s;
}
.ruta-step:nth-child(3) .ruta-step-card {
animation-delay: 0.3s;
}
.ruta-step:nth-child(4) .ruta-step-card {
animation-delay: 0.4s;
}

.modal-body.text-start h4 {
font-size: 1.1rem;
color: var(--primary-color-1);
margin-bottom: 15px;
font-weight: 600;
}

.modal-body.text-start p {
font-size: 1rem;
}

.btn-close.btn-close-white {
margin-top: -75px;
}

.ruta-card-header {
background: linear-gradient(
135deg,
var(--primary-color-1),
var(--secondary-color-1)
);
color: white;
padding: 20px 25px;
position: relative;
display: flex;
align-items: center;
flex-direction: row;
}

.ruta-numero {
background: var(--accent-color-2);
color: white;
width: 60px;
height: 60px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 1.8rem;
margin-right: 20px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.ruta-header-content h3 {
font-weight: 700;
font-size: 1.5rem;
margin-bottom: 0.25rem;
}

.ruta-header-content p {
font-style: italic;
margin-bottom: 0;
font-size: 1rem;
opacity: 0.9;
}

.ruta-card-body {
padding: 25px;
}

.ruta-card-body p {
margin-bottom: 20px;
font-size: 1rem;
line-height: 1.6;
}

.ruta-key-points {
margin-bottom: 25px;
}

.ruta-key-points h4 {
font-size: 1.1rem;
color: var(--primary-color-1);
margin-bottom: 15px;
font-weight: 600;
}

.ruta-key-list {
list-style: none;
padding-left: 0;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 10px;
}

.ruta-key-list li {
position: relative;
padding-left: 0px;
font-size: 0.95rem;
line-height: 1.4;
}

.ruta-key-list li:before {
content: "";
position: absolute;
left: 0;
color: var(--primary-color-1);
}

.ruta-node {
width: 30px;
height: 30px;
background: white;
border: 4px solid var(--primary-color-1);
border-radius: 50%;
position: absolute;
left: 110px;
transform: translateX(-50%);
z-index: 3;
animation: pulse 2s infinite;
margin-top: 30px;
}

.btn-ver-mas {
background: linear-gradient(
135deg,
var(--primary-color-1),
var(--secondary-color-1)
);
color: white;
font-weight: 600;
border-radius: 30px;
padding: 10px 25px;
transition: all 0.3s ease;
border: none;
display: inline-block;
box-shadow: 0 4px 12px rgba(7, 38, 203, 0.2);
text-decoration: none;
font-size: 0.95rem;
}

.btn-ver-mas:hover {
transform: translateY(-3px);
box-shadow: 0 6px 15px rgba(7, 38, 203, 0.3);
color: white;
}

.ruta-cta-final {
text-align: center;
padding: 40px 20px;
background: linear-gradient(
135deg,
rgba(7, 38, 203, 0.05),
rgba(212, 253, 101, 0.05)
);
border-radius: 20px;
}

.ruta-cta-final h3 {
font-weight: 700;
margin-bottom: 20px;
color: var(--primary-color-1);
}

.btn-ruta-completa {
background: var(--light-color) !important;
color: var(--text-color) !important;
border: 2px solid var(--primary-color-1) !important;
padding: 12px 30px;
font-size: 1.1rem;
font-weight: 600;
border-radius: 30px;
transition: all 0.3s ease;
box-shadow: 0 4px 12px rgba(7, 38, 203, 0.15);
}

.btn-ruta-completa:hover {
background: var(--secondary-color-1) !important;
color: var(--text-color) !important;
transform: translateY(-3px);
box-shadow: 0 6px 15px rgba(7, 38, 203, 0.3);
}

@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

@keyframes pulse {
0% {
transform: translateX(-50%) scale(1);
box-shadow: 0 0 0 0 rgba(7, 38, 203, 0.7);
}

70% {
transform: translateX(-50%) scale(1.1);
box-shadow: 0 0 0 10px rgba(7, 38, 203, 0);
}

100% {
transform: translateX(-50%) scale(1);
box-shadow: 0 0 0 0 rgba(7, 38, 203, 0);
}
}

@media (max-width: 991px) {
.ruta-flow::before {
left: 35px;
top: 40px;
}

.ruta-step-card {
width: calc(100% - 70px);
margin-left: 70px;
}

.ruta-node {
left: 35px;
}

.ruta-card-header {
flex-direction: row;
}

.ruta-numero {
width: 50px;
height: 50px;
font-size: 1.5rem;
position: absolute;
left: -85px;
}

.ruta-header-content {
width: 100%;
}

.ruta-key-list {
grid-template-columns: 1fr;
}
}

@media (max-width: 576px) {
.ruta-flow::before {
left: 25px;
}

.ruta-step-card {
width: calc(100% - 50px);
margin-left: 50px;
}

.ruta-node {
left: 25px;
width: 24px;
height: 24px;
}

.ruta-numero {
width: 40px;
height: 40px;
font-size: 1.3rem;
left: -65px;
}

.ruta-card-header {
padding: 15px;
}

.ruta-card-body {
padding: 15px;
}

.ruta-header-content h3 {
font-size: 1.3rem;
}
}

.specialist-card-single {
animation: fadeInUp 0.6s ease backwards;
}

.ruta-infographic-section {
background-color: #0726cb;
padding: 5rem 0;
}

.ruta-infographic-section .ruta-title {
text-transform: uppercase;
font-weight: 700;
color: #ffffff;
margin-bottom: 3rem;
position: relative;
}

.ruta-infographic-section .ruta-title:after {
content: "";
position: absolute;
bottom: -12px;
left: 50%;
transform: translateX(-50%);
width: 80px;
height: 4px;
background: linear-gradient(
90deg,
rgba(255, 255, 255, 0.8),
rgba(255, 255, 255, 0.5)
);
border-radius: 2px;
}

.ruta-infographic-desktop {
display: block;
}

.ruta-infographic-mobile {
display: none;
}

.infographic-container-horizontal {
max-width: 100%;
margin: 0 auto;
padding: 0 15px;
}

.infographic-container-horizontal img {
width: 100%;
height: auto;
display: block;
box-shadow: 0 10px 30px rgba(65, 24, 202, 0.15);
border-radius: 12px;
transition: transform 0.3s ease;
}

.infographic-container-horizontal img:hover {
transform: scale(1.02);
}

.infographic-container-vertical {
max-width: 100%;
margin: 0;
padding: 0;
}

.infographic-container-vertical img {
width: 100%;
height: auto;
display: block;
box-shadow: none;
border-radius: 0;
}

@media (max-width: 991.98px) {
.ruta-infographic-desktop {
display: none;
}

.ruta-infographic-mobile {
display: block;
}

.infographic-container-vertical {
padding: 0 60px;
max-width: 100%;
}
}

@media (max-width: 767.98px) {
.infographic-container-vertical {
padding: 0;
max-width: 100%;
}

.ruta-infographic-section {
padding: 4rem 0;
}

.ruta-infographic-section .ruta-title {
font-size: 1.75rem;
margin-bottom: 2rem;
}
}

@media (max-width: 575.98px) {
.infographic-container-vertical {
padding: 0;
}

.ruta-infographic-section {
padding: 3.5rem 0;
}

.ruta-infographic-section .ruta-title {
font-size: 1.5rem;
}
}

.btn-ruta {
background: linear-gradient(
135deg,
var(--primary-color),
var(--secondary-color-2)
);
color: white;
font-weight: 600;
border-radius: 30px;
padding: 0.7rem 1.8rem;
transition: all 0.3s ease;
border: none;
display: inline-block;
box-shadow: 0 4px 12px rgba(65, 24, 202, 0.2);
}

.btn-ruta:hover {
transform: translateY(-3px);
box-shadow: 0 6px 15px rgba(65, 24, 202, 0.3);
color: white;
}

.ruta-infographic-section h3,
.ruta-infographic-section p {
color: #ffffff;
}

.ruta-infographic-section .btn-ruta {
background: linear-gradient(135deg, #ffffff, #f0f0f0);
color: #0726cb;
box-shadow: 0 4px 12px rgba(255, 255, 255, 0.3);
}

.ruta-infographic-section .btn-ruta:hover {
background: linear-gradient(135deg, #f0f0f0, #e0e0e0);
color: #0726cb;
transform: translateY(-3px);
box-shadow: 0 6px 15px rgba(255, 255, 255, 0.5);
}
