/* ═══════════════════════════════════════════════════════
   TRACTORCENTER — elementor.css
   Sistema de diseño completo para Elementor Free
   Estilo: Header oscuro + contenido claro
   Colores: #F2B807 (amarillo) + #0d0d0d (negro)
═══════════════════════════════════════════════════════ */

/* ── VARIABLES GLOBALES ── */
:root {
    --tc-y:       #F2B807;
    --tc-yd:      #D9A306;
    --tc-yp:      #FDF6DC;
    --tc-dk:      #0d0d0d;
    --tc-dk2:     #161616;
    --tc-dk3:     #1e1e1e;
    --tc-wh:      #ffffff;
    --tc-gray:    #888888;
    --tc-gray2:   #555555;
    --tc-pale:    #f5f5f3;
    --tc-border:  #e4e4e2;
    --tc-fd:      'Barlow Condensed', sans-serif;
    --tc-fb:      'Barlow', sans-serif;
    --tc-shadow:  0 4px 24px rgba(0,0,0,0.08);
    --tc-shadow-h:0 8px 40px rgba(0,0,0,0.14);
    --tc-trans:   .2s ease;
    --tc-radius:  0px;
}

/* ── BASE ── */
html { overflow-x: hidden; scroll-behavior: smooth; }
body {
    font-family: var(--tc-fb) !important;
    color: var(--tc-dk);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

/* ── ASTRA RESET — ANCHO 100% ── */
#page, .site, #content, .site-content, #primary, .content-area,
.ast-container, .ast-grid-common-wrap, .entry-content, .page-content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single {
    box-shadow: none !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}
.entry-header .entry-title,
.page-header .page-title,
.ast-breadcrumbs-wrapper,
.astra-breadcrumbs,
#secondary,
.ast-sidebar-wrap,
.widget-area { display: none !important; }
#content { margin-top: 0 !important; padding-top: 0 !important; }
body { padding-top: 0 !important; }

/* ── ELEMENTOR — FULL WIDTH ── */
.elementor-section.elementor-section-full_width > .elementor-container {
    max-width: 100% !important;
}
.elementor-section-boxed > .elementor-container {
    max-width: 1200px !important;
}

/* ═══════════════════════════════════════════
   TIPOGRAFÍAS ELEMENTOR
   Se aplican automáticamente a widgets
═══════════════════════════════════════════ */
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
    font-family: var(--tc-fd) !important;
}
.elementor-widget-text-editor,
.elementor-widget-text-editor p {
    font-family: var(--tc-fb) !important;
}

/* ═══════════════════════════════════════════
   CLASES HELPER — aplicar en Elementor
   con "Clase CSS" en cada widget/sección
═══════════════════════════════════════════ */

/* ── FONDOS ── */
.tc-bg-dark   { background-color: var(--tc-dk)  !important; }
.tc-bg-dark2  { background-color: var(--tc-dk2) !important; }
.tc-bg-dark3  { background-color: var(--tc-dk3) !important; }
.tc-bg-yellow { background-color: var(--tc-y)   !important; }
.tc-bg-pale   { background-color: var(--tc-pale)!important; }
.tc-bg-white  { background-color: var(--tc-wh)  !important; }

/* ── TEXTOS ── */
.tc-text-white  { color: var(--tc-wh)   !important; }
.tc-text-yellow { color: var(--tc-y)    !important; }
.tc-text-dark   { color: var(--tc-dk)   !important; }
.tc-text-gray   { color: var(--tc-gray) !important; }

/* ── TÍTULO DISPLAY ── */
.tc-title {
    font-family: var(--tc-fd) !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    line-height: .95 !important;
    letter-spacing: -.01em !important;
}
.tc-title-light { color: var(--tc-wh) !important; }
.tc-title-yellow { color: var(--tc-y) !important; }

/* ── ETIQUETA SUPERIOR ── */
.tc-tag {
    font-family: var(--tc-fd) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    color: var(--tc-y) !important;
}

/* ── LÍNEA DECORATIVA ── */
.tc-line::after {
    content: '';
    display: block;
    width: 44px;
    height: 4px;
    background: var(--tc-y);
    margin-top: 14px;
}
.tc-line-center::after { margin-left: auto; margin-right: auto; }
.tc-line-dark::after   { background: var(--tc-dk); }

