/*
Theme Name: Anatronic NXP Style
Template: generatepress
Description: Tema hijo basado en GeneratePress para Anatronic, refinado para menús clásicos y Mega-Menú.
Author: Antigravity AI
Version: 1.0.1
*/

/* --- 1. Sticky Header Customization --- */
.site-header {
    position: sticky;
    top: 0;
    z-index: 999;
    background-color: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

/* --- Escritorio: Logo Izquierda, Menú Centro, Buscador Derecha --- */
@media (min-width: 1000px) {
    .inside-header {
        display: flex !important;
        align-items: center !important;
        max-width: 100% !important;
        padding: 0 40px !important;
        margin: 0 auto;
        position: static !important;
    }

    .site-logo {
        order: 1 !important;
        margin-right: 40px !important;
    }

    #site-navigation {
        order: 2 !important;
        flex-grow: 1 !important;
        background: transparent !important;
        position: static !important;
    }

    #site-navigation .inside-navigation {
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        position: static !important;
        margin: 0 !important;
    }

    #site-navigation .main-nav {
        flex-grow: 0 !important;
        position: static !important;
        margin: 0 !important;
    }

    #site-navigation .main-nav>ul {
        display: flex !important;
        justify-content: flex-start !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #mobile-menu-control-wrapper,
    #site-navigation .menu-bar-items {
        order: 3 !important;
        margin-left: auto !important;
    }
}

/* --- Móvil: Hamburguesa Izquierda, Buscador Derecha, Logo Debajo --- */
@media (max-width: 999px) {
    .inside-header {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 15px 20px !important;
    }

    #mobile-menu-control-wrapper,
    .menu-toggle {
        order: 1 !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        position: static !important;
        transform: none !important;
    }

    .menu-bar-items {
        order: 2 !important;
        flex: 0 0 auto !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        position: static !important;
        transform: none !important;
    }

    .site-logo {
        order: 3 !important;
        width: 100% !important;
        flex: 0 0 100% !important;
        margin: 5px 0 0 0 !important;
        text-align: center !important;
        position: static !important;
        transform: none !important;
    }

    .site-logo img {
        margin: 0 auto !important;
        display: block !important;
    }

    #site-navigation {
        width: 100% !important;
        order: 4 !important;
    }

    #site-navigation:not(.toggled) .main-nav>ul {
        display: none !important;
    }

    #site-navigation.toggled .main-nav>ul {
        display: block !important;
        margin-top: 20px !important;
        /* Push down when opened */
    }
}


/* Espaciado elegante e items en Mayúsculas y Negrita (Estilo NXP) */
.main-navigation .main-nav>ul>li>a {
    padding-left: 20px;
    padding-right: 20px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 14px;
    color: #1a1a1a;
}

/* --- 2. Mega-Menu Avanzado para GeneratePress --- */
@media (min-width: 769px) {

    /* El contenedor principal debe ser static para que el absolute nazca del header */
    .main-navigation .main-nav ul li.mega-menu {
        position: static !important;
    }

    /* El lienzo desplegable de borde a borde */
    .main-navigation .main-nav ul li.mega-menu>ul {
        position: absolute;
        width: 100%;
        /* Toma todo el ancho de la barra (site-header) */
        left: 0 !important;
        right: 0 !important;
        transform: none;
        display: flex;
        flex-wrap: wrap;
        padding: 40px 60px;
        background-color: #ffffff;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
        border-top: none;
        border-bottom: 5px solid #1E73BE;
        /* Azul corporativo consistente */
        border-radius: 0 0 6px 6px;
    }

    /* Ocultar las flechas feas nativas (toggles) del mega menú */
    .main-navigation .main-nav ul li.mega-menu>ul .dropdown-menu-toggle {
        display: none !important;
    }

    /* Las columnas (3 columnas configuradas) */
    .main-navigation .main-nav ul li.mega-menu>ul>li {
        width: 33.3333%;
        display: block;
        border-right: 1px solid #f1f5f9;
        padding: 0 20px;
    }

    .main-navigation .main-nav ul li.mega-menu>ul>li:last-child {
        border-right: none;
    }

    /* El título de la columna (ej. "Automotive" en NXP) */
    .main-navigation .main-nav ul li.mega-menu>ul>li>a {
        font-weight: 700 !important;
        color: #1E73BE !important;
        /* Azul corporativo base unificado */
        text-transform: none !important;
        font-size: 16px !important;
        border-bottom: none !important;
        padding-bottom: 12px !important;
        margin-bottom: 8px !important;
        background: transparent !important;
        pointer-events: none;
        /* Convierte el título de columna en puro texto estático sin link */
    }

    /* Contenedor de subitems (Los elementos listados abajo de la cabecera de columna) */
    .main-navigation .main-nav ul li.mega-menu>ul>li>ul {
        position: static !important;
        display: block !important;
        box-shadow: none !important;
        background-color: transparent !important;
        width: 100% !important;
        margin-top: 10px !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        height: auto !important;
        transform: none !important;
        left: auto !important;
    }

    /* Estilo clásico en gris para el contenido final */
    .main-navigation .main-nav ul li.mega-menu>ul>li>ul>li a {
        padding: 6px 0 !important;
        color: #4a4a4a !important;
        /* Gris oscuro tipo NXP */
        font-weight: 400 !important;
        background: transparent !important;
        border-bottom: none !important;
        /* Totalmente plano */
        font-size: 14px !important;
        width: 100% !important;
    }

    .main-navigation .main-nav ul li.mega-menu>ul>li>ul>li a:hover {
        color: #1E73BE !important;
        /* Azul corporativo coordinado */
        background: transparent !important;
        text-decoration: underline !important;
        /* NXP subraya sutilmente al hacer hover */
    }
}

/* --- 3. Body: Estilos de Tarjetas (Product Cards NXP) --- */
.nxp-card {
    background-color: #ffffff;
    transition: all 0.3s ease;
    border-radius: 4px;
}

.nxp-card:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    border-color: #1E73BE !important;
    /* Azul corporativo borde en hover */
    transform: translateY(-4px);
    /* Sutil elevación técnica */
    cursor: pointer;
}

/* --- 4. Body: NXP Homepage Pills y Tabs --- */
.nxp-pill {
    border: 2px solid #000000;
    border-radius: 30px;
    padding: 6px 16px;
    display: flex;
    align-items: center;
    cursor: pointer;
    font-weight: 700;
    font-size: 13px;
    color: #000000;
    background-color: transparent;
    transition: all 0.2s ease-in-out;
}

