/* ===========================
   MARCA MAS CAPACITACIÓN
   Paleta / tipografía global
   =========================== */

/* Importar DM Sans desde Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');

:root {
    /* Azul principal: corporativo/tecnológico */
    --brand-primary: #066ac9;
    /* Azul más oscuro para header / hero */
    --brand-bg-dark: #0a1c3a;
    /* Celeste suave para fondos claritos / badges */
    --brand-soft: #e6f0f9;
    /* Texto sobre fondo oscuro */
    --brand-on-dark: #ffffff;
    /* Texto gris neutro */
    --brand-text-muted: #4b5563;
    /* Radios comunes */
    --radius-md: 10px;
}

/* Tipografía global */
body, div, ul, li, a, button, td, span {
    font-family: 'DM Sans', 'Open Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    color: var(--brand-text-muted);
}

/* Links sin subrayado por defecto */
a {
    text-decoration: none;
}

/* ===== HEADER / NAV BAR =====
   Oscuro, texto claro, look más industrial
   (Si tu header tiene clases distintas, igual esto fuerza color porque usa elementos comunes)
*/
header,
.navbar,
.top-bar,
.site-header,
.header-area {
    background-color: var(--brand-bg-dark) !important;
    color: var(--brand-on-dark) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
header a,
.navbar a,
.top-bar a,
.site-header a,
.header-area a {
    color: var(--brand-on-dark) !important;
    font-weight: 500;
}
header a:hover,
.navbar a:hover,
.top-bar a:hover,
.site-header a:hover,
.header-area a:hover {
    color: var(--brand-primary) !important;
}

/* Botón tipo "Crear cuenta" del header (CTA) */
header .btn,
.navbar .btn,
.header-area .btn {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    color: #fff !important;
    border-radius: var(--radius-md);
    font-weight: 600;
    font-size: 14px;
    line-height: 1.2;
}
header .btn:hover,
.navbar .btn:hover,
.header-area .btn:hover {
    background-color: #095299 !important; /* un poco más oscuro */
    border-color: #095299 !important;
    color: #fff !important;
}

/* === Ajuste de altura del header / navbar === */
header,
.navbar,
.header-area {
    padding-top: 50px;     /* antes estaba sin padding, agregamos espacio arriba */
    padding-bottom:50px;  /* y abajo */
    min-height: 80px;      /* asegura un alto mínimo visible */
}

.navbar .container,
.header-area .container {
    align-items: center;    /* centra verticalmente el contenido (logo, links, botones) */
}

/* ===== HERO / BANNER =====
   Les damos overlay oscuro-azulado técnico en vez de rojizo marketinero
*/
.home-banner-area,
.hero-container {
    background-color: var(--brand-bg-dark) !important;
    color: var(--brand-on-dark) !important;
    position: relative;
}

/* capa oscura encima de la imagen si el hero tiene background-image */
.home-banner-area::after,
.hero-container::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 30%, rgba(6,106,201,0.35) 0%, rgba(0,0,0,0.6) 70%);
    pointer-events: none;
}
.home-banner-area * ,
.hero-container * {
    color: var(--brand-on-dark) !important;
}
.cropped-home-banner {
    border-right: 70px solid rgba(6,106,201,0.08);
}

/* ===== BOTONES / BADGES / CTA ===== */

.btn-primary,
.common-search-box button,
.marge-input-box button {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    color: #fff !important;
    border-radius: var(--radius-md);
    font-weight: 600;
}
.btn-primary:hover,
.common-search-box button:hover,
.marge-input-box button:hover {
    background-color: #095299 !important;
    border-color: #095299 !important;
    color: #fff !important;
}

/* badges (las chapitas de color) */
.badge-primary {
    background-color: var(--brand-primary) !important;
    color: #fff !important;
    padding: 6px 10px;
    font-weight: 500;
    border-radius: 4px;
}
.bg-sub-primary,
.btn-compare-sm {
    background-color: var(--brand-soft) !important;
    color: var(--brand-primary) !important;
}
.btn-compare-sm {
    border: none;
}
.btn-compare-sm:hover,
.btn-compare-sm:focus {
    background-color: var(--brand-primary) !important;
    color: #fff !important;
}