/* ═══════════════════════════════════════════
   BOTONES
═══════════════════════════════════════════ */
.tc-btn,
.elementor-button.tc-btn {
    font-family: var(--tc-fd) !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    padding: 14px 32px !important;
    border-radius: 0 !important;
    border: 2px solid transparent !important;
    transition: all var(--tc-trans) !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}
/* Botón primario (amarillo) */
.tc-btn-primary,
.elementor-button.tc-btn-primary {
    background: var(--tc-y) !important;
    color: var(--tc-dk) !important;
    border-color: var(--tc-y) !important;
}
.tc-btn-primary:hover,
.elementor-button.tc-btn-primary:hover {
    background: var(--tc-yd) !important;
    border-color: var(--tc-yd) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(242,184,7,.35) !important;
}
/* Botón oscuro */
.tc-btn-dark,
.elementor-button.tc-btn-dark {
    background: var(--tc-dk) !important;
    color: var(--tc-y) !important;
    border-color: var(--tc-dk) !important;
}
.tc-btn-dark:hover,
.elementor-button.tc-btn-dark:hover {
    background: var(--tc-dk2) !important;
    transform: translateY(-2px) !important;
}
/* Botón outline claro */
.tc-btn-outline,
.elementor-button.tc-btn-outline {
    background: transparent !important;
    color: var(--tc-wh) !important;
    border-color: rgba(255,255,255,.4) !important;
}
.tc-btn-outline:hover,
.elementor-button.tc-btn-outline:hover {
    border-color: var(--tc-y) !important;
    color: var(--tc-y) !important;
}
/* Botón outline oscuro */
.tc-btn-outline-dark,
.elementor-button.tc-btn-outline-dark {
    background: transparent !important;
    color: var(--tc-dk) !important;
    border-color: var(--tc-dk) !important;
}
.tc-btn-outline-dark:hover,
.elementor-button.tc-btn-outline-dark:hover {
    background: var(--tc-dk) !important;
    color: var(--tc-y) !important;
}
/* Botón grande */
.tc-btn-lg,
.elementor-button.tc-btn-lg {
    font-size: 16px !important;
    padding: 16px 44px !important;
}

/* ═══════════════════════════════════════════
   HERO SECTION
═══════════════════════════════════════════ */
.tc-hero {
    min-height: 90vh !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    overflow: hidden !important;
}
.tc-hero > .elementor-container { position: relative; z-index: 2; }
.tc-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(0,0,0,.92) 40%, rgba(0,0,0,.3) 100%);
    z-index: 1;
    pointer-events: none;
}
.tc-hero-tag {
    display: inline-block !important;
    background: var(--tc-y) !important;
    color: var(--tc-dk) !important;
    font-family: var(--tc-fd) !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    padding: 6px 18px !important;
    margin-bottom: 20px !important;
}
.tc-hero-title {
    font-family: var(--tc-fd) !important;
    font-weight: 900 !important;
    font-size: clamp(52px, 7vw, 96px) !important;
    line-height: .9 !important;
    text-transform: uppercase !important;
    color: var(--tc-wh) !important;
    letter-spacing: -.01em !important;
}
.tc-hero-title span { color: var(--tc-y) !important; }
.tc-hero-sub {
    color: rgba(255,255,255,.7) !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    max-width: 520px !important;
}
/* Stats en el hero */
.tc-stats-row {
    border-top: 1px solid rgba(255,255,255,.15) !important;
    padding-top: 36px !important;
    margin-top: 48px !important;
}
.tc-stat-num {
    font-family: var(--tc-fd) !important;
    font-weight: 900 !important;
    font-size: 42px !important;
    color: var(--tc-y) !important;
    line-height: 1 !important;
}
.tc-stat-label {
    font-size: 11px !important;
    color: rgba(255,255,255,.5) !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    margin-top: 4px !important;
}

/* ═══════════════════════════════════════════
   QUICK NAV (barra amarilla de categorías)
═══════════════════════════════════════════ */
.tc-quicknav-section {
    background: var(--tc-y) !important;
    padding: 0 !important;
}
.tc-quicknav-section > .elementor-container {
    max-width: 100% !important;
}
.tc-quicknav-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 20px 28px !important;
    font-family: var(--tc-fd) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: var(--tc-dk) !important;
    text-decoration: none !important;
    transition: background var(--tc-trans) !important;
    border-right: 1px solid rgba(0,0,0,.08) !important;
}
.tc-quicknav-item:hover { background: rgba(0,0,0,.1) !important; }
.tc-quicknav-item svg  { width: 28px; height: 28px; }