.nxp-pill:hover,
.nxp-pill.nxp-pill-active {
    background-color: #000000;
    color: #ffffff;
}

.nxp-hero-tabs>div {
    transition: all 0.2s ease-in-out;
}

.nxp-hero-tabs>div:hover {
    background: rgba(0, 0, 0, 0.9) !important;
    border-bottom: 3px solid #1e73be !important;
}

/* --- 5. Módulo C: Core Linecard Cards --- */
.nxp-linecard-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.nxp-linecard {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 40px 30px;
    border-radius: 8px;
    transition: all 0.3s ease;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.nxp-linecard::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #D8225D;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.nxp-linecard:hover {
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
    transform: translateY(-5px);
    border-color: #D8225D;
}

.nxp-linecard:hover::before {
    transform: scaleX(1);
}

.nxp-linecard-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 20px;
    fill: none;
    stroke: #1e73be;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke 0.3s ease;
}

.nxp-linecard:hover .nxp-linecard-icon {
    stroke: #D8225D;
}

.nxp-linecard-title {
    font-size: 18px;
    font-weight: 700;
    color: #000000;
    margin-bottom: 10px;
    line-height: 1.2;
}

.nxp-linecard-desc {
    font-size: 14px;
    color: #666666;
    line-height: 1.5;
}

.nxp-linecard-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 25px;
}

.nxp-linecard-pill {
    background-color: #f0f2f5;
    color: #333333;
    font-size: 13px;
    padding: 6px 12px;
    border-radius: 4px;
    font-weight: 500;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.nxp-linecard:hover .nxp-linecard-pill {
    background-color: #fcedf1;
    color: #D8225D;
}

@media (max-width: 900px) {
    .nxp-linecard-grid {
        grid-template-columns: 1fr;
    }
}

/* --- 6. Módulo D: Servicios SVG Flowchart --- */
.nxp-flowchart {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px;
}

.nxp-flowchart-node {
    text-align: center;
    background: transparent;
    flex: 1 1 200px;
    position: relative;
    padding: 0 15px;
}

.nxp-flowchart-node:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 40px;
    right: -10px;
    width: 16px;
    height: 16px;
    border-right: 3px solid #D8225D;
    border-bottom: 3px solid #D8225D;
    transform: translateY(-50%) rotate(-45deg);
    z-index: 5;
}

@media (max-width: 850px) {
    .nxp-flowchart {
        flex-direction: column;
        align-items: center;
        gap: 60px;
        padding-top: 20px;
    }

    .nxp-flowchart-node:not(:last-child)::after {
        top: auto;
        bottom: -40px;
        right: 50%;
        transform: translateX(50%) rotate(45deg);
    }
}

.nxp-service-icon-wrapper {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: #f4f6f9;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.nxp-flowchart-node:hover .nxp-service-icon-wrapper {
    background: #1e73be;
}

.nxp-service-icon {
    width: 36px;
    height: 36px;
    fill: none;
    stroke: #1e73be;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: all 0.3s ease;
}

.nxp-flowchart-node:hover .nxp-service-icon {
    stroke: #ffffff;
}

.nxp-service-title {
    font-size: 18px;
    font-weight: 700;
    color: #000000;
    margin-bottom: 15px;
}

.nxp-service-desc {
    font-size: 14px;
    line-height: 1.5;
}

/* --- 8. Módulo F: Verticales y Soluciones (Accordion) --- */
.nxp-verticals-section {
    display: flex;
    width: 100%;
    height: 70vh;
    min-height: 500px;
    max-height: 800px;
    overflow: hidden;
}

.nxp-vertical-panel {
    flex: 1;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 60px 40px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #222;
    text-decoration: none;
    color: #ffffff;
    transition: flex 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    overflow: hidden;
    cursor: pointer;
}

.nxp-vertical-panel::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.1) 100%);
    transition: background 0.6s ease;
    z-index: 1;
}

.nxp-vertical-panel:hover {
    flex: 2.5;
}

.nxp-vertical-panel:hover::before {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0) 100%);
}

.nxp-vertical-content {
    position: relative;
    z-index: 2;
    transform: translateY(30px);
    transition: all 0.5s ease;
    width: 100%;
}

.nxp-vertical-panel:hover .nxp-vertical-content {
    transform: translateY(0);
}

.nxp-vertical-eyebrow {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #D8225D;
}

.nxp-vertical-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 15px;
    line-height: 1.2;
    color: #ffffff;
    white-space: normal;
    transition: font-size 0.4s ease;
}

.nxp-vertical-panel:hover .nxp-vertical-title {
    font-size: 32px;
}

.nxp-vertical-desc {
    font-size: 15px;
    color: #cccccc;
    max-width: 450px;
    margin-bottom: 30px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;
    transition-delay: 0s;
}

.nxp-vertical-panel:hover .nxp-vertical-desc {
    opacity: 1;
    visibility: visible;
    transition-delay: 0.1s;
}

.nxp-vertical-action {
    display: inline-flex;
    align-items: center;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 1px;
    opacity: 0;
    transition: all 0.4s ease;
}

.nxp-vertical-panel:hover .nxp-vertical-action {
    opacity: 1;
}

.nxp-vertical-action svg {
    margin-left: 10px;
    transition: transform 0.3s ease;
}

.nxp-vertical-panel:hover .nxp-vertical-action svg {
    transform: translateX(5px);
}

@media (max-width: 1100px) {
    .nxp-verticals-section {
        flex-direction: column;
        height: auto;
        max-height: none;
    }

    .nxp-vertical-panel {
        height: 350px;
        flex: none !important;
        width: 100%;
    }

    .nxp-vertical-desc,
    .nxp-vertical-action {
        opacity: 1;
        visibility: visible;
    }

    .nxp-vertical-content {
        transform: translateY(0);
    }

    .nxp-vertical-title {
        white-space: normal;
    }
}

/* --- 7. Módulo E: Calidad Aeroespacial (Dark Mode) --- */
.nxp-quality-section {
    background: #121212;
    color: #ffffff;
    padding: 0 20px;
    display: flex;
    justify-content: center;
    position: relative;
}