/* iconito redondo de categorías y otros circulitos */
.category-icon {
    background-color: var(--brand-primary);
    color: #fff;
}
.top-categories:hover .category-icon,
.top-categories:focus .category-icon {
    background-color: #fff;
    color: #000;
}

/* subrayado azul en headers */
.header-underline::before {
    background-color: #293e61; /* podemos dejarlo, es coherente con azul oscuro */
}
.header-underline-2::before {
    background-color: var(--brand-primary);
}

/* ===== BUSCADOR HEADER ===== */
.common-search-box input {
    background-color: hsl(210deg 40% 98%);
    border: 1px solid hsl(210deg 40% 90%);
    height: 40px;
    padding: 0 15px;
    border-radius: 5px 0 0 5px;
    font-size: 13px;
    color: #1f2937;
}
.common-search-box input:focus {
    background-color: #fff;
    border-color: #cfd8e6;
    border-right-color: transparent;
}
.common-search-box .input-group-button {
    background-color: hsl(210deg 40% 98%);
    padding: 6px 10px;
    border-radius: 0 5px 5px 0;
    border: 1px solid hsl(210deg 40% 90%);
    border-left: 0;
}
.common-search-box input:focus + .input-group-button {
    background-color: #fff !important;
    border-top: 1px solid #cfd8e6 !important;
    border-right: 1px solid #cfd8e6 !important;
    border-bottom: 1px solid #cfd8e6 !important;
    padding: 5px 9px 5px 10px !important;
}

/* ===== FOOTER =====
   Lo dejamos oscuro azul, no violeta rojizo.
*/
.footer-area {
    color: #bfc8da;
    background-color: var(--brand-bg-dark);
}
.footer-summary {
    color: #fff;
    padding: 29px 30px;
    background: linear-gradient(
        360deg,
        var(--brand-bg-dark) 0%,
        #233451 100%
    );
}
.footer-hover-link {
    color: #bfc8da;
}
.footer-hover-link:hover {
    color: #efefef !important;
}
.language_selector {
    border-radius: 5px;
    font-size: 14px;
    background: var(--brand-primary);
    border-color: var(--brand-primary);
    color: #fff;
    padding: 6px 10px;
}
ul.footer-social-link li {
    background-color: #293e61;
}
ul.footer-social-link li.active,
ul.footer-social-link li:hover {
    background-color: var(--brand-primary);
}
.border-top-sub-blue {
    border-top: 1px solid #293e61;
}

/* ===== FORM LOGIN / SIGNUP ===== */
.sign-up-form {
    background: #fff;
    padding: 35px 30px;
    border-radius: var(--radius-md);
    box-shadow: 0 10px 24px rgba(0,0,0,.06);
}
.sign-up-form .form-group label {
    color: #374151;
    font-weight: 600;
}
.sign-up-form .form-group .input-group span {
    border-right: none;
    padding: 12px 8px 12px 15px;
    border-radius: var(--radius-md);
    color: #6b7280;
    font-size: 15px;
    font-weight: 500;
    background: #f3f4f6;
    border: 1px solid #d1d5db;
}
.sign-up-form .form-group .input-group input {
    border-left: none;
    padding: 12px 5px;
    border-radius: var(--radius-md);
    color: #374151;
    font-size: 13px;
    font-weight: 500;
    background: #fff;
    border: 1px solid #d1d5db;
}

/* ===== TARJETA INSTRUCTOR / SUMMARY ===== */
.instructor-summary .summary-box {
    border-radius: 8px;
    background-color: var(--brand-primary);
    color: #fff;
}
.instructor-summary .summary-box .summary-footer .badge {
    background-color: #3e95e8;
}

