/* ========================================
   TYPOGRAPHY OVERRIDE - MAVEN PRO
   ======================================== */

/* Import Maven Pro font family */
@import url('https://fonts.googleapis.com/css2?family=Maven+Pro:wght@400;500;600;700;800;900&display=swap');

/* Root font family override */
:root {
    --font-family-primary: 'Maven Pro', sans-serif;
    --font-family-secondary: 'Maven Pro', sans-serif;
}

/* Global font family application */
body,
html {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Maven Pro', sans-serif !important;
    font-weight: 600;
}

/* Navigation elements */
.navbar-nav > li > a,
.navbar-nav > li > span,
.navbar-nav > li > div {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Buttons */
.btn,
button,
input[type="submit"],
input[type="button"] {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Form elements */
input, textarea, select, option {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Tables */
table, th, td {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Cards and panels */
.card,
.panel,
.thumbnail {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Footer */
footer,
.footer {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Sidebar */
.sidebar,
.sidebar-nav {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Breadcrumbs */
.breadcrumb {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Pagination */
.pagination > li > a,
.pagination > li > span {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Tooltips and popovers */
.tooltip,
.popover {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Modal dialogs */
.modal-title,
.modal-body {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Alert messages */
.alert {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Badges and labels */
.badge,
.label {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Progress bars */
.progress-bar {
    font-family: 'Maven Pro', sans-serif !important;
}

/* List groups */
.list-group-item {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Wells */
.well {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Jumbotron */
.jumbotron {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Custom components */
.porto-block,
.porto-block-title,
.porto-block-subtitle {
    font-family: 'Maven Pro', sans-serif !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    body, html {
        font-family: 'Maven Pro', sans-serif !important;
    }
}

/* ========================================
   METODOLOGÍA SECTION STYLES
   ======================================== */

.methodology-steps {
    position: relative;
}

.methodology-step {
    position: relative;
    padding: 2rem 1rem;
}

.step-icon {
    position: relative;
    z-index: 2;
}

.icon-circle {
    width: 80px;
    height: 80px;
    background-color: rgba(255, 255, 255, 0.1);
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    transition: all 0.3s ease;
}

.icon-circle:hover {
    background-color: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.4);
    transform: scale(1.1);
}

/* Connecting lines between circles */
.methodology-steps::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 10%;
    right: 10%;
    height: 2px;
    background: linear-gradient(90deg,
        rgba(255, 255, 255, 0.3) 0%,
        rgba(255, 255, 255, 0.5) 25%,
        rgba(255, 255, 255, 0.5) 75%,
        rgba(255, 255, 255, 0.3) 100%);
    z-index: 1;
    transform: translateY(-50%);
}

/* Hide connecting line on mobile */
@media (max-width: 991px) {
    .methodology-steps::before {
        display: none;
    }
}

/* Responsive adjustments for methodology */
@media (max-width: 768px) {
    .methodology-step {
        padding: 1.5rem 0.5rem;
    }

    .icon-circle {
        width: 60px;
        height: 60px;
    }

    .icon-circle i {
        font-size: 1.5rem !important;
    }
}

/* ========================================
   SERVICE CARDS FIXED HEIGHT STYLES
   ======================================== */

/* Asegurar que todas las tarjetas tengan la misma altura */
.custom-card-style-1 {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.custom-card-style-1 .card-body {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    justify-content: space-between !important;
}

/* Altura fija para los títulos de servicios */
.service-title-fixed {
    height: 3.5rem !important; /* Aproximadamente 2 líneas de texto */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.2 !important;
}

/* Ajustar el texto de descripción para que ocupe el espacio restante */
.custom-card-style-1 .card-body p {
    flex-grow: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 1rem !important;
}

/* Asegurar que el botón "LEER MÁS" esté siempre al final */
.custom-read-more {
    margin-top: auto !important;
}

/* Responsive adjustments for service cards */
@media (max-width: 768px) {
    .service-title-fixed {
        height: 3rem !important;
        font-size: 1.1rem !important;
    }
}