.nxp-quality-container {
    max-width: 1200px;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 60px;
}

.nxp-quality-content {
    flex: 1;
}

.nxp-quality-content h2 {
    color: #ffffff;
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.2;
}

.nxp-quality-content p {
    color: #b0b0b0;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 30px;
}

.nxp-quality-badges {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    justify-content: end;
}

.nxp-badge-card {
    background: #1a1a1a;
    border: 1px solid #333333;
    padding: 30px;
    border-radius: 8px;
    text-align: center;
    width: 220px;
    transition: all 0.3s ease;
    text-decoration: none;
    display: block;
    cursor: pointer;
}

.nxp-badge-card:hover {
    border-color: #1e73be;
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(30, 115, 190, 0.2);
}

.nxp-badge-card svg {
    width: 60px;
    height: 60px;
    fill: none;
    stroke: #D8225D;
    stroke-width: 1.5;
    margin-bottom: 15px;
}

.nxp-badge-title {
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 5px;
}

.nxp-badge-subtitle {
    font-size: 13px;
    color: #888888;
    text-transform: uppercase;
    letter-spacing: 1px;
}

@media (max-width: 900px) {
    .nxp-quality-container {
        flex-direction: column;
        text-align: center;
    }

    .nxp-quality-badges {
        justify-content: center;
        flex-wrap: wrap;
    }
}

/* --- 9. Módulo G: Blog y Noticias (Carousel) --- */
.nxp-blog-section {
    padding: 0;
    background-color: #f7f9fa;
    position: relative;
    overflow: hidden;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
}

.nxp-blog-header {
    max-width: 1200px;
    margin: 0 auto 40px auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.nxp-blog-header h2 {
    font-size: 38px;
    font-weight: 700;
    color: #000000;
    margin: 0;
    letter-spacing: -0.5px;
}

.nxp-blog-header a.view-all {
    color: #1e73be;
    font-weight: 700;
    text-decoration: none;
    display: flex;
    align-items: center;
    font-size: 15px;
    margin-bottom: 5px;
}

.nxp-blog-header a.view-all svg {
    margin-left: 5px;
    transition: transform 0.3s ease;
}

.nxp-blog-header a.view-all:hover svg {
    transform: translateX(5px);
}

.nxp-blog-carousel-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.nxp-blog-carousel {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    padding-bottom: 20px;
}

.nxp-blog-card {
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    text-decoration: none;
    color: #333333;
    display: flex;
    flex-direction: column;
}

.nxp-blog-card:hover {
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
    transform: translateY(-5px);
}

.nxp-blog-card-img {
    height: 180px;
    background-color: #222;
    background-size: cover;
    background-position: center;
}

.nxp-blog-card-content {
    padding: 30px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.nxp-blog-card-meta {
    font-size: 12px;
    color: #D8225D;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 15px;
}

.nxp-blog-card-title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 15px;
    line-height: 1.3;
    color: #000000;
}

.nxp-blog-card-excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: #666666;
    margin-bottom: 25px;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.nxp-blog-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #eeeeee;
    padding-top: 20px;
    font-size: 13px;
    color: #999999;
}

.nxp-blog-card-readmore {
    font-weight: 700;
    color: #1e73be;
    display: flex;
    align-items: center;
}

.nxp-blog-card-readmore svg {
    margin-left: 5px;
    width: 16px;
    height: 16px;
}

@media (max-width: 1100px) {
    .nxp-blog-carousel {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 20px;
        -ms-overflow-style: none;
        /* IE and Edge */
        scrollbar-width: none;
        /* Firefox */
    }

    .nxp-blog-carousel::-webkit-scrollbar {
        display: none;
    }

    .nxp-blog-card {
        flex: 0 0 320px;
        scroll-snap-align: center;
    }
}

@media (max-width: 900px) {
    .nxp-blog-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .nxp-blog-card {
        flex: 0 0 290px;
    }
}

/* --- 10. Módulo H: Equipo y Soporte de Diseño (CTA) --- */
.nxp-cta-section {
    position: relative;
    overflow: hidden;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    background-color: #121212 !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    display: flex;
    align-items: stretch;
}

.nxp-cta-grid {
    display: grid;
    grid-template-columns: 45% 55%;
    background-color: #121212;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: normal;
}

.nxp-cta-image {
    min-height: 500px;
    background-size: cover;
    background-position: center;
    position: relative;
    margin: 0;
    border-radius: 12px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

.nxp-cta-image::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: inherit;
    /* Subtle fade from left to right matching background */
    background: linear-gradient(90deg, rgba(18, 18, 18, 0) 0%, rgba(18, 18, 18, 0.7) 100%);
}

.nxp-cta-content {
    box-sizing: border-box;
    padding: 0 0 0 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #ffffff;
}

.nxp-cta-eyebrow {
    color: #D8225D;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 20px;
    font-size: 14px;
}

.nxp-cta-title {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 25px;
    color: #ffffff;
}

.nxp-cta-desc {
    font-size: 18px;
    color: #cccccc;
    line-height: 1.6;
    margin-bottom: 40px;
}

.nxp-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #D8225D;
    color: #ffffff;
    padding: 16px 35px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.3s ease, transform 0.3s ease;
    align-self: flex-start;
}

.nxp-cta-button:hover {
    background-color: #a81a48;
    transform: translateY(-2px);
}

.nxp-cta-button svg {
    margin-left: 10px;
}

@media (max-width: 1000px) {
    .nxp-cta-grid {
        grid-template-columns: 1fr;
    }

    .nxp-cta-image {
        min-height: 350px;
    }

    .nxp-cta-image::after {
        background: linear-gradient(180deg, rgba(18, 18, 18, 0) 0%, rgba(18, 18, 18, 1) 100%);
    }

    .nxp-cta-content {
        padding: 0 8%;
    }

    .nxp-cta-title {
        font-size: 32px;
    }
}

/* --- 7. Fix: Home Page Edge-to-Edge --- */
html,
body.home,
body.page-id-58,
body.page-id-91,
body.page-id-136,
body.page-id-151,
body.page-id-167,
body.page-id-176,
body.page-id-182,
body.page-id-20813,
body.page-id-20820,
body.page-id-20903,
body.page-id-3 {
    overflow-x: hidden !important;
}