/* ICONO REGALO (buy as gift) -> cambiamos rojo por azul */
.buy-as-gift-btn {
    position: absolute;
    right: 8px;
    background: none;
    font-size: 20px;
    border: 1px solid var(--brand-primary);
    border-radius: 50%;
    width: 48px;
    height: 48px;
    line-height: 48px;
    text-align: center;
    padding: 0;
    color: transparent;
}
.buy-as-gift-btn i {
    text-shadow: 1px var(--brand-primary);
    -webkit-text-stroke: 1px var(--brand-primary);
}
.buy-as-gift-btn:hover,
.buy-as-gift-btn:focus,
.buy-as-gift-btn:active {
    border-color: var(--brand-primary);
    color: var(--brand-primary);
    text-stroke: 1px var(--brand-primary);
    -webkit-text-stroke: 1px var(--brand-primary);
}

/* ===========================
   A PARTIR DE ACÁ
   TU CSS ORIGINAL (ajustado)
   =========================== */

.cropped-home-banner{
    position: absolute;
    width: 0px;
    height: 0px;
    top: 0;
    border-left: 0px solid #f9f9f900;
    border-right: 70px solid rgba(6,106,201,0.03);
}

@media only screen and (max-width: 766px){
    .cropped-home-banner{
        display: none;
    }
    .home-banner-area{
        background: none !important;
        padding: 80px 0 75px !important;
    }
    .home-banner-wrap{
        max-width: 100% !important;
        text-align: center;
    }
}
.bg-background{
    background: #f9f9f9;
}
.bg-transparent{
    background: #00000000 !important;
}
.top-categories{
    width: 100%;
    height: 100%;
    padding: 20px 35px;
    display: grid;
    align-content: center;
    border: 1px solid #e4e4e4;
    text-decoration: none;
}
.top-categories:hover, .top-categories:focus{
    background-color: var(--brand-primary);
    background-image: url('../img/category-bg.png');
    background-size: cover;
    background-position: 50%;
    transition: all .5s;
}
.category-icon{
    width: 45px;
    height: 45px;
    border-radius: 50px;
    font-size: 20px;
    line-height: 45px;
    text-align: center;
    margin: 10px 0px;
}
.top-categories:hover .category-icon, .top-categories:focus .category-icon{
    background-color: #fff;
    color: #000;
}
.category-title{
    font-weight: 600;
    color: #111827;
}
.top-categories:hover .category-title, .top-categories:focus .category-title{
    color: #fff;
}
.category-title p{
    color: #6b7280;
    font-size: 13px;
    font-weight: 400 !important;
    margin-top: 2px;
    margin-bottom: 1px;
}
.top-categories:hover .category-title p, .top-categories:focus .category-title p{
    color: #e5e7eb;
}
.divider-1{
    background-color: #b8c3c5;
    margin-left: -15px;
    margin-right: -10px;
    margin-top: 12px;
    margin-bottom: 6px;
}

.compare-row{
    margin-top: 25px;
    background-color: #fff;
    border: 1px solid #f9f9f9;
    border-radius: 10px;
    padding: 28px 10px;
}
.btn-compare-sm{
    font-size: 11px;
    border-radius: 5px;
    text-align: center;
    height: 25px;
    line-height: 24px;
    margin-top: 3px;
}
.btn-compare-sm i{
    margin-right: 4px;
}

.badge-sub-warning{
    background-color: #eceb98 !important;
    color: #3c3c2d !important;
    padding: 5px 10px 5px 10px;
    border-radius: 5px;
}

.floating-user{
    width: auto;
    height: 30px;
}
.floating-user img{
    border-radius: 15px;
    position: absolute;
}
.floating-user img:hover, .floating-user img:focus{
    z-index: 999;
}
.become-user-label{
    padding: 30px 25px;
    border-radius: 10px;
    background-repeat: no-repeat;
    background-position: right;
}
.bg-sub-danger{
    background-color: #fcebeb;
}

.text-sub-warning{
    color: #eceb98 !important;
}
.footer-area{
    color: #bfc8da;
}
.footer-hover-link{
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
}

/* ya overrideamos .footer-hover-link:hover arriba */

.language_selector{
    border-radius: 5px;
    font-size: 14px;
    padding: 6px 10px;
}

