:root {
    --coditec-primary: #024298;
    --coditec-hover: #ad8f40;
    --coditec-dark: #111827;
    --coditec-light: #f8fafc;
}

body {
    background: #ffffff;
    color: #1f2937;
}

a {
    color: var(--coditec-primary);
    text-decoration: none;
}

a:hover,
a:focus {
    color: var(--coditec-hover);
}

.coditec-navbar {
    background: var(--coditec-primary);
}

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255,255,255,.9);
    font-weight: 500;
}

.navbar-dark .navbar-nav .nav-link:hover {
    color: #ffffff;
    text-decoration: underline;
}

.site-title {
    font-weight: 700;
    letter-spacing: .02em;
}

.btn-primary {
    background-color: var(--coditec-primary);
    border-color: var(--coditec-primary);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--coditec-hover);
    border-color: var(--coditec-hover);
}

.coditec-card,
.widget {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
    overflow: hidden;
}

.coditec-content .entry-title,
.card-title a {
    color: var(--coditec-primary);
}

.coditec-content .entry-title:hover,
.card-title a:hover {
    color: var(--coditec-hover);
}

.entry-content img {
    max-width: 100%;
    height: auto;
}

.site-footer {
    background: var(--coditec-dark);
    color: rgba(255,255,255,.85);
}

.site-footer a {
    color: #ffffff;
}

.site-footer a:hover {
    color: #f8e6aa;
}

.footer-separator {
    border-color: rgba(255,255,255,.15);
}

.screen-reader-text {
    position: absolute;
    left: -999em;
}

.screen-reader-text:focus {
    left: 1rem;
    top: 1rem;
    background: #fff;
    color: #000;
    padding: .75rem 1rem;
    z-index: 100000;
}

/* Compatibilidad del menú WordPress con Bootstrap 5 */
.coditec-navbar .dropdown-menu {
    border: 0;
    border-radius: .75rem;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .18);
}

.coditec-navbar .dropdown-item:active,
.coditec-navbar .dropdown-item:hover,
.coditec-navbar .dropdown-item:focus {
    background-color: rgba(2, 66, 152, .08);
    color: var(--coditec-primary);
}

.coditec-navbar .current-menu-item > a,
.coditec-navbar .current-menu-ancestor > a,
.coditec-navbar .active > a {
    font-weight: 700;
}

/* Opciones configurables de encabezado y footer */
.site-footer {
    background: var(--coditec-footer-bg, var(--coditec-dark));
}

.coditec-navbar-inner {
    gap: 1rem;
}

.coditec-brand {
    min-height: 48px;
    color: #ffffff;
}

.coditec-brand:hover,
.coditec-brand:focus {
    color: #ffffff;
}

.coditec-logo-img,
.custom-logo-link img,
.custom-logo {
    max-height: 64px;
    width: auto;
}

.coditec-logo-html {
    color: #ffffff;
    line-height: 1.1;
}



/* Encabezado configurable: logo y menú en distintas líneas */
.coditec-navbar-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.coditec-menu-row,
.coditec-logo-row {
    min-height: 56px;
}
.coditec-logo-right .coditec-logo-row {
    justify-content: flex-end;
}
.coditec-logo-left .coditec-logo-row {
    justify-content: flex-start;
}
.coditec-menu-above-logo .coditec-menu-row,
.coditec-menu-below-logo .coditec-menu-row {
    justify-content: stretch;
}
.coditec-menu-above-logo .navbar-toggler {
    margin-left: auto;
}
.coditec-menu-below-logo.coditec-logo-right .navbar-toggler {
    margin-right: auto;
    order: -1;
}
.coditec-menu-same-line.coditec-logo-right .navbar-toggler {
    margin-right: 1rem;
}
.coditec-menu-same-line.coditec-logo-left .navbar-toggler {
    margin-left: auto;
}
@media (min-width: 992px) {
    .coditec-menu-above-logo .coditec-menu-wrap,
    .coditec-menu-below-logo .coditec-menu-wrap {
        width: 100%;
    }
    .coditec-menu-same-line.coditec-logo-right .coditec-menu-wrap,
    .coditec-menu-same-line.coditec-logo-left .coditec-menu-wrap {
        flex: 1 1 auto;
    }
    .coditec-menu-same-line.coditec-logo-right .coditec-brand {
        margin-left: 1rem !important;
        margin-right: 0 !important;
    }
    .coditec-menu-same-line.coditec-logo-left .coditec-brand {
        margin-right: 1rem !important;
        margin-left: 0 !important;
    }
}
@media (max-width: 991.98px) {
    .coditec-menu-wrap {
        width: 100%;
    }
    .coditec-menu-same-line.coditec-logo-right .coditec-brand {
        margin-left: auto;
    }
    .coditec-menu-same-line.coditec-logo-left .coditec-brand {
        margin-right: auto;
    }
}

/* v1.3.1: estructura real para menú arriba / misma línea / abajo */
.coditec-navbar-inner {
    display: block;
}

.coditec-header-row {
    width: 100%;
}

.coditec-menu-row,
.coditec-logo-row {
    min-height: 56px;
}