body.home .site-header,
body.page-id-58 .site-header,
body.page-id-91 .site-header,
body.page-id-136 .site-header,
body.page-id-151 .site-header,
body.page-id-167 .site-header,
body.page-id-176 .site-header,
body.page-id-182 .site-header,
body.page-id-20813 .site-header,
body.page-id-20820 .site-header,
body.page-id-20903 .site-header,
body.page-id-3 .site-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.home .site,
body.page-id-58 .site,
body.page-id-91 .site,
body.page-id-136 .site,
body.page-id-151 .site,
body.page-id-167 .site,
body.page-id-176 .site,
body.page-id-182 .site,
body.page-id-20813 .site,
body.page-id-20820 .site,
body.home #page,
body.page-id-58 #page,
body.page-id-91 #page,
body.page-id-136 #page,
body.page-id-151 #page,
body.page-id-167 #page,
body.page-id-176 #page,
body.page-id-182 #page,
body.page-id-20813 #page,
body.page-id-20820 #page,
body.home #content,
body.page-id-58 #content,
body.page-id-91 #content,
body.page-id-136 #content,
body.page-id-151 #content,
body.page-id-167 #content,
body.page-id-176 #content,
body.page-id-182 #content,
body.page-id-20813 #content,
body.page-id-20820 #content,
body.home #primary,
body.page-id-58 #primary,
body.page-id-91 #primary,
body.page-id-136 #primary,
body.page-id-151 #primary,
body.page-id-167 #primary,
body.page-id-176 #primary,
body.page-id-182 #primary,
body.page-id-20813 #primary,
body.page-id-20820 #primary,
body.home #main,
body.page-id-58 #main,
body.page-id-91 #main,
body.page-id-136 #main,
body.page-id-151 #main,
body.page-id-167 #main,
body.page-id-176 #main,
body.page-id-182 #main,
body.page-id-20813 #main,
body.page-id-20820 #main,
body.home article,
body.page-id-58 article,
body.page-id-91 article,
body.page-id-136 article,
body.page-id-151 article,
body.page-id-167 article,
body.page-id-176 article,
body.page-id-182 article,
body.page-id-20813 article,
body.page-id-20820 article,
body.home .site-content,
body.page-id-58 .site-content,
body.page-id-91 .site-content,
body.page-id-136 .site-content,
body.page-id-151 .site-content,
body.page-id-167 .site-content,
body.page-id-176 .site-content,
body.page-id-182 .site-content,
body.page-id-20813 .site-content,
body.page-id-20820 .site-content,
body.home .inside-article,
body.page-id-58 .inside-article,
body.page-id-91 .inside-article,
body.page-id-136 .inside-article,
body.page-id-151 .inside-article,
body.page-id-167 .inside-article,
body.page-id-176 .inside-article,
body.page-id-182 .inside-article,
body.page-id-20813 .inside-article,
body.page-id-20820 .inside-article,
body.home .entry-content,
body.page-id-58 .entry-content,
body.page-id-91 .entry-content,
body.page-id-136 .entry-content,
body.page-id-151 .entry-content,
body.page-id-167 .entry-content,
body.page-id-176 .entry-content,
body.page-id-182 .entry-content,
body.page-id-20813 .entry-content,
body.page-id-20820 .entry-content,
body.home .entry-content>*,
body.page-id-58 .entry-content>*,
body.page-id-91 .entry-content>*,
body.page-id-136 .entry-content>*,
body.page-id-151 .entry-content>*,
body.page-id-167 .entry-content>*,
body.page-id-176 .entry-content>*,
body.page-id-182 .entry-content>*,
body.page-id-20813 .entry-content>*,
body.page-id-20820 .entry-content>*,
body.page-id-20903 .site,
body.page-id-20903 #page,
body.page-id-20903 #content,
body.page-id-20903 #primary,
body.page-id-20903 #main,
body.page-id-20903 article,
body.page-id-20903 .site-content,
body.page-id-20903 .inside-article,
body.page-id-20903 .entry-content,
body.page-id-20903 .entry-content>*,
body.page-id-3 .site,
body.page-id-3 #page,
body.page-id-3 #content,
body.page-id-3 #primary,
body.page-id-3 #main,
body.page-id-3 article,
body.page-id-3 .site-content,
body.page-id-3 .inside-article,
body.page-id-3 .entry-content,
body.page-id-3 .entry-content>* {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.home .entry-header,
body.page-id-58 .entry-header,
body.page-id-91 .entry-header,
body.page-id-136 .entry-header,
body.page-id-151 .entry-header,
body.page-id-167 .entry-header,
body.page-id-176 .entry-header,
body.page-id-182 .entry-header,
body.page-id-20813 .entry-header,
body.page-id-20820 .entry-header,
body.page-id-20903 .entry-header,
body.page-id-3 .entry-header {
    display: none !important;
}

body.home .alignfull,
body.page-id-58 .alignfull,
body.page-id-91 .alignfull,
body.page-id-136 .alignfull,
body.page-id-151 .alignfull,
body.page-id-167 .alignfull,
body.page-id-176 .alignfull,
body.page-id-182 .alignfull,
body.page-id-20813 .alignfull,
body.page-id-20820 .alignfull,
body.page-id-20903 .alignfull,
body.page-id-3 .alignfull {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 50% !important;
    margin-right: 0 !important;
    transform: translateX(-50%) !important;
}

.nxp-hero-title {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.1;
    color: #000000;
    margin-bottom: 20px;
}

.nxp-intro-title {
    font-size: 36px;
    font-weight: 700;
    color: #000000;
    line-height: 1.2;
    margin-bottom: 50px;
}

/* Customizations for Home Page Blog Carousel (4 cols + scroll) */
body.home .nxp-blog-carousel-wrapper {
    max-width: 1200px;
}

body.home .nxp-blog-carousel {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    gap: 30px;
    padding-bottom: 30px;
    scroll-snap-type: x mandatory;
}

body.home .nxp-blog-card {
    flex: 0 0 calc(33.333% - 20px);
    scroll-snap-align: start;
    min-width: 280px;
}

/* Scrollbar oculta para la home */
body.home .nxp-blog-carousel::-webkit-scrollbar {
    display: none;
}

body.home .nxp-blog-carousel {
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
}

/* Flechas del carrusel */
.nxp-carousel-nav {
    display: flex;
    gap: 10px;
}

.nxp-carousel-nav button {
    background: transparent;
    border: 2px solid #000;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #000;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    padding: 0;
}

.nxp-carousel-nav button:hover {
    background: #D8225D;
    border-color: #D8225D;
    color: #fff;
}

/* =========================================================
   DISEÑO DEL BLOG (ARCHIVE & SINGLE) NXP EDGE-TO-EDGE
========================================================= */

/* 1. Blog Archive (home & archive) Masonry/Grid */
body.blog .site-main,
body.archive .site-main {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 40px;
    padding: 60px;
    max-width: 1400px;
    margin: 0 auto;
}

/* Tarjeta del artículo nativo de GeneratePress */
body.blog article.post,
body.archive article.post {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.03);
    margin-bottom: 0 !important;
    /* overrides GP defaults */
    padding: 0 !important;
}