.footer-summary h3, .footer-summary h4, .footer-summary h5{
    line-height: 32px;
    font-size: 22px;
}
ul.footer-social-link{
    list-style: none;
    padding-left: 0px;
    height: 30px;
}
ul.footer-social-link li{
    float: left;
    color: #fff;
    margin: 0px 8px 0px 0px;
    border-radius: 50%;
    height: 32px;
    width: 32px;
    line-height: 32px;
    text-align: center;
    transition: all .3s;
}
ul.footer-social-link li a{
    display: block;
    color: #fff;
    font-size: 15px;
}
ul.footer-social-link li a:hover{
    color: #ddd;
}

section.featured-instructor{
    background: white;
    padding: 30px 0px 0px 0px;
}
.top-instructor-img{
    max-width: 250px;
}
.top-instructor-img img{
    border-radius: 10px 0px 0px 10px;
}
@media only screen and (min-width: 1200px){
    .top-instructor-details{
        margin: 0;
        position: absolute;
        top: 50%;
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        right: 0;
        max-width: 58%;
        padding: 0px 22px;
    }
}
.top-istructor-slick .slick-prev:before{
    color: var(--brand-primary);
    font-size: 25px;
    margin-right: -25px;
}
.top-istructor-slick .slick-next:before{
    color: var(--brand-primary);
    font-size: 25px;
    margin-left: -25px;
}
.slick-list.draggable{
    border-radius: 10px;
    margin: 0px 12px;
}
.instructor-summary .slick-track{
    padding: 0px;
}
.instructor-summary .instructor-image{
    width: 100%;
    text-align: center;
    position: relative;
    background-color: #f9f9f9;
    border-radius: 8px;
    padding: 10px;
    margin-bottom: -100px;
    z-index: -1;
}
.instructor-summary img{
    height: 200px;
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60px;
}
.instructor-summary .summary-box .summary-body{
    font-size: 14px;
}
.instructor-summary .summary-box .summary-footer{
    width: 100%;
    display: flex;
    margin-top: 20px;
}
@media only screen and (max-width: 500px){
    .instructor-summary .summary-box .summary-footer{
        display: inline-grid;
    }
    .instructor-summary .summary-box .summary-footer .name{
        margin-top: 10px;
    }
}
.instructor-summary .summary-box .summary-footer .name{
    width: auto;
    margin-left: auto;
    padding-left: 100px;
    white-space: nowrap;
}
.instructor-summary .summary-box .summary-footer .name > h6{
    color: #fff;
    margin: 0px !important;
    font-size: 15px;
    font-weight: 700;
}
.instructor-summary .summary-box .summary-footer .name > h6::before{
    content: "";
    position: absolute;
    background-color: white;
    width: 80px;
    height: 1.5px;
    border-radius: 5px;
    margin-top: 9px;
    margin-left: -90px;
}
.instructor-summary .summary-box .summary-footer .name > span{
    font-size: 12px;
    color: #ffffff;
}

.hover-shadow-1:hover{
    box-shadow: 0px 0px 5px 0px #9090902e !important;
}
.image-placeholder-1{
    position: absolute;
    width: 100%;
    height: 100% !important;
    background: linear-gradient(91deg, rgb(0 0 0 / 24%) 0%, rgba(0,35,51,0) 100%) !important;
}
.image-placeholder-2{
    position: absolute;
    width: 100%;
    height: 100% !important;
    background: linear-gradient(91deg, rgb(0 0 0 / 50%) 0%, rgb(0 0 0 / 50%) 100%) !important;
}
.image-placeholder-3{
    position: absolute;
    width: 100%;
    height: 100% !important;
    background: linear-gradient(91deg, rgb(0 0 0 / 42%) 0%, rgb(0 35 51 / 0%) 100%) !important
}
.compare-row-icon{
    height: 26px;
    width: 26px;
    line-height: 26px;
    background: #444;
    border-radius: 5px;
    font-size: 13px;
    color: #fff;
    text-align: center;
}
.skill-level-icon{
    width: 24px;
    height: 24px;
    background-color: transparent;
}
.skill-level-icon span{
    background-color: #dcdee1;
    margin-left: 1.5px;
    margin-right: 1.5px;
    float: left;
}
.skill-level-icon .active{
    background-color: var(--brand-primary);
}
.skill-level-icon span:first-of-type{
    width: 5px;
    height: 8px;
    margin-top: 16px;
}
.skill-level-icon span:nth-of-type(2n){
    width: 5px;
    height: 16px;
    margin-top: 8px;
}
.skill-level-icon span:last-of-type{
    width: 5px;
    height: 24px;
}
.marge-input-box input{
    border-radius: 10px 0px 0px 10px;
    border-right: 0px;
    font-size: 13px;
}
.marge-input-box .input-group-append{
    border: 1px solid #cccfe7;
    border-radius: 0px 10px 10px 0px;
    border-left: none !important;
}