/* ═══════════════════════════════════════════
   SECTION HEADERS
═══════════════════════════════════════════ */
.tc-section-dark {
    background: var(--tc-dk2) !important;
    padding: 80px 0 !important;
}
.tc-section-pale {
    background: var(--tc-pale) !important;
    padding: 80px 0 !important;
}
.tc-section-white {
    background: var(--tc-wh) !important;
    padding: 80px 0 !important;
}
.tc-section-yellow {
    background: var(--tc-y) !important;
    padding: 64px 0 !important;
}

/* ═══════════════════════════════════════════
   CARDS DE EQUIPOS / SERVICIOS
═══════════════════════════════════════════ */
.tc-card {
    background: var(--tc-wh) !important;
    border: 1px solid var(--tc-border) !important;
    transition: transform var(--tc-trans), box-shadow var(--tc-trans) !important;
    overflow: hidden !important;
}
.tc-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: var(--tc-shadow-h) !important;
}
.tc-card-dark {
    background: #1c1c1c !important;
    border: none !important;
    border-top: 3px solid transparent !important;
    transition: border-color var(--tc-trans), background var(--tc-trans) !important;
    padding: 32px 28px !important;
}
.tc-card-dark:hover {
    border-top-color: var(--tc-y) !important;
    background: #222 !important;
}
.tc-card-dark h3 {
    font-family: var(--tc-fd) !important;
    font-weight: 800 !important;
    font-size: 19px !important;
    text-transform: uppercase !important;
    color: var(--tc-wh) !important;
    margin-bottom: 10px !important;
}
.tc-card-dark p {
    font-size: 14px !important;
    color: #666 !important;
    line-height: 1.7 !important;
}
/* Número grande en cards de "Por qué elegirnos" */
.tc-card-num {
    font-family: var(--tc-fd) !important;
    font-weight: 900 !important;
    font-size: 52px !important;
    color: rgba(242,184,7,.18) !important;
    line-height: 1 !important;
    margin-bottom: 10px !important;
}

/* ── Card con imagen ── */
.tc-product-card {
    background: var(--tc-wh) !important;
    border: 1px solid var(--tc-border) !important;
    overflow: hidden !important;
    transition: transform var(--tc-trans), box-shadow var(--tc-trans) !important;
}
.tc-product-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--tc-shadow-h) !important;
}
.tc-product-card .elementor-image-box-img img {
    transition: transform .4s !important;
}
.tc-product-card:hover .elementor-image-box-img img {
    transform: scale(1.05) !important;
}
.tc-product-card .elementor-image-box-content {
    padding: 18px 20px !important;
}
.tc-product-card .elementor-image-box-title {
    font-family: var(--tc-fd) !important;
    font-weight: 800 !important;
    font-size: 20px !important;
    text-transform: uppercase !important;
    color: var(--tc-dk) !important;
}
.tc-product-card .elementor-image-box-description {
    font-size: 13px !important;
    color: var(--tc-gray2) !important;
    line-height: 1.6 !important;
}

/* ── Badge amarillo en cards ── */
.tc-badge {
    display: inline-block !important;
    background: var(--tc-y) !important;
    color: var(--tc-dk) !important;
    font-family: var(--tc-fd) !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    padding: 4px 12px !important;
    margin-bottom: 8px !important;
}
.tc-badge-dark {
    background: var(--tc-dk) !important;
    color: var(--tc-y) !important;
}

/* ── Precio ── */
.tc-price {
    font-family: var(--tc-fd) !important;
    font-weight: 900 !important;
    font-size: 24px !important;
    color: var(--tc-dk) !important;
}

/* ── Pill / Spec ── */
.tc-pill {
    display: inline-block !important;
    background: var(--tc-pale) !important;
    font-size: 11px !important;
    color: var(--tc-gray2) !important;
    padding: 3px 10px !important;
    font-weight: 600 !important;
    margin: 2px !important;
}