body.blog article.post:hover,
body.archive article.post:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(216, 34, 93, 0.15);
    /* Sombra corporativa sutil */
}

/* Imagen destacada en Archive */
body.blog .post-image,
body.archive .post-image {
    margin: 0 !important;
    width: 100%;
}

body.blog .post-image img,
body.archive .post-image img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

/* Contenido de la tarjeta */
body.blog .inside-article,
body.archive .inside-article {
    padding: 30px !important;
    display: flex;
    flex-direction: column;
}

body.blog .entry-header,
body.archive .entry-header {
    margin-bottom: 15px;
}

body.blog .entry-title,
body.archive .entry-title {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 10px;
}

body.blog .entry-title a,
body.archive .entry-title a {
    color: #000;
    text-decoration: none;
    transition: color 0.2s ease;
}

body.blog .entry-title a:hover,
body.archive .entry-title a:hover {
    color: #D8225D;
}

body.blog .entry-meta,
body.archive .entry-meta {
    font-size: 13px;
    color: #777;
    text-transform: uppercase;
    letter-spacing: 1px;
}

body.blog .entry-summary,
body.archive .entry-summary {
    font-size: 15px;
    line-height: 1.6;
    color: #555;
    margin-bottom: 20px;
}

/* Paginación del Grid (Edge-to-Edge Oscuro) */
body.blog .paging-navigation,
body.archive .paging-navigation,
body.search .paging-navigation,
body.blog .page-navigation,
body.archive .page-navigation,
body.blog .generate-columns-container .paging-navigation {
    grid-column: 1 / -1;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 50% !important;
    transform: translateX(-50%) !important;
    background: #0b1120; /* Fondo oscuro corporativo */
    margin-top: 40px;
    padding: 60px 20px;
    margin-bottom: 0 !important; 
}

body.blog .nav-links,
body.archive .nav-links,
body.search .nav-links {
    max-width: 1400px; /* Igual al grid central */
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

body.blog .nav-links .page-numbers,
body.archive .nav-links .page-numbers {
    display: inline-block;
    padding: 10px 18px;
    margin: 0 5px;
    background: #f1f1f1;
    color: #333;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

body.blog .nav-links .page-numbers:hover,
body.archive .nav-links .page-numbers:hover {
    background: #e2e2e2;
}

body.blog .nav-links .page-numbers.current,
body.archive .nav-links .page-numbers.current {
    background: #D8225D;
    color: #fff;
}

/* 2. Single Post (Artículo Individual) */
body.single-post #primary {
    width: 100%;
    float: none;
}

body.single-post .site-main {
    max-width: 800px;
    margin: 0 auto 60px auto !important;
    /* Force centering, removed top margin so hero touches header */
    padding: 0 20px;
    display: block;
    /* Override any GP flex/grid */
    float: none;
}

body.single-post .inside-article {
    background: transparent;
    box-shadow: none;
    padding: 0;
}

/* Imagen Destacada Single (Edge to Edge) */
body.single-post .featured-image {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    height: 50vh;
    min-height: 400px;
    margin-bottom: 60px;
    clear: both;
    display: block;
}

body.single-post .featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.single-post .entry-header {
    text-align: left;
    margin-bottom: 40px;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 20px;
}

body.single-post .entry-title {
    font-size: 42px;
    font-weight: 800;
    line-height: 1.2;
    color: #000;
    margin-bottom: 20px;
}

body.single-post .entry-content {
    font-size: 18px;
    line-height: 1.8;
    color: #333;
}

body.single-post .entry-content h2 {
    font-size: 28px;
    font-weight: 700;
    margin-top: 50px;
    margin-bottom: 25px;
    color: #000;
}

body.single-post .entry-content p {
    margin-bottom: 25px;
}

/* =========================================================
   MÓDULO B.1: HERO OSCURO DEL BLOG
========================================================= */
.nxp-blog-hero-module {
    grid-column: 1 / -1;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 50% !important;
    transform: translateX(-50%) !important;
    position: relative;
    padding: 80px 20px;
    color: #fff;
    overflow: hidden;
}

.nxp-hero-bg-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.nxp-blog-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(11, 17, 32, 0.85); /* Dark blue/black corporate overlay */
    z-index: 1;
}

.nxp-blog-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 50px;
    flex-wrap: wrap;
}

.nxp-blog-hero-text {
    flex: 1;
    min-width: 300px;
}

.nxp-blog-hero-text h1 {
    font-size: 46px;
    font-weight: 800;
    margin-bottom: 20px;
    color: #fff;
    line-height: 1.1;
}

.nxp-blog-hero-text p {
    font-size: 18px;
    color: #cbd5e1;
    max-width: 600px;
    line-height: 1.6;
}

.nxp-blog-hero-subscribe {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    padding: 30px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    min-width: 380px;
}

.nxp-blog-hero-subscribe h4 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #fff;
}

.nxp-subscribe-mockup {
    margin-bottom: 15px;
    width: 100%;
}

.nxp-subscribe-mockup p {
    display: flex;
    gap: 10px;
    margin-bottom: 0;
    align-items: stretch;
    width: 100%;
}

.nxp-subscribe-mockup br {
    display: none;
}

.nxp-subscribe-mockup .wpcf7-form-control-wrap {
    flex: 1;
    display: flex;
    align-items: stretch;
}

.nxp-subscribe-mockup input[type="email"] {
    width: 100%;
    padding: 12px 15px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    outline: none;
    height: 100%;
    box-sizing: border-box;
}