/*Signup & sign in page login*/
.sign-up-form .form-group{ margin-bottom: 15px; }

/*used on Home page*/
.animated-loader{
    width: 100px;
    height: 100px;
    line-height: 100px;
    padding: 0px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
.common-search-box{
    margin-right: 50px;
    padding: 0px 0;
}

/* print */
@media print{
    .print-content{
        position: fixed !important;
        margin: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0!important;
        z-index: 3333 !important;
        width: 100% !important;
        background: #fff !important;
    }
    footer, nav, title{
        display: none !important;
    }
    body{
        overflow: hidden !important;
    }
}

/* BLOG */
.card-blog{
    border-radius: 10px;
    margin: 30px 0px;
}
.card-blog > img{
    border-radius: 10px;
}
.card-blog-body{
    position: relative;
    height: 380px;
    border-radius: 10px;
}
.card-blog .blog-thumbnail{
    position: absolute;
    top: 0;
    width: 100%;
    height: 62%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 10px;
    transition: all .3s;
    -webkit-transition:all 0.3s;
    -o-transition:all 0.3s;
    -moz-transition:all 0.3s;
}
.card-blog:hover .blog-thumbnail{
    height: 100%;
    background-position: center;
    transition: all .3s;
    -webkit-transition:all 0.3s;
    -o-transition:all 0.3s;
    -moz-transition:all 0.3s;
}
.card-blog:hover .card-blog-body::after{
    content: "";
    background: linear-gradient(360deg, rgb(0 0 0 / 82%) 0%, rgba(255,255,255,0) 72%);
    position: absolute;
    z-index: 500;
    width: 100%;
    height: 100%;
    border-radius: 10px;
}
.card-blog-body .blog-placeholder{
    position: absolute;
    bottom: 20px;
    z-index: 600;
    width: 100%;
}
.card-blog:hover .blog-placeholder{
    color: #fff !important;
    padding: 0px 20px;
}
.card-blog-body .cart-blog-title{
    font-size: 18px;
    margin-bottom: 15px;
    font-weight: 600;
    text-decoration: underline;
    color: #111827;
}
.card-blog-body .blog-info{
    width: 33.3%;
    text-align: center;
    height: 40px;
    font-size: 14px;
    font-weight: 500;
    padding: 7px 0px;
    color: #858585;
}
.card-blog:hover .blog-info{
    color: #fff !important;
}

.blog-search-input{
    height: 42px;
    background-color: #f9f9f9;
    border-bottom: 1px solid #cdcdcd;
    border-top: none;
    border-left: none;
    border-right: none;
    border-radius: 0px;
}
.blog-search-button{
    display: none;
    padding: 0px 20px;
    border: none;
    border-bottom: 1px solid #cdcdcd;
    background-color: #fff;
}
.ellipsis-line-2{
    display: -webkit-box!important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}
.ellipsis-line-3{
    display: -webkit-box!important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}
.ellipsis-line-4{
    display: -webkit-box!important;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}
.ellipsis-line-5{
    display: -webkit-box!important;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

.header-underline{
    position: relative;
}
.header-underline-2{
    position: relative;
}

@media (max-width: 991px){
    .search-box {
        width: calc( 100% + 28px) !Important;
    }
}
.slick-next{
    margin-right: 5px !Important;
}
.slick-prev{
    margin-left: 5px !Important;
}

/* tooltip z-index */
.tooltip {
    z-index: 9999;
}

/* ============= HEADER MAS CAPACITACIÓN ============= */

:root {
    --mc-bg: #0c1a32;              /* azul noche */
    --mc-text: #ffffff;
    --mc-text-dim: rgba(255,255,255,0.7);
    --mc-accent: #1e63e6;          /* azul acción */
    --mc-accent-hover: #0942a4;
    --mc-radius: 8px;
}

/* barra completa */
.mc-header {
    width: 100%;
    background-color: var(--mc-bg);
    border-bottom: 1px solid rgba(255,255,255,0.07);
    padding: 10px 0;
}

/* contenedor interno */
.mc-header-inner {
    max-width: 1320px;
    width: 100%;
    margin: 0 auto;
    padding: 0 16px;

    display: grid;
    grid-template-columns: auto auto 1fr auto auto;
    grid-column-gap: 16px;
    align-items: center;
}

/* logo */
.mc-logo img {
    height: 40px;
    display: block;
}

/* menú principal */
.mc-nav {
    list-style: none;
    display: flex;
    gap: 20px;
    margin: 0;
    padding: 0;
}
.mc-nav a {
    color: var(--mc-text-dim);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
}
.mc-nav a:hover {
    color: var(--mc-text);
    text-decoration: none;
}

/* buscador */
.mc-search {
    display: flex;
    align-items: stretch;
    background-color: #ffffff;
    border-radius: var(--mc-radius);
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.15);
    max-width: 420px;
    width: 100%;
    margin-left: 8px;
    margin-right: 8px;
}
.mc-search input {
    border: 0;
    outline: 0;
    padding: 9px 12px;
    font-size: 14px;
    flex: 1;
    color: #111827;
}
.mc-search button {
    background-color: var(--mc-accent);
    color: #fff;
    border: 0;
    width: 40px;
    min-width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    cursor: pointer;
}
.mc-search button:hover {
    background-color: var(--mc-accent-hover);
}

/* carrito */
.mc-cart {
    position: relative;
    color: var(--mc-text);
    text-decoration: none;
    font-size: 16px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mc-cart i {
    font-size: 18px;
}
.mc-cart-badge {
    position: absolute;
    top: -6px;
    right: -10px;
    background-color: #ec5252;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    padding: 2px 5px;
    border-radius: 999px;
    min-width: 18px;
    text-align: center;
}

/* login / signup */
.mc-auth {
    display: flex;
    align-items: center;
    gap: 12px;
}
.mc-auth .mc-link {
    color: var(--mc-text-dim);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    line-height: 1.2;
}
.mc-auth .mc-link:hover {
    color: var(--mc-text);
    text-decoration: none;
}

.mc-auth .mc-cta {
    background-color: var(--mc-accent);
    color: #fff;
    border-radius: var(--mc-radius);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    padding: 9px 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    border: 0;
}
.mc-auth .mc-cta:hover {
    background-color: var(--mc-accent-hover);
    color: #fff;
    text-decoration: none;
}

/* responsive mobile */
@media (max-width: 992px) {
    .mc-header-inner {
        grid-template-columns: auto 1fr auto;
        grid-row-gap: 12px;
        grid-template-areas:
            "logo cart auth"
            "search search search"
            "nav nav nav";
    }
    .mc-logo { grid-area: logo; }
    .mc-search { grid-area: search; max-width: 100%; }
    .mc-cart { grid-area: cart; justify-self: center; }
    .mc-auth { grid-area: auth; justify-self: end; }
    .mc-nav {
        grid-area: nav;
        flex-wrap: wrap;
        gap: 16px 24px;
    }
}

/* =========================
   HEADER MÁS CAPACITACIÓN
   ========================= */

.mc-header {
    width: 100%;
    background-color: #0d1c36; /* azul petróleo oscuro, estilo serio */
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    padding: 10px 0;
    font-family: 'DM Sans', 'Open Sans', sans-serif;
}

.mc-header-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;

    display: flex;
    align-items: center;
    gap: 16px;
}

/* LOGO */
.mc-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.mc-logo img {
    display: block;
    height: 36px;
    object-fit: contain;
}

/* NAV LINKS */
.mc-nav {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-shrink: 0;
}
.mc-nav-link {
    color: #dbe3ff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    padding: 8px 0;
    transition: color .15s;
}
.mc-nav-link:hover {
    color: #ffffff;
}

/* BUSCADOR */
.mc-search {
    flex: 1; /* ocupa el espacio flexible en el medio */
    display: flex;
    align-items: center;
    max-width: 360px;
    margin-left: auto;
    margin-right: 0;
    background-color: #ffffff;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.1);
}
.mc-search-input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 13px;
    padding: 9px 10px;
    color: #1a1a1a;
}
.mc-search-input::placeholder {
    color: #6b6b6b;
}