/* ═══════════════════════════════════════════
   MOSAICO DE CATEGORÍAS
═══════════════════════════════════════════ */
.tc-mosaic-cell {
    position: relative !important;
    overflow: hidden !important;
    min-height: 280px !important;
    display: flex !important;
    align-items: flex-end !important;
    cursor: pointer !important;
}
.tc-mosaic-cell::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(0,0,0,.78) 0%, transparent 55%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}
.tc-mosaic-cell .elementor-widget-wrap { z-index: 2 !important; }
.tc-mosaic-cell:hover .elementor-background-overlay {
    opacity: .6 !important;
    transform: scale(1.05) !important;
}
.tc-mosaic-name {
    font-family: var(--tc-fd) !important;
    font-weight: 900 !important;
    font-size: 26px !important;
    text-transform: uppercase !important;
    color: var(--tc-wh) !important;
    line-height: 1 !important;
}
.tc-mosaic-link {
    font-family: var(--tc-fd) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: var(--tc-y) !important;
    margin-top: 6px !important;
    display: block !important;
}

/* ═══════════════════════════════════════════
   PROMO SPLIT (financiación)
═══════════════════════════════════════════ */
.tc-promo-dark {
    background: var(--tc-dk2) !important;
}
.tc-promo-dark h2 {
    font-family: var(--tc-fd) !important;
    font-weight: 900 !important;
    font-size: clamp(34px, 4.5vw, 58px) !important;
    text-transform: uppercase !important;
    color: var(--tc-wh) !important;
    line-height: .92 !important;
}
.tc-promo-dark h2 span { color: var(--tc-y) !important; }
.tc-promo-dark p {
    color: rgba(255,255,255,.55) !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
}

/* ═══════════════════════════════════════════
   TESTIMONIOS
═══════════════════════════════════════════ */
.tc-testimonial {
    background: var(--tc-wh) !important;
    border-left: 4px solid var(--tc-y) !important;
    padding: 28px !important;
    height: 100% !important;
}
.tc-testimonial .elementor-testimonial__text,
.tc-testimonial-text {
    font-size: 15px !important;
    color: var(--tc-gray2) !important;
    line-height: 1.75 !important;
    font-style: italic !important;
}
.tc-testimonial .elementor-testimonial__name,
.tc-testimonial-name {
    font-family: var(--tc-fd) !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    color: var(--tc-dk) !important;
    text-transform: uppercase !important;
}
.tc-testimonial .elementor-testimonial__job,
.tc-testimonial-role {
    font-size: 12px !important;
    color: var(--tc-gray) !important;
}
.tc-stars { color: var(--tc-y) !important; font-size: 16px !important; letter-spacing: 3px !important; }

/* ═══════════════════════════════════════════
   ICONOS / SERVICIOS
═══════════════════════════════════════════ */
.tc-icon-box {
    text-align: center !important;
    padding: 32px 24px !important;
}
.tc-icon-box .elementor-icon {
    color: var(--tc-y) !important;
    font-size: 48px !important;
    margin-bottom: 16px !important;
}
.tc-icon-box .elementor-icon-box-title {
    font-family: var(--tc-fd) !important;
    font-weight: 800 !important;
    font-size: 20px !important;
    text-transform: uppercase !important;
    color: var(--tc-wh) !important;
    margin-bottom: 10px !important;
}
.tc-icon-box .elementor-icon-box-description {
    font-size: 14px !important;
    color: #777 !important;
    line-height: 1.7 !important;
}

/* ── Icon box claro (sobre fondo blanco) ── */
.tc-icon-box-light .elementor-icon { color: var(--tc-yd) !important; }
.tc-icon-box-light .elementor-icon-box-title { color: var(--tc-dk) !important; }
.tc-icon-box-light .elementor-icon-box-description { color: var(--tc-gray2) !important; }

/* ── Caja de ícono con borde amarillo ── */
.tc-service-card {
    border-top: 4px solid var(--tc-y) !important;
    padding: 32px 24px !important;
    background: var(--tc-wh) !important;
    border-left: 1px solid var(--tc-border) !important;
    border-right: 1px solid var(--tc-border) !important;
    border-bottom: 1px solid var(--tc-border) !important;
    transition: box-shadow var(--tc-trans), transform var(--tc-trans) !important;
}
.tc-service-card:hover {
    box-shadow: var(--tc-shadow-h) !important;
    transform: translateY(-3px) !important;
}