.nxp-subscribe-mockup input[type="submit"] {
    background: #D8225D;
    color: #fff;
    border: none;
    padding: 12px 25px; /* Padding vertical igual al del input email */
    border-radius: 6px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.3s;
    height: 100%;
    box-sizing: border-box;
}

.nxp-subscribe-mockup input[type="submit"]:hover {
    background: #b01b4c;
}

.nxp-privacy-notice {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
    margin: 0;
}

.nxp-privacy-notice a {
    color: #fff;
    text-decoration: underline;
}

/* =========================================================
   MÓDULO B.2: BARRA DE FILTROS STICKY
========================================================= */
.nxp-blog-filter-module {
    grid-column: 1 / -1;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 50% !important;
    transform: translateX(-50%) !important;
    background: #fdfdfd;
    border-bottom: 1px solid #eaeaea;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    position: sticky;
    top: 0;
    z-index: 100;
}

.admin-bar .nxp-blog-filter-module {
    top: 32px; /* Ajuste para la barra de admin de WP */
}

.nxp-blog-filter-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.nxp-bh-categories {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    flex: 1;
}

.nxp-cat-pill {
    display: inline-block;
    padding: 8px 20px;
    background: #f1f1f1;
    color: #333;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.nxp-cat-pill:hover {
    background: #e2e2e2;
    color: #000;
}

.nxp-cat-pill.active {
    background: #D8225D;
    color: #fff;
}

.nxp-bh-search .search-form {
    display: flex;
    position: relative;
}

.nxp-bh-search .search-field {
    width: 250px;
    padding: 12px 45px 12px 20px;
    border: 1px solid #ddd;
    border-radius: 30px;
    font-size: 14px;
    outline: none;
    transition: all 0.3s ease;
}

.nxp-bh-search .search-field:focus {
    border-color: #D8225D;
    width: 280px;
    box-shadow: 0 0 0 2px rgba(216,34,93,0.1);
}

.nxp-bh-search .search-submit {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    color: #333;
    border: none;
    padding: 5px;
    cursor: pointer;
    font-weight: bold;
}

.nxp-bh-search .search-submit::before {
    content: "🔍";
}

/* Responsive ajustes */
@media (max-width: 900px) {
    .nxp-blog-hero-inner {
        flex-direction: column;
        align-items: flex-start;
    }
    .nxp-blog-hero-subscribe {
        width: 100%;
        min-width: 0;
    }
    .nxp-blog-filter-inner {
        flex-direction: column;
        align-items: stretch;
    }
    .nxp-bh-search {
        width: 100%;
    }
    .nxp-bh-search .search-field {
        width: 100%;
    }
    .nxp-bh-search .search-field:focus {
        width: 100%;
    }
}

/* Eliminar gap superior entre el Header (mega menu) y el Hero NXP del Blog/Single */
body.blog .site-header,
body.archive .site-header,
body.search .site-header,
body.single-post .site-header,
body.blog #masthead,
body.archive #masthead,
body.search #masthead,
body.single-post #masthead {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.blog .site,
body.archive .site,
body.search .site,
body.single-post .site,
body.blog #page,
body.archive #page,
body.search #page,
body.single-post #page,
body.blog .site-content,
body.archive .site-content,
body.search .site-content,
body.single-post .site-content,
body.blog #content,
body.archive #content,
body.search #content,
body.single-post #content,
body.blog .content-area,
body.archive .content-area,
body.search .content-area,
body.single-post .content-area {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Para blog/archive/search sí quitamos padding y margin del site-main */
body.blog .site-main,
body.archive .site-main,
body.search .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Mantener el padding-bottom y margin-bottom en 0 para site, page, content en archive */
body.blog .site,
body.archive .site,
body.search .site,
body.blog #page,
body.archive #page,
body.search #page,
body.blog .site-content,
body.archive .site-content,
body.search .site-content,
body.blog #content,
body.archive #content,
body.search #content,
body.blog .content-area,
body.archive .content-area,
body.search .content-area {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}




/* HERO SLIDER (HOME) */
.nxp-hero-slider-wrapper {
    position: relative;
    overflow: hidden;
    background-color: #000;
    width: 100%;
    margin: 0;
}

.nxp-hero-slide {
    display: none;
    padding: 0;
    background-size: cover;
    background-position: center;
    height: calc(100vh - 230px);
    min-height: 570px;
    width: 100%; box-sizing: border-box;
    animation: nxp-fade 0.5s ease-in-out;
    position: relative;
}

.nxp-hero-slide::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 0;
}

.nxp-hero-slide.active {
    display: block;
}

.nxp-hero-slide-content {
    position: relative;
    z-index: 1;
}

@keyframes nxp-fade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.nxp-slider-nav {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}

.nxp-slider-dot {
    width: 12px;
    height: 12px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    cursor: pointer;
}

.nxp-slider-dot.active {
    background: #D8225D;
}

.nxp-slider-arrows {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 10;
    padding: 0 20px;
    box-sizing: border-box;
}