/* BOTÓN DE LUPA LIMPIO (sin fondo azul) */
.mc-search-btn {
    background-color: transparent;
    border-radius: 5px;
    border: none;
    color: #1f5cd6; /* azul del icono */
    padding: 9px 10px;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color .2s ease;
}
.mc-search-btn i {
    line-height: 1;
}
.mc-search-btn:hover {
    color: #FFFFFF; /* azul más oscuro al pasar el mouse */
}

/* CARRITO */
.mc-cart {
    margin-left: 16px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}
.mc-cart .cart-box,
.mc-cart .menu-icon-box {
    background: transparent !important;
    border: none !important;
}
.mc-cart i,
.mc-cart .cart-btn,
.mc-cart .cart-box * {
    color: #fff !important;
    font-size: 14px;
}

/* LOGIN / SIGNUP */
.mc-auth {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: 16px;
}
.mc-login-link {
    color: #ffffff;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
    font-weight: 500;
    padding: 8px 0;
}
.mc-login-link:hover {
    color: #dbe3ff;
}
.mc-signup-btn {
    background-color: #1f5cd6;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 6px;
    display: inline-block;
    border: 1px solid #1f5cd6;
}
.mc-signup-btn:hover {
    background-color: #1745a6;
    border-color: #1745a6;
    color: #fff;
}