.coditec-menu-line .navbar-toggler,
.coditec-menu-column .navbar-toggler {
    margin-left: auto;
}

.coditec-menu-line .coditec-menu-wrap,
.coditec-menu-column .coditec-menu-wrap {
    width: 100%;
}

.coditec-same-line-row {
    margin-left: 0;
    margin-right: 0;
}

.coditec-logo-column .coditec-brand,
.coditec-logo-line .coditec-brand {
    margin: 0 !important;
}

@media (min-width: 992px) {
    .coditec-menu-line .navbar-toggler,
    .coditec-menu-column .navbar-toggler {
        display: none;
    }

    .coditec-menu-line .coditec-menu-wrap,
    .coditec-menu-column .coditec-menu-wrap {
        display: flex !important;
    }

    .coditec-menu-line .navbar-nav,
    .coditec-menu-column .navbar-nav {
        width: auto;
    }
}

@media (max-width: 991.98px) {
    .coditec-same-line-row {
        display: flex;
    }

    .coditec-logo-column {
        width: auto;
        flex: 1 1 auto;
    }

    .coditec-menu-column {
        width: auto;
        flex: 0 0 auto;
        justify-content: flex-end;
    }

    .coditec-menu-column .coditec-menu-wrap {
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        background: var(--coditec-primary);
        padding: 0 1rem 1rem;
        z-index: 1000;
    }

    .coditec-menu-row .coditec-menu-wrap {
        padding-top: .75rem;
    }

    .coditec-menu-same-line.coditec-logo-right .coditec-logo-column {
        order: 2;
        justify-content: flex-end;
    }

    .coditec-menu-same-line.coditec-logo-right .coditec-menu-column {
        order: 1;
        justify-content: flex-start;
    }

    .coditec-menu-same-line.coditec-logo-right .coditec-menu-column .navbar-toggler {
        margin-left: 0;
        margin-right: auto;
    }
}


/* v1.3.7: encabezado rehecho desde cero
   1) misma línea: logo 4/12 + menú 8/12
   2) menú arriba: menú 12/12 + logo 12/12
   3) logo arriba: logo 12/12 + menú 12/12 */
.coditec-navbar-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center;
}

.coditec-header-line {
    width: 100%;
    min-height: 64px;
    display: flex !important;
    align-items: center;
}

.coditec-header-line.row {
    display: flex !important;
}

.coditec-inline-line {
    flex-wrap: wrap;
}

.coditec-inline-line .coditec-logo-column {
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
    min-height: 64px;
}

.coditec-inline-line .coditec-menu-column {
    flex: 0 0 66.666667% !important;
    max-width: 66.666667% !important;
    min-height: 64px;
}

.coditec-menu-line .coditec-menu-wrap,
.coditec-menu-column .coditec-menu-wrap {
    flex-grow: 0 !important;
    width: auto !important;
}

.coditec-menu-line .navbar-nav,
.coditec-menu-column .navbar-nav {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.coditec-brand {
    margin: 0 !important;
}

@media (min-width: 992px) {
    .coditec-menu-line .navbar-toggler,
    .coditec-menu-column .navbar-toggler {
        display: none !important;
    }

    .coditec-menu-line .coditec-menu-wrap,
    .coditec-menu-column .coditec-menu-wrap {
        display: flex !important;
        flex-basis: auto !important;
    }
}

@media (max-width: 991.98px) {
    .coditec-inline-line .coditec-logo-column,
    .coditec-inline-line .coditec-menu-column {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .coditec-menu-line,
    .coditec-menu-column {
        flex-wrap: wrap;
    }

    .coditec-menu-line .coditec-menu-wrap,
    .coditec-menu-column .coditec-menu-wrap {
        width: 100% !important;
        flex: 0 0 100% !important;
    }
}




/* v1.4.1: variables base de color editables en CSS.
   El Personalizador sobrescribe estos valores mediante CSS dinámico. */
:root {
    --coditec-header-bg: #024298;
    --coditec-body-bg: #ffffff;
    --coditec-footer-bg: #024298;
    --coditec-btn-bg: #024298;
    --coditec-btn-hover: #ad8f40;
    --coditec-primary: #024298;
    --coditec-hover: #ad8f40;
    --coditec-header-text: #ffffff;
    --coditec-btn-text: #ffffff;
    --coditec-footer-text: #ffffff;
    --coditec-body-text: #212529;
}

/* Área de widgets bajo el encabezado. */
.coditec-header-widgets {
    background: transparent;
}

.coditec-header-widget:last-child {
    margin-bottom: 0 !important;
}


/* v1.4.2: soporte correcto para contenedores Bootstrap.
   El main ya no fuerza .container; el ancho se controla desde el Personalizador. */
.site-main {
    width: 100%;
}

.site-main > .container-fluid,
.coditec-navbar > .container-fluid,
.site-footer > .container-fluid,
.coditec-header-widgets > .container-fluid {
    width: 100%;
}

.coditec-content-area {
    width: 100%;
}

/* Cuando el usuario elige "sin contenedor", el contenido puede usar container o container-fluid libremente. */
.site-main > .coditec-content-area {
    padding-left: 0;
    padding-right: 0;
}
