/*!
 * TYXARE NUCLEAR - FUERZA TOTAL
 * Este sobrescribe TODO con máxima prioridad
 */

/* FORZAR FONDO AZUL EN TODO - MÁXIMA PROTECCIÓN */
html, body, #app, .app, main, .main-content, .wrapper,
#landing-app, .body-bg, body.body-bg, body.dark,
html[data-bs-theme="dark"], html[data-bs-theme="light"],
body[data-bs-theme="dark"], body[data-bs-theme="light"] {
    background: linear-gradient(135deg, #0063F3 0%, #003087 50%, #0E1116 100%) !important;
    background-attachment: fixed !important;
    background-color: #0063F3 !important;
    color: #ffffff !important;
    min-height: 100vh !important;
}

/* ASEGURAR SCROLL FUNCIONAL */
html, body {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    height: auto !important;
    max-height: none !important;
    position: relative !important;
}

/* PROTEGER CONTRA CAMBIOS */
body::before, body::after,
html::before, html::after,
body[class*="bg-"],
body[style*="background"],
html[style*="background"] {
    background: linear-gradient(135deg, #0063F3 0%, #003087 50%, #0E1116 100%) !important;
    background-attachment: fixed !important;
}

/* SOBRESCRIBIR ABSOLUTAMENTE TODO */
*,
*::before,
*::after,
div,
section,
article {
    --bs-primary: #0063F3 !important;
    --bs-primary-rgb: 0, 99, 243 !important;
    --bs-body-bg: #0063F3 !important;
    --tyxare-blue: #0063F3;
    --tyxare-dark: #003087;
    --tyxare-black: #0E1116;
}

/* FONDOS TRANSPARENTES - SIN GRIS */
.bg-white,
.bg-light,
[class*="bg-white"],
[class*="bg-light"],
.section-padding,
.padding-top-bottom-90,
.our-service {
    background: transparent !important;
    backdrop-filter: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* PROVIDER CARDS - SIN GRIS */
.card-description,
.cart-content,
.iq-team-slider .card-description,
.iq-team-slider .cart-content,
[class*="card-description"],
[class*="cart-content"] {
    background: linear-gradient(135deg, #003087 0%, #0E1116 100%) !important;
    color: #ffffff !important;
    border: 2px solid rgba(0, 99, 243, 0.4) !important;
}

.card-description *,
.cart-content * {
    color: #ffffff !important;
}

/* CATEGORIAS - SIN GRIS NI BLANCO */
.category-card,
.category-box-list,
[class*="category"] {
    background: rgba(0, 99, 243, 0.15) !important;
    backdrop-filter: blur(20px) !important;
    border: 2px solid rgba(0, 99, 243, 0.4) !important;
    border-top: 4px solid #0063F3 !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
}

.category-card:hover {
    background: rgba(0, 99, 243, 0.3) !important;
    border-color: #FD6922 !important;
    transform: translateY(-5px) !important;
    box-shadow: 0 0 40px rgba(253, 105, 34, 0.6) !important;
}

.img-bg {
    background: rgba(0, 99, 243, 0.08) !important;
}

.category-card:hover .img-bg,
.circle-clip-effect:hover .img-bg {
    background: #0063F3 !important;
}

.circle-clip-effect:hover * {
    color: #ffffff !important;
}

/* SERVICIOS - SIN GRIS NI BLANCO */
.service-card,
.service-box-card,
[class*="service-card"],
[class*="service-box"] {
    background: rgba(0, 99, 243, 0.15) !important;
    backdrop-filter: blur(20px) !important;
    border: 2px solid rgba(0, 99, 243, 0.4) !important;
    border-top: 4px solid #0063F3 !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
}

.service-card:hover,
.service-box-card:hover {
    background: rgba(0, 99, 243, 0.3) !important;
    border-color: #FD6922 !important;
    transform: translateY(-5px) scale(1.02) !important;
    box-shadow: 0 0 40px rgba(253, 105, 34, 0.6) !important;
}

.service-price {
    color: #0063F3 !important;
    font-weight: 700 !important;
}

/* RATINGS */
.star-rating svg,
.star-rating svg *,
.rating-component svg,
.rating-component svg *,
.vue-star-rating svg,
.vue-star-rating svg *,
[class*="rating"] svg,
[class*="rating"] svg *,
[class*="star"] svg,
[class*="star"] svg * {
    color: #FD6922 !important;
    fill: #FD6922 !important;
}

/* BOTONES */
.btn-primary,
button[class*="primary"],
a[class*="primary"] {
    background: #0063F3 !important;
    border-color: #0063F3 !important;
    color: #ffffff !important;
}

.btn-primary:hover {
    background: #003087 !important;
    border-color: #003087 !important;
}

.btn-link {
    color: #0063F3 !important;
}

/* LINKS */
a {
    color: #0063F3 !important;
}

a:hover {
    color: #003087 !important;
}

/* HIGHLIGHTED */
.highlighted-text svg path,
.highlighted-image svg path {
    stroke: #0063F3 !important;
}

/* SWIPER */
.swiper-pagination-bullet-active {
    background: #0063F3 !important;
}

.swiper-button-next,
.swiper-button-prev {
    color: #0063F3 !important;
}

/* CARDS */
.card {
    border-top: 3px solid #0063F3 !important;
}

/* FORMS */
.form-control:focus,
input:focus,
textarea:focus,
select:focus {
    border-color: #0063F3 !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 99, 243, 0.15) !important;
}

/* BADGES */
.badge,
.badge-primary {
    background: #0063F3 !important;
}

.badge-success {
    background: #3CAE5C !important;
}

.badge-warning {
    background: #FD6922 !important;
}

/* ICONOS */
.iq-icon-box {
    background: rgba(0, 99, 243, 0.1) !important;
    color: #0063F3 !important;
}

.iq-icon-box:hover {
    background: #0063F3 !important;
    color: #ffffff !important;
}

/* TABS */
.nav-tabs .nav-link.active {
    background: #0063F3 !important;
    color: #ffffff !important;
}

/* ELIMINAR ESTILOS INLINE */
*[style*="background: white"],
*[style*="background-color: white"],
*[style*="background: #fff"],
*[style*="background-color: #fff"],
*[style*="background:#fff"],
*[style*="background-color:#fff"],
*[style*="background: rgb(255, 255, 255)"],
*[style*="background-color: rgb(255, 255, 255)"] {
    background: #F1F1F6 !important;
    background-color: #F1F1F6 !important;
}

/* PROVIDER SECTION */
.provider-section {
    background: linear-gradient(135deg, rgba(0, 99, 243, 0.03) 0%, #F1F1F6 100%) !important;
}

/* ANIMATIONS */
* {
    transition: all 0.3s ease !important;
}

/* ASEGURAR ALTURA AUTOMÁTICA EN SECCIONES */
#landing-app, main, .main-content,
section, .section-padding,
.categories-page-premium,
.services-page-premium,
.blogs-page-premium,
.providers-page-premium {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

/* ====================================
   PÁGINAS ESPECÍFICAS (Categorías, Servicios, Blogs)
   ==================================== */

/* SECTION PADDING */
.section-padding,
.padding-top-bottom-90,
.padding-top-bottom-60 {
    padding: 80px 0 !important;
}

/* CONTENEDOR */
.container {
    max-width: 1200px !important;
}

/* TÍTULOS DE PÁGINA */
h1, h2, h3, h4, h5, h6 {
    color: #ffffff !important;
}

.page-title,
.section-title {
    color: #ffffff !important;
    text-align: center !important;
    margin-bottom: 50px !important;
}

/* CARDS GENERALES */
.card,
.item-card,
.list-card {
    background: rgba(255, 255, 255, 0.04) !important;
    backdrop-filter: blur(30px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 15px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
    color: #ffffff !important;
}

.card:hover,
.item-card:hover,
.list-card:hover {
    transform: translateY(-5px) !important;
    border-color: rgba(0, 99, 243, 0.4) !important;
    box-shadow: 0 20px 60px rgba(0, 99, 243, 0.3) !important;
}

.card-body {
    color: #ffffff !important;
}

.card-title {
    color: #ffffff !important;
    font-weight: 700 !important;
}

.card-text {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* IMÁGENES DE CARDS */
.card-img,
.card-img-top,
.service-image,
.category-image,
.blog-image {
    border-radius: 10px !important;
    object-fit: cover !important;
}

/* PAGINACIÓN */
.pagination {
    gap: 10px !important;
}

.page-item .page-link {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-size: 0.9rem !important;
}

.page-item.active .page-link {
    background: #0063F3 !important;
    border-color: #0063F3 !important;
    color: #ffffff !important;
}

.page-item .page-link:hover {
    background: rgba(0, 99, 243, 0.2) !important;
    border-color: rgba(0, 99, 243, 0.4) !important;
}

/* FLECHAS DE PAGINACIÓN - TAMAÑO REDUCIDO */
.page-link svg,
.page-link i,
.pagination svg,
.pagination i,
[rel="prev"] svg,
[rel="next"] svg,
[aria-label="Previous"] svg,
[aria-label="Next"] svg,
[aria-label="« Previous"] svg,
[aria-label="Next »"] svg {
    width: 14px !important;
    height: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
    font-size: 14px !important;
}

/* CONTENEDOR DE FLECHAS */
.page-item:first-child .page-link,
.page-item:last-child .page-link {
    padding: 8px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* TEXTO DE PAGINACIÓN (Previous/Next) */
.page-link span {
    font-size: 0.9rem !important;
}

/* FILTROS Y BÚSQUEDA */
.filter-section,
.search-section {
    background: rgba(255, 255, 255, 0.04) !important;
    backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 15px !important;
    padding: 20px !important;
    margin-bottom: 30px !important;
}

/* INPUTS DE BÚSQUEDA */
.search-input,
.form-control,
input[type="text"],
input[type="search"],
select {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    padding: 12px 20px !important;
}

.search-input::placeholder,
.form-control::placeholder,
input::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
}

/* GRIDS */
.row {
    margin-left: -15px !important;
    margin-right: -15px !important;
}

.col,
[class*="col-"] {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* BREADCRUMBS */
.breadcrumb {
    background: rgba(255, 255, 255, 0.04) !important;
    border-radius: 10px !important;
    padding: 15px 20px !important;
}

.breadcrumb-item {
    color: rgba(255, 255, 255, 0.8) !important;
}

.breadcrumb-item.active {
    color: #0063F3 !important;
}

/* VACÍO / NO RESULTS */
.no-results,
.empty-state {
    text-align: center !important;
    padding: 60px 20px !important;
    color: rgba(255, 255, 255, 0.7) !important;
}

/* LOADING */
.spinner-border {
    color: #0063F3 !important;
}

/* TEXTO GENERAL */
p, span, div {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* LISTAS */
ul, ol {
    color: rgba(255, 255, 255, 0.85) !important;
}

li {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* ETIQUETAS/TAGS */
.tag,
.label {
    background: rgba(0, 99, 243, 0.15) !important;
    color: #0063F3 !important;
    border-radius: 20px !important;
    padding: 5px 15px !important;
    font-size: 0.85rem !important;
}

/* DROPDOWNS */
.dropdown-menu {
    background: rgba(14, 17, 22, 0.95) !important;
    backdrop-filter: blur(30px) !important;
    border: 1px solid rgba(0, 99, 243, 0.2) !important;
    border-radius: 10px !important;
}

.dropdown-item {
    color: #ffffff !important;
}

.dropdown-item:hover {
    background: rgba(0, 99, 243, 0.2) !important;
    color: #ffffff !important;
}

/* MODALES */
.modal-content {
    background: rgba(14, 17, 22, 0.98) !important;
    backdrop-filter: blur(30px) !important;
    border: 1px solid rgba(0, 99, 243, 0.2) !important;
    border-radius: 15px !important;
}

.modal-header,
.modal-footer {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

.modal-title {
    color: #ffffff !important;
}

/* ALERTAS */
.alert {
    border-radius: 10px !important;
    border: none !important;
}

.alert-info {
    background: rgba(0, 99, 243, 0.15) !important;
    color: #0063F3 !important;
}

.alert-success {
    background: rgba(60, 174, 92, 0.15) !important;
    color: #3CAE5C !important;
}

.alert-warning {
    background: rgba(253, 105, 34, 0.15) !important;
    color: #FD6922 !important;
}

.alert-danger {
    background: rgba(220, 53, 69, 0.15) !important;
    color: #dc3545 !important;
}