/* RESPONSIVE BÁSICO (todavía sin menú hamburguesa custom) */
@media (max-width: 992px) {

    .mc-header-inner {
        flex-wrap: wrap;
        row-gap: 12px;
    }

    /* Logo ocupa la primera fila junto con login/signup */
    .mc-logo {
        order: 1;
    }
    .mc-auth {
        order: 2;
        margin-left: auto;
    }

    /* Menú principal y buscador bajan */
    .mc-nav {
        order: 3;
        width: 100%;
        flex-wrap: wrap;
        gap: 16px;
    }

    .mc-search {
        order: 4;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
    }

    .mc-cart {
        order: 5;
        margin-left: 0;
    }
}

/* USUARIO LOGUEADO */
.mc-user {
    position: relative;
    margin-left: 20px;
}
.mc-user-toggle {
    display: flex;
    align-items: center;
}
.mc-user-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 2px solid #1f5cd6;
    cursor: pointer;
    transition: transform .2s ease;
}
.mc-user-avatar:hover {
    transform: scale(1.05);
}
.mc-user-dropdown {
    position: absolute;
    right: 0;
    top: 45px;
    background-color: #ffffff;
    color: #1a1a1a;
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(0,0,0,0.1);
    width: 220px;
    display: none;
    flex-direction: column;
    z-index: 1000;
}
.mc-user.open .mc-user-dropdown {
    display: flex;
}
.mc-user-info {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
}
.mc-user-info img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}
.mc-user-dropdown a {
    text-decoration: none;
    color: #1a1a1a;
    font-size: 14px;
    padding: 8px 14px;
    transition: background-color .2s ease;
}
.mc-user-dropdown a:hover {
    background-color: #f2f5fa;
}
.mc-user-dropdown a.logout {
    color: #e94c4c;
    font-weight: 600;
}
.mc-user-dropdown hr {
    margin: 6px 0;
    border: 0;
    border-top: 1px solid #eee;
}

/* ——— Botón primario azul ——— */
.ms-card .ms-btn,
.add-to-cart-btn {
  background-image: none !important;
  box-shadow: none !important;
  background-color: #0b5ed7 !important;   /* azul pleno */
  border-color: #0b5ed7 !important;
  color: #ffffff !important;               /* texto SIEMPRE blanco */
}
.ms-card .ms-btn:hover,
.add-to-cart-btn:hover {
  background-color: #0949aa !important;
  border-color: #0949aa !important;
  color: #ffffff !important;
}