/* ═══════════════════════════════════════════
   FORMULARIO DE CONTACTO
═══════════════════════════════════════════ */
.tc-form .elementor-field-group input,
.tc-form .elementor-field-group textarea,
.tc-form .elementor-field-group select {
    border: 1.5px solid var(--tc-border) !important;
    border-radius: 0 !important;
    font-family: var(--tc-fb) !important;
    font-size: 15px !important;
    padding: 12px 14px !important;
    outline: none !important;
    transition: border-color var(--tc-trans) !important;
}
.tc-form .elementor-field-group input:focus,
.tc-form .elementor-field-group textarea:focus {
    border-color: var(--tc-y) !important;
    box-shadow: none !important;
}
.tc-form .elementor-field-label {
    font-family: var(--tc-fd) !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    color: var(--tc-gray2) !important;
}
.tc-form .elementor-button {
    background: var(--tc-y) !important;
    color: var(--tc-dk) !important;
    font-family: var(--tc-fd) !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    padding: 14px 36px !important;
    border-radius: 0 !important;
    border: none !important;
    transition: background var(--tc-trans) !important;
}
.tc-form .elementor-button:hover {
    background: var(--tc-yd) !important;
}

/* ── Caja de info de contacto (oscura) ── */
.tc-contact-info {
    background: var(--tc-dk2) !important;
    padding: 36px !important;
}
.tc-contact-info h4 {
    font-family: var(--tc-fd) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: var(--tc-y) !important;
    margin-bottom: 20px !important;
}
.tc-contact-detail {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    margin-bottom: 16px !important;
}
.tc-contact-detail strong {
    font-size: 10px !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: #666 !important;
    font-weight: 700 !important;
}
.tc-contact-detail span {
    font-size: 14px !important;
    color: #aaa !important;
}