.nxp-slider-arrow {
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nxp-slider-arrow:hover {
    background: #D8225D;
}


body.home .site-main .wp-block-group {
    margin-bottom: 0 !important;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

body.home .site-main .wp-block-group.nxp-intro-group {
    padding-top: 25px !important;
}

body.home .site-main .wp-block-group__inner-container {
    padding: 0 !important;
}

/* --- 10. Página de Contacto y Contact Form 7 --- */

.nxp-contact-container {
    padding-top: 80px;
    padding-bottom: 80px;
}

.nxp-contact-grid {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 40% 60%;
    gap: 50px;
}

/* Columna Izquierda: Info Corporativa */
.nxp-contact-info-col {
    padding-right: 20px;
}

.nxp-contact-heading {
    font-size: 32px;
    font-weight: 700;
    color: #111111;
    margin-bottom: 15px;
    line-height: 1.2;
}

.nxp-contact-desc {
    font-size: 16px;
    color: #666666;
    line-height: 1.6;
    margin-bottom: 40px;
}

.nxp-contact-details {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 40px;
}

.nxp-contact-item {
    display: flex;
    align-items: flex-start;
}

.nxp-contact-icon {
    width: 45px;
    height: 45px;
    background: #eef4f9;
    color: #1e73be;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
    flex-shrink: 0;
}

.nxp-contact-icon svg {
    width: 20px;
    height: 20px;
}

.nxp-contact-text {
    font-size: 15px;
    color: #555555;
    line-height: 1.5;
}

.nxp-contact-text strong {
    font-size: 16px;
    color: #111111;
    display: block;
    margin-bottom: 5px;
}

.nxp-contact-text a {
    color: #1e73be;
    text-decoration: none;
    font-weight: 600;
}

.nxp-contact-social {
    border-top: 1px solid #eaeaea;
    padding-top: 25px;
}

.nxp-contact-social p {
    font-size: 14px;
    color: #888888;
    margin-bottom: 10px;
}

.nxp-social-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 20px;
    background: #0077b5;
    color: white;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
    font-size: 14px;
    transition: background 0.3s ease;
}

.nxp-social-btn:hover {
    background: #005582;
}

.nxp-social-btn svg {
    width: 16px;
    height: 16px;
    margin-right: 10px;
}

/* Columna Derecha: Formulario CF7 (Dark Mode) */
.nxp-cf7-card {
    background: #121212;
    border-radius: 12px;
    padding: 40px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    color: #ffffff;
}

.nxp-cf7-card h3 {
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #ffffff;
}

.nxp-cf7-desc {
    font-size: 15px;
    color: #aaaaaa;
    margin-bottom: 30px;
    line-height: 1.6;
}

/* Estilos nativos de CF7 adaptados a NXP */
.wpcf7-form {
    margin: 0;
}

.nxp-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.nxp-form-group {
    margin-bottom: 20px;
}

.nxp-form-group label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #888888;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-textarea {
    width: 100%;
    background: #1a1a1a;
    border: 1px solid #333333;
    border-radius: 6px;
    padding: 12px 15px;
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    transition: all 0.3s ease;
}

.wpcf7-form-control.wpcf7-text:focus,
.wpcf7-form-control.wpcf7-textarea:focus {
    outline: none;
    border-color: #1e73be;
    background: #222222;
    box-shadow: 0 0 0 2px rgba(30, 115, 190, 0.2);
}

.wpcf7-form-control.wpcf7-text::placeholder,
.wpcf7-form-control.wpcf7-textarea::placeholder {
    color: #555555;
}

.wpcf7-form-control.wpcf7-textarea {
    resize: vertical;
    min-height: 120px;
}

/* Botón de envío nativo de CF7 adaptado a NXP */
.wpcf7-form-control.wpcf7-submit.nxp-cta-button {
    background: #D8225D;
    color: #ffffff;
    border: none;
    padding: 14px 30px;
    font-size: 15px;
    font-weight: 700;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.wpcf7-form-control.wpcf7-submit.nxp-cta-button:hover {
    background: #b01a4a;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(216, 34, 93, 0.3);
}

.wpcf7-spinner {
    margin-top: 15px;
}

/* Estilos para Checkbox RGPD CF7 */
.nxp-rgpd-group .wpcf7-list-item,
.nxp-rgpd-group-newsletter .wpcf7-list-item {
    margin: 0;
    display: inline-flex;
    align-items: flex-start;
    gap: 10px;
}
.nxp-rgpd-group input[type="checkbox"],
.nxp-rgpd-group-newsletter input[type="checkbox"] {
    margin-top: 3px;
    accent-color: #D8225D;
}

.wpcf7 form.sent .wpcf7-response-output {
    background: rgba(40, 167, 69, 0.1);
    border: 1px solid #28a745;
    color: #28a745;
    border-radius: 6px;
    padding: 15px;
    margin-top: 20px;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
    background: rgba(216, 34, 93, 0.1);
    border: 1px solid #D8225D;
    color: #D8225D;
    border-radius: 6px;
    padding: 15px;
    margin-top: 20px;
}

.wpcf7-not-valid-tip {
    font-size: 12px;
    color: #D8225D;
    margin-top: 5px;
}

/* Responsive */
@media (max-width: 900px) {
    .nxp-contact-grid {
        grid-template-columns: 1fr;
    }
    
    .nxp-contact-info-col {
        padding-right: 0;
        margin-bottom: 40px;
    }
    
    .nxp-form-grid {
        grid-template-columns: 1fr;
    }
}

/* --- 15. Empresa NXP --- */
.nxp-empresa-hero {
    margin-top:0;
    margin-bottom:0;
    padding-top:40px;
    padding-bottom:40px;
    padding-left:20px;
    padding-right:20px;
    background-image: url('images/hero_empresa.png');
    background-size:cover;
    background-position:center;
    position:relative;
    min-height: 580px;
    display: flex;
    align-items: center;
}

.nxp-empresa-hero-overlay {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.6);
    z-index:0;
}

.nxp-empresa-hero-content {
    position:relative;
    z-index:1;
    width:100%;
    max-width:900px;
    margin:0 auto;
    text-align:left;
}

.nxp-empresa-hero-eyebrow {
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
    color:#D8225D;
    margin-bottom:15px;
}

.nxp-empresa-hero-title {
    font-size:48px;
    font-weight:700;
    line-height:1.1;
    margin-bottom:20px;
    color:#ffffff;
    text-shadow:0 2px 10px rgba(0,0,0,0.3);
}

.nxp-empresa-hero-desc {
    color:#f1f1f1;
    font-size:18px;
    line-height:1.6;
    margin-bottom:30px;
    max-width:650px;
    text-shadow:0 2px 10px rgba(0,0,0,0.3);
}

.nxp-empresa-valores {
    padding-top:80px;
    padding-bottom:80px;
    background-color:#ffffff;
    margin-top:0;
}

.nxp-empresa-container {
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
}

.nxp-empresa-title {
    text-align:center;
    font-size:32px;
    font-weight:700;
    line-height:1.2;
    color:#000000;
    margin:0 auto 10px;
}

.nxp-empresa-desc {
    text-align:center;
    color:#666666;
    font-size:16px;
    max-width:800px;
    margin:0 auto 60px;
}

.nxp-empresa-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
    gap:40px;
}

.nxp-empresa-valor-card {
    text-align:center;
    padding:30px;
    background:#fdfdfd;
    border:1px solid #eaeaea;
    border-radius:8px;
    box-shadow:0 4px 15px rgba(0,0,0,0.03);
    transition: transform 0.3s ease;
}

.nxp-empresa-valor-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}

.nxp-empresa-valor-icon {
    width:60px;
    height:60px;
    margin:0 auto 20px;
    color:white;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
}