/* ——— Estado “agregado al carrito” ——— */
.add-to-cart-btn.addedToCart,
.ms-card .ms-btn.ms-in-cart {
  background-color: #1e7e34 !important;   /* verde pleno */
  border-color: #1e7e34 !important;
  color: #ffffff !important;
}
.add-to-cart-btn.addedToCart:hover,
.ms-card .ms-btn.ms-in-cart:hover {
  background-color: #18662a !important;
  border-color: #18662a !important;
  color: #ffffff !important;
}

/* Por si algún span/icono interno fuerza color */
.ms-card .ms-btn * ,
.add-to-cart-btn * {
  color: #ffffff !important;
}

/* ===== HEADER: links SIEMPRE blancos ===== */
.header .nav-link,
.navbar .nav-link,
.menu-area .nav-link,
.top-header .nav-link {
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

/* Iconos dentro de los links del header */
.header .nav-link i,
.navbar .nav-link i,
.header .nav-link .fas,
.header .nav-link .far,
.header .nav-link .fab {
  color: #fff !important;
}

/* Estados hover/focus/active sin gris */
.header .nav-link:hover,
.navbar .nav-link:hover,
.header .nav-link:focus,
.navbar .nav-link:focus,
.header .nav-item.active > .nav-link,
.navbar .nav-link.active {
  color: #fff !important;
  opacity: 0.95; /* leve feedback sin cambiar color */
}

/* Si el header aplica un color gris por defecto a todos los <a>, lo neutralizamos */
.header a,
.top-header a,
.navbar a {
  color: #fff !important;
}

/* ===== Botón "Iniciar sesión" (o similares) ===== */
/* Ajustá los selectores a tu HTML real: .login-btn / .btn-login / .btn-sign-in */
a.login-btn,
.btn-login,
.header a.btn,
.header .btn-login {
  background-color: #0b5ed7 !important; /* azul pleno */
  color: #fff !important;
  border: none !important;
  border-radius: 8px;
  padding: 8px 14px;
  font-weight: 600;
  transition: transform .15s ease, background-color .15s ease;
  box-shadow: 0 2px 5px rgba(0,0,0,.10);
}

/* Hover sutil (sin gradientes) */
a.login-btn:hover,
.btn-login:hover,
.header a.btn:hover,
.header .btn-login:hover {
  background-color: #0949aa !important; /* un tono +oscuro del azul */
  color: #fff !important;
  transform: translateY(-1px) scale(1.03);
}

/* ===== Menú móvil / offcanvas (si lo usan) ===== */
.offcanvas .nav-link,
.offcanvas .navbar-nav .nav-link {
  color: #fff !important;
}
.offcanvas .nav-link:hover,
.offcanvas .nav-link:focus,
.offcanvas .nav-link.active {
  color: #fff !important;
  opacity: 0.95;
}

/* Evitar que Bootstrap reimponga grises por variables/hover */
.navbar-light .navbar-nav .nav-link,
.navbar-dark .navbar-nav .nav-link {
  color: #fff !important;
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:hover {
  color: #fff !important;
  opacity: 0.95;
}

/* ——— Ajuste de altura del header con máxima prioridad ——— */

header,
.header-area,
.site-header,
.navbar {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
  min-height: 90px !important;
}

/* Si el tema usa contenedores flex en la navbar */
.header-area .container,
.site-header .container,
.navbar .container {
  align-items: center !important;
}

/* Bootstrap 5 suele usar variable de padding vertical en navbar */
:root {
  --bs-navbar-padding-y: 1.25rem; /* ~20px */
}

/* Muchas veces los links traen padding chico por utilidades .py-2  */
.navbar-nav .nav-link {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* Si el botón CTA del header queda apretado, dale aire */
header .btn,
.navbar .btn,
.header-area .btn {
  padding: 10px 16px !important;
  line-height: 1.2 !important;
}

/* Si el logo fija la altura, limitá su alto */
.navbar-brand img,
.header-logo img {
  max-height: 48px !important;   /* ajustá si hace falta */
  height: auto !important;
}