/* ── WhatsApp card ── */
.tc-wa-card {
    background: #1a2e1a !important;
    border-left: 4px solid #25D366 !important;
    padding: 24px !important;
}
.tc-wa-card h4 {
    font-family: var(--tc-fd) !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    text-transform: uppercase !important;
    color: var(--tc-wh) !important;
    margin-bottom: 8px !important;
}
.tc-wa-card p { font-size: 13px !important; color: #aaa !important; margin-bottom: 16px !important; }
.tc-btn-whatsapp {
    background: #25D366 !important;
    color: var(--tc-wh) !important;
    border-color: #25D366 !important;
}
.tc-btn-whatsapp:hover { background: #1ebe5a !important; }

/* ═══════════════════════════════════════════
   ACCORDIONS / FAQ
═══════════════════════════════════════════ */
.tc-faq .elementor-accordion-item {
    border: none !important;
    border-bottom: 1px solid var(--tc-border) !important;
}
.tc-faq .elementor-accordion-title {
    font-family: var(--tc-fd) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: var(--tc-dk) !important;
    padding: 16px 0 !important;
}
.tc-faq .elementor-accordion-icon { color: var(--tc-y) !important; }
.tc-faq .elementor-tab-content {
    font-size: 14px !important;
    color: var(--tc-gray2) !important;
    line-height: 1.75 !important;
    padding: 0 0 16px 0 !important;
}

/* ═══════════════════════════════════════════
   SEPARADOR DECORATIVO
═══════════════════════════════════════════ */
.tc-divider .elementor-divider-separator {
    border-color: var(--tc-y) !important;
    border-width: 3px !important;
    width: 48px !important;
}
.tc-divider-light .elementor-divider-separator {
    border-color: rgba(255,255,255,.2) !important;
    border-width: 1px !important;
    width: 100% !important;
}

/* ═══════════════════════════════════════════
   PRECIO / PLAN DE FINANCIACIÓN
═══════════════════════════════════════════ */
.tc-plan {
    background: #1c1c1c !important;
    padding: 36px 28px !important;
    position: relative !important;
    height: 100% !important;
}
.tc-plan--featured {
    background: var(--tc-y) !important;
}
.tc-plan h3 {
    font-family: var(--tc-fd) !important;
    font-weight: 900 !important;
    font-size: 30px !important;
    text-transform: uppercase !important;
    color: var(--tc-wh) !important;
    margin-bottom: 12px !important;
    line-height: 1 !important;
}
.tc-plan--featured h3 { color: var(--tc-dk) !important; }
.tc-plan p { color: #888 !important; font-size: 14px !important; line-height: 1.7 !important; }
.tc-plan--featured p { color: rgba(0,0,0,.55) !important; }
.tc-plan-badge {
    position: absolute !important;
    top: 16px !important; right: 16px !important;
    background: var(--tc-dk) !important;
    color: var(--tc-y) !important;
    font-family: var(--tc-fd) !important;
    font-weight: 700 !important;
    font-size: 10px !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
}

/* ═══════════════════════════════════════════
   FOOTER — usando Astra Pro o Elementor footer
═══════════════════════════════════════════ */
.tc-footer-section {
    background: var(--tc-dk) !important;
    padding: 64px 0 0 !important;
}
.tc-footer-brand p {
    color: #555 !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
}
.tc-footer-col h4 {
    font-family: var(--tc-fd) !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: var(--tc-y) !important;
    margin-bottom: 18px !important;
}
.tc-footer-col ul { list-style: none !important; padding: 0 !important; }
.tc-footer-col ul li { margin-bottom: 9px !important; }
.tc-footer-col ul li a {
    color: #555 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: color var(--tc-trans) !important;
}
.tc-footer-col ul li a:hover { color: var(--tc-wh) !important; }
.tc-footer-bottom {
    border-top: 1px solid #181818 !important;
    padding: 20px 0 !important;
    margin-top: 48px !important;
}
.tc-footer-bottom p {
    color: #333 !important;
    font-size: 12px !important;
}

/* ═══════════════════════════════════════════
   HEADER ASTRA — override para estilo oscuro
═══════════════════════════════════════════ */
.site-header,
#masthead,
.main-header-bar {
    background: var(--tc-dk) !important;
    border-bottom: 3px solid var(--tc-y) !important;
}
.ast-primary-header-bar { background: var(--tc-dk) !important; }

/* Logo texto */
.site-title a,
.ast-site-name-wrap .site-title a {
    color: var(--tc-wh) !important;
    font-family: var(--tc-fd) !important;
    font-weight: 900 !important;
    font-size: 24px !important;
    letter-spacing: -.01em !important;
}

/* NAV LINKS — blancos siempre */
.main-header-menu .menu-item > a,
.ast-desktop-nav .menu-item > a,
#ast-desktop-header .menu-item > a,
.main-navigation .menu-item > a {
    color: #ffffff !important;
    font-family: var(--tc-fd) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}
.main-header-menu .menu-item > a:hover,
.ast-desktop-nav .menu-item > a:hover,
#ast-desktop-header .menu-item > a:hover,
.main-navigation .menu-item > a:hover,
.main-header-menu .current-menu-item > a,
.main-navigation .current-menu-item > a {
    color: var(--tc-y) !important;
}

/* Submenús */
.main-header-menu .sub-menu,
.main-navigation .sub-menu {
    background: var(--tc-dk) !important;
    border-top: 3px solid var(--tc-y) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.3) !important;
}
.main-header-menu .sub-menu .menu-item > a,
.main-navigation .sub-menu .menu-item > a {
    color: rgba(255,255,255,.75) !important;
    font-size: 13px !important;
    border-bottom: 1px solid #222 !important;
    padding: 10px 18px !important;
}
.main-header-menu .sub-menu .menu-item > a:hover,
.main-navigation .sub-menu .menu-item > a:hover {
    color: var(--tc-y) !important;
    background: rgba(242,184,7,.06) !important;
}

/* Hamburger en mobile */
.ast-mobile-menu-trigger span,
.ast-mobile-menu-trigger-fill span {
    background: var(--tc-wh) !important;
}

/* ─── TOPBAR ─── */
.ast-top-bar {
    background: #161616 !important;
    border-bottom: 1px solid #252525 !important;
}
.ast-top-bar .ast-topbar-above-grid,
.ast-top-bar a { color: #888 !important; font-size: 12px !important; }
.ast-top-bar a:hover { color: var(--tc-y) !important; }

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media (max-width: 768px) {
    .tc-hero { min-height: 70vh !important; }
    .tc-hero-title { font-size: 44px !important; }
    .tc-stat-num { font-size: 32px !important; }
    .tc-quicknav-item { padding: 14px 18px !important; font-size: 11px !important; }
    .tc-mosaic-cell { min-height: 220px !important; }
    .tc-section-dark,
    .tc-section-pale,
    .tc-section-white,
    .tc-section-yellow { padding: 56px 0 !important; }
}
@media (max-width: 480px) {
    .tc-hero-title { font-size: 36px !important; }
    .tc-btn, .elementor-button.tc-btn { padding: 12px 22px !important; font-size: 13px !important; }
}