.nxp-empresa-valor-title {
    font-size:20px;
    font-weight:700;
    margin-bottom:15px;
    color:#333;
}

.nxp-empresa-valor-desc {
    font-size:15px;
    color:#555;
    line-height:1.6;
}

.nxp-empresa-delegaciones {
    padding-top:80px;
    padding-bottom:100px;
    background-color:#f4f4f4;
    margin-top:0;
}

.nxp-office-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:20px;
}

.nxp-office-card {
    background:white;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 10px 25px rgba(0,0,0,0.05);
    transition:transform 0.3s ease;
    display: flex;
    flex-direction: column;
}

.nxp-office-card:hover {
    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(0,0,0,0.1);
}

.nxp-office-img {
    height:150px;
    width:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}

.nxp-office-content {
    padding:25px;
    flex-grow: 1;
}

.nxp-office-region {
    font-size:12px;
    color:#1e73be;
    text-transform:uppercase;
    font-weight:800;
    letter-spacing:1px;
    margin-bottom:5px;
}

.nxp-office-region.hq {
    color:#D8225D;
}

.nxp-office-title {
    font-size:22px;
    font-weight:700;
    color:#111;
    margin-bottom:15px;
}

.nxp-office-detail {
    font-size:14px;
    color:#666;
    margin-bottom:10px;
    display:flex;
    align-items:flex-start;
}

.nxp-office-detail svg {
    min-width:16px;
    width:16px;
    height:16px;
    margin-right:8px;
    margin-top:2px;
    color: inherit;
}

.nxp-office-detail.center {
    align-items:center;
}
.nxp-office-detail.center svg {
    margin-top: 0;
}

.nxp-office-detail a {
    color:#1e73be;
    text-decoration:none;
}

/* --- 15. Contact Hero --- */
.nxp-contact-hero {
    margin-top:0;
    margin-bottom:0;
    padding-top:170px !important;
    padding-bottom:170px !important;
    padding-left:20px;
    padding-right:20px;
    background-size:cover;
    background-position:center;
    position:relative;
    min-height: 600px !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.nxp-contact-overlay {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.7);
    z-index:0;
}

.nxp-contact-hero-content {
    position:relative;
    z-index:1;
    width:100%;
    max-width:900px;
    margin: 0 auto;
    text-align: left;
    padding: 20px;
}

.nxp-contact-hero-eyebrow {
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:2px;
    color:#D8225D;
    margin-bottom:15px;
}

.nxp-contact-hero-title {
    font-size:48px;
    font-weight:700;
    line-height:1.1;
    margin-bottom:20px;
    color:#ffffff;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.nxp-contact-hero-desc {
    color:#f1f1f1;
    font-size:18px;
    line-height:1.6;
    margin-bottom:30px;
    max-width:650px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

/* ==========================================================================
   FOOTER NXP EDGE-TO-EDGE
   ========================================================================== */

.nxp-global-footer {
    background-color: #f8fafc;
    color: #555555;
    padding-top: 80px;
    padding-bottom: 40px;
    margin-top: 0;
    border-top: 1px solid #e2e8f0;
}

.nxp-footer-container {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: space-between;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

.nxp-footer-column {
    flex: 1 1 22%;
    min-width: 250px;
    box-sizing: border-box;
}

.nxp-footer-logo-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}

.nxp-footer-logo {
    max-height: 26px;
    width: auto;
    display: block;
}

.nxp-footer-brand {
    font-size: 24px;
    font-weight: 800;
    color: #000000;
    margin: 0;
    letter-spacing: 1px;
    line-height: 1;
}

.nxp-footer-desc {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 20px;
    color: #666666;
}

.nxp-footer-title {
    font-size: 14px;
    font-weight: 700;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 10px;
}

.nxp-footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 14px;
    line-height: 2;
}

.nxp-footer-list-item-contact {
    display: flex;
    align-items: flex-start;
    margin-bottom: 10px;
    line-height: 1.8;
}

.nxp-footer-icon-contact {
    min-width: 16px;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    margin-top: 4px;
    color: #D8225D;
}

.nxp-footer-link {
    color: #555555;
    text-decoration: none;
    transition: color 0.3s ease;
}

.nxp-footer-link:hover,
.nxp-footer-link:focus {
    color: #D8225D;
}

.nxp-footer-link-highlight {
    color: #D8225D;
    text-decoration: none;
    font-weight: 700;
    display: flex;
    align-items: flex-start;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.nxp-footer-link-highlight:hover,
.nxp-footer-link-highlight:focus {
    color: #000000;
}

.nxp-footer-delegations {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px dashed #e2e8f0;
    line-height: 1.8;
}

.nxp-footer-delegations strong {
    color: #000000;
}

.nxp-footer-social-wrap {
    margin-top: 30px;
}

.nxp-footer-social-icons {
    display: flex;
    gap: 15px;
}

.nxp-footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #e2e8f0;
    color: #333333;
    text-decoration: none;
    transition: all 0.3s ease;
}

.nxp-footer-social-link:hover,
.nxp-footer-social-link:focus {
    background-color: #D8225D;
    color: #ffffff;
}

.nxp-footer-copyright-wrap {
    padding-top: 30px;
    max-width: 1400px;
    margin: 40px auto 0;
    border-top: 1px solid #e2e8f0;
    text-align: center;
}

.nxp-footer-copyright {
    font-size: 13px;
    color: #888888;
    margin: 0;
}

/* Fix: Edge-to-Edge for Cookies Policy (ID 21005) */
body.page-id-21005 { overflow-x: hidden !important; }
body.page-id-21005 .site-header { margin-bottom: 0 !important; padding-bottom: 0 !important; }
body.page-id-21005 .site,
body.page-id-21005 #page,
body.page-id-21005 #content,
body.page-id-21005 #primary,
body.page-id-21005 #main,
body.page-id-21005 article,
body.page-id-21005 .site-content,
body.page-id-21005 .inside-article,
body.page-id-21005 .entry-content,
body.page-id-21005 .entry-content>* {
    padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; padding-left: 0 !important; padding-right: 0 !important;
}
body.page-id-21005 .entry-header { display: none !important; }
body.page-id-21005 .alignfull {
    width: 100vw !important; max-width: 100vw !important; margin-left: 50% !important; margin-right: 0 !important; transform: translateX(-50%) !important;
}